From 2f189dbd5f4b97d2596a6a95fbf6123b9f1d1401 Mon Sep 17 00:00:00 2001 From: SunSerega Date: Mon, 9 Sep 2019 21:04:21 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20POCGL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MatrMlt.cl | 0 .../MatrMlt.pas | 110 + .../SimpleAddition.cl | 0 .../SimpleAddition.pas | 26 + InstallerSamples/OpenCL/OpenCLABC/MatrMlt.pas | 112 - .../OpenCL/OpenCLABC/SimpleAddition.pas | 33 - ...ереди как парамметра.pas | 32 + .../Код с очередью и без.pas | 46 + ...½ие очереди из буфера.pas | 24 + .../6 – Карнел/0.cl | 11 + .../Вызов карнела.pas | 25 + .../OpenCLABC/Из справки/Readme.txt | 5 + .../OpenGL/OpenGL/Rot Triangle 1.vertex.glsl | 18 + .../OpenGL/OpenGL/Rotating Triangle.pas | 130 - ... 1 (простейший пример).pas | 237 + bin/Lib/OpenCL.pas | 42 +- bin/Lib/OpenCLABC.pas | 3397 +- bin/Lib/OpenGL.pas | 30719 ++++++++++------ bin/Lib/OpenGLABC.pas | 6 +- 19 files changed, 22764 insertions(+), 12209 deletions(-) rename InstallerSamples/OpenCL/OpenCLABC/{ => 0Простейшие примеры}/MatrMlt.cl (100%) create mode 100644 InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas rename InstallerSamples/OpenCL/OpenCLABC/{ => 0Простейшие примеры}/SimpleAddition.cl (100%) create mode 100644 InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas delete mode 100644 InstallerSamples/OpenCL/OpenCLABC/MatrMlt.pas delete mode 100644 InstallerSamples/OpenCL/OpenCLABC/SimpleAddition.pas create mode 100644 InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Использование очереди как парамметра.pas create mode 100644 InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Код с очередью и без.pas create mode 100644 InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Создание очереди из буфера.pas create mode 100644 InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/0.cl create mode 100644 InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/Вызов карнела.pas create mode 100644 InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt create mode 100644 InstallerSamples/OpenGL/OpenGL/Rot Triangle 1.vertex.glsl delete mode 100644 InstallerSamples/OpenGL/OpenGL/Rotating Triangle.pas create mode 100644 InstallerSamples/OpenGL/OpenGL/Крутящийся треугольник 1 (простейший пример).pas diff --git a/InstallerSamples/OpenCL/OpenCLABC/MatrMlt.cl b/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.cl similarity index 100% rename from InstallerSamples/OpenCL/OpenCLABC/MatrMlt.cl rename to InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.cl diff --git a/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas b/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas new file mode 100644 index 000000000..e5230b3dd --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/MatrMlt.pas @@ -0,0 +1,110 @@ +uses OpenCLABC; + +const + MatrW = 4; // можно поменять на любое положительное значение + + VecByteSize = MatrW*8; + MatrByteSize = MatrW*MatrW*8; + +//ToDo issue компилятора: +// - #1981 + +begin + Randomize(0); // нужно чтоб каждое выполнение давало одинаковый результат + try + + // Чтение и компиляция .cl файла + + {$resource MatrMlt.cl} // Засовывает файл MatrMlt.cl внуть .exe + // Вообще, по хорошему - надо прекомпилировать .cl файл (загружать в переменную ProgramCode) + // И сохранять с помощью метода ProgramCode.SerializeTo + // А полученный бинарник уже подключать через $resource + var code := new ProgramCode( + System.IO.StreamReader.Create( + GetResourceStream('MatrMlt.cl') + ).ReadToEnd + ); + + // Подготовка параметров + + 'Матрица A:'.Println; + var A_Matr := MatrRandomReal(MatrW,MatrW,0,1).Println; + writeln; + var A := new Buffer(MatrByteSize); + + 'Матрица B:'.Println; + var B_Mart := MatrRandomReal(MatrW,MatrW,0,1).Println; + writeln; + var B := new Buffer(MatrByteSize); + + var C := new Buffer(MatrByteSize); + + 'Вектор V1:'.Println; + var V1_Arr := ArrRandomReal(MatrW); + V1_Arr.Println; + writeln; + var V1 := new Buffer(VecByteSize); + + var V2 := new Buffer(VecByteSize); + + var N := new Buffer(4); + + // (запись значений в параметры - позже, в очередях) + + // Подготовка очередей выполнения + + var Calc_C_Q := + code['MatrMltMatr'].NewQueue.AddExec2(MatrW, MatrW, // Выделяем ядра в форме квадрата, всего MatrW*MatrW ядер + A.NewQueue.AddWriteArray(A_Matr) as CommandQueue, + B.NewQueue.AddWriteArray(B_Mart) as CommandQueue, + C, + N.NewQueue.AddWriteValue(MatrW) as CommandQueue + ) as CommandQueue; + + var Otp_C_Q := + C.NewQueue.AddReadArray(A_Matr) as CommandQueue + + HPQ(()-> + lock output do + begin + 'Матрица С = A*B:'.Println; + A_Matr.Println; + writeln; + end); + + var Calc_V2_Q := + code['MatrMltVec'].NewQueue.AddExec1(MatrW, + C, + V1.NewQueue.AddWriteArray(V1_Arr) as CommandQueue, + V2, + N + ) as CommandQueue; + + var Otp_V2_Q := + V2.NewQueue.AddReadArray(V1_Arr) as CommandQueue + + HPQ(()-> + lock output do + begin + 'Вектор V2 = C*V1:'.Println; + V1_Arr.Println; + writeln; + end); + + // Выполнение всего и сразу асинхронный вывод + + Context.Default.SyncInvoke( + + Calc_C_Q + + ( + Otp_C_Q * // выводить C и считать V2 можно одновременно, поэтому тут *, т.е. параллельное выполнение + ( + Calc_V2_Q + + Otp_V2_Q + ) + ) + + ); + + except + on e: Exception do writeln(e); // Эта строчка позволяет выводить всю ошибку, если при выполнении Context.SyncInvoke возникла ошибка + end; +end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/SimpleAddition.cl b/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.cl similarity index 100% rename from InstallerSamples/OpenCL/OpenCLABC/SimpleAddition.cl rename to InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.cl diff --git a/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas b/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas new file mode 100644 index 000000000..345ebcfbd --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/0Простейшие примеры/SimpleAddition.pas @@ -0,0 +1,26 @@ +uses OpenCLABC; + +begin + + // Чтение и компиляция .cl файла + + var prog := new ProgramCode(ReadAllText('SimpleAddition.cl')); + + // Подготовка параметров + + var A := new Buffer( 10 * sizeof(integer) ); // будет хранить 10 чисел типа "integer", то есть по 4 байта каждое + + // Выполнение + + prog['TEST'].Exec1(10, // используем 10 ядер + + A.NewQueue.AddFillValue(1) // заполняем весь буфер единичками, прямо перед выполнением + as CommandQueue //ToDo нужно только из за issue компилятора #1981, иначе получаем странную ошибку. Когда исправят - можно будет убрать + + ); + + // Чтение и вывод результата + + A.GetArray1&(10).Println; // читаем значение типа "array of integer", длинной в 10 + +end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/MatrMlt.pas b/InstallerSamples/OpenCL/OpenCLABC/MatrMlt.pas deleted file mode 100644 index 47d6a60e1..000000000 --- a/InstallerSamples/OpenCL/OpenCLABC/MatrMlt.pas +++ /dev/null @@ -1,112 +0,0 @@ -uses OpenCLABC; - -const - MatrW = 4; // можно поменять на любое положительное значение - - VecByteSize = MatrW*8; - MatrL = MatrW*MatrW; - MatrByteSize = MatrL*8; - -//ToDo issue компилятора: -// - #1981 - -begin - Randomize(0); - - // Инициализация - -// Context.Default := new Context(DeviceTypeFlags.GPU); // не нужно - это и так значение по-умолчанию - - // Чтение и компиляция .cl файла - - {$resource MatrMlt.cl} - var code := new ProgramCode(Context.Default, - System.IO.StreamReader.Create(GetResourceStream('MatrMlt.cl')).ReadToEnd - ); - - // Подготовка параметров - - 'Матрица A:'.Println; - var A_Mart := MatrRandomReal(MatrW,MatrW,0,1).Println; - writeln; - var A := new KernelArg(MatrByteSize); - - 'Матрица B:'.Println; - var B_Mart := MatrRandomReal(MatrW,MatrW,0,1).Println; - writeln; - var B := new KernelArg(MatrByteSize); - - var C := new KernelArg(MatrByteSize); - - 'Вектор V1:'.Println; - var V1_Arr := ArrRandomReal(MatrW); - V1_Arr.Println; - writeln; - var V1 := new KernelArg(VecByteSize); - - var V2 := new KernelArg(VecByteSize); - - // (запись значений в параметры - позже, в очередях) - - // Подготовка очередей выполнения - - var Calc_C_Q := - code['MatrMltMatr'].NewQueue.Exec(MatrW, MatrW, - A.NewQueue.WriteData(A_Mart) as CommandQueue, - B.NewQueue.WriteData(B_Mart) as CommandQueue, - C, - KernelArg.ValueQueue(MatrW) as CommandQueue - ) as CommandQueue; - - var Otp_C_Q := - HPQ( - ()-> - begin - var C_Matr := C.GetArray&(MatrW,MatrW); - lock output do - begin - 'Матрица С = A*B:'.Println; - C_Matr.Println; - writeln; - end; - end - ) as CommandQueue; - - var Calc_V2_Q := - code['MatrMltVec'].NewQueue.Exec(MatrW, - C, - V1.NewQueue.WriteData(V1_Arr) as CommandQueue, - V2, - KernelArg.ValueQueue(MatrW) as CommandQueue - ) as CommandQueue; - - var Otp_V2_Q := - HPQ( - ()-> - begin - var V2_Arr := V2.GetArray&(MatrW); - lock output do - begin - 'Вектор V2 = C*V1:'.Println; - V2_Arr.Println; - writeln; - end; - end - ) as CommandQueue; - - // Выполнение всего и сразу асинхронный вывод - - Context.Default.SyncInvoke( - - Calc_C_Q + - ( - Otp_C_Q * // выводить C и считать V2 можно одновременно, поэтому тут *, т.е. параллельное выполнение - ( - Calc_V2_Q + - Otp_V2_Q - ) - ) - - ); - -end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/SimpleAddition.pas b/InstallerSamples/OpenCL/OpenCLABC/SimpleAddition.pas deleted file mode 100644 index 108175879..000000000 --- a/InstallerSamples/OpenCL/OpenCLABC/SimpleAddition.pas +++ /dev/null @@ -1,33 +0,0 @@ -uses OpenCLABC; - -//ToDo issue компилятора: -// - #1981 - -begin - - // Чтение и компиляция .cl файла - - {$resource SimpleAddition.cl} // эта строчка засовывает SimpleAddition.cl внутрь .exe, чтоб не надо было таскать его вместе с .exe - var prog := new ProgramCode(Context.Default, - System.IO.StreamReader.Create(GetResourceStream('SimpleAddition.cl')).ReadToEnd - ); - - // Подготовка параметров - - var A := new KernelArg(40); - - // Выполнение - - prog['TEST'].Exec(10, - - A.NewQueue.WriteData( - ArrFill(10,1) - ) as CommandQueue - - ); - - // Чтение и вывод результата - - A.GetArray&(10).Println; - -end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Использование очереди как парамметра.pas b/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Использование очереди как парамметра.pas new file mode 100644 index 000000000..701bcd0aa --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Использование очереди как парамметра.pas @@ -0,0 +1,32 @@ +uses OpenCLABC; + +//ToDo Сейчас .AddWriteValue, принимающее очередь, вылетает +// - Это из за issue компилятора #2068 +// - Когда её исправят - эта программа тоже станет нормально запускаться +// - А пока - смотрите на программу не запуская. Даже так - пример полезный + +begin + var N := ReadInteger('Введите размер буфера:'); + var b := new Buffer( N*sizeof(integer) ); + + var Q_RNG_val := HFQ(()-> + begin + Result := Random(1,100); + end); + + // .WriteValue принимает значение размерного типа + // Но вместо него - мы передали очередь (CommandQueue это класс, то есть точно не размерный тип) + // Так можно, потому что возвращаемое значение очереди Q_RNG_val - размерный тип (integer) + var Q_RNG_FillBuff := b.NewQueue.AddWriteValue(Q_RNG_val, 0) as CommandQueue; + + for var i := 1 to N-1 do // 0 пропускаем, потому что его уже добавили выше + Q_RNG_FillBuff *= b.NewQueue.AddWriteValue(Q_RNG_val.Clone(), i*sizeof(integer) ) as CommandQueue; + + // Вообще, это далеко не самый эффективный и красивый способ заполнить буфер + // В идеале - это надо делать карнелом + // То есть написать свой алгоритм Random на языке OpenCL-C (нет, это не сложно) + + Context.Default.SyncInvoke(Q_RNG_FillBuff); + + b.GetArray1&(N).Println; +end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Код с очередью и без.pas b/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Код с очередью и без.pas new file mode 100644 index 000000000..244ac29e5 --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Код с очередью и без.pas @@ -0,0 +1,46 @@ +uses OpenCLABC; + +begin + + var b := new Buffer( 3*sizeof(integer) ); + var A := new integer[3]; + + // Код с очередями + + var Q_BuffWrite := + ( b.NewQueue.AddWriteValue(1, 0*sizeof(integer) ) as CommandQueue ) * + ( b.NewQueue.AddWriteValue(5, 1*sizeof(integer) ) as CommandQueue ) * + ( b.NewQueue.AddWriteValue(7, 2*sizeof(integer) ) as CommandQueue ) + ; + + var Q_BuffRead := b.NewQueue.AddReadArray(A) as CommandQueue; + + var Q_Otp := HPQ(()-> + begin + A.Println; + end); + + Context.Default.SyncInvoke( + Q_BuffWrite + + Q_BuffRead + + Q_Otp + ); + + // Этот же код ещё раз, но без явных очередей + // Неявно - каждый метод .Write*** и .Read*** всё равно создаёт по очереди + // Такая запись короче, но выполняется медленнее + + // Аналог Q_BuffWrite + System.Threading.Tasks.Parallel.Invoke( + ()->b.WriteValue(1, 0*sizeof(integer) ), + ()->b.WriteValue(5, 1*sizeof(integer) ), + ()->b.WriteValue(7, 2*sizeof(integer) ) + ); + + // Аналог Q_BuffRead + b.ReadArray(A); + + // Аналог Q_Otp + A.Println; + +end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Создание очереди из буфера.pas b/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Создание очереди из буфера.pas new file mode 100644 index 000000000..5100363c0 --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/Из справки/3 – Очередь/Создание очереди из буфера.pas @@ -0,0 +1,24 @@ +uses OpenCLABC; + +begin + var b := new Buffer( 3*sizeof(integer) ); //Буфер достаточного размера чтоб содержать 3 значений типа integer. + + // Создаём очередь + var q := b.NewQueue; + + // Добавлять команды в полученную очередь можно вызывая соответствующие методы + q.AddWriteValue(1, 0*sizeof(integer) ); + + // Методы, добавляющие команду в очередь - возвращают очередь, для которой их вызвали (не копию а ссылку на оригинал) + // Поэтому можно добавлять по несколько команд в 1 строчке: + q.AddWriteValue(5, 1*sizeof(integer) ).AddWriteValue(7, 2*sizeof(integer) ); + // Все команды в q будут выполнятся последовательно, что не всегда хорошо + // Если надо выполнять параллельно - создавайте несколько "b.NewQueue" и умножайте друг на друга + + // В данной версии надо писать "as CommandQueue<...>", при передаче очереди куда-либо, из за бага компилятора + Context.Default.SyncInvoke(q as CommandQueue); + + // Вообще чтение тоже надо делать через очереди, но для простого примера - и так сойдёт + b.GetArray1&(3).Println; + +end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/0.cl b/InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/0.cl new file mode 100644 index 000000000..850825721 --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/0.cl @@ -0,0 +1,11 @@ + + + +__kernel void TEST(__global int* message) +{ + int gid = get_global_id(0); + + message[gid] += gid; +} + + diff --git a/InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/Вызов карнела.pas b/InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/Вызов карнела.pas new file mode 100644 index 000000000..54143012d --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/Из справки/6 – Карнел/Вызов карнела.pas @@ -0,0 +1,25 @@ +uses OpenCLABC; + +begin + + // Когда код на языке OpenCL-C хранят в файле - обычно ему дают расширение .cl + // Но код можно хранить и в $resource или даже в '' в программме + var code_text := ReadAllText('0.cl'); + + // Создание объекта типа ProgramCode + // Перед текстом программы - можно так же указать контекст + // Если не указывать - используется Context.Default + var code := new ProgramCode(code_text); + + var A := new Buffer( 10 * sizeof(integer) ); // будет хранить 10 чисел типа "integer" + + code['TEST'].Exec1(10, // используем 10 ядер + + A.NewQueue.AddFillValue(1) // заполняем весь буфер единичками, прямо перед выполнением + as CommandQueue //ToDo нужно только из за issue компилятора #1981, иначе получаем странную ошибку. Когда исправят - можно будет убрать + + ); + + A.GetArray1&(10).Println; // читаем одномерный массив с элементами "integer", длинной в 10 + +end. \ No newline at end of file diff --git a/InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt b/InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt new file mode 100644 index 000000000..743870af6 --- /dev/null +++ b/InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt @@ -0,0 +1,5 @@ +Ñïðàâêà íàõîäèòñÿ â íà÷àëå èñõîäíèêà OpenCLABC + +Èñõîäíèê ìîæíî îòêðûòü, çàæàâ Ctrl â IDE è êëèêíóë íà ëþáîå èìÿ èç OpenCLABC (â òîì ÷èñëå èìÿ ìîäóëÿ â uses) + +(êñòàòè, ýòî ðàáîòàåò ñî âñåìè ìîäóëÿìè) diff --git a/InstallerSamples/OpenGL/OpenGL/Rot Triangle 1.vertex.glsl b/InstallerSamples/OpenGL/OpenGL/Rot Triangle 1.vertex.glsl new file mode 100644 index 000000000..900e73ee2 --- /dev/null +++ b/InstallerSamples/OpenGL/OpenGL/Rot Triangle 1.vertex.glsl @@ -0,0 +1,18 @@ +#version 110 + +attribute vec2 position; +attribute vec3 color; +uniform float rot_k; + +void main() +{ + + gl_Position.x = position.x*rot_k; + gl_Position.y = position.y; + gl_Position.z = 0; + gl_Position.w = 1; + + gl_FrontColor.rgb = color; + gl_FrontColor.a = 1; + +} diff --git a/InstallerSamples/OpenGL/OpenGL/Rotating Triangle.pas b/InstallerSamples/OpenGL/OpenGL/Rotating Triangle.pas deleted file mode 100644 index 146a91e37..000000000 --- a/InstallerSamples/OpenGL/OpenGL/Rotating Triangle.pas +++ /dev/null @@ -1,130 +0,0 @@ -{$reference System.Windows.Forms.dll} -{$reference System.Drawing.dll} -uses System.Windows.Forms; -uses OpenGL; -uses System; - -type - PIXELFORMATDESCRIPTOR = record - nSize: Word; - nVersion: Word; - dwFlags: longword; - iPixelType: Byte; - cColorBits: Byte; - cRedBits: Byte; - cRedShift: Byte; - cGreenBits: Byte; - cGreenShift: Byte; - cBlueBits: Byte; - cBlueShift: Byte; - cAlphaBits: Byte; - cAlphaShift: Byte; - cAccumBits: Byte; - cAccumRedBits: Byte; - cAccumGreenBits: Byte; - cAccumBlueBits: Byte; - cAccumAlphaBits: Byte; - cDepthBits: Byte; - cStencilBits: Byte; - cAuxBuffers: Byte; - iLayerType: Byte; - bReserved: Byte; - dwLayerMask: longword; - dwVisibleMask: longword; - dwDamageMask: longword; - end; - -function GetDC(hwnd: IntPtr): IntPtr; -external 'user32.dll'; - -function SetPixelFormat(hdc: IntPtr; iPixelFormat: integer; ppfd: ^PIXELFORMATDESCRIPTOR): boolean; -external 'gdi32.dll'; - -function ChoosePixelFormat(_hdc: IntPtr; ppfd: ^PIXELFORMATDESCRIPTOR): integer; -external 'gdi32.dll'; - -function wglCreateContext(_hdc: IntPtr): HGLRC; -external 'opengl32.dll'; - -function wglMakeCurrent(_hdc: IntPtr; _hglrc: HGLRC): boolean; -external 'opengl32.dll'; - -function SwapBuffers(_hdc: IntPtr): boolean; -external 'gdi32.dll'; - -function InitOpenGL(hwnd: IntPtr): IntPtr; -begin - Result := GetDC(hwnd); - - - - var pfd: PIXELFORMATDESCRIPTOR; - pfd.nSize := sizeof( PIXELFORMATDESCRIPTOR ); - pfd.nVersion := 1; - pfd.dwFlags := $1 or $4 or $20; - pfd.cColorBits := 24; - pfd.cDepthBits := 16; - - if not SetPixelFormat( - Result, - ChoosePixelFormat(Result, @pfd), - @pfd - ) then raise new InvalidOperationException; - - var context := wglCreateContext(Result); - if not wglMakeCurrent(Result, context) then raise new InvalidOperationException; - - - - gl_Deprecated.LoadIdentity; - gl.ClearColor(0.0, 0.0, 0.0, 1.0); - - - -end; - -begin - var f := new Form; - - f.StartPosition := FormStartPosition.CenterScreen; - f.ClientSize := new System.Drawing.Size(500,500); - f.FormBorderStyle := FormBorderStyle.Fixed3D; - - f.Closing += (o,e)->Halt(); - - f.Shown += (o,e)-> - begin - var hdc := InitOpenGL(f.Handle); - - var dy := -Sin(Pi/6) / 2; -// var pts := real(0.0).Step(Pi*2/3).Take(3).Select(rot->(Sin(rot), Cos(rot)+dy)).ToArray; //ToDo #2042 - var pts := Range(0,2).Select(i->i* Pi*2/3 ).Select(rot->(Sin(rot), Cos(rot)+dy)).ToArray; - var frame_rot := 0.0; - - System.Threading.Thread.Create(()-> - while true do - begin - - f.Invoke(()-> - begin - gl.Clear(BufferTypeFlags.COLOR_BUFFER_BIT); - var rot_k := Cos(frame_rot); - - gl_Deprecated.Begin(PrimitiveType.TRIANGLES); - gl_Deprecated.Color4f(1,0,0,1); gl_Deprecated.Vertex2f( pts[0][0]*rot_k, pts[0][1] ); - gl_Deprecated.Color4f(0,1,0,1); gl_Deprecated.Vertex2f( pts[1][0]*rot_k, pts[1][1] ); - gl_Deprecated.Color4f(0,0,1,1); gl_Deprecated.Vertex2f( pts[2][0]*rot_k, pts[2][1] ); - gl_Deprecated._End; - - frame_rot += 0.03; - gl.Finish; - SwapBuffers(hdc); - end); - - Sleep(16); - end).Start; - - end; - - Application.Run(f); -end. \ No newline at end of file diff --git a/InstallerSamples/OpenGL/OpenGL/Крутящийся треугольник 1 (простейший пример).pas b/InstallerSamples/OpenGL/OpenGL/Крутящийся треугольник 1 (простейший пример).pas new file mode 100644 index 000000000..08228f352 --- /dev/null +++ b/InstallerSamples/OpenGL/OpenGL/Крутящийся треугольник 1 (простейший пример).pas @@ -0,0 +1,237 @@ +{$reference System.Windows.Forms.dll} +{$reference System.Drawing.dll} + +// Данный пример демонстрирует запуск простейшей программы с модулем OpenGL +// Примите во внимание, что методы из gl_gdi. - могут служить только временной заменой в серьёзной программе +// (По крайней мере в данной версии. В будущем, возможно, gl_gdi будет улучшено) +// Они использованы тут, чтоб пример был проще + +uses System.Windows.Forms; +uses System.Drawing; +uses System; +uses OpenGL; + +{$apptype windows} // убираем консоль + +var gl: OpenGL.gl; + +{$region Buffer} + +function InitBuffer(sz: integer; data: IntPtr): BufferName; +begin + gl.CreateBuffers(1, Result); + + gl.NamedBufferData(Result, new UIntPtr(sz), data, BufferDataUsage.STATIC_DRAW); + +end; + +function InitBuffer(sz: integer; data: pointer) := InitBuffer(sz, IntPtr(data)); +function InitBuffer(sz: integer; var data: T) := InitBuffer(sz, @data); +function InitBuffer(data: array of T) := InitBuffer(data.Length*System.Runtime.InteropServices.Marshal.SizeOf&, data[0]); + +{$endregion Buffer} + +{$region Shader} + +function InitShader(fname: string; st: ShaderType): ShaderName; +begin + Result := gl.CreateShader(st); + + var source := ReadAllText(fname); + + // в данной версии модуля OpenGL параметры принимающие массив строк - не поддерживаются + // поэтому надо ручками преобразовывать управляемую строку в неуправляемую с кодировкой ANSI + var source_strptr := System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(source); + var source_len := source.Length; + + gl.ShaderSource(Result, 1, source_strptr, source_len); + + // и обязательно освобождаем память, иначе снова утечка памяти + System.Runtime.InteropServices.Marshal.FreeHGlobal(source_strptr); + + gl.CompileShader(Result); + // получаем состояние успешности компиляции + // 1=успешно + // 0=ошибка + var comp_ok: integer; + gl.GetShaderiv(Result, ShaderInfoType.COMPILE_STATUS, comp_ok); + if comp_ok <> 1 then + begin + + // узнаём нужную длинную строки + var l: integer; + gl.GetShaderiv(Result, ShaderInfoType.INFO_LOG_LENGTH, l); + + // выделяем достаточно памяти чтоб сохранить строку + var ptr := System.Runtime.InteropServices.Marshal.AllocHGlobal(l); + + // получаем строку логов + gl.GetShaderInfoLog(Result, l, nil, ptr); + + // преобразовываем в управляемую строку + var log := System.Runtime.InteropServices.Marshal.PtrToStringAnsi(ptr); + writeln(log); + + // и опять же, в конце обязательно освобождаем памяти, чтоб не было утечек памяти + System.Runtime.InteropServices.Marshal.FreeHGlobal(ptr); + end; + +end; + +{$endregion Shader} + +{$region Program} + +function InitProgram(vertex_shader, fragment_shader: ShaderName): ProgramName; +begin + Result := gl.CreateProgram; + + gl.AttachShader(Result, vertex_shader); + if fragment_shader<>0 then gl.AttachShader(Result, fragment_shader); + + gl.LinkProgram(Result); + // всё то же самое что и у шейдеров + var link_ok: integer; + gl.GetProgramiv(Result, ProgramInfoType.LINK_STATUS, link_ok); + if link_ok <> 1 then + begin + + var l: integer; + gl.GetProgramiv(Result, ProgramInfoType.INFO_LOG_LENGTH, l); + var ptr := System.Runtime.InteropServices.Marshal.AllocHGlobal(l); + + gl.GetProgramInfoLog(Result, l, nil, ptr); + var log := System.Runtime.InteropServices.Marshal.PtrToStringAnsi(ptr); + writeln(log); + + System.Runtime.InteropServices.Marshal.FreeHGlobal(ptr); + end; + + +end; + +{$endregion Program} + +const dy = -Sin(Pi / 6) / 2; + +begin + + // Создаёт и настраиваем окно + var f := new Form; + f.StartPosition := FormStartPosition.CenterScreen; + f.ClientSize := new Size(500, 500); + f.FormBorderStyle := FormBorderStyle.Fixed3D; + // Если окно закрылось - надо сразу завершить программу + f.Closed += (o,e)->Halt(); + + // Настраиваем поверхность рисования + var hdc := gl_gdi.InitControl(f); + + // Настраиваем перерисовку + gl_gdi.SetupControlRedrawing(f, hdc, EndFrame-> + begin + + {$region Настройка глобальных параметров OpenGL} + + // при создании экземпляра OpenGL.gl инициализируются некоторые функции + // это необходимо для всех функций из OpenGL1.2 и выше, потому что они локальные для контекста OpenGL + gl := new OpenGL.gl; + + {$endregion Настройка глобальных параметров OpenGL} + + {$region Инициализация переменных} + + var vertex_pos_buffer := InitBuffer(ArrGen(3, i-> + begin + var rot := i * Pi * 2 / 3; + + Result := new Vec2f( + Sin(rot), + Cos(rot) + dy + ); + + end)); + var vertex_clr_buffer := InitBuffer(new Vec3f[]( + new Vec3f(1,0,0), + new Vec3f(0,1,0), + new Vec3f(0,0,1) + )); + + var element_buffer := InitBuffer(new byte[]( + 0,1,2 + )); + + var vertex_shader := InitShader('Rot Triangle 1.vertex.glsl', ShaderType.VERTEX_SHADER); +// var fragment_shader := InitShader('fragment.glsl', ShaderType.FRAGMENT_SHADER); + + var sprog := InitProgram(vertex_shader, 0 {fragment_shader}); + + var uniform_rot_k := gl.GetUniformLocation(sprog, 'rot_k'); + var attribute_position := gl.GetAttribLocation(sprog, 'position'); + var attribute_color := gl.GetAttribLocation(sprog, 'color'); + + var t := new System.Diagnostics.Stopwatch; + t.Start; + + {$endregion Инициализация переменных} + + while true do + begin + // очищаем окно в начале перерисовки + gl.Clear(BufferTypeFlags.COLOR_BUFFER_BIT); + + + + gl.UseProgram(sprog); + + gl.Uniform1f(uniform_rot_k, Cos( t.Elapsed.Ticks * 0.0000002 ) ); + + gl.BindBuffer(BufferBindType.ARRAY_BUFFER, vertex_pos_buffer); + gl.VertexAttribPointer( + attribute_position, + 2, + DataType.FLOAT, + false, + 8, + nil + ); + gl.EnableVertexAttribArray(attribute_position); + + gl.BindBuffer(BufferBindType.ARRAY_BUFFER, vertex_clr_buffer); + gl.VertexAttribPointer( + attribute_color, + 3, + DataType.FLOAT, + false, + 12, + nil + ); + gl.EnableVertexAttribArray(attribute_color); + + gl.BindBuffer(BufferBindType.ELEMENT_ARRAY_BUFFER, element_buffer); + gl.DrawElements( + PrimitiveType.TRIANGLES, + 3, + DataType.UNSIGNED_BYTE, + pointer(nil) + ); + + gl.DisableVertexAttribArray(attribute_position); + gl.DisableVertexAttribArray(attribute_color); + + + + // получаем тип последней ошибки + var err := gl.GetError; + // и если ошибка есть - выводим её + if err.val<>ErrorCode.NO_ERROR then writeln(err); + + gl.Finish; + // EndFrame меняет местами буферы и ждёт vsync + EndFrame; + end; + + end); + + Application.Run(f); +end. \ No newline at end of file diff --git a/bin/Lib/OpenCL.pas b/bin/Lib/OpenCL.pas index 59c8ea512..2e11e55c8 100644 --- a/bin/Lib/OpenCL.pas +++ b/bin/Lib/OpenCL.pas @@ -6,47 +6,23 @@ // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ // Copyright (©) Сергей Латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega ) -// Этот код распространяется под Unlicense -// Для деталей смотрите в файл LICENSE или это: +// Этот код распространяется с лицензией Unlicense +// Подробнее в файле LICENSE или тут: // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ /// -/// Код переведён отсюда: +///Код переведён отсюда: /// https://github.com/KhronosGroup/OpenCL-Headers/tree/master/CL /// -/// Спецификация (что то типа справки): -/// www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_API.html +///Спецификации всех версий: +/// https://www.khronos.org/registry/OpenCL/ /// -/// Если чего то не хватает - писать сюда: +///Если не хватает функции, перечисления, или найдена ошибка - писать сюда: /// https://github.com/SunSerega/POCGL/issues /// unit OpenCL; -//ToDo ^T -> pointer - -//ToDo расширения с котороми я не знаю что делать: -// -// - cl_ext.h -// -- cl_qcom_ext_host_ptr -// -- cl_qcom_ext_host_ptr_iocoherent -// -- cl_qcom_ion_host_ptr -// -- cl_qcom_android_native_buffer_host_ptr -// -- cl_img_yuv_image -// -// - cl_d3d11.h -// -- там нет функций, есть только энумы и коды ошибок. Но в чём смысл если возвращать и принимать их нечему? -// -// - cl_platform.h -// -- есть только описание типов и констант, которые нигде не используются. Где они нужны? -// -// кто что то знает - напишите в issue, пожалуйста - -//ToDo .h файлы которые осталось перевести: -// - cl_ext_intel -// - cl_va_api_media_sharing_intel -// - cl_dx9_media_sharing_intel - uses System; uses System.Runtime.InteropServices; @@ -64,7 +40,7 @@ type cl_event = IntPtr; cl_sampler = IntPtr; - ///0=false, остальное=true + ///0 = false, остальное = true cl_bool = UInt32; cl_bitfield = UInt64; @@ -78,7 +54,7 @@ type {$endregion Основные типы} -{$region Энумы} type +{$region Перечисления} type {$region case Result of} @@ -1410,7 +1386,7 @@ type {$endregion Флаги} -{$endregion Энумы} +{$endregion Перечисления} {$region Делегаты} diff --git a/bin/Lib/OpenCLABC.pas b/bin/Lib/OpenCLABC.pas index cb6417e38..062f8806c 100644 --- a/bin/Lib/OpenCLABC.pas +++ b/bin/Lib/OpenCLABC.pas @@ -6,396 +6,1327 @@ // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ // Copyright (©) Сергей Латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega ) -// Этот код распространяется под Unlicense -// Для деталей смотрите в файл LICENSE или это: +// Этот код распространяется с лицензией Unlicense +// Подробнее в файле LICENSE или тут: // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ /// -/// Выскокоуровневая оболочка для модуля OpenCL +///Высокоуровневая оболочка модуля OpenCL /// OpenCL и OpenCLABC можно использовать одновременно -/// Но контактировать они в основном не будут +/// Но контактировать они практически не будут /// -/// Если чего то не хватает - писать как и для модуля OpenCL, сюда: +///Если не хватает типа/метода или найдена ошибка - писать сюда: /// https://github.com/SunSerega/POCGL/issues /// +///Справка данного модуля находится в начале его исходника +/// Исходники можно открыть Ctrl-кликом на любом имени из модуля +/// unit OpenCLABC; +{$region Подробное описание OpenCLABC} + +{$region 1. Основные принципы} + +{$region 1.0. Разное} + +// 1.0.1 +// +// Для большего удобства чтения справки рекомендуется включить сворачивание кода +// ( Сервис —> Настройки —> Редактор —> Разрешить сворачивание кода ) +// Когда эта опция включена - регионы можно сворачивать нажав на [-] слева +// А в контекстном меню (по нажатии ПКМ) можно свернуть все регионы сразу +// + +// 1.0.2 +// +// В этой справке будут упоминания примеров +// Их можно найти в папке "C:\PABCWork.NET\Samples\OpenCL\OpenCLABC\Из справки" +// А также в соответствующей папке репозитория на гитхабе: "https://github.com/SunSerega/POCGL/tree/master/Samples/OpenCL/OpenCLABC/Из справки" +// + +// 1.0.3 —— Термины, которые часто путают новички +// +// CPU — Центральное Процессорное Устройство (процессор) +// GPU — Графическое Процессорное Устройство (видеокарта) +// +// Команда — запрос на выполнение чего-либо. К примеру: +// — Запрос на запуск программы на GPU +// — Запрос на начало чтения данных из памяти GPU в оперативную память +// +// !! Называть процедуры и функции командами ошибочно !! +// +// Подпрограмма — процедура или функция +// +// Метод — особая подпрограмма, вызываемая через экземпляр +// К примеру, метод Context.SyncInvoke выглядит в коде как "cont.SyncInvoke(...)", где cont — переменная типа Context +// +// Статический метод - особая подпрограмма, вызываемая через тип +// К примеру, статический метод Buffer.ValueQueue выглядит в коде как "Buffer.ValueQueue(...)" +// +// Остальные непонятные термины ищите в справке PascalABC.NET (F1 —> Справка) или в интернете + +{$endregion 1.0. Разное} + +{$region 1.1 —— Что такое OpenCLABC} + +// +// OpenCLABC — высокоуровневая оболочка модуля OpenCL +// Это значит, что с OpenCLABC можно писать гораздо меньше кода в больших и сложных программах +// Однако, такой же уровень микроконтроля как с модулем OpenCL недоступен +// Например, напрямую управлять cl_event'ами в OpenCLABC невозможно +// Вместо этого надо использовать операции с очередями (как сложение и умножение очередей) +// + +{$endregion 1.1 —— Что такое OpenCLABC} + +{$region 1.2 —— Контекст (Context)} + +// +// Для отправки команд в GPU необходим контекст (объект типа Context) +// Он содержит информацию о том, какое устройство будет использоваться при выполнении программ и хранении содержимого буферов +// + +{$endregion 1.2 —— Контекст (Context)} + +{$region 1.3 —— Очередь [команд] (CommandQueue)} + +// +// Передавать команды для GPU по одной не эффективно +// Гораздо эффективнее передавать несколько команд сразу +// Для этого существуют очереди (типы, наследующие от CommandQueue) +// Они хранят произвольное количество команд для GPU +// А при необходимости также и части кода, выполняемые на CPU +// + +{$endregion 1.3 —— Очередь [команд] (CommandQueue)} + +{$region 1.4 —— Буфер (Buffer)} + +// +// Программы на GPU не могут использовать оперативную память (без определённых расширений) +// Из-за чего для передачи данных в программу и чтения результата нужно выделять память на самом GPU +// +// Данные об области памяти, выделенной на GPU +// И все возможные операции с этой памятью +// Доступны через переменные типа Buffer +// + +{$endregion 1.4 —— Буфер (Buffer)} + +{$region 1.5 —— Контейнер для кода (ProgramCode)} + +// +// Обычные программы невозможно запустить на GPU +// Специальные программы для GPU, запускаемые через OpenCL, обычно пишутся на особом языке "OpenCL C" (основанном на языке "C") +// Описание "OpenCL C" не входит в данную справку +// Одну из последних версий его спецификации можно найти тут: +// https://www.khronos.org/registry/OpenCL/specs/2.2/pdf/ +// +// Код на языке "OpenCL C" хранится в объектах типа ProgramCode +// Объекты этого типа используются только как контейнеры +// Один объект ProgramCode может содержать любое количествово подпрограмм-кёрнелов +// + +{$endregion 1.5 —— Контейнер для кода (ProgramCode)} + +{$region 1.6 —— Кёрнел (Kernel)} + +// +// Объект типа Kernel представляет одну подпрограмму-кёрнел +// Он хранит код, который можно выполнить на GPU +// + +{$endregion 1.6 —— Кёрнел (Kernel)} + +{$endregion 1. Основные принципы} + +{$region 2. Контекст (Context)} + +// +// Создать контекст можно конструктором ("new Context") +// Контекст можно и не создавать, используя всюду свойство Context.Default +// Изначально этому свойству присваивается контекст, использующий один любой GPU, если таковой есть +// или один любой другой девайс, поддерживающий OpenCL, если GPU отсутствует +// +// Context.Default можно перезаписывать +// Это удобно если во всей программе использовать общий контекст +// Операции, у которых невозможно указать контекст - всегда используют Context.Default +// +// Для вызова команд в определённом контексте используется метод Context.BeginInvoke +// Он возвращает объект типа Task, через который можно наблюдать за выполнением очереди и ожидать его окончания +// Также есть метод Context.SyncInvoke, вызывающий .BeginInvoke и затем метод Task.Wait на полученом объекте +// Подробнее в разделе 3.2 +// + +{$endregion 2. Контекст (Context)} + +{$region 3. Очередь [команд] (CommandQueue)} + +{$region 3.0 —— Возвращаемое значение очередей} + +// +// У каждого типа-очереди есть свой тип возвращаемого значение +// К примеру, так объявляется переменная в которую можно будет сохранить очередь, возвращающую integer: +// var Q1: CommandQueue; +// +// Очереди, созданные из буфера или кёрнела возващают свой буфер/кёрнел соответственно, из которого были созданы +// Очереди, созданные с HFQ - значение, которое возвращала оригинальная функция +// Очереди, созданные с HPQ - значение типа object (и всегда nil) +// +// После выполнения очереди метод Context.SyncInvoke возвращает то, что вернула очередь +// Если использовать метод Context.BeginInvoke, то возвращаемое значение можно получить через свойство Task.Result +// + +{$endregion 3.0 —— Возвращаемое значение очередей} + +{$region 3.1. —— Создание очередей} + +// 3.1.1 —— Создание очередей с командами для GPU +// +// Самый просто способ создать очередь —— выбрать объект (Kernel или Buffer) +// у которого есть что-то, что можно выполнять на GPU (выполнение кёрнела или запись/чтение содержимого буфера) +// и вызвать для него метод .NewQueue +// Подробнее в примере "3 - Очередь\Создание очереди из буфера.pas" +// +// Полученная очередь будет иметь особый тип: KernelCommandQueue/BufferCommandQueue для кёрнела/буфера соответственно +// К такой очереди можно добавлять команды, вызывая её методы, имена которых начинаются с ".Add..." +// + +// 3.1.2 —— Создание очередей из подпрограммы, написанной для CPU +// +// Иногда между командами для GPU надо вставить выполнение обычного кода на CPU +// И в большинстве таких случаев придётся разрывать очередь на две части, что плохо +// (Одна целая очередь всегда выполнится быстрее двух её частей) +// +// Для таких случаев существуют глобальные подпрограммы HFQ и HPQ +// HFQ — Host Function Queue +// HPQ — Host Procedure Queue +// Они возвращают очередь, выполняющую код (функцию или процедуру) на CPU +// + +// 3.1.3 —— Объединение очередей +// +// Если сложить две очереди A и B ("var C := A+B") — получится очередь C, в которой сначала выполняется A, а затем B +// Очередь C будет считаться выполненной тогда, когда выполнится очередь B +// Очередь C будет возвращать то, что вернула очередь B +// +// Если умножить две очереди A и B ("var C := A*B") — получится очередь C, в которой одновременно начнут выполняться A и B +// Очередь C будет считаться выполненной тогда, когда обе очереди (A и B) выполнятся +// Очередь C будет возвращать то, что вернула очередь B +// +// Как и в математике, умножение имеет бОльший приоритет чем сложение +// +// +// Операторы += и *= также применимы к очередям +// И как и для чисел - "A += B" работает как "A := A+B" (и так же с *=) +// Это значит, что возвращаемые типы очередей A и B должны быть одинаковыми, чтобы к ним можно было применить +=/*= +// +// +// Если нужно сложить много очередей, лучше применять CombineSyncQueue +// Если нужно умножить много очередей — CombineAsyncQueue +// Эти подпрограммы работают немного быстрее чем сложение и умножение, если вы объединяете больше двух очередей +// +// Кроме того, CombineSyncQueue и CombineAsyncQueue могут принимать ещё 1 параметр перед очередями +// Этот параметр позволяет указать функцию преобразования, которая использует результаты всех входных очередей +// + +// 3.1.4 —— CommandQueue.ThenConvert (Прикрепление очередей) +// +// Допустим, имеется очередь типа CommandQueue +// А для дальнейшей обработки нам для чего-то нужна очередь типа CommandQueue +// +// Их можно преобразовывать друг к другу: +// <-------------------------> +// var Q1 := HFQ(()->123); // "()->123" это функция-лямбда, не принимающая аргументов и возвращающая 123 (тип которого, по-умолчанию, integer) +// var Q2 := Q1.ThenConvert(i -> $'"{i}"' ) // $'' — форматная строка, в ней все выражения в {} работают как в обычном коде и заменяются на результат +// Context.Default.SyncInvoke(Q2).Println; // выведет строку: "123" +// <-------------------------> +// То есть, метод CommandQueue.ThenConvert возвращает очередь +// Которая сначала выполнит ту очередь, для которой вызван .ThenConvert +// А затем применит к полученному значению какое-то преобразование +// + +// 3.1.5 —— CommandQueue.Cycle (Повторение очередей) +// +// ToDo +// + +// 3.1.6 —— Неявное создание очередей (Передача по одной команде) +// +// Передавать команды по одной, когда их несколько — ужасно медленно +// Но нередко бывает, что команда всего одна +// Или для отладки нужно как-то по простому одноразово вызвать одну команду +// +// Для таких случаев можно создавать очереди неявно +// Это можно сделать вызвав метод переменной типа Buffer/Kernel +// +// Почти у каждого метода очереди, созданной с .NewQueue есть дублирующий метод в оригинальном объекте +// Этот метод создаёт новую очередь, добавляет одну соответствующую команду и выполняет полученную очередь методом Context.SyncInvoke +// Подробнее в примере "3 - Очередь\Код с очередью и без.pas" +// +// Кроме того, у типа Buffer есть дополнительные методы "Buffer.Get..." +// Соответствующих методов у очередей — нет //ToDo возможно, в будущем появятся +// Методы ".Get..." создают новый объект типа записи, массива или выделяют область неуправляемой памяти, +// читают в полученный объект содержимое буфера и возвращают этот объект +// Они также используют неявную очередь (для чтения буфера) +// + +// 3.1.7 — Buffer.ValueQueue (Очередь из размерного значения, то есть записи) +// +// Статический метод Buffer.ValueQueue создаёт новый буфер +// Затем создаёт из него новую очередь +// И добавляет в полученную очередь команду записи размерного значения в эту очередь +// +// Это полезно, если вам, например, нужно передать одним из параметров в кёрнел размер передаваемого массива, так как массивы в C не хранят свой размер +// Но этим методом не стоит злоупотреблять, потому что каждый вызов создаёт новый буфер +// +// Если вы запускаете кёрнел, в который нужно передавать число одним из параметров, лучше создайте буфер один раз +// и записывайте в него значение перед каждым вызовом кёрнела, используя .NewQueue.WriteValue +// +// Если же вам нужна какая-то константа, то можно один раз вызвать Buffer.ValueQueue и далее использовать эту переменную (но не добавлять в неё команды) +// + +{$endregion 3.1. —— Создание очередей} + +{$region 3.2 —— Выполнение очередей} + +// +// Самый простой способ выполнить очередь — через метод Context.SyncInvoke +// Он выполняет очередь и после того, как она завершилась, возвращает то, что вернула эта очередь +// +// Но Context.SyncInvoke в свою очередь работает через метод Context.BeginInvoke +// метод Context.BeginInvoke начинает выполнение очереди и возвращает объект типа Task +// + +// У Task, так же как и у очереди — в <> указывается возвращаемое значение +// Через объект типа Task можно: +// — Следить за выполнением, через различные свойства типа Task +// — Ожидать пока выполнение не закончится методом Task.Wait +// — Получать возвращаемое значение после завершения выполнения, свойством Task.Result +// + +// Если при выполнении очереди возникает ошибка, о ней выведет не полную информацию +// Чтобы получить достаточно информации для того, чтобы понять что за ошибка возникла, используйте следующую конструкцию: +// <-------------------------> +// try +// +// // ваш код, вызывающий ошибку +// +// except +// on e: Exception do writeln(e); // writeln выводит все внутренние исключения, поэтому в нём видно что произошло на самом деле +// end; +// <-------------------------> +// Для данного кода есть стандартный снипет +// Чтобы активировать его - напишите "tryo" и нажмите Shift+Space +// + +{$endregion 3.2 —— Выполнение очередей} + +{$region 3.3 —— Очереди как параметры} + +// +// Почти все параметры всех методов, создающих очереди (в том числе и неявные) +// Могут принимать вместо любого параметра очередь +// (анализатор кода об этом не говорит, чтобы не было слишком много перегрузок каждого метода) +// Но в таком случае, передаваемая очередь должна возвращать то, что принимает параметр +// Подробнее в примере "1.2 - Очереди\Использование очереди как парамметра.pas" +// +// Очереди, переданные параметрами, выполняются в непредсказуемом порядке, но подчиняются следующим правилам: +// 1. Все очереди-параметры начинают выполняться прямо при вызове Context.BeginInvoke +// 2. Все очереди-параметры команды A выполнятся до того как начнёт выполняться сама команда A +// +// Также, никто не запрещает передавать очередь-параметр в метод, +// создающий команду, которая сама является частью другой очереди-параметра +// В этом случае действуют все те же правила +// + +{$endregion 3.3 —— Очереди как параметры} + +{$region 3.4. —— Множественное использование очереди} + +// 3.4.0 +// +// Одну и ту же очередь можно использовать несколько раз: +// <-------------------------> +// var Q1: CommandQueue<...>; +// ... +// Context.Default.SyncInvoke(Q1); +// Context.Default.SyncInvoke(Q1); +// <-------------------------> +// +// Однако, во время выполнения очередь хранит в себе данные о своём состоянии выполнения и результат, когда он уже вычислен +// Это значит, что 1 объект очереди нельзя выполнять в 2 местах параллельно +// Иначе данные о состоянии и результате перемешаются +// То есть, такой код: +// <-------------------------> +// var Q1: CommandQueue<...>; +// ... +// Context.Default.SyncInvoke( Q1 * Q1 ); +// <-------------------------> +// Приведёт к неопределённом поведению +// То есть, результат выполнения может быть неправильный, но не при каждом запуске +// +// Также, в некоторых случаях может быть вызвано исключение QueueDoubleInvokeException, помогающее узнать, где именно возник параллельный вызов +// Но не стоит полагаться на вызов этого исключения +// +// Такую ошибку в коде может быть черезвычайно сложно распознать +// Поэтому необходимо внимательно проверять, чтобы одна очередь не выполнялась нескольких местах одновременно +// +// Однако, если вам всё же надо использовать одну очередь в нескольких местах одновременно - есть 2 способа: + +// 3.4.1 — Клонирование очередей (.Clone) +// +// Методом CommandQueue.Clone можно создать полную копию очереди +// При этом, если исходная очередь проводила какие то вычисления, +// они будут произведены дважды, оригиналом и копией, при вызове обоих +// +// Клон очереди является полностью независимым объектом +// Его можно вызывать не только параллельно с оригиналом +// Оригинал и копию можно вызывать даже в двух разных Context.BeginInvoke одновременно +// + +// 3.4.2 — Удлинители для очередей (.Multiusable) +// +// Вариант выполнять очередь несколько раз, как в случае с .Clone, нередко не подходит, +// потому что это удваивает затраты производительности +// И некоторые очереди (например, выполнения кёрнелов) могут дать разные результаты, если выполнить их лишний раз +// +// Если вам нужно использовать результат одной очереди многократно, лучше использовать метод CommandQueue.Multiusable +// !! Созданные таким образом очереди НЕ является независимыми объектами !! +// +// .Multiusable работает словно провод-удлинитель, +// если сравнивать возвращаемое значение очереди с розеткой +// +// Исходная очередь, для которой вызвали .Multiusable, подчиняется всё тем же правилам, что и очередь-параметр +// То есть, она начинает выполняться во время вызова Context.BeginInvoke +// И она всегда выполнится до того, как начнёт выполняться любая из очередей, которую вернул метод .Multiusable +// +// Очереди, которые вернул .Multiusable могут быть использованы параллельно: +// <-------------------------> +// var Q1: CommandQueue<...>; +// ... +// Qs1 := Q1.Multiusable(3); // создаёт массив из 3 очередей +// Context.Default.SyncInvoke( Qs1[0] * Qs1[1] * Qs1[2].ThenConvert(o->...) ); +// <-------------------------> +// Однако, все очереди, полученные из .Multiusable всё ещё связаны оригинальной очередью +// А так как Context.BeginInvoke управляет переключением состояния выполнения очереди +// Следующий код два раза запустит очередь Q1, и после этого два раза её завершит: +// <-------------------------> +// var Q1: CommandQueue<...>; +// ... +// Qs1 := Q1.Multiusable(2); +// Context.Default.BeginInvoke( Qs1[0] ); +// Context.Default.BeginInvoke( Qs1[1] ); +// <-------------------------> +// Из-за чего такой код тоже приведёт к неопределённом поведению +// Но вероятность получить QueueDoubleInvokeException в данном случае - ещё меньше +// Чтобы исправить такой код - надо объеденить вызовы метода Context.BeginInvoke +// + +{$endregion 3.4. —— Множественное использование очереди} + +{$endregion 3. Очередь [команд] (CommandQueue)} + +{$region 4 —— Буфер (Buffer)} + +// +// Буфер создаётся через конструктор ("new Buffer(...)") +// Однако память на GPU выделяется только при вызове метода Buffer.Init +// Исходя из контекста, переданного Buffer.Init, выбирается на каком устройстве будет выделена память +// При выделения памяти содержимое буфера НЕ очищается нулями, а значит содержит мусорные данные +// Повторный вызов Buffer.Init перевыделяет память +// +// Если Buffer.Init не был вызван до первой операции чтения/записи буфера, он будет вызван автоматически +// В таком случае в качестве контекста для выделения памяти выбирается тот, для которого был вызван метод Context.BeginInvoke +// +// Буфер можно удалить методом Buffer.Dispose +// Но этот метод только освобождает память на GPU +// Если после .Dispose использовать буфер снова, память выделится заново +// .Dispose также вызовется автоматически, если в программе не останется ссылок на буфер +// + +{$endregion 4 —— Буфер (Buffer)} + +{$region 5. Контейнер для кода (ProgramCode)} + +{$region 5.1. —— Создание ProgramCode} + +// 5.1.1 — Создание из исходного кода +// +// Конструктор ProgramCode("new ProgramCode(...)") принимает текст исходников программы на языке OpenCL-C +// Исходный код — это текст программы +// Так же как исходники паскаля хранятся в .pas файлах +// Исходники кода для OpenCL обычно хранят в .cl файлах +// Однако это не принципиально, потому что код не обязательно должен быть в файле, +// он может быть в любой текстовой форме (в том числе в строке в .pas программе) +// Однако хранение исходников в .cl-файлах упрощает жизнь, потому что тогда их будет легко найти +// + +// 5.1.2 — Создание из бинарных файлов +// +// После создания объекта типа ProgramCode из исходников +// Можно вызвать метод ProgramCode.SerializeTo, чтобы сохранить код в бинарном и прекомпилированном виде +// Это обычно делается отдельной программой (не той же самой, которая будет использовать этот бинарный код) +// +// После этого основная программа может создать объект ProgramCode +// Используя статический метод ProgramCode.DeserializeFrom +// + +{$endregion 5.1. —— Создание ProgramCode} + +{$endregion 5. Контейнер для кода (ProgramCode)} + +{$region 6 —— Кёрнел (Kernel)} + +// +// Кёрнел создаётся через индексное свойтсво ProgramCode: +// code['KernelName'] +// Где code имеет тип ProgramCode, а KernelName — имя подпрограммы-кёрнела в исходном коде (регистр важен!) +// +// Кёрнел вызывается методом KernelCommandQueue.Exec +// См. пример "1.6 - Кёрнел\Вызов кёрнела.pas" +// + +{$endregion 6 —— Кёрнел (Kernel)} + +{$endregion Подробное описание OpenCLABC} + interface uses OpenCL; uses System; uses System.Threading.Tasks; uses System.Runtime.InteropServices; +uses System.Runtime.CompilerServices; -//ToDo клонирование очередей -// - для паралельного выполнения из разных потоков +//=================================== +// Обязательно сделать до следующего пула: -//ToDo если контекст создан из cl_context - не удалять его +//=================================== +// Запланированное: + +//ToDo эвенты можно очищать в UnInvoke + +//ToDo CommandQueue.Cycle(integer) +//ToDo CommandQueue.Cycle // бесконечность циклов +//ToDo CommandQueue.CycleWhile(***->boolean) +// - возможность передать свой обработчик ошибок как Exception->Exception +// +//Update: +// - бесконечный цикл будет больно делать +// - чтобы не накапливались Task-и - надо полностью перезапускать очередь +// - а значит надо что то вроде пре-запуска, чтобы не терять время между итерациями + +//ToDo Read/Write для массивов - надо бы иметь возможность указывать отступ в массиве + +//ToDo Может лучше передавать List в Invoke, чем использовать yield? +// - должно быть проще в реализации, быстрее и меньше ограничений... + +//ToDo Типы Device и Platform +//ToDo А связь с OpenCL.pas сделать всему (и буферам и кёрнелам), но более человеческую + +//ToDo Сделать методы BufferCommandQueue.AddGet +// - они особенные, потому что возвращают не BufferCommandQueue, а каждый свою очередь +// - полезно, потому что SyncInvoke такой очереди будет возвращать полученное значение + +//ToDo заменить GCHandle на махинации с var-параметрами + +//=================================== +// Сделать когда-нибуть: + +//ToDo У всего, у чего есть Finalize - проверить чтобы было и .Dispose, если надо +// - и добавить в справку, про то что этот объект можно удалять + +//ToDo Больше примеров... Желательно хотя бы по примеру на под-раздел справки + +//ToDo Пройтись по всем функциям OpenCL, посмотреть функционал каких стоит добавить + +//ToDo Тесты всех фич модуля //ToDo issue компилятора: -// - #1952 // - #1981 +// - #2048 +// - #2067, #2068 type {$region misc class def} Context = class; - KernelArg = class; + Buffer = class; Kernel = class; ProgramCode = class; DeviceTypeFlags = OpenCL.DeviceTypeFlags; + QueueDoubleInvokeException = class(Exception) + + public constructor := + inherited Create('Нельзя выполнять одну и ту же очередь в 2 местах одновременно. Используйте .Clone или .Multiusable'); + + end; + {$endregion misc class def} {$region CommandQueue} + ///-- CommandQueueBase = abstract class protected ev: cl_event; + protected is_busy: boolean; protected procedure ClearEvent := if self.ev<>cl_event.Zero then cl.ReleaseEvent(self.ev).RaiseIfError; + protected procedure MakeBusy := + if not self.is_busy then is_busy := true else + raise new QueueDoubleInvokeException; + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; abstract; + protected procedure UnInvoke; virtual := + if self.is_busy then is_busy := false else + raise new InvalidOperationException('Ошибка внутри модуля OpenCLABC: совершена попыта завершить не запущенную очередь. Сообщите, пожалуйста, разработчику OpenCLABC'); protected function GetRes: object; abstract; + protected function InternalClone(muhs: Dictionary): CommandQueueBase; abstract; + end; + /// Базовый тип всех очередей команд в OpenCLABC CommandQueue = abstract class(CommandQueueBase) protected res: T; protected function GetRes: object; override := self.res; + + ///Создаёт полную копию данной очереди, + ///Всех очередей из которых она состоит, + ///А так же всех очередей-параметров, использованных в данной очереди + public function Clone: CommandQueue := + CommandQueue&(self.InternalClone(new Dictionary)); + + + ///Создаёт массив из n очередей, каждая из которых возвращает результат данной очереди + ///Каждую полученную очередь можно использовать одновременно с другими, но только в общей очереди + public function Multiusable(n: integer): array of CommandQueue; + + ///Создаёт функцию, создающую очередь, которая возвращает результат данной очереди + ///Каждую очередь, созданную полученной функцией, можно использовать одновременно с другими, но только в общей очереди + public function Multiusable: ()->CommandQueue; + + + ///Создаёт очередь, которая выполнит данную + ///А затем выполнит на CPU функцию f, используя результат данной очереди + public function ThenConvert(f: T->T2): CommandQueue := + self.ThenConvert((o,c)->f(o)); + ///Создаёт очередь, которая выполнит данную + ///А затем выполнит на CPU функцию f, используя результат данной очереди и контекст на котором её выполнили + public function ThenConvert(f: (T,Context)->T2): CommandQueue; + + public static function operator+(q1: CommandQueue; q2: CommandQueue): CommandQueue; + public static procedure operator+=(var q1: CommandQueue; q2: CommandQueue) := q1 := q1+q2; public static function operator*(q1: CommandQueue; q2: CommandQueue): CommandQueue; + public static procedure operator*=(var q1: CommandQueue; q2: CommandQueue) := q1 := q1*q2; + public static function operator implicit(o: T): CommandQueue; end; - CommandQueueHostFunc = sealed class(CommandQueue) - private f: ()->T; + {$endregion CommandQueue} + + {$region Buffer} + + ///-- + BufferCommand = abstract class + protected ev: cl_event; - public constructor(f: ()->T) := - self.f := f; + protected procedure ClearEvent := + if self.ev<>cl_event.Zero then cl.ReleaseEvent(self.ev).RaiseIfError; - public constructor(o: T); - begin - self.res := o; - self.f := nil; - end; + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; abstract; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected procedure UnInvoke; abstract; - public procedure Finalize; override := - ClearEvent; + protected function Clone(muhs: Dictionary): BufferCommand; abstract; end; - {$endregion CommandQueue} - - {$region KernelArg} - - KernelArgCommandQueue = abstract class(CommandQueue) - protected org: KernelArg; - protected prev: KernelArgCommandQueue; - private val_ptr: IntPtr; + ///Особый тип очереди, всегда возвращающий Buffer + ///Может быть создан из объекта Buffer или очереди, возвращающей Buffer + ///Используется для хранения списка особых команд, применимых только к Buffer + BufferCommandQueue = sealed class(CommandQueue) + protected res_q_hub: object; + protected commands := new List; {$region constructor's} - protected constructor(org: KernelArg); + ///Создаёт объект BufferCommandQueue, команды которого будут применятся к буферу b + public constructor(b: Buffer) := + self.res := b; + + ///Создаёт объект BufferCommandQueue, команды которого будут применятся к буферу, который будет результатом q + public constructor(q: CommandQueue); + + protected function AddCommand(comm: BufferCommand): BufferCommandQueue; begin - self.org := org; - self.prev := nil; - self.res := org; + self.commands += comm; + Result := self; end; - protected constructor(prev: KernelArgCommandQueue); - begin - self.org := prev.org; - self.prev := prev; - self.res := org; - end; - - public static function Wrap(arg: KernelArg): KernelArgCommandQueue; + protected function GetNewResPlug: CommandQueue; + protected function GetSizeQ: CommandQueue; {$endregion constructor's} + {$region AddQueue} + + public function AddQueue(q: CommandQueue): BufferCommandQueue; + + {$endregion AddQueue} + {$region Write} - public function WriteData(ptr: CommandQueue): KernelArgCommandQueue; - public function WriteData(ptr: CommandQueue; offset, len: CommandQueue): KernelArgCommandQueue; + ///- function WriteData(ptr: IntPtr): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер + public function AddWriteData(ptr: CommandQueue): BufferCommandQueue; + ///- function WriteData(ptr: IntPtr; offset, len: integer): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов + public function AddWriteData(ptr: CommandQueue; offset, len: CommandQueue): BufferCommandQueue; - public function WriteData(ptr: pointer) := WriteData(IntPtr(ptr)); - public function WriteData(ptr: pointer; offset, len: CommandQueue) := WriteData(IntPtr(ptr), offset, len); + ///- function WriteData(ptr: pointer): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер + public function AddWriteData(ptr: pointer) := AddWriteData(IntPtr(ptr)); + ///- function WriteData(ptr: pointer; offset, len: integer): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов + public function AddWriteData(ptr: pointer; offset, len: CommandQueue) := AddWriteData(IntPtr(ptr), offset, len); - public function WriteData(a: CommandQueue<&Array>): KernelArgCommandQueue; - public function WriteData(a: CommandQueue<&Array>; offset, len: CommandQueue): KernelArgCommandQueue; - public function WriteData(a: &Array) := WriteData(new CommandQueueHostFunc<&Array>(a)); - public function WriteData(a: &Array; offset, len: CommandQueue) := WriteData(new CommandQueueHostFunc&<&Array>(a), offset, len); + ///- function WriteArray(a: Array): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер + public function AddWriteArray(a: CommandQueue<&Array>): BufferCommandQueue; + ///- function WriteArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов + public function AddWriteArray(a: CommandQueue<&Array>; offset, len: CommandQueue): BufferCommandQueue; - public function WriteValue(val: TRecord; offset: CommandQueue := 0): KernelArgCommandQueue; where TRecord: record; - begin - var sz := Marshal.SizeOf&; - var ptr := Marshal.AllocHGlobal(sz); - var typed_ptr: ^TRecord := pointer(ptr); - typed_ptr^ := val; - Result := WriteData(ptr, offset, sz); - Result.val_ptr := ptr; - end; + ///- function WriteArray(a: Array): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер + public function AddWriteArray(a: &Array) := AddWriteArray(CommandQueue&<&Array>(a)); + ///- function WriteArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов + public function AddWriteArray(a: &Array; offset, len: CommandQueue) := AddWriteArray(CommandQueue&<&Array>(a), offset, len); + + + ///- function WriteValue(val: TRecord; offset: integer := 0): BufferCommandQueue; where TRecord: record; + ///Записывает значение любого размерного типа в данный буфер + ///С отступом в offset байт в буфере + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AddWriteValue(val: TRecord; offset: CommandQueue := 0): BufferCommandQueue; where TRecord: record; + + ///- function WriteValue(val: TRecord; offset: integer := 0): BufferCommandQueue; where TRecord: record; + ///Записывает значение любого размерного типа в данный буфер + ///С отступом в offset байт в буфере + public function AddWriteValue(val: CommandQueue; offset: CommandQueue := 0): BufferCommandQueue; where TRecord: record; {$endregion Write} {$region Read} - public function ReadData(ptr: CommandQueue): KernelArgCommandQueue; - public function ReadData(ptr: CommandQueue; offset, len: CommandQueue): KernelArgCommandQueue; + ///- function ReadData(ptr: IntPtr): BufferCommandQueue; + ///Копирует всё содержимое буффера в область оперативной памяти, на которую указывает ptr + public function AddReadData(ptr: CommandQueue): BufferCommandQueue; + ///- function ReadData(ptr: IntPtr; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в область оперативной памяти, на которую указывает ptr + public function AddReadData(ptr: CommandQueue; offset, len: CommandQueue): BufferCommandQueue; - public function ReadData(ptr: pointer) := ReadData(IntPtr(ptr)); - public function ReadData(ptr: pointer; offset, len: CommandQueue) := ReadData(IntPtr(ptr), offset, len); + ///- function ReadData(ptr: pointer): BufferCommandQueue; + ///Копирует всё содержимое буффера в область оперативной памяти, на которую указывает ptr + public function AddReadData(ptr: pointer) := AddReadData(IntPtr(ptr)); + ///- function ReadData(ptr: pointer; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в область оперативной памяти, на которую указывает ptr + public function AddReadData(ptr: pointer; offset, len: CommandQueue) := AddReadData(IntPtr(ptr), offset, len); - public function ReadData(a: CommandQueue<&Array>): KernelArgCommandQueue; - public function ReadData(a: CommandQueue<&Array>; offset, len: CommandQueue): KernelArgCommandQueue; + ///- function ReadArray(a: Array): BufferCommandQueue; + ///Копирует всё содержимое буффера в содержимое массива + public function AddReadArray(a: CommandQueue<&Array>): BufferCommandQueue; + ///- function ReadArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в содержимое массива + public function AddReadArray(a: CommandQueue<&Array>; offset, len: CommandQueue): BufferCommandQueue; - public function ReadData(a: &Array) := ReadData(new CommandQueueHostFunc<&Array>(a)); - public function ReadData(a: &Array; offset, len: CommandQueue) := ReadData(new CommandQueueHostFunc&<&Array>(a), offset, len); + ///- function ReadArray(a: Array): BufferCommandQueue; + ///Копирует всё содержимое буффера в содержимое массива + public function AddReadArray(a: &Array) := AddReadArray(CommandQueue&<&Array>(a)); + ///- function ReadArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в содержимое массива + public function AddReadArray(a: &Array; offset, len: CommandQueue) := AddReadArray(CommandQueue&<&Array>(a), offset, len); - public function ReadValue(var val: TRecord; offset: CommandQueue := 0): KernelArgCommandQueue; where TRecord: record; + ///- function ReadValue(var val: TRecord; offset: integer := 0): BufferCommandQueue; where TRecord: record; + ///Читает значение любого размерного типа из данного буфера + ///С отступом в offset байт в буфере + public function AddReadValue(var val: TRecord; offset: CommandQueue := 0): BufferCommandQueue; where TRecord: record; begin - Result := ReadData(@val, offset, Marshal.SizeOf&); + Result := AddReadData(@val, offset, Marshal.SizeOf&); end; {$endregion Read} {$region Fill} - public function PatternFill(ptr: CommandQueue; pattern_len: CommandQueue): KernelArgCommandQueue; - public function PatternFill(ptr: CommandQueue; pattern_len, offset, len: CommandQueue): KernelArgCommandQueue; + ///- function PatternFill(ptr: IntPtr): BufferCommandQueue; + ///Заполняет весь буфер копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function AddFillData(ptr: CommandQueue; pattern_len: CommandQueue): BufferCommandQueue; + ///- function PatternFill(ptr: IntPtr; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function AddFillData(ptr: CommandQueue; pattern_len, offset, len: CommandQueue): BufferCommandQueue; - public function PatternFill(ptr: pointer; pattern_len: CommandQueue) := PatternFill(IntPtr(ptr), pattern_len); - public function PatternFill(ptr: pointer; pattern_len, offset, len: CommandQueue) := PatternFill(IntPtr(ptr), pattern_len, offset, len); + ///- function PatternFill(ptr: pointer): BufferCommandQueue; + ///Заполняет весь буфер копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function AddFillData(ptr: pointer; pattern_len: CommandQueue) := AddFillData(IntPtr(ptr), pattern_len); + ///- function PatternFill(ptr: pointer; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function AddFillData(ptr: pointer; pattern_len, offset, len: CommandQueue) := AddFillData(IntPtr(ptr), pattern_len, offset, len); - public function PatternFill(a: CommandQueue<&Array>): KernelArgCommandQueue; - public function PatternFill(a: CommandQueue<&Array>; offset, len: CommandQueue): KernelArgCommandQueue; + ///- function PatternFill(a: Array): BufferCommandQueue; + ///Заполняет весь буфер копиями содержимого массива + public function AddFillArray(a: CommandQueue<&Array>): BufferCommandQueue; + ///- function PatternFill(a: Array; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями содержимого массива + public function AddFillArray(a: CommandQueue<&Array>; offset, len: CommandQueue): BufferCommandQueue; - public function PatternFill(a: &Array) := PatternFill(new CommandQueueHostFunc<&Array>(a)); - public function PatternFill(a: &Array; offset, len: CommandQueue) := PatternFill(new CommandQueueHostFunc&<&Array>(a), offset, len); + ///- function PatternFill(a: Array): BufferCommandQueue; + ///Заполняет весь буфер копиями содержимого массива + public function AddFillArray(a: &Array) := AddFillArray(CommandQueue&<&Array>(a)); + ///- function PatternFill(a: Array; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями содержимого массива + public function AddFillArray(a: &Array; offset, len: CommandQueue) := AddFillArray(CommandQueue&<&Array>(a), offset, len); - public function PatternFill(val: TRecord): KernelArgCommandQueue; where TRecord: record; - begin - var sz := Marshal.SizeOf&; - var ptr := Marshal.AllocHGlobal(sz); - var typed_ptr: ^TRecord := pointer(ptr); - typed_ptr^ := val; - Result := PatternFill(ptr, sz); - Result.val_ptr := ptr; - end; + ///- function PatternFill(val: TRecord): BufferCommandQueue; where TRecord: record; + ///Заполняет весь буфер копиями значения любого размерного типа + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AddFillValue(val: TRecord): BufferCommandQueue; where TRecord: record; + ///- function PatternFill(val: TRecord; offset, len: integer): BufferCommandQueue; where TRecord: record; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями значения любого размерного типа + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AddFillValue(val: TRecord; offset, len: CommandQueue): BufferCommandQueue; where TRecord: record; - public function PatternFill(val: TRecord; offset, len: CommandQueue): KernelArgCommandQueue; where TRecord: record; - begin - var sz := Marshal.SizeOf&; - var ptr := Marshal.AllocHGlobal(sz); - var typed_ptr: ^TRecord := pointer(ptr); - typed_ptr^ := val; - Result := PatternFill(ptr, sz, offset, len); - Result.val_ptr := ptr; - end; + ///- function PatternFill(val: TRecord): BufferCommandQueue; where TRecord: record; + ///Заполняет весь буфер копиями значения любого размерного типа + public function AddFillValue(val: CommandQueue): BufferCommandQueue; where TRecord: record; + ///- function PatternFill(val: TRecord; offset, len: integer): BufferCommandQueue; where TRecord: record; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями значения любого размерного типа + public function AddFillValue(val: CommandQueue; offset, len: CommandQueue): BufferCommandQueue; where TRecord: record; {$endregion Fill} {$region Copy} - public function CopyFrom(arg: CommandQueue; from, &to, len: CommandQueue): KernelArgCommandQueue; - public function CopyTo (arg: CommandQueue; from, &to, len: CommandQueue): KernelArgCommandQueue; + ///- function CopyFrom(b: Buffer; from, &to, len: integer): BufferCommandQueue; + ///Копирует содержимое буфера b в данный буфер + ///from - отступ в буффере b + ///to - отступ в данном буффере + ///len - кол-во копируемых байт + public function AddCopyFrom(b: CommandQueue; from, &to, len: CommandQueue): BufferCommandQueue; + ///- function CopyTo(b: Buffer; from, &to, len: integer): BufferCommandQueue; + ///Копирует содержимое данного буфера в буфер b + ///from - отступ в данном буффере + ///to - отступ в буффере b + ///len - кол-во копируемых байт + public function AddCopyTo (b: CommandQueue; from, &to, len: CommandQueue): BufferCommandQueue; - public function CopyFrom(arg: CommandQueue): KernelArgCommandQueue; - public function CopyTo (arg: CommandQueue): KernelArgCommandQueue; + ///- function CopyFrom(b: Buffer): BufferCommandQueue; + ///Копирует всё содержимое буфера b в данный буфер + public function AddCopyFrom(b: CommandQueue): BufferCommandQueue; + ///- function CopyTo(b: Buffer): BufferCommandQueue; + ///Копирует всё содержимое данного буфера в буфер b + public function AddCopyTo (b: CommandQueue): BufferCommandQueue; {$endregion Copy} - public procedure Finalize; override := - if self.val_ptr<>IntPtr.Zero then Marshal.FreeHGlobal(val_ptr); + {$region reintroduce методы} + + private function Equals(obj: object): boolean; reintroduce := false; + + private function ToString: string; reintroduce := nil; + + private function GetType: System.Type; reintroduce := nil; + + private function GetHashCode: integer; reintroduce := 0; + + {$endregion reintroduce методы} + + {$region override методы} + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + + protected procedure UnInvoke; override; + begin + inherited; + foreach var comm in commands do comm.UnInvoke; + end; + + {$endregion override методы} end; - KernelArg = sealed class + ///Буфер, хранящий своё содержимое в памяти GPU (обычно) + ///Используется для передачи данных в Kernel-ы перед их выполнением + Buffer = sealed class(IDisposable) private memobj: cl_mem; private sz: UIntPtr; - private _parent: KernelArg; + private _parent: Buffer; {$region constructor's} private constructor := raise new System.NotSupportedException; + + ///Создаён не_инициализированный буфер с размером size байт public constructor(size: UIntPtr) := self.sz := size; + ///Создаён не_инициализированный буфер с размером size байт public constructor(size: integer) := Create(new UIntPtr(size)); + ///Создаён не_инициализированный буфер с размером size байт public constructor(size: int64) := Create(new UIntPtr(size)); - public function SubBuff(offset, size: integer): KernelArg; + ///Создаёт под-буфер размера size и с отступом в данном буфере offset + ///Под буфер имеет общую память с оригинальным, но иммеет доступ только к её части + public function SubBuff(offset, size: integer): Buffer; + ///Инициализирует буфер, выделяя память на девайсе - который связан с данным контекстом public procedure Init(c: Context); {$endregion constructor's} {$region property's} + ///Возвращает размер буфера в байтах public property Size: UIntPtr read sz; + ///Возвращает размер буфера в байтах public property Size32: UInt32 read sz.ToUInt32; + ///Возвращает размер буфера в байтах public property Size64: UInt64 read sz.ToUInt64; - public property Parent: KernelArg read _parent; + ///Если данный буфер был создан функцией SubBuff - возвращает родительский буфер + ///Иначе возвращает nil + public property Parent: Buffer read _parent; {$endregion property's} {$region Queue's} + ///Создаёт новую очередь-обёртку данного буфера + ///Которая может хранить множество операций чтения/записи одновременно public function NewQueue := - KernelArgCommandQueue.Wrap(self); + new BufferCommandQueue(self); - public static function ValueQueue(val: TRecord): KernelArgCommandQueue; where TRecord: record; + /// - static function ValueQueue(val: TRecord): BufferCommandQueue; where TRecord: record; + ///Создаёт новый буфер того же размера что и val, оборачивает в очередь + ///И вызывает у полученной очереди .WriteValue(val) + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function ValueQueue(val: TRecord): BufferCommandQueue; where TRecord: record; begin Result := - KernelArg.Create(Marshal.SizeOf&) - .NewQueue.WriteValue(val); + Buffer.Create(Marshal.SizeOf&) + .NewQueue.AddWriteValue(val); end; {$endregion Queue's} {$region Write} - public function WriteData(ptr: CommandQueue): KernelArg; - public function WriteData(ptr: CommandQueue; offset, len: CommandQueue): KernelArg; + ///- function WriteData(ptr: IntPtr): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер + public function WriteData(ptr: CommandQueue): Buffer; + ///- function WriteData(ptr: IntPtr; offset, len: integer): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов + public function WriteData(ptr: CommandQueue; offset, len: CommandQueue): Buffer; + ///- function WriteData(ptr: pointer): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер public function WriteData(ptr: pointer) := WriteData(IntPtr(ptr)); + ///- function WriteData(ptr: pointer; offset, len: integer): BufferCommandQueue; + ///Копирует область оперативной памяти, на которую ссылается ptr, в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов public function WriteData(ptr: pointer; offset, len: CommandQueue) := WriteData(IntPtr(ptr), offset, len); - public function WriteData(a: CommandQueue<&Array>): KernelArg; - public function WriteData(a: CommandQueue<&Array>; offset, len: CommandQueue): KernelArg; - public function WriteData(a: &Array) := WriteData(new CommandQueueHostFunc<&Array>(a)); - public function WriteData(a: &Array; offset, len: CommandQueue) := WriteData(new CommandQueueHostFunc<&Array>(a), offset,len); + ///- function WriteArray(a: Array): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер + public function WriteArray(a: CommandQueue<&Array>): Buffer; + ///- function WriteArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов + public function WriteArray(a: CommandQueue<&Array>; offset, len: CommandQueue): Buffer; - public function WriteValue(val: TRecord; offset: CommandQueue := 0): KernelArg; where TRecord: record; - begin - Result := WriteData(@val, offset, Marshal.SizeOf&); - end; + ///- function WriteArray(a: Array): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///Копируется нужное кол-во байт чтобы заполнить весь буфер + public function WriteArray(a: &Array) := WriteArray(CommandQueue&<&Array>(a)); + ///- function WriteArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует содержимое массива в данный буфер + ///offset это отступ в буфере, а len - кол-во копируемых байтов + public function WriteArray(a: &Array; offset, len: CommandQueue) := WriteArray(CommandQueue&<&Array>(a), offset, len); + + + ///- function WriteValue(val: TRecord; offset: integer := 0): BufferCommandQueue; where TRecord: record; + ///Записывает значение любого размерного типа в данный буфер + ///С отступом в offset байт в буфере + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WriteValue(val: TRecord; offset: CommandQueue := 0): Buffer; where TRecord: record; + begin Result := WriteData(@val, offset, Marshal.SizeOf&); end; + + ///- function WriteValue(val: TRecord; offset: integer := 0): BufferCommandQueue; where TRecord: record; + ///Записывает значение любого размерного типа в данный буфер + ///С отступом в offset байт в буфере + public function WriteValue(val: CommandQueue; offset: CommandQueue := 0): Buffer; where TRecord: record; {$endregion Write} {$region Read} - public function ReadData(ptr: CommandQueue): KernelArg; - public function ReadData(ptr: CommandQueue; offset, len: CommandQueue): KernelArg; + ///- function ReadData(ptr: IntPtr): BufferCommandQueue; + ///Копирует всё содержимое буффера в область оперативной памяти, на которую указывает ptr + public function ReadData(ptr: CommandQueue): Buffer; + ///- function ReadData(ptr: IntPtr; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в область оперативной памяти, на которую указывает ptr + public function ReadData(ptr: CommandQueue; offset, len: CommandQueue): Buffer; + ///- function ReadData(ptr: pointer): BufferCommandQueue; + ///Копирует всё содержимое буффера в область оперативной памяти, на которую указывает ptr public function ReadData(ptr: pointer) := ReadData(IntPtr(ptr)); + ///- function ReadData(ptr: pointer; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в область оперативной памяти, на которую указывает ptr public function ReadData(ptr: pointer; offset, len: CommandQueue) := ReadData(IntPtr(ptr), offset, len); - public function ReadData(a: CommandQueue<&Array>): KernelArg; - public function ReadData(a: CommandQueue<&Array>; offset, len: CommandQueue): KernelArg; + ///- function ReadArray(a: Array): BufferCommandQueue; + ///Копирует всё содержимое буффера в содержимое массива + public function ReadArray(a: CommandQueue<&Array>): Buffer; + ///- function ReadArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в содержимое массива + public function ReadArray(a: CommandQueue<&Array>; offset, len: CommandQueue): Buffer; - public function ReadData(a: &Array) := ReadData(new CommandQueueHostFunc<&Array>(a)); - public function ReadData(a: &Array; offset, len: CommandQueue) := ReadData(new CommandQueueHostFunc<&Array>(a), offset,len); + ///- function ReadArray(a: Array): BufferCommandQueue; + ///Копирует всё содержимое буффера в содержимое массива + public function ReadArray(a: &Array) := ReadArray(CommandQueue&<&Array>(a)); + ///- function ReadArray(a: Array; offset, len: integer): BufferCommandQueue; + ///Копирует len байт, начиная с байта №offset в буфере, в содержимое массива + public function ReadArray(a: &Array; offset, len: CommandQueue) := ReadArray(CommandQueue&<&Array>(a), offset, len); - public function ReadValue(val: TRecord; offset: CommandQueue := 0): KernelArg; where TRecord: record; + ///- function ReadValue(var val: TRecord; offset: integer := 0): BufferCommandQueue; where TRecord: record; + ///Читает значение любого размерного типа из данного буфера + ///С отступом в offset байт в буфере + public function ReadValue(var val: TRecord; offset: CommandQueue := 0): Buffer; where TRecord: record; begin Result := ReadData(@val, offset, Marshal.SizeOf&); end; {$endregion Read} - {$region Get} - - public function GetData(offset, len: CommandQueue): IntPtr; - public function GetData := GetData(0,integer(self.Size32)); - - public function GetArrayAt(offset: CommandQueue; szs: CommandQueue): TArray; where TArray: &Array; - public function GetArray(szs: CommandQueue): TArray; where TArray: &Array; begin Result := GetArrayAt&(0, szs); end; - - public function GetArrayAt(offset: CommandQueue; params szs: array of integer): TArray; where TArray: &Array; - begin Result := GetArrayAt&(offset, new CommandQueueHostFunc(szs)); end; - public function GetArray(params szs: array of integer): TArray; where TArray: &Array; - begin Result := GetArrayAt&(0, new CommandQueueHostFunc(szs)); end; - - public function GetValueAt(offset: CommandQueue): TRecord; where TRecord: record; - public function GetValue: TRecord; where TRecord: record; begin Result := GetValueAt&(0); end; - - {$endregion Get} - {$region Fill} - public function PatternFill(ptr: CommandQueue; pattern_len: CommandQueue): KernelArg; - public function PatternFill(ptr: CommandQueue; pattern_len, offset, len: CommandQueue): KernelArg; + ///- function PatternFill(ptr: IntPtr): BufferCommandQueue; + ///Заполняет весь буфер копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function FillData(ptr: CommandQueue; pattern_len: CommandQueue): Buffer; + ///- function PatternFill(ptr: IntPtr; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function FillData(ptr: CommandQueue; pattern_len, offset, len: CommandQueue): Buffer; - public function PatternFill(ptr: pointer; pattern_len: CommandQueue) := PatternFill(IntPtr(ptr), pattern_len); - public function PatternFill(ptr: pointer; pattern_len, offset, len: CommandQueue) := PatternFill(IntPtr(ptr), pattern_len, offset, len); + ///- function PatternFill(ptr: pointer): BufferCommandQueue; + ///Заполняет весь буфер копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function FillData(ptr: pointer; pattern_len: CommandQueue) := FillData(IntPtr(ptr), pattern_len); + ///- function PatternFill(ptr: pointer; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями массива байт, длинной pattern_len, + ///прочитанным из области оперативной памяти, на которую указывает ptr + public function FillData(ptr: pointer; pattern_len, offset, len: CommandQueue) := FillData(IntPtr(ptr), pattern_len, offset, len); - public function PatternFill(a: CommandQueue<&Array>): KernelArg; - public function PatternFill(a: CommandQueue<&Array>; offset, len: CommandQueue): KernelArg; + ///- function PatternFill(a: Array): BufferCommandQueue; + ///Заполняет весь буфер копиями содержимого массива + public function FillArray(a: CommandQueue<&Array>): Buffer; + ///- function PatternFill(a: Array; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями содержимого массива + public function FillArray(a: CommandQueue<&Array>; offset, len: CommandQueue): Buffer; - public function PatternFill(a: &Array) := PatternFill(new CommandQueueHostFunc<&Array>(a)); - public function PatternFill(a: &Array; offset, len: CommandQueue) := PatternFill(new CommandQueueHostFunc<&Array>(a), offset,len); + ///- function PatternFill(a: Array): BufferCommandQueue; + ///Заполняет весь буфер копиями содержимого массива + public function FillArray(a: &Array) := FillArray(CommandQueue&<&Array>(a)); + ///- function PatternFill(a: Array; offset, len: integer): BufferCommandQueue; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями содержимого массива + public function FillArray(a: &Array; offset, len: CommandQueue) := FillArray(CommandQueue&<&Array>(a), offset, len); - public function PatternFill(val: TRecord): KernelArg; where TRecord: record; - begin - Result := PatternFill(@val, Marshal.SizeOf&); - end; + ///- function PatternFill(val: TRecord): BufferCommandQueue; where TRecord: record; + ///Заполняет весь буфер копиями значения любого размерного типа + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function FillValue(val: TRecord): Buffer; where TRecord: record; + ///- function PatternFill(val: TRecord; offset, len: integer): BufferCommandQueue; where TRecord: record; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями значения любого размерного типа + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function FillValue(val: TRecord; offset, len: CommandQueue): Buffer; where TRecord: record; - public function PatternFill(val: TRecord; offset, len: CommandQueue): KernelArg; where TRecord: record; - begin - Result := PatternFill(@val, Marshal.SizeOf&, offset,len); - end; + ///- function PatternFill(val: TRecord): BufferCommandQueue; where TRecord: record; + ///Заполняет весь буфер копиями значения любого размерного типа + public function FillValue(val: CommandQueue): Buffer; where TRecord: record; + ///- function PatternFill(val: TRecord; offset, len: integer): BufferCommandQueue; where TRecord: record; + ///Заполняет часть буфера (начиная с байта №offset и длинной len) копиями значения любого размерного типа + public function FillValue(val: CommandQueue; offset, len: CommandQueue): Buffer; where TRecord: record; {$endregion Fill} {$region Copy} - public function CopyFrom(arg: KernelArg; from, &to, len: CommandQueue): KernelArg; - public function CopyTo (arg: KernelArg; from, &to, len: CommandQueue): KernelArg; + ///- function CopyFrom(b: Buffer; from, &to, len: integer): BufferCommandQueue; + ///Копирует содержимое буфера b в данный буфер + ///from - отступ в буффере b + ///to - отступ в данном буффере + ///len - кол-во копируемых байт + public function CopyFrom(b: CommandQueue; from, &to, len: CommandQueue): Buffer; + ///- function CopyTo(b: Buffer; from, &to, len: integer): BufferCommandQueue; + ///Копирует содержимое данного буфера в буфер b + ///from - отступ в данном буффере + ///to - отступ в буффере b + ///len - кол-во копируемых байт + public function CopyTo (b: CommandQueue; from, &to, len: CommandQueue): Buffer; - public function CopyFrom(arg: KernelArg): KernelArg; - public function CopyTo (arg: KernelArg): KernelArg; + ///- function CopyFrom(b: Buffer): BufferCommandQueue; + ///Копирует всё содержимое буфера b в данный буфер + public function CopyFrom(b: CommandQueue): Buffer; + ///- function CopyTo(b: Buffer): BufferCommandQueue; + ///Копирует всё содержимое данного буфера в буфер b + public function CopyTo (b: CommandQueue): Buffer; {$endregion Copy} + {$region Get} + + ///- function GetData(offset, len: integer): IntPtr; + ///Выделяет неуправляемую область в памяти + ///И копирует в неё len байт из данного буфера, начиная с байта №offset + ///Обязательно вызовите Marshal.FreeHGlobal на полученном дескрипторе, после использования + public function GetData(offset, len: CommandQueue): IntPtr; + ///- function GetData: IntPtr; + ///Выделяет неуправляемую область в памяти, одинакового размера с данным буфером + ///И копирует в неё всё содержимое данного буфера + ///Обязательно вызовите Marshal.FreeHGlobal на полученном дескрипторе, после использования + public function GetData := GetData(0,integer(self.Size32)); + + + + ///- function GetArrayAt(offset: integer; params szs: array of integer): TArray; where TArray: &Array; + ///Создаёт новый массив с размерностями szs + ///И копирует в него, начиная с байта offset, достаточно байт чтобы заполнить весь массив + public function GetArrayAt(offset: CommandQueue; szs: CommandQueue): TArray; where TArray: &Array; + ///- function GetArray(params szs: array of integer): TArray; where TArray: &Array; + ///Создаёт новый массив с размерностями szs + ///И копирует в него достаточно байт чтобы заполнить весь массив + public function GetArray(szs: CommandQueue): TArray; where TArray: &Array; + begin Result := GetArrayAt&(0, szs); end; + + ///- function GetArrayAt(offset: integer; params szs: array of integer): TArray; where TArray: &Array; + ///Создаёт новый массив с размерностями szs + ///И копирует в него, начиная с байта offset, достаточно байт чтобы заполнить весь массив + public function GetArrayAt(offset: CommandQueue; params szs: array of CommandQueue): TArray; where TArray: &Array; + ///- function GetArray(params szs: array of integer): TArray; where TArray: &Array; + ///Создаёт новый массив с размерностями szs + ///И копирует в него достаточно байт чтобы заполнить весь массив + public function GetArray(params szs: array of integer): TArray; where TArray: &Array; + begin Result := GetArrayAt&(0, CommandQueue&(szs)); end; + + + ///- function GetArray1At(offset: integer; length: integer): array of TRecord; where TRecord: record; + ///Создаёт новый 1-мерный массив, с length элементами типа TRecord + ///И копирует в него, начиная с байта offset, достаточно байт чтобы заполнить весь массив + public function GetArray1At(offset, length: CommandQueue): array of TRecord; where TRecord: record; + begin Result := GetArrayAt&(offset, length); end; + ///- function GetArray1(length: integer): array of TRecord; where TRecord: record; + ///Создаёт новый 1-мерный массив, с length элементами типа TRecord + ///И копирует в него достаточно байт чтобы заполнить весь массив + public function GetArray1(length: CommandQueue): array of TRecord; where TRecord: record; + begin Result := GetArrayAt&(0,length); end; + + ///- function GetArray1: array of TRecord; where TRecord: record; + ///Создаёт новый 1-мерный массив, с максимальным кол-вом элементов типа TRecord + ///И копирует в него достаточно байт чтобы заполнить весь массив + public function GetArray1: array of TRecord; where TRecord: record; + begin Result := GetArrayAt&(0, integer(sz.ToUInt32) div Marshal.SizeOf&); end; + + + ///- function GetArray2At(offset: integer; length: integer): array[,] of TRecord; where TRecord: record; + ///Создаёт новый 2-мерный массив, с length элементами типа TRecord + ///И копирует в него, начиная с байта offset, достаточно байт чтобы заполнить весь массив + public function GetArray2At(offset, length1, length2: CommandQueue): array[,] of TRecord; where TRecord: record; + begin Result := GetArrayAt&(offset, length1, length2); end; + ///- function GetArray2(length: integer): array of TRecord; where TRecord: record; + ///Создаёт новый 2-мерный массив, с length элементами типа TRecord + ///И копирует в него достаточно байт чтобы заполнить весь массив + public function GetArray2(length1, length2: CommandQueue): array[,] of TRecord; where TRecord: record; + begin Result := GetArrayAt&(0, length1, length2); end; + + + ///- function GetArray3At(offset: integer; length: integer): array[,,] of TRecord; where TRecord: record; + ///Создаёт новый 3-мерный массив, с length элементами типа TRecord + ///И копирует в него, начиная с байта offset, достаточно байт чтобы заполнить весь массив + public function GetArray3At(offset, length1, length2, length3: CommandQueue): array[,,] of TRecord; where TRecord: record; + begin Result := GetArrayAt&(offset, length1, length2, length3); end; + ///- function GetArray3(length: integer): array[,,] of TRecord; where TRecord: record; + ///Создаёт новый 3-мерный массив, с length элементами типа TRecord + ///И копирует в него достаточно байт чтобы заполнить весь массив + public function GetArray3(length1, length2, length3: CommandQueue): array[,,] of TRecord; where TRecord: record; + begin Result := GetArrayAt&(0, length1, length2, length3); end; + + + + ///- function GetValueAt(offset: integer): TRecord; where TRecord: record; + ///Читает значение любого размерного типа из данного буфера + ///С отступом в offset байт в буфере + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetValueAt(offset: CommandQueue): TRecord; where TRecord: record; + ///- function GetValue: TRecord; where TRecord: record; + ///Читает значение любого размерного типа из начала данного буфера + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetValue: TRecord; where TRecord: record; begin Result := GetValueAt&(0); end; + + {$endregion Get} + + ///Высвобождает выделенную на GPU память + ///Если такой нету - не делает ничего + ///Память будет заново выделена, если снова использовать данный буфер + public procedure Dispose := + if self.memobj<>cl_mem.Zero then + begin + cl.ReleaseMemObject(memobj); + memobj := cl_mem.Zero; + end; + + ///-- public procedure Finalize; override := - if self.memobj<>cl_mem.Zero then cl.ReleaseMemObject(self.memobj); + self.Dispose; end; - {$endregion KernelArg} + {$endregion Buffer} {$region Kernel} - KernelCommandQueue = abstract class(CommandQueue) - protected org: Kernel; - protected prev: KernelCommandQueue; + KernelCommandQueue=class; + + ///-- + KernelCommand = class + protected ev: cl_event; - protected constructor(org: Kernel); + protected procedure ClearEvent := + if self.ev<>cl_event.Zero then cl.ReleaseEvent(self.ev).RaiseIfError; + + protected function Invoke(k_q: CommandQueue; k: Kernel; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; abstract; + + protected procedure UnInvoke; abstract; + + protected function Clone(muhs: Dictionary): KernelCommand; abstract; + + end; + + ///Особый тип очереди, всегда возвращающий Kernel + ///Может быть создан из объекта Kernel или очереди, возвращающей Kernel + ///Используется для хранения списка особых команд, применимых только к Kernel + KernelCommandQueue = class(CommandQueue) + protected res_q_hub: object; + protected commands := new List; + + {$region constructor's} + + ///Создаёт объект KernelCommandQueue, команды которого будут применятся к кёрнелу b + public constructor(b: Kernel) := + self.res := b; + + ///Создаёт объект KernelCommandQueue, команды которого будут применятся к кёрнелу, который будет результатом q + public constructor(q: CommandQueue); + + protected function AddCommand(comm: KernelCommand): KernelCommandQueue; begin - self.org := org; - self.prev := nil; + self.commands += comm; + Result := self; end; - protected constructor(prev: KernelCommandQueue); + protected function GetNewResPlug: CommandQueue; + + {$endregion constructor's} + + {$region AddQueue} + + public function AddQueue(q: CommandQueue): KernelCommandQueue; + + {$endregion AddQueue} + + {$region Exec} + + public function AddExec(work_szs: array of UIntPtr; params args: array of CommandQueue): KernelCommandQueue; + public function AddExec(work_szs: array of integer; params args: array of CommandQueue) := + AddExec(work_szs.ConvertAll(sz->new UIntPtr(sz)), args); + + public function AddExec1(work_sz1: UIntPtr; params args: array of CommandQueue) := AddExec(new UIntPtr[](work_sz1), args); + public function AddExec1(work_sz1: integer; params args: array of CommandQueue) := AddExec1(new UIntPtr(work_sz1), args); + + public function AddExec2(work_sz1, work_sz2: UIntPtr; params args: array of CommandQueue) := AddExec(new UIntPtr[](work_sz1, work_sz2), args); + public function AddExec2(work_sz1, work_sz2: integer; params args: array of CommandQueue) := AddExec2(new UIntPtr(work_sz1), new UIntPtr(work_sz2), args); + + public function AddExec3(work_sz1, work_sz2, work_sz3: UIntPtr; params args: array of CommandQueue) := AddExec(new UIntPtr[](work_sz1, work_sz2, work_sz3), args); + public function AddExec3(work_sz1, work_sz2, work_sz3: integer; params args: array of CommandQueue) := AddExec3(new UIntPtr(work_sz1), new UIntPtr(work_sz2), new UIntPtr(work_sz3), args); + + + public function AddExec(work_szs: array of CommandQueue; params args: array of CommandQueue): KernelCommandQueue; + public function AddExec(work_szs: array of CommandQueue; params args: array of CommandQueue) := + AddExec(work_szs.ConvertAll(sz_q->sz_q.ThenConvert(sz->new UIntPtr(sz))), args); + + public function AddExec1(work_sz1: CommandQueue; params args: array of CommandQueue) := AddExec(new CommandQueue[](work_sz1), args); + public function AddExec1(work_sz1: CommandQueue; params args: array of CommandQueue) := AddExec1(work_sz1.ThenConvert(sz->new UIntPtr(sz)), args); + + public function AddExec2(work_sz1, work_sz2: CommandQueue; params args: array of CommandQueue) := AddExec(new CommandQueue[](work_sz1, work_sz2), args); + public function AddExec2(work_sz1, work_sz2: CommandQueue; params args: array of CommandQueue) := AddExec2(work_sz1.ThenConvert(sz->new UIntPtr(sz)), work_sz2.ThenConvert(sz->new UIntPtr(sz)), args); + + public function AddExec3(work_sz1, work_sz2, work_sz3: CommandQueue; params args: array of CommandQueue) := AddExec(new CommandQueue[](work_sz1, work_sz2, work_sz3), args); + public function AddExec3(work_sz1, work_sz2, work_sz3: CommandQueue; params args: array of CommandQueue) := AddExec3(work_sz1.ThenConvert(sz->new UIntPtr(sz)), work_sz2.ThenConvert(sz->new UIntPtr(sz)), work_sz3.ThenConvert(sz->new UIntPtr(sz)), args); + + + public function AddExec(work_szs: CommandQueue; params args: array of CommandQueue): KernelCommandQueue; + public function AddExec(work_szs: CommandQueue; params args: array of CommandQueue): KernelCommandQueue; + + {$endregion Exec} + + {$region reintroduce методы} + + private function Equals(obj: object): boolean; reintroduce := false; + + private function ToString: string; reintroduce := nil; + + private function GetType: System.Type; reintroduce := nil; + + private function GetHashCode: integer; reintroduce := 0; + + {$endregion reintroduce методы} + + {$region override методы} + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + + protected procedure UnInvoke; override; begin - self.org := prev.org; - self.prev := prev; + inherited; + foreach var comm in commands do comm.UnInvoke; end; - public static function Wrap(arg: Kernel): KernelCommandQueue; - - - - public function Exec(work_szs: array of UIntPtr; params args: array of CommandQueue): KernelCommandQueue; - - public function Exec(work_szs: array of integer; params args: array of CommandQueue) := - Exec(work_szs.ConvertAll(sz->new UIntPtr(sz)), args); - - public function Exec(work_sz1: integer; params args: array of CommandQueue) := Exec(new integer[](work_sz1), args); - public function Exec(work_sz1, work_sz2: integer; params args: array of CommandQueue) := Exec(new integer[](work_sz1, work_sz2), args); - public function Exec(work_sz1, work_sz2, work_sz3: integer; params args: array of CommandQueue) := Exec(new integer[](work_sz1, work_sz2, work_sz3), args); + {$endregion override методы} end; @@ -413,19 +1344,45 @@ type {$region Queue's} public function NewQueue := - KernelCommandQueue.Wrap(self); - - public function Exec(work_szs: array of UIntPtr; params args: array of CommandQueue): Kernel; - - public function Exec(work_szs: array of integer; params args: array of CommandQueue) := - Exec(work_szs.ConvertAll(sz->new UIntPtr(sz)), args); - - public function Exec(work_sz1: integer; params args: array of CommandQueue) := Exec(new integer[](work_sz1), args); - public function Exec(work_sz1, work_sz2: integer; params args: array of CommandQueue) := Exec(new integer[](work_sz1, work_sz2), args); - public function Exec(work_sz1, work_sz2, work_sz3: integer; params args: array of CommandQueue) := Exec(new integer[](work_sz1, work_sz2, work_sz3), args); + new KernelCommandQueue(self); {$endregion Queue's} + {$region Exec} + + public function Exec(work_szs: array of UIntPtr; params args: array of CommandQueue): Kernel; + public function Exec(work_szs: array of integer; params args: array of CommandQueue) := + Exec(work_szs.ConvertAll(sz->new UIntPtr(sz)), args); + + public function Exec1(work_sz1: UIntPtr; params args: array of CommandQueue) := Exec(new UIntPtr[](work_sz1), args); + public function Exec1(work_sz1: integer; params args: array of CommandQueue) := Exec1(new UIntPtr(work_sz1), args); + + public function Exec2(work_sz1, work_sz2: UIntPtr; params args: array of CommandQueue) := Exec(new UIntPtr[](work_sz1, work_sz2), args); + public function Exec2(work_sz1, work_sz2: integer; params args: array of CommandQueue) := Exec2(new UIntPtr(work_sz1), new UIntPtr(work_sz2), args); + + public function Exec3(work_sz1, work_sz2, work_sz3: UIntPtr; params args: array of CommandQueue) := Exec(new UIntPtr[](work_sz1, work_sz2, work_sz3), args); + public function Exec3(work_sz1, work_sz2, work_sz3: integer; params args: array of CommandQueue) := Exec3(new UIntPtr(work_sz1), new UIntPtr(work_sz2), new UIntPtr(work_sz3), args); + + + public function Exec(work_szs: array of CommandQueue; params args: array of CommandQueue): Kernel; + public function Exec(work_szs: array of CommandQueue; params args: array of CommandQueue) := + Exec(work_szs.ConvertAll(sz_q->sz_q.ThenConvert(sz->new UIntPtr(sz))), args); + + public function Exec1(work_sz1: CommandQueue; params args: array of CommandQueue) := Exec(new CommandQueue[](work_sz1), args); + public function Exec1(work_sz1: CommandQueue; params args: array of CommandQueue) := Exec1(work_sz1.ThenConvert(sz->new UIntPtr(sz)), args); + + public function Exec2(work_sz1, work_sz2: CommandQueue; params args: array of CommandQueue) := Exec(new CommandQueue[](work_sz1, work_sz2), args); + public function Exec2(work_sz1, work_sz2: CommandQueue; params args: array of CommandQueue) := Exec2(work_sz1.ThenConvert(sz->new UIntPtr(sz)), work_sz2.ThenConvert(sz->new UIntPtr(sz)), args); + + public function Exec3(work_sz1, work_sz2, work_sz3: CommandQueue; params args: array of CommandQueue) := Exec(new CommandQueue[](work_sz1, work_sz2, work_sz3), args); + public function Exec3(work_sz1, work_sz2, work_sz3: CommandQueue; params args: array of CommandQueue) := Exec3(work_sz1.ThenConvert(sz->new UIntPtr(sz)), work_sz2.ThenConvert(sz->new UIntPtr(sz)), work_sz3.ThenConvert(sz->new UIntPtr(sz)), args); + + + public function Exec(work_szs: CommandQueue; params args: array of CommandQueue): Kernel; + public function Exec(work_szs: CommandQueue; params args: array of CommandQueue): Kernel; + + {$endregion Exec} + public procedure Finalize; override := cl.ReleaseKernel(self._kernel).RaiseIfError; @@ -441,6 +1398,7 @@ type private _device: cl_device_id; private _context: cl_context; + private need_finnalize := false; public static property &Default: Context read _def_cont write _def_cont; @@ -465,8 +1423,10 @@ type end; end; + /// Инициализирует новый контекст c 1 девайсом типа GPU public constructor := Create(DeviceTypeFlags.GPU); + /// Инициализирует новый контекст c 1 девайсом типа dt public constructor(dt: DeviceTypeFlags); begin var ec: ErrorCode; @@ -476,8 +1436,13 @@ type _context := cl.CreateContext(nil, 1, @_device, nil, nil, @ec); ec.RaiseIfError; + need_finnalize := true; end; + /// Создаёт обёртку для дескриптора контекста, полученного модулем OpenCL + /// Девайс выбирается первый попавшейся из списка связанных + /// Автоматическое удаление контекста не произойдёт при удалении всех ссылок на полученную обёртку + /// В отличии от создания нового контекста - контекстом управляет модуль OpenCL а не OpenCLABC public constructor(context: cl_context); begin @@ -486,42 +1451,62 @@ type _context := context; end; + /// Создаёт обёртку для дескриптора контекста, полученного модулем OpenCL + /// Девайс выбирается с указанным дескриптором, так же полученный из модуля OpenCL + /// Автоматическое удаление контекста не произойдёт при удалении всех ссылок на полученную обёртку + /// В отличии от создания нового контекста - контекстом управляет модуль OpenCL а не OpenCLABC public constructor(context: cl_context; device: cl_device_id); begin _device := device; _context := context; end; + /// Инициализирует все команды в очереди и запускает первые + /// Возвращает объект задачи, по которому можно следить за состоянием выполнения очереди public function BeginInvoke(q: CommandQueue): Task; begin var ec: ErrorCode; var cq := cl.CreateCommandQueue(_context, _device, CommandQueuePropertyFlags.QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, ec); ec.RaiseIfError; - var tasks := q.Invoke(self, cq, cl_event.Zero).ToArray; + var tasks := q.Invoke(self, cq, cl_event.Zero).ToList; - var костыль_для_Result: ()->T := ()-> //ToDo #1952 - begin - Task.WaitAll(tasks); + Result := new Task(()-> //ToDo #2048 + try + while true do + begin + for var i := tasks.Count-1 downto 0 do + if tasks[i].Status <> TaskStatus.Running then + begin + if tasks[i].Exception<>nil then raise tasks[i].Exception; + tasks.RemoveAt(i); + end; + if tasks.Count=0 then break; + Sleep(10); + end; if q.ev<>cl_event.Zero then cl.WaitForEvents(1, @q.ev).RaiseIfError; cl.ReleaseCommandQueue(cq).RaiseIfError; Result := q.res; - end; + finally + q.UnInvoke; + end); - Result := Task.Run(костыль_для_Result); + Result.Start; end; + /// Выполняет BeginInvoke и ожидает окончания выполнения возвращённой задачи + /// Возвращает результат задачи, который, обычно, ничего не означает public function SyncInvoke(q: CommandQueue): T; begin var tsk := BeginInvoke(q); - tsk.Wait; //ToDo плавающая ошибка - на этой строчке "System.Threading.Tasks.TaskCanceledException: Отменена задача." + tsk.Wait; Result := tsk.Result; - // может там Task&.Run криво вызывается... посмотреть IL end; + ///-- public procedure Finalize; override := - if _context <> cl_context.Zero then // если было исключение при инициализации + if need_finnalize then // если было исключение при инициализации или инициализация произошла из дескриптора cl.ReleaseContext(_context).RaiseIfError; end; @@ -628,13 +1613,72 @@ type {$region Сахарные подпрограммы} -///HostFuncQueue -///Создаёт новую CommandQueueHostFunc -function HFQ(f: ()->T): CommandQueueHostFunc; +///Host Funcion Queue +///Создаёт новую очередь, выполняющую функцию на CPU +function HFQ(f: ()->T): CommandQueue; -///HostFuncQueue -///Создаёт новую CommandQueueHostFunc -function HPQ(p: ()->()): CommandQueueHostFunc; +///Host Procecure Queue +///Создаёт новую очередь, выполняющую процедуру на CPU +function HPQ(p: ()->()): CommandQueue; + +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +function CombineSyncQueue(qs: List): CommandQueue; +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +function CombineSyncQueue(qs: List>): CommandQueue; +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +function CombineSyncQueue(params qs: array of CommandQueueBase): CommandQueue; +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +function CombineSyncQueue(params qs: array of CommandQueue): CommandQueue; +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineSyncQueue(conv: Func; qs: List): CommandQueue; +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineSyncQueue(conv: Func; qs: List>): CommandQueue; +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineSyncQueue(conv: Func; params qs: array of CommandQueueBase): CommandQueue; +///Складывает все очереди qs +///Возвращает очередь, по очереди выполняющую все очереди из qs +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineSyncQueue(conv: Func; params qs: array of CommandQueue): CommandQueue; + +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +function CombineAsyncQueue(qs: List): CommandQueue; +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +function CombineAsyncQueue(qs: List>): CommandQueue; +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +function CombineAsyncQueue(params qs: array of CommandQueueBase): CommandQueue; +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +function CombineAsyncQueue(params qs: array of CommandQueue): CommandQueue; +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineAsyncQueue(conv: Func; qs: List): CommandQueue; +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineAsyncQueue(conv: Func; qs: List>): CommandQueue; +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +///И затем применяет conv чтобы получить из результатов очередей qs - свой результат +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineAsyncQueue(conv: Func; params qs: array of CommandQueueBase): CommandQueue; +///Умножает все очереди qs +///Возвращает очередь, параллельно выполняющую все очереди из qs +///И затем применяет преобразование conv чтобы получить из результатов очередей qs - свой результат +function CombineAsyncQueue(conv: Func; params qs: array of CommandQueue): CommandQueue; {$endregion Сахарные подпрограммы} @@ -644,9 +1688,36 @@ implementation {$region HostFunc} +type + CommandQueueHostFunc = sealed class(CommandQueue) + private f: ()->T; + + public constructor(f: ()->T) := + self.f := f; + + public constructor(o: T); + begin + self.res := o; + self.f := nil; + end; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + self.f=nil? + new CommandQueueHostFunc(self.res) : + new CommandQueueHostFunc(self.f) + ; + + public procedure Finalize; override := + ClearEvent; + + end; + function CommandQueueHostFunc.Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; begin var ec: ErrorCode; + MakeBusy; if (prev_ev<>cl_event.Zero) or (self.f <> nil) then begin @@ -673,15 +1744,208 @@ new CommandQueueHostFunc(o); {$endregion HostFunc} -{$region SyncList} +{$region Multiusable} type - CommandQueueSyncList = sealed class(CommandQueue) - public lst := new List; + MultiusableCommandQueueNode=class; + + // invoke_status: + // 0 - выполнение не начато + // 1 - выполнение начинается + // 3 - выполнение прекращается + + MultiusableCommandQueueHub = class + + public q: CommandQueue; + public q_task: Task; + + public invoke_status := 0; + public invoked_count := 0; + + public constructor(q: CommandQueue) := + self.q := q; + + public function OnNodeInvoked(c: Context; cq: cl_command_queue): sequence of Task; + public procedure OnNodeUnInvoked; + + end; + + MultiusableCommandQueueNode = sealed class(CommandQueue) + public hub: MultiusableCommandQueueHub; + + public constructor(hub: MultiusableCommandQueueHub) := + self.hub := hub; + + public function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + MakeBusy; + + yield sequence hub.OnNodeInvoked(c,cq); + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + if hub.q_task<>nil then hub.q_task.Wait; + self.res := hub.q.res; + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + + end; + + public procedure UnInvoke; override; + begin + inherited; + hub.OnNodeUnInvoked; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override; + begin + var res_hub_o: object; + var res_hub: MultiusableCommandQueueHub; + + if muhs.TryGetValue(self.hub, res_hub_o) then + res_hub := MultiusableCommandQueueHub&(res_hub_o) else + begin + res_hub := new MultiusableCommandQueueHub(self.hub.q.InternalClone(muhs)); + muhs.Add(self.hub, res_hub); + end; + + Result := new MultiusableCommandQueueNode(res_hub); + end; + + public procedure Finalize; override := + ClearEvent; + + end; + +//ToDo почему то нет точки сворачивания, разобраться +function MultiusableCommandQueueHub.OnNodeInvoked(c: Context; cq: cl_command_queue): sequence of Task; +begin + case invoke_status of + 0: invoke_status := 1; + 2: raise new QueueDoubleInvokeException; + end; + + if invoked_count=0 then + begin + Result := q.Invoke(c,cq, cl_event.Zero); + q_task := q.ev=cl_event.Zero ? nil : Task.Run(()->cl.WaitForEvents(1,@q.ev).RaiseIfError()); + end else + Result := System.Linq.Enumerable.Empty&; + + invoked_count += 1; + +end; + +procedure MultiusableCommandQueueHub.OnNodeUnInvoked; +begin + case invoke_status of + //0: raise new InvalidOperationException('Ошибка внутри модуля OpenCLABC: совершена попыта завершить не запущенную очередь. Сообщите, пожалуйста, разработчику OpenCLABC'); + 1: invoke_status := 2; + end; + + invoked_count -= 1; + if invoked_count=0 then + begin + invoke_status := 0; + q_task := nil; + q.UnInvoke; + end; + +end; + +function CommandQueue.Multiusable(n: integer): array of CommandQueue; +begin + var hub := new MultiusableCommandQueueHub(self); + Result := ArrGen(n, i->CommandQueue&(new MultiusableCommandQueueNode(hub))); +end; + +function CommandQueue.Multiusable: ()->CommandQueue; +begin + var hub := new MultiusableCommandQueueHub(self); + Result := ()->CommandQueue&(new MultiusableCommandQueueNode(hub)); +end; + +{$endregion Multiusable} + +{$region ThenConvert} + +type + CommandQueueResConvertor = sealed class(CommandQueue) + q: CommandQueue; + f: (T1,Context)->T2; + + constructor(q: CommandQueue; f: (T1,Context)->T2); + begin + self.q := q; + self.f := f; + end; protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ec: ErrorCode; + MakeBusy; + + yield sequence q.Invoke(c, cq, prev_ev); + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + if q.ev<>cl_event.Zero then cl.WaitForEvents(1,@q.ev).RaiseIfError; + self.res := self.f(q.res, c); + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + + end; + + protected procedure UnInvoke; override; + begin + inherited; + q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueResConvertor(self.q.InternalClone(muhs), self.f); + + public procedure Finalize; override := + ClearEvent; + + end; + +function CommandQueue.ThenConvert(f: (T,Context)->T2) := +new CommandQueueResConvertor(self, f); + +{$endregion ThenConvert} + +{$region SyncList} + +//ToDo лучше всё же хранить массив а не список... И для Async тоже + +type + CommandQueueSyncList = sealed class(CommandQueue) + public lst: List; + + public constructor := + lst := new List; + + public constructor(qs: List) := + lst := qs; + + public constructor(qs: array of CommandQueueBase) := + lst := qs.ToList; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + MakeBusy; foreach var sq in lst do begin @@ -703,32 +1967,259 @@ type end); end else begin - self.ev := cl_event.Zero; self.res := T(lst[lst.Count-1].GetRes); + self.ev := cl_event.Zero; end; end; + protected procedure UnInvoke; override; + begin + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueSyncList(self.lst.ConvertAll(q->q.InternalClone(muhs))); + public procedure Finalize; override := ClearEvent; end; - -static function CommandQueue.operator+(q1: CommandQueue; q2: CommandQueue): CommandQueue; -begin - var res: CommandQueueSyncList; - if q2 is CommandQueueSyncList(var psl) then - res := psl else - begin - res := new CommandQueueSyncList; - res.lst += q2 as CommandQueueBase; + CommandQueueTSyncList = sealed class(CommandQueue) + public lst: List>; + + public constructor := + lst := new List>; + + public constructor(qs: List>) := + lst := qs; + + public constructor(qs: array of CommandQueue) := + lst := qs.ToList; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + MakeBusy; + + foreach var sq in lst do + begin + yield sequence sq.Invoke(c, cq, prev_ev); + prev_ev := sq.ev; + end; + + if prev_ev<>cl_event.Zero then + begin + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + cl.WaitForEvents(1,@prev_ev).RaiseIfError; + self.res := lst[lst.Count-1].res; + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + end else + begin + self.res := lst[lst.Count-1].res; + self.ev := cl_event.Zero; + end; + + end; + + protected procedure UnInvoke; override; + begin + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueTSyncList(self.lst.ConvertAll(q->CommandQueue&(q.InternalClone(muhs)))); + + public procedure Finalize; override := + ClearEvent; + + end; + CommandQueueCSyncList = sealed class(CommandQueue) + public lst: List; + public conv: Func; + + public constructor := + lst := new List; + + public constructor(qs: List; conv: Func); + begin + self.lst := qs; + self.conv := conv; + end; + + public constructor(qs: array of CommandQueueBase; conv: Func); + begin + self.lst := qs.ToList; + self.conv := conv; + end; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + MakeBusy; + + foreach var sq in lst do + begin + yield sequence sq.Invoke(c, cq, prev_ev); + prev_ev := sq.ev; + end; + + if prev_ev<>cl_event.Zero then + begin + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + cl.WaitForEvents(1,@prev_ev).RaiseIfError; + + var a := new object[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].GetRes; + self.res := conv(a); + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + end else + begin + + var a := new object[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].GetRes; + self.res := conv(a); + + self.ev := cl_event.Zero; + end; + + end; + + protected procedure UnInvoke; override; + begin + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueCSyncList(self.lst.ConvertAll(q->q.InternalClone(muhs)), conv); + + public procedure Finalize; override := + ClearEvent; + + end; + CommandQueueCTSyncList = sealed class(CommandQueue) + public lst: List>; + public conv: Func; + + public constructor := + lst := new List>; + + public constructor(qs: List>; conv: Func); + begin + self.lst := qs; + self.conv := conv; + end; + + public constructor(qs: array of CommandQueue; conv: Func); + begin + self.lst := qs.ToList; + self.conv := conv; + end; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + MakeBusy; + + foreach var sq in lst do + begin + yield sequence sq.Invoke(c, cq, prev_ev); + prev_ev := sq.ev; + end; + + if prev_ev<>cl_event.Zero then + begin + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + cl.WaitForEvents(1,@prev_ev).RaiseIfError; + + var a := new T[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].res; + self.res := conv(a); + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + end else + begin + + var a := new T[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].res; + self.res := conv(a); + + self.ev := cl_event.Zero; + end; + + end; + + protected procedure UnInvoke; override; + begin + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueCTSyncList(self.lst.ConvertAll(q->CommandQueue&(q.InternalClone(muhs))), conv); + + public procedure Finalize; override := + ClearEvent; + end; - if q1 is CommandQueueSyncList(var psl) then - res.lst.InsertRange(0, psl.lst) else - res.lst.Insert(0, q1); +static function CommandQueue.operator+(q1: CommandQueue; q2: CommandQueue): CommandQueue; +begin + var ql1 := q1 as CommandQueueSyncList; + var ql2 := q2 as CommandQueueSyncList; + var qtl1 := q1 as CommandQueueTSyncList; + var qtl2 := q2 as CommandQueueTSyncList; + + if (typeof(T)=typeof(T2)) and (ql1=nil) and (ql2=nil) then + begin + var res := new CommandQueueTSyncList; + + if qtl1<>nil then + res.lst.AddRange(qtl1.lst.Cast&>) else + res.lst += q1 as object as CommandQueue; + + if qtl2<>nil then + res.lst.AddRange(qtl2.lst) else + res.lst += q2; + + Result := res; + end else + begin + var res: CommandQueueSyncList; + + if ql1<>nil then res.lst.AddRange(ql1.lst) else + if qtl1<>nil then res.lst.AddRange(qtl1.lst.Cast&) else + res.lst += q1 as CommandQueueBase; + + if ql2<>nil then res.lst.AddRange(ql2.lst) else + if qtl2<>nil then res.lst.AddRange(qtl2.lst.Cast&) else + res.lst += q2 as CommandQueueBase; + + Result := res; + end; - Result := res; end; {$endregion SyncList} @@ -737,96 +2228,403 @@ end; type CommandQueueAsyncList = sealed class(CommandQueue) - public lst := new List; + public lst: List; + + public constructor := + lst := new List; + + public constructor(qs: List) := + lst := qs; + + public constructor(qs: array of CommandQueueBase) := + lst := qs.ToList; protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ec: ErrorCode; - - ClearEvent; - self.ev := cl.CreateUserEvent(c._context, ec); - ec.RaiseIfError; + MakeBusy; foreach var sq in lst do yield sequence sq.Invoke(c, cq, prev_ev); + var evs := lst.Select(q->q.ev).Where(ev->ev<>cl_event.Zero).ToList; - yield Task.Run(()-> + if evs.Count<>0 then + begin + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + cl.WaitForEvents(evs.Count,evs.ToArray).RaiseIfError; + self.res := T(lst[lst.Count-1].GetRes); + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + + end else begin - var evs := lst.Select(q->q.ev).Where(ev->ev<>cl_event.Zero).ToArray; - if evs.Length<>0 then cl.WaitForEvents(evs.Length,evs).RaiseIfError; self.res := T(lst[lst.Count-1].GetRes); - cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; - end); + self.ev := cl_event.Zero; + end; end; + protected procedure UnInvoke; override; + begin + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueAsyncList(self.lst.ConvertAll(q->q.InternalClone(muhs))); + public procedure Finalize; override := ClearEvent; end; - -static function CommandQueue.operator*(q1: CommandQueue; q2: CommandQueue): CommandQueue; -begin - var res: CommandQueueAsyncList; - if q2 is CommandQueueAsyncList(var pasl) then - res := pasl else - begin - res := new CommandQueueAsyncList; - res.lst += q2 as CommandQueueBase; - end; - - if q1 is CommandQueueAsyncList(var pasl) then - res.lst.InsertRange(0, pasl.lst) else - res.lst.Insert(0, q1); - - Result := res; -end; - -{$endregion AsyncList} - -{$region KernelArg} - -{$region Base} - -type - KernelArgQueueWrap = sealed class(KernelArgCommandQueue) + CommandQueueTAsyncList = sealed class(CommandQueue) + public lst: List>; - public constructor(arg: KernelArg) := - inherited Create(arg); + public constructor := + lst := new List>; + + public constructor(qs: List>) := + lst := qs; + + public constructor(qs: array of CommandQueue) := + lst := qs.ToList; protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin - self.ev := prev_ev; - if org.memobj=cl_mem.Zero then org.Init(c); - Result := System.Linq.Enumerable.Empty&; + var ec: ErrorCode; + MakeBusy; + + foreach var sq in lst do yield sequence sq.Invoke(c, cq, prev_ev); + var evs := lst.Select(q->q.ev).Where(ev->ev<>cl_event.Zero).ToList; + + if evs.Count<>0 then + begin + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + cl.WaitForEvents(evs.Count,evs.ToArray).RaiseIfError; + self.res := lst[lst.Count-1].res; + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + + end else + begin + self.res := lst[lst.Count-1].res; + self.ev := cl_event.Zero; + end; + end; - end; - -static function KernelArgCommandQueue.Wrap(arg: KernelArg) := -new KernelArgQueueWrap(arg); - -{$endregion Base} - -{$region WriteData} - -type - KernelArgQueueWriteData = sealed class(KernelArgCommandQueue) - public ptr: CommandQueue; - public offset, len: CommandQueue; - - public constructor(arg: KernelArgCommandQueue; ptr: CommandQueue; offset, len: CommandQueue); + protected procedure UnInvoke; override; begin - inherited Create(arg); - self.ptr := ptr; - self.offset := offset; - self.len := len; + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueTAsyncList(self.lst.ConvertAll(q->CommandQueue&(q.InternalClone(muhs)))); + + public procedure Finalize; override := + ClearEvent; + + end; + CommandQueueCAsyncList = sealed class(CommandQueue) + public lst: List; + public conv: Func; + + public constructor := + lst := new List; + + public constructor(qs: List; conv: Func); + begin + self.lst := qs; + self.conv := conv; + end; + + public constructor(qs: array of CommandQueueBase; conv: Func); + begin + self.lst := qs.ToList; + self.conv := conv; end; protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ec: ErrorCode; + MakeBusy; - yield sequence prev .Invoke(c, cq, prev_ev); + foreach var sq in lst do yield sequence sq.Invoke(c, cq, prev_ev); + var evs := lst.Select(q->q.ev).Where(ev->ev<>cl_event.Zero).ToList; + + if evs.Count<>0 then + begin + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + cl.WaitForEvents(evs.Count,evs.ToArray).RaiseIfError; + + var a := new object[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].GetRes; + self.res := conv(a); + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + + end else + begin + + var a := new object[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].GetRes; + self.res := conv(a); + + self.ev := cl_event.Zero; + end; + + end; + + protected procedure UnInvoke; override; + begin + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueCAsyncList(self.lst.ConvertAll(q->q.InternalClone(muhs)), conv); + + public procedure Finalize; override := + ClearEvent; + + end; + CommandQueueCTAsyncList = sealed class(CommandQueue) + public lst: List>; + public conv: Func; + + public constructor := + lst := new List>; + + public constructor(qs: List>; conv: Func); + begin + self.lst := qs; + self.conv := conv; + end; + + public constructor(qs: array of CommandQueue; conv: Func); + begin + self.lst := qs.ToList; + self.conv := conv; + end; + + protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + MakeBusy; + + foreach var sq in lst do yield sequence sq.Invoke(c, cq, prev_ev); + var evs := lst.Select(q->q.ev).Where(ev->ev<>cl_event.Zero).ToList; + + if evs.Count<>0 then + begin + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + cl.WaitForEvents(evs.Count,evs.ToArray).RaiseIfError; + + var a := new T[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].res; + self.res := conv(a); + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + + end else + begin + + var a := new T[lst.Count]; + for var i := 0 to lst.Count-1 do a[i] := lst[i].res; + self.res := conv(a); + + self.ev := cl_event.Zero; + end; + + end; + + protected procedure UnInvoke; override; + begin + inherited; + foreach var q in lst do q.UnInvoke; + end; + + protected function InternalClone(muhs: Dictionary): CommandQueueBase; override := + new CommandQueueCTAsyncList(self.lst.ConvertAll(q->CommandQueue&(q.InternalClone(muhs))), conv); + + public procedure Finalize; override := + ClearEvent; + + end; + +static function CommandQueue.operator*(q1: CommandQueue; q2: CommandQueue): CommandQueue; +begin + var ql1 := q1 as CommandQueueAsyncList; + var ql2 := q2 as CommandQueueAsyncList; + var qtl1 := q1 as CommandQueueTAsyncList; + var qtl2 := q2 as CommandQueueTAsyncList; + + if (typeof(T)=typeof(T2)) and (ql1=nil) and (ql2=nil) then + begin + var res := new CommandQueueTAsyncList; + + if qtl1<>nil then + res.lst.AddRange(qtl1.lst.Cast&>) else + res.lst += q1 as object as CommandQueue; + + if qtl2<>nil then + res.lst.AddRange(qtl2.lst) else + res.lst += q2; + + Result := res; + end else + begin + var res: CommandQueueAsyncList; + + if ql1<>nil then res.lst.AddRange(ql1.lst) else + if qtl1<>nil then res.lst.AddRange(qtl1.lst.Cast&) else + res.lst += q1 as CommandQueueBase; + + if ql2<>nil then res.lst.AddRange(ql2.lst) else + if qtl2<>nil then res.lst.AddRange(qtl2.lst.Cast&) else + res.lst += q2 as CommandQueueBase; + + Result := res; + end; + +end; + +{$endregion AsyncList} + +{$region Buffer} + +{$region Misc} + +constructor BufferCommandQueue.Create(q: CommandQueue) := +self.res_q_hub := new MultiusableCommandQueueHub(q.ThenConvert((b,c)-> +begin + if b.memobj=cl_mem.Zero then b.Init(c); + Result := b; +end)); + +function BufferCommandQueue.GetNewResPlug: CommandQueue := +new MultiusableCommandQueueNode( MultiusableCommandQueueHub&(res_q_hub) ); + +function BufferCommandQueue.GetSizeQ: CommandQueue := +self.res_q_hub=nil?integer(res.sz.ToUInt32) : +self.GetNewResPlug().ThenConvert(b->integer(b.sz.ToUInt32)); + +type + BufferQueueCommand = sealed class(BufferCommand) + public q: CommandQueue; + + public constructor(q: CommandQueue) := + self.q := q; + + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + yield sequence q.Invoke(c,cq,prev_ev); + self.ev := q.ev; + end; + + protected procedure UnInvoke; override; + begin + q.UnInvoke; + end; + + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferQueueCommand(CommandQueue&(self.q.InternalClone(muhs))); + + end; + +function BufferCommandQueue.AddQueue(q: CommandQueue) := +AddCommand(new BufferQueueCommand(q)); + +function BufferCommandQueue.InternalClone(muhs: Dictionary): CommandQueueBase; +begin + var res := new BufferCommandQueue(self.res); + + if self.res_q_hub<>nil then + begin + + res.res_q_hub := new MultiusableCommandQueueHub(CommandQueue&( + MultiusableCommandQueueHub&(self.res_q_hub).q.InternalClone(muhs) + )); + + muhs.Add(self.res_q_hub, res.res_q_hub); + end; + + res.commands.Capacity := self.commands.Capacity; + foreach var comm in self.commands do res.commands += comm.Clone(muhs); + + Result := res; +end; + +function BufferCommandQueue.Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; +begin + MakeBusy; + + var new_plug: ()->CommandQueue; + if res_q_hub=nil then + begin + new_plug := ()->nil; + if res.memobj=cl_mem.Zero then res.Init(c); + end else + new_plug := GetNewResPlug; + + foreach var comm in commands do + begin + yield sequence comm.Invoke(new_plug, res, c, cq, prev_ev); + prev_ev := comm.ev; + end; + + self.ev := prev_ev; +end; + +{$endregion Misc} + +{$region WriteData} + +type + BufferCommandWriteData = sealed class(BufferCommand) + public ptr: CommandQueue; + public offset, len: CommandQueue; + public b_q: CommandQueue; + + public constructor(ptr: CommandQueue; offset, len: CommandQueue); + begin + self.ptr := ptr; + self.offset := offset; + self.len := len; + end; + + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; var ev_lst := new List; yield sequence ptr .Invoke(c, cq, cl_event.Zero); if ptr .ev<>cl_event.Zero then ev_lst += ptr.ev; @@ -839,12 +2637,21 @@ type yield Task.Run(()-> begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; var buff_ev: cl_event; - if prev.ev=cl_event.Zero then - cl.EnqueueWriteBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 0,nil,@buff_ev).RaiseIfError else - cl.EnqueueWriteBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 1,@prev.ev,@buff_ev).RaiseIfError; + if prev_ev=cl_event.Zero then + cl.EnqueueWriteBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueWriteBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 1,@prev_ev,@buff_ev).RaiseIfError; cl.WaitForEvents(1, @buff_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -852,31 +2659,44 @@ type end; - public procedure Finalize; override; + protected procedure UnInvoke; override; begin - inherited Finalize; - ClearEvent; + if b_q<>nil then b_q.UnInvoke; + ptr.UnInvoke; + offset.UnInvoke; + len.UnInvoke; end; + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandWriteData( + CommandQueue& (self.ptr .InternalClone(muhs)), + CommandQueue&(self.offset.InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + end; - KernelArgQueueWriteArray = sealed class(KernelArgCommandQueue) + BufferCommandWriteArray = sealed class(BufferCommand) public a: CommandQueue<&Array>; public offset, len: CommandQueue; + public b_q: CommandQueue; - public constructor(arg: KernelArgCommandQueue; a: CommandQueue<&Array>; offset, len: CommandQueue); + public constructor(a: CommandQueue<&Array>; offset, len: CommandQueue); begin - inherited Create(arg); self.a := a; self.offset := offset; self.len := len; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ev_lst := new List; var ec: ErrorCode; - yield sequence prev .Invoke(c, cq, prev_ev); + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; yield sequence a .Invoke(c, cq, cl_event.Zero); yield sequence offset.Invoke(c, cq, cl_event.Zero); if offset.ev<>cl_event.Zero then ev_lst += offset.ev; @@ -888,15 +2708,24 @@ type yield Task.Run(()-> begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + if a.ev<>cl_event.Zero then cl.WaitForEvents(1,@a.ev).RaiseIfError; var gchnd := GCHandle.Alloc(a.res, GCHandleType.Pinned); if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; var buff_ev: cl_event; - if prev.ev=cl_event.Zero then - cl.EnqueueWriteBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 0,nil,@buff_ev).RaiseIfError else - cl.EnqueueWriteBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 1,@prev.ev,@buff_ev).RaiseIfError; + if prev_ev=cl_event.Zero then + cl.EnqueueWriteBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueWriteBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 1,@prev_ev,@buff_ev).RaiseIfError; cl.WaitForEvents(1,@buff_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -905,45 +2734,154 @@ type end; - public procedure Finalize; override; + protected procedure UnInvoke; override; begin - inherited Finalize; - ClearEvent; + if b_q<>nil then b_q.UnInvoke; + a.UnInvoke; + offset.UnInvoke; + len.UnInvoke; end; + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandWriteArray( + CommandQueue&<&Array> (self.a .InternalClone(muhs)), + CommandQueue&(self.offset.InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + + end; + BufferCommandWriteValue = sealed class(BufferCommand) + public ptr: CommandQueue; + public offset, len: CommandQueue; + public b_q: CommandQueue; + + public constructor(ptr: CommandQueue; offset, len: CommandQueue); + begin + self.ptr := ptr; + self.offset := offset; + self.len := len; + end; + + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; + + var ev_lst := new List; + yield sequence ptr .Invoke(c, cq, cl_event.Zero); if ptr .ev<>cl_event.Zero then ev_lst += ptr.ev; + yield sequence offset.Invoke(c, cq, cl_event.Zero); if offset.ev<>cl_event.Zero then ev_lst += offset.ev; + yield sequence len .Invoke(c, cq, cl_event.Zero); if len .ev<>cl_event.Zero then ev_lst += len.ev; + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; + + var buff_ev: cl_event; + if prev_ev=cl_event.Zero then + cl.EnqueueWriteBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueWriteBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 1,@prev_ev,@buff_ev).RaiseIfError; + cl.WaitForEvents(1, @buff_ev).RaiseIfError; + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + Marshal.FreeHGlobal(ptr.res); + end); + + end; + + protected procedure UnInvoke; override; + begin + if b_q<>nil then b_q.UnInvoke; + ptr.UnInvoke; + offset.UnInvoke; + len.UnInvoke; + end; + + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandWriteValue( + CommandQueue& (self.ptr .InternalClone(muhs)), + CommandQueue&(self.offset.InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + end; -function KernelArgCommandQueue.WriteData(ptr: CommandQueue; offset, len: CommandQueue) := -new KernelArgQueueWriteData(self,ptr,offset,len); + +function BufferCommandQueue.AddWriteData(ptr: CommandQueue; offset, len: CommandQueue) := +AddCommand(new BufferCommandWriteData(ptr, offset, len)); +function BufferCommandQueue.AddWriteData(ptr: CommandQueue) := AddWriteData(ptr, 0,GetSizeQ); -function KernelArgCommandQueue.WriteData(a: CommandQueue<&Array>; offset, len: CommandQueue) := -new KernelArgQueueWriteArray(self,a,offset,len); +function BufferCommandQueue.AddWriteArray(a: CommandQueue<&Array>; offset, len: CommandQueue) := +AddCommand(new BufferCommandWriteArray(a, offset, len)); +function BufferCommandQueue.AddWriteArray(a: CommandQueue<&Array>) := AddWriteArray(a, 0,GetSizeQ); -function KernelArgCommandQueue.WriteData(ptr: CommandQueue) := WriteData(ptr, 0,integer(org.sz.ToUInt32)); -function KernelArgCommandQueue.WriteData(a: CommandQueue<&Array>) := WriteData(a, 0,integer(org.sz.ToUInt32)); + +function BufferCommandQueue.AddWriteValue(val: TRecord; offset: CommandQueue): BufferCommandQueue; +begin + var sz := Marshal.SizeOf&; + var ptr := Marshal.AllocHGlobal(sz); + var typed_ptr: ^TRecord := pointer(ptr); + typed_ptr^ := val; + Result := AddCommand(new BufferCommandWriteValue(ptr, offset,Marshal.SizeOf&)); +end; + +function BufferCommandQueue.AddWriteValue(val: CommandQueue; offset: CommandQueue) := +AddCommand(new BufferCommandWriteValue( + val.ThenConvert&(vval-> //ToDo #2067 + begin + var sz := Marshal.SizeOf&; + var ptr := Marshal.AllocHGlobal(sz); + var typed_ptr: ^TRecord := pointer(ptr); + typed_ptr^ := TRecord(object(vval)); //ToDo #2068 + Result := ptr; + end), + offset, + Marshal.SizeOf& +)); {$endregion WriteData} {$region ReadData} type - KernelArgQueueReadData = sealed class(KernelArgCommandQueue) + BufferCommandReadData = sealed class(BufferCommand) public ptr: CommandQueue; public offset, len: CommandQueue; + public b_q: CommandQueue; - public constructor(arg: KernelArgCommandQueue; ptr: CommandQueue; offset, len: CommandQueue); + public constructor(ptr: CommandQueue; offset, len: CommandQueue); begin - inherited Create(arg); self.ptr := ptr; self.offset := offset; self.len := len; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ec: ErrorCode; - yield sequence prev .Invoke(c, cq, prev_ev); + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; var ev_lst := new List; yield sequence ptr .Invoke(c, cq, cl_event.Zero); if ptr .ev<>cl_event.Zero then ev_lst += ptr.ev; @@ -956,12 +2894,21 @@ type yield Task.Run(()-> begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; var buff_ev: cl_event; - if prev.ev=cl_event.Zero then - cl.EnqueueReadBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 0,nil,@buff_ev).RaiseIfError else - cl.EnqueueReadBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 1,@prev.ev,@buff_ev).RaiseIfError; + if prev_ev=cl_event.Zero then + cl.EnqueueReadBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueReadBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), ptr.res, 1,@prev_ev,@buff_ev).RaiseIfError; cl.WaitForEvents(1, @buff_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -969,31 +2916,44 @@ type end; - public procedure Finalize; override; + protected procedure UnInvoke; override; begin - inherited Finalize; - ClearEvent; + if b_q<>nil then b_q.UnInvoke; + ptr.UnInvoke; + offset.UnInvoke; + len.UnInvoke; end; + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandReadData( + CommandQueue& (self.ptr .InternalClone(muhs)), + CommandQueue&(self.offset.InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + end; - KernelArgQueueReadArray = sealed class(KernelArgCommandQueue) + BufferCommandReadArray = sealed class(BufferCommand) public a: CommandQueue<&Array>; public offset, len: CommandQueue; + public b_q: CommandQueue; - public constructor(arg: KernelArgCommandQueue; a: CommandQueue<&Array>; offset, len: CommandQueue); + public constructor(a: CommandQueue<&Array>; offset, len: CommandQueue); begin - inherited Create(arg); self.a := a; self.offset := offset; self.len := len; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ev_lst := new List; var ec: ErrorCode; - yield sequence prev .Invoke(c, cq, prev_ev); + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; yield sequence a .Invoke(c, cq, cl_event.Zero); yield sequence offset.Invoke(c, cq, cl_event.Zero); if offset.ev<>cl_event.Zero then ev_lst += offset.ev; @@ -1005,15 +2965,24 @@ type yield Task.Run(()-> begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + if a.ev<>cl_event.Zero then cl.WaitForEvents(1,@a.ev).RaiseIfError; var gchnd := GCHandle.Alloc(a.res, GCHandleType.Pinned); if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; var buff_ev: cl_event; - if prev.ev=cl_event.Zero then - cl.EnqueueReadBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 0,nil,@buff_ev).RaiseIfError else - cl.EnqueueReadBuffer(cq, org.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 1,@prev.ev,@buff_ev).RaiseIfError; + if prev_ev=cl_event.Zero then + cl.EnqueueReadBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueReadBuffer(cq, lb.memobj, 0, new UIntPtr(offset.res), new UIntPtr(len.res), gchnd.AddrOfPinnedObject, 1,@prev_ev,@buff_ev).RaiseIfError; cl.WaitForEvents(1,@buff_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -1022,46 +2991,59 @@ type end; - public procedure Finalize; override; + protected procedure UnInvoke; override; begin - inherited Finalize; - ClearEvent; + if b_q<>nil then b_q.UnInvoke; + a.UnInvoke; + offset.UnInvoke; + len.UnInvoke; end; + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandReadArray( + CommandQueue&<&Array> (self.a .InternalClone(muhs)), + CommandQueue&(self.offset.InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + end; -function KernelArgCommandQueue.ReadData(ptr: CommandQueue; offset, len: CommandQueue) := -new KernelArgQueueReadData(self,ptr,offset,len); + +function BufferCommandQueue.AddReadData(ptr: CommandQueue; offset, len: CommandQueue) := +AddCommand(new BufferCommandReadData(ptr, offset, len)); +function BufferCommandQueue.AddReadData(ptr: CommandQueue) := AddReadData(ptr, 0,GetSizeQ); -function KernelArgCommandQueue.ReadData(a: CommandQueue<&Array>; offset, len: CommandQueue) := -new KernelArgQueueReadArray(self,a,offset,len); - -function KernelArgCommandQueue.ReadData(ptr: CommandQueue) := ReadData(ptr, 0,integer(org.sz.ToUInt32)); -function KernelArgCommandQueue.ReadData(a: CommandQueue<&Array>) := ReadData(a, 0,integer(org.sz.ToUInt32)); +function BufferCommandQueue.AddReadArray(a: CommandQueue<&Array>; offset, len: CommandQueue) := +AddCommand(new BufferCommandReadArray(a, offset, len)); +function BufferCommandQueue.AddReadArray(a: CommandQueue<&Array>) := AddReadArray(a, 0,GetSizeQ); {$endregion ReadData} {$region PatternFill} type - KernelArgQueueDataFill = sealed class(KernelArgCommandQueue) + BufferCommandDataFill = sealed class(BufferCommand) public ptr: CommandQueue; public pattern_len, offset, len: CommandQueue; + public b_q: CommandQueue; - public constructor(arg: KernelArgCommandQueue; ptr: CommandQueue; pattern_len, offset, len: CommandQueue); + public constructor(ptr: CommandQueue; pattern_len, offset, len: CommandQueue); begin - inherited Create(arg); self.ptr := ptr; self.pattern_len := pattern_len; self.offset := offset; self.len := len; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ec: ErrorCode; - yield sequence prev .Invoke(c, cq, prev_ev); + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; var ev_lst := new List; yield sequence ptr .Invoke(c, cq, cl_event.Zero); if ptr .ev<>cl_event.Zero then ev_lst += ptr.ev; @@ -1075,12 +3057,21 @@ type yield Task.Run(()-> begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; var buff_ev: cl_event; - if prev.ev=cl_event.Zero then - cl.EnqueueFillBuffer(cq, org.memobj, ptr.res,new UIntPtr(pattern_len.res), new UIntPtr(offset.res),new UIntPtr(len.res), 0,nil,@buff_ev).RaiseIfError else - cl.EnqueueFillBuffer(cq, org.memobj, ptr.res,new UIntPtr(pattern_len.res), new UIntPtr(offset.res),new UIntPtr(len.res), 1,@prev.ev,@buff_ev).RaiseIfError; + if prev_ev=cl_event.Zero then + cl.EnqueueFillBuffer(cq, lb.memobj, ptr.res,new UIntPtr(pattern_len.res), new UIntPtr(offset.res),new UIntPtr(len.res), 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueFillBuffer(cq, lb.memobj, ptr.res,new UIntPtr(pattern_len.res), new UIntPtr(offset.res),new UIntPtr(len.res), 1,@prev_ev,@buff_ev).RaiseIfError; cl.WaitForEvents(1, @buff_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -1088,31 +3079,46 @@ type end; - public procedure Finalize; override; + protected procedure UnInvoke; override; begin - inherited Finalize; - ClearEvent; + if b_q<>nil then b_q.UnInvoke; + ptr.UnInvoke; + pattern_len.UnInvoke; + offset.UnInvoke; + len.UnInvoke; end; + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandDataFill( + CommandQueue& (self.ptr .InternalClone(muhs)), + CommandQueue&(self.pattern_len .InternalClone(muhs)), + CommandQueue&(self.offset .InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + end; - KernelArgQueueArrayFill = sealed class(KernelArgCommandQueue) + BufferCommandArrayFill = sealed class(BufferCommand) public a: CommandQueue<&Array>; public offset, len: CommandQueue; + public b_q: CommandQueue; - public constructor(arg: KernelArgCommandQueue; a: CommandQueue<&Array>; offset, len: CommandQueue); + public constructor(a: CommandQueue<&Array>; offset, len: CommandQueue); begin - inherited Create(arg); self.a := a; self.offset := offset; self.len := len; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ev_lst := new List; var ec: ErrorCode; - yield sequence prev .Invoke(c, cq, prev_ev); + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; yield sequence a .Invoke(c, cq, cl_event.Zero); yield sequence offset.Invoke(c, cq, cl_event.Zero); if offset.ev<>cl_event.Zero then ev_lst += offset.ev; @@ -1124,6 +3130,15 @@ type yield Task.Run(()-> begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + if a.ev<>cl_event.Zero then cl.WaitForEvents(1,@a.ev).RaiseIfError; var gchnd := GCHandle.Alloc(a.res, GCHandleType.Pinned); var pattern_sz := Marshal.SizeOf(a.res.GetType.GetElementType) * a.res.Length; @@ -1131,9 +3146,9 @@ type if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; var buff_ev: cl_event; - if prev.ev=cl_event.Zero then - cl.EnqueueFillBuffer(cq, org.memobj, gchnd.AddrOfPinnedObject,new UIntPtr(pattern_sz), new UIntPtr(offset.res),new UIntPtr(len.res), 0,nil,@buff_ev).RaiseIfError else - cl.EnqueueFillBuffer(cq, org.memobj, gchnd.AddrOfPinnedObject,new UIntPtr(pattern_sz), new UIntPtr(offset.res),new UIntPtr(len.res), 1,@prev.ev,@buff_ev).RaiseIfError; + if prev_ev=cl_event.Zero then + cl.EnqueueFillBuffer(cq, lb.memobj, gchnd.AddrOfPinnedObject,new UIntPtr(pattern_sz), new UIntPtr(offset.res),new UIntPtr(len.res), 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueFillBuffer(cq, lb.memobj, gchnd.AddrOfPinnedObject,new UIntPtr(pattern_sz), new UIntPtr(offset.res),new UIntPtr(len.res), 1,@prev_ev,@buff_ev).RaiseIfError; cl.WaitForEvents(1,@buff_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -1142,51 +3157,170 @@ type end; - public procedure Finalize; override; + protected procedure UnInvoke; override; begin - inherited Finalize; - ClearEvent; + if b_q<>nil then b_q.UnInvoke; + a.UnInvoke; + offset.UnInvoke; + len.UnInvoke; end; + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandArrayFill( + CommandQueue&<&Array> (self.a .InternalClone(muhs)), + CommandQueue&(self.offset .InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + + end; + BufferCommandValueFill = sealed class(BufferCommand) + public ptr: CommandQueue; + public pattern_len, offset, len: CommandQueue; + public b_q: CommandQueue; + + public constructor(ptr: CommandQueue; pattern_len, offset, len: CommandQueue); + begin + self.ptr := ptr; + self.pattern_len := pattern_len; + self.offset := offset; + self.len := len; + end; + + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ec: ErrorCode; + + if b_q<>nil then yield sequence b_q.Invoke(c, cq, prev_ev); + self.b_q := b_q; + + var ev_lst := new List; + yield sequence ptr .Invoke(c, cq, cl_event.Zero); if ptr .ev<>cl_event.Zero then ev_lst += ptr.ev; + yield sequence pattern_len .Invoke(c, cq, cl_event.Zero); if pattern_len .ev<>cl_event.Zero then ev_lst += pattern_len.ev; + yield sequence offset .Invoke(c, cq, cl_event.Zero); if offset .ev<>cl_event.Zero then ev_lst += offset.ev; + yield sequence len .Invoke(c, cq, cl_event.Zero); if len .ev<>cl_event.Zero then ev_lst += len.ev; + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + var lb: Buffer; + + if self.b_q=nil then lb := b else + begin + if self.b_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.b_q.ev); + lb := self.b_q.res; + if lb.memobj=cl_mem.Zero then lb.Init(c); + end; + + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; + + var buff_ev: cl_event; + if prev_ev=cl_event.Zero then + cl.EnqueueFillBuffer(cq, lb.memobj, ptr.res,new UIntPtr(pattern_len.res), new UIntPtr(offset.res),new UIntPtr(len.res), 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueFillBuffer(cq, lb.memobj, ptr.res,new UIntPtr(pattern_len.res), new UIntPtr(offset.res),new UIntPtr(len.res), 1,@prev_ev,@buff_ev).RaiseIfError; + cl.WaitForEvents(1, @buff_ev).RaiseIfError; + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + Marshal.FreeHGlobal(ptr.res); + end); + + end; + + protected procedure UnInvoke; override; + begin + if b_q<>nil then b_q.UnInvoke; + ptr.UnInvoke; + pattern_len.UnInvoke; + offset.UnInvoke; + len.UnInvoke; + end; + + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandValueFill( + CommandQueue& (self.ptr .InternalClone(muhs)), + CommandQueue&(self.pattern_len .InternalClone(muhs)), + CommandQueue&(self.offset .InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + end; -function KernelArgCommandQueue.PatternFill(ptr: CommandQueue; pattern_len, offset, len: CommandQueue) := -new KernelArgQueueDataFill(self, ptr,pattern_len, offset,len); + +function BufferCommandQueue.AddFillData(ptr: CommandQueue; pattern_len, offset, len: CommandQueue) := +AddCommand(new BufferCommandDataFill(ptr,pattern_len, offset,len)); +function BufferCommandQueue.AddFillData(ptr: CommandQueue; pattern_len: CommandQueue) := +AddFillData(ptr,pattern_len, 0,GetSizeQ); -function KernelArgCommandQueue.PatternFill(a: CommandQueue<&Array>; offset, len: CommandQueue) := -new KernelArgQueueArrayFill(self, a, offset,len); +function BufferCommandQueue.AddFillArray(a: CommandQueue<&Array>; offset, len: CommandQueue) := +AddCommand(new BufferCommandArrayFill(a, offset,len)); +function BufferCommandQueue.AddFillArray(a: CommandQueue<&Array>) := +AddFillArray(a, 0,GetSizeQ); -function KernelArgCommandQueue.PatternFill(ptr: CommandQueue; pattern_len: CommandQueue) := PatternFill(ptr,pattern_len, 0,integer(org.sz.ToUInt32)); -function KernelArgCommandQueue.PatternFill(a: CommandQueue<&Array>) := PatternFill(a, 0,integer(org.sz.ToUInt32)); + +function BufferCommandQueue.AddFillValue(val: TRecord; offset, len: CommandQueue): BufferCommandQueue; +begin + var sz := Marshal.SizeOf&; + var ptr := Marshal.AllocHGlobal(sz); + var typed_ptr: ^TRecord := pointer(ptr); + typed_ptr^ := val; + Result := AddCommand(new BufferCommandValueFill(ptr,Marshal.SizeOf&, offset,len)); +end; + +function BufferCommandQueue.AddFillValue(val: CommandQueue; offset, len: CommandQueue) := +AddCommand(new BufferCommandValueFill( + val.ThenConvert&(vval-> //ToDo #2067 + begin + var sz := Marshal.SizeOf&; + var ptr := Marshal.AllocHGlobal(sz); + var typed_ptr: ^TRecord := pointer(ptr); + typed_ptr^ := TRecord(object(vval)); //ToDo #2068 + Result := ptr; + end), + Marshal.SizeOf&, + offset, len +)); + +function BufferCommandQueue.AddFillValue(val: TRecord) := +AddFillValue(val, 0,GetSizeQ); + +function BufferCommandQueue.AddFillValue(val: CommandQueue) := +AddFillValue(val, 0,GetSizeQ); {$endregion PatternFill} {$region Copy} type - KernelArgQueueCopy = sealed class(KernelArgCommandQueue) - public f_arg, t_arg: CommandQueue; + BufferCommandCopy = sealed class(BufferCommand) + public f_buf, t_buf: CommandQueue; public f_pos, t_pos, len: CommandQueue; - public constructor(otp: KernelArgCommandQueue; f_arg, t_arg: CommandQueue; f_pos, t_pos, len: CommandQueue); + public constructor(f_buf, t_buf: CommandQueue; f_pos, t_pos, len: CommandQueue); begin - inherited Create(otp); - self.f_arg := f_arg; - self.t_arg := t_arg; + self.f_buf := f_buf; + self.t_buf := t_buf; self.f_pos := f_pos; self.t_pos := t_pos; self.len := len; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected function Invoke(b_q: CommandQueue; b: Buffer; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ec: ErrorCode; - yield sequence prev .Invoke(c, cq, prev_ev); + var buf_ev_lst := new List; + yield sequence f_buf.Invoke(c, cq, cl_event.Zero); if f_buf.ev<>cl_event.Zero then buf_ev_lst += f_buf.ev; + yield sequence t_buf.Invoke(c, cq, cl_event.Zero); if t_buf.ev<>cl_event.Zero then buf_ev_lst += t_buf.ev; var ev_lst := new List; - yield sequence f_arg.Invoke(c, cq, cl_event.Zero); if f_arg.ev<>cl_event.Zero then ev_lst += f_arg.ev; - yield sequence t_arg.Invoke(c, cq, cl_event.Zero); if t_arg.ev<>cl_event.Zero then ev_lst += t_arg.ev; yield sequence f_pos.Invoke(c, cq, cl_event.Zero); if f_pos.ev<>cl_event.Zero then ev_lst += f_pos.ev; yield sequence t_pos.Invoke(c, cq, cl_event.Zero); if t_pos.ev<>cl_event.Zero then ev_lst += t_pos.ev; yield sequence len .Invoke(c, cq, cl_event.Zero); if len .ev<>cl_event.Zero then ev_lst += len.ev; @@ -1197,12 +3331,16 @@ type yield Task.Run(()-> begin + if buf_ev_lst.Count<>0 then cl.WaitForEvents(buf_ev_lst.Count, buf_ev_lst.ToArray).RaiseIfError; + if f_buf.res.memobj=cl_mem.Zero then f_buf.res.Init(c); + if t_buf.res.memobj=cl_mem.Zero then t_buf.res.Init(c); + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count, ev_lst.ToArray).RaiseIfError; var buff_ev: cl_event; - if prev.ev=cl_event.Zero then - cl.EnqueueCopyBuffer(cq, f_arg.res.memobj,t_arg.res.memobj, new UIntPtr(f_pos.res),new UIntPtr(t_pos.res), new UIntPtr(len.res), 0,nil,@buff_ev).RaiseIfError else - cl.EnqueueCopyBuffer(cq, f_arg.res.memobj,t_arg.res.memobj, new UIntPtr(f_pos.res),new UIntPtr(t_pos.res), new UIntPtr(len.res), 1,@prev.ev,@buff_ev).RaiseIfError; + if prev_ev=cl_event.Zero then + cl.EnqueueCopyBuffer(cq, f_buf.res.memobj,t_buf.res.memobj, new UIntPtr(f_pos.res),new UIntPtr(t_pos.res), new UIntPtr(len.res), 0,nil,@buff_ev).RaiseIfError else + cl.EnqueueCopyBuffer(cq, f_buf.res.memobj,t_buf.res.memobj, new UIntPtr(f_pos.res),new UIntPtr(t_pos.res), new UIntPtr(len.res), 1,@prev_ev,@buff_ev).RaiseIfError; cl.WaitForEvents(1, @buff_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -1210,75 +3348,138 @@ type end; - public procedure Finalize; override; + protected procedure UnInvoke; override; begin - inherited Finalize; - ClearEvent; + f_buf.UnInvoke; t_buf.UnInvoke; + f_pos.UnInvoke; t_pos.UnInvoke; + len.UnInvoke; end; + protected function Clone(muhs: Dictionary): BufferCommand; override := + new BufferCommandCopy( + CommandQueue& (self.f_buf .InternalClone(muhs)), + CommandQueue& (self.t_buf .InternalClone(muhs)), + CommandQueue&(self.f_pos .InternalClone(muhs)), + CommandQueue&(self.t_pos .InternalClone(muhs)), + CommandQueue&(self.len .InternalClone(muhs)) + ); + + public procedure Finalize; override := + ClearEvent; + end; -function KernelArgCommandQueue.CopyFrom(arg: CommandQueue; from, &to, len: CommandQueue) := -new KernelArgQueueCopy(self, arg,self as CommandQueue, from,&to, len); //ToDo #1981 +function BufferCommandQueue.AddCopyFrom(b: CommandQueue; from, &to, len: CommandQueue) := +AddCommand(new BufferCommandCopy(b,res_q_hub=nil?res:self.GetNewResPlug, from,&to, len)); +function BufferCommandQueue.AddCopyFrom(b: CommandQueue) := AddCopyFrom(b, 0,0, GetSizeQ); -function KernelArgCommandQueue.CopyTo(arg: CommandQueue; from, &to, len: CommandQueue) := -new KernelArgQueueCopy(self, self as CommandQueue,arg, &to,from, len); //ToDo #1981 - -function KernelArgCommandQueue.CopyFrom(arg: CommandQueue) := CopyFrom(arg, 0,0, integer(self.org.Size32)); -function KernelArgCommandQueue.CopyTo(arg: CommandQueue) := CopyTo(arg, 0,0, integer(self.org.Size32)); +function BufferCommandQueue.AddCopyTo(b: CommandQueue; from, &to, len: CommandQueue) := +AddCommand(new BufferCommandCopy(res_q_hub=nil?res:self.GetNewResPlug,b, &to,from, len)); +function BufferCommandQueue.AddCopyTo(b: CommandQueue) := AddCopyTo(b, 0,0, GetSizeQ); {$endregion Copy} -{$endregion KernelArg} +{$endregion Buffer} {$region Kernel} -{$region Base} +{$region Misc} + +constructor KernelCommandQueue.Create(q: CommandQueue) := +self.res_q_hub := new MultiusableCommandQueueHub(q); + +function KernelCommandQueue.GetNewResPlug: CommandQueue := +new MultiusableCommandQueueNode( MultiusableCommandQueueHub&(res_q_hub) ); type - KernelQueueWrap = sealed class(KernelCommandQueue) + KernelQueueCommand = sealed class(KernelCommand) + public q: CommandQueue; - public constructor(arg: Kernel); + public constructor(q: CommandQueue) := + self.q := q; + + protected function Invoke(k_q: CommandQueue; k: Kernel; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin - inherited Create(arg); - self.res := org; + yield sequence q.Invoke(c,cq,prev_ev); + self.ev := q.ev; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected procedure UnInvoke; override; begin - self.ev := prev_ev; - Result := System.Linq.Enumerable.Empty&; + q.UnInvoke; end; + protected function Clone(muhs: Dictionary): KernelCommand; override := + new KernelQueueCommand(CommandQueue&(self.q.InternalClone(muhs))); + end; -static function KernelCommandQueue.Wrap(arg: Kernel) := -new KernelQueueWrap(arg); +function KernelCommandQueue.AddQueue(q: CommandQueue) := +AddCommand(new KernelQueueCommand(q)); -{$endregion Base} +function KernelCommandQueue.InternalClone(muhs: Dictionary): CommandQueueBase; +begin + var res := new KernelCommandQueue(self.res); + + if self.res_q_hub<>nil then + begin + + res.res_q_hub := new MultiusableCommandQueueHub(CommandQueue&( + MultiusableCommandQueueHub&(self.res_q_hub).q.InternalClone(muhs) + )); + + muhs.Add(self.res_q_hub, res.res_q_hub); + end; + + res.commands.Capacity := self.commands.Capacity; + foreach var comm in self.commands do res.commands += comm.Clone(muhs); + + Result := res; +end; + +function KernelCommandQueue.Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; +begin + MakeBusy; + + var new_plug: ()->CommandQueue; + if res_q_hub=nil then + new_plug := ()->nil else + new_plug := GetNewResPlug; + + foreach var comm in commands do + begin + yield sequence comm.Invoke(new_plug, res, c, cq, prev_ev); + prev_ev := comm.ev; + end; + + self.ev := prev_ev; +end; + +{$endregion Misc} {$region Exec} type - KernelQueueExec = sealed class(KernelCommandQueue) - public args_q: array of CommandQueue; + KernelCommandExec = sealed class(KernelCommand) public work_szs: array of UIntPtr; + public args_q: array of CommandQueue; + public k_q: CommandQueue; - public constructor(k: KernelCommandQueue; work_szs: array of UIntPtr; args: array of CommandQueue); + public constructor(work_szs: array of UIntPtr; args: array of CommandQueue); begin - inherited Create(k); self.work_szs := work_szs; self.args_q := args; end; - protected function Invoke(c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + protected function Invoke(k_q: CommandQueue; k: Kernel; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; begin var ev_lst := new List; var ec: ErrorCode; - yield sequence prev.Invoke(c, cq, prev_ev); - if prev.ev<>cl_event.Zero then - ev_lst += prev.ev; + if k_q<>nil then + yield sequence k_q.Invoke(c,cq,prev_ev) else + if prev_ev<>cl_event.Zero then ev_lst += prev_ev; + self.k_q := k_q; foreach var arg_q in args_q do begin @@ -1293,16 +3494,24 @@ type yield Task.Run(()-> begin + var lk: Kernel; + + if self.k_q=nil then lk := k else + begin + if self.k_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.k_q.ev); + lk := self.k_q.res; + end; + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count,ev_lst.ToArray); for var i := 0 to args_q.Length-1 do begin if args_q[i].res.memobj=cl_mem.Zero then args_q[i].res.Init(c); - cl.SetKernelArg(org._kernel, i, new UIntPtr(UIntPtr.Size), args_q[i].res.memobj).RaiseIfError; + cl.SetKernelArg(lk._kernel, i, new UIntPtr(UIntPtr.Size), args_q[i].res.memobj).RaiseIfError; end; var kernel_ev: cl_event; - cl.EnqueueNDRangeKernel(cq, org._kernel, work_szs.Length, nil,work_szs,nil, 0,nil,@kernel_ev).RaiseIfError; // prev.ev уже в ev_lst, тут проверять не надо + cl.EnqueueNDRangeKernel(cq, lk._kernel, work_szs.Length, nil,work_szs,nil, 0,nil,@kernel_ev).RaiseIfError; // prev.ev уже в ev_lst, тут проверять не надо cl.WaitForEvents(1,@kernel_ev).RaiseIfError; cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; @@ -1310,13 +3519,124 @@ type end; + protected procedure UnInvoke; override; + begin + if k_q<>nil then k_q.UnInvoke; + foreach var q in args_q do q.UnInvoke; + end; + + protected function Clone(muhs: Dictionary): KernelCommand; override := + new KernelCommandExec( + self.work_szs, + self.args_q.ConvertAll(q->CommandQueue&(q.InternalClone(muhs))) + ); + + public procedure Finalize; override := + ClearEvent; + + end; + KernelQCommandExec = sealed class(KernelCommand) + public work_szs_q: CommandQueue; + public args_q: array of CommandQueue; + public k_q: CommandQueue; + + public constructor(work_szs_q: CommandQueue; args: array of CommandQueue); + begin + self.work_szs_q := work_szs_q; + self.args_q := args; + end; + + protected function Invoke(k_q: CommandQueue; k: Kernel; c: Context; cq: cl_command_queue; prev_ev: cl_event): sequence of Task; override; + begin + var ev_lst := new List; + var ec: ErrorCode; + + if k_q<>nil then + yield sequence k_q.Invoke(c,cq,prev_ev) else + if prev_ev<>cl_event.Zero then ev_lst += prev_ev; + self.k_q := k_q; + + yield sequence work_szs_q.Invoke(c,cq,cl_event.Zero); + + foreach var arg_q in args_q do + begin + yield sequence arg_q.Invoke(c, cq, cl_event.Zero); + if arg_q.ev<>cl_event.Zero then + ev_lst += arg_q.ev; + end; + + ClearEvent; + self.ev := cl.CreateUserEvent(c._context, ec); + ec.RaiseIfError; + + yield Task.Run(()-> + begin + var lk: Kernel; + + if self.k_q=nil then lk := k else + begin + if self.k_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@self.k_q.ev); + lk := self.k_q.res; + end; + + if work_szs_q.ev<>cl_event.Zero then cl.WaitForEvents(1,@work_szs_q.ev); + var work_szs := work_szs_q.res; + + if ev_lst.Count<>0 then cl.WaitForEvents(ev_lst.Count,ev_lst.ToArray); + + for var i := 0 to args_q.Length-1 do + begin + if args_q[i].res.memobj=cl_mem.Zero then args_q[i].res.Init(c); + cl.SetKernelArg(lk._kernel, i, new UIntPtr(UIntPtr.Size), args_q[i].res.memobj).RaiseIfError; + end; + + var kernel_ev: cl_event; + cl.EnqueueNDRangeKernel(cq, lk._kernel, work_szs.Length, nil,work_szs,nil, 0,nil,@kernel_ev).RaiseIfError; // prev.ev уже в ev_lst, тут проверять не надо + cl.WaitForEvents(1,@kernel_ev).RaiseIfError; + + cl.SetUserEventStatus(self.ev, CommandExecutionStatus.COMPLETE).RaiseIfError; + end); + + end; + + protected procedure UnInvoke; override; + begin + if k_q<>nil then k_q.UnInvoke; + work_szs_q.UnInvoke; + foreach var q in args_q do q.UnInvoke; + end; + + protected function Clone(muhs: Dictionary): KernelCommand; override := + new KernelQCommandExec( + CommandQueue&(self.work_szs_q.InternalClone(muhs)), + self.args_q.ConvertAll(q->CommandQueue&(q.InternalClone(muhs))) + ); + public procedure Finalize; override := ClearEvent; end; -function KernelCommandQueue.Exec(work_szs: array of UIntPtr; params args: array of CommandQueue) := -new KernelQueueExec(self, work_szs, args); +function KernelCommandQueue.AddExec(work_szs: array of UIntPtr; params args: array of CommandQueue) := +AddCommand(new KernelCommandExec(work_szs, args)); + +function KernelCommandQueue.AddExec(work_szs: array of CommandQueue; params args: array of CommandQueue) := +AddCommand(new KernelQCommandExec( + CombineAsyncQueue(a->a,work_szs), + args +)); + +function KernelCommandQueue.AddExec(work_szs: CommandQueue; params args: array of CommandQueue) := +AddCommand(new KernelQCommandExec( + work_szs, + args +)); + +function KernelCommandQueue.AddExec(work_szs: CommandQueue; params args: array of CommandQueue) := +AddCommand(new KernelQCommandExec( + work_szs.ThenConvert(a->a.ConvertAll(sz->new UIntPtr(sz))), + args +)); {$endregion Exec} @@ -1324,27 +3644,11 @@ new KernelQueueExec(self, work_szs, args); {$endregion CommandQueue} -{$region Сахарные подпрограммы} - -function HFQ(f: ()->T) := -new CommandQueueHostFunc(f); - -function HPQ(p: ()->()) := -HFQ&( - ()-> - begin - p(); - Result := nil; - end -); - -{$endregion Сахарные подпрограммы} - -{$region KernelArg} +{$region Buffer} {$region constructor's} -procedure KernelArg.Init(c: Context); +procedure Buffer.Init(c: Context); begin var ec: ErrorCode; if self.memobj<>cl_mem.Zero then cl.ReleaseMemObject(self.memobj); @@ -1352,11 +3656,11 @@ begin ec.RaiseIfError; end; -function KernelArg.SubBuff(offset, size: integer): KernelArg; +function Buffer.SubBuff(offset, size: integer): Buffer; begin if self.memobj=cl_mem.Zero then Init(Context.Default); - Result := new KernelArg(size); + Result := new Buffer(size); Result._parent := self; var ec: ErrorCode; @@ -1373,106 +3677,137 @@ end; {$region Write} -function KernelArg.WriteData(ptr: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.WriteData(ptr) as CommandQueue); +function Buffer.WriteData(ptr: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddWriteData(ptr) as CommandQueue); +function Buffer.WriteData(ptr: CommandQueue; offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddWriteData(ptr, offset, len) as CommandQueue); -function KernelArg.WriteData(ptr: CommandQueue; offset, len: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.WriteData(ptr, offset,len) as CommandQueue); +function Buffer.WriteArray(a: CommandQueue<&Array>) := +Context.Default.SyncInvoke(NewQueue.AddWriteArray(a) as CommandQueue); +function Buffer.WriteArray(a: CommandQueue<&Array>; offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddWriteArray(a, offset, len) as CommandQueue); -function KernelArg.WriteData(a: CommandQueue<&Array>) := -Context.Default.SyncInvoke(self.NewQueue.WriteData(a) as CommandQueue); - -function KernelArg.WriteData(a: CommandQueue<&Array>; offset, len: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.WriteData(a, offset,len) as CommandQueue); +function Buffer.WriteValue(val: CommandQueue; offset: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddWriteValue(val, offset) as CommandQueue); {$endregion Write} {$region Read} -function KernelArg.ReadData(ptr: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.ReadData(ptr) as CommandQueue); +function Buffer.ReadData(ptr: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddReadData(ptr) as CommandQueue); +function Buffer.ReadData(ptr: CommandQueue; offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddReadData(ptr, offset, len) as CommandQueue); -function KernelArg.ReadData(ptr: CommandQueue; offset, len: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.ReadData(ptr, offset,len) as CommandQueue); - -function KernelArg.ReadData(a: CommandQueue<&Array>) := -Context.Default.SyncInvoke(self.NewQueue.ReadData(a) as CommandQueue); - -function KernelArg.ReadData(a: CommandQueue<&Array>; offset, len: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.ReadData(a, offset,len) as CommandQueue); +function Buffer.ReadArray(a: CommandQueue<&Array>) := +Context.Default.SyncInvoke(NewQueue.AddReadArray(a) as CommandQueue); +function Buffer.ReadArray(a: CommandQueue<&Array>; offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddReadArray(a, offset, len) as CommandQueue); {$endregion Read} +{$region PatternFill} + +function Buffer.FillData(ptr: CommandQueue; pattern_len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddFillData(ptr, pattern_len) as CommandQueue); +function Buffer.FillData(ptr: CommandQueue; pattern_len, offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddFillData(ptr, pattern_len, offset, len) as CommandQueue); + +function Buffer.FillArray(a: CommandQueue<&Array>) := +Context.Default.SyncInvoke(NewQueue.AddFillArray(a) as CommandQueue); +function Buffer.FillArray(a: CommandQueue<&Array>; offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddFillArray(a, offset, len) as CommandQueue); + +function Buffer.FillValue(val: TRecord) := +Context.Default.SyncInvoke(NewQueue.AddFillValue(val) as CommandQueue); +function Buffer.FillValue(val: TRecord; offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddFillValue(val, offset, len) as CommandQueue); +function Buffer.FillValue(val: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddFillValue(val) as CommandQueue); +function Buffer.FillValue(val: CommandQueue; offset, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddFillValue(val, offset, len) as CommandQueue); + +{$endregion PatternFill} + +{$region Copy} + +function Buffer.CopyFrom(b: CommandQueue; from, &to, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddCopyFrom(b, from, &to, len) as CommandQueue); +function Buffer.CopyFrom(b: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddCopyFrom(b) as CommandQueue); + +function Buffer.CopyTo(b: CommandQueue; from, &to, len: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddCopyTo(b, from, &to, len) as CommandQueue); +function Buffer.CopyTo(b: CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddCopyTo(b) as CommandQueue); + +{$endregion Copy} + {$region Get} -function KernelArg.GetData(offset, len: CommandQueue): IntPtr; +function Buffer.GetData(offset, len: CommandQueue): IntPtr; begin - var len_val := Context.Default.SyncInvoke(len); - Result := Marshal.AllocHGlobal(len_val); + var res: IntPtr; + + var Qs_len := len.Multiusable(2); + + var Q_res := Qs_len[0].ThenConvert(len_val-> + begin + Result := Marshal.AllocHGlobal(len_val); + res := Result; + end); + Context.Default.SyncInvoke( - self.NewQueue.ReadData(Result, offset,len_val) as CommandQueue + self.NewQueue.AddReadData(Q_res, offset,Qs_len[1]) as CommandQueue ); + + Result := res; end; -function KernelArg.GetArrayAt(offset: CommandQueue; szs: CommandQueue): TArray; +function Buffer.GetArrayAt(offset: CommandQueue; szs: CommandQueue): TArray; begin var el_t := typeof(TArray).GetElementType; + var res: &Array; - var szs_val: array of integer := Context.Default.SyncInvoke(szs); - Result := TArray(System.Array.CreateInstance( - el_t, - szs_val - )); + var Qs_szs := szs.Multiusable(2); - var res_len := Result.Length; + var Q_res := Qs_szs[0].ThenConvert(szs_val-> + begin + Result := System.Array.CreateInstance( + el_t, + szs_val + ); + res := Result; + end); + var Q_res_len := Qs_szs[1].ThenConvert( szs_val -> Marshal.SizeOf(el_t)*szs_val.Aggregate((i1,i2)->i1*i2) ); Context.Default.SyncInvoke( self.NewQueue - .ReadData(Result, offset, Marshal.SizeOf(el_t) * res_len) as CommandQueue //ToDo #1981 + .AddReadArray(Q_res, offset, Q_res_len) as CommandQueue ); + Result := TArray(res); end; -function KernelArg.GetValueAt(offset: CommandQueue): TRecord; +function Buffer.GetArrayAt(offset: CommandQueue; params szs: array of CommandQueue) := +GetArrayAt&(offset, CombineAsyncQueue(a->a, szs)); + +function Buffer.GetValueAt(offset: CommandQueue): TRecord; begin Context.Default.SyncInvoke( self.NewQueue - .ReadValue(Result, offset) as CommandQueue //ToDo #1981 + .AddReadValue(Result, offset) as CommandQueue ); end; {$endregion Get} -{$region Fill} - -function KernelArg.PatternFill(ptr: CommandQueue; pattern_len: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.PatternFill(ptr,pattern_len) as CommandQueue); - -function KernelArg.PatternFill(ptr: CommandQueue; pattern_len, offset, len: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.PatternFill(ptr,pattern_len, offset,len) as CommandQueue); - -function KernelArg.PatternFill(a: CommandQueue<&Array>) := -Context.Default.SyncInvoke(self.NewQueue.PatternFill(a) as CommandQueue); - -function KernelArg.PatternFill(a: CommandQueue<&Array>; offset, len: CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.PatternFill(a, offset,len) as CommandQueue); - -{$endregion Fill} - -{$region Copy} - -function KernelArg.CopyFrom(arg: KernelArg; from, &to, len: CommandQueue) := Context.Default.SyncInvoke(self.NewQueue.CopyFrom(arg, from,&to, len) as CommandQueue); -function KernelArg.CopyTo (arg: KernelArg; from, &to, len: CommandQueue) := Context.Default.SyncInvoke(self.NewQueue.CopyTo (arg, from,&to, len) as CommandQueue); - -function KernelArg.CopyFrom(arg: KernelArg) := Context.Default.SyncInvoke(self.NewQueue.CopyFrom(arg) as CommandQueue); -function KernelArg.CopyTo (arg: KernelArg) := Context.Default.SyncInvoke(self.NewQueue.CopyTo (arg) as CommandQueue); - -{$endregion Copy} - -{$endregion KernelArg} +{$endregion Buffer} {$region Kernel} +{$region constructor's} + constructor Kernel.Create(prog: ProgramCode; name: string); begin var ec: ErrorCode; @@ -1482,9 +3817,73 @@ begin end; -function Kernel.Exec(work_szs: array of UIntPtr; params args: array of CommandQueue) := -Context.Default.SyncInvoke(self.NewQueue.Exec(work_szs, args) as CommandQueue); +{$endregion constructor's} + +{$region Exec} + +function Kernel.Exec(work_szs: array of UIntPtr; params args: array of CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddExec(work_szs, args) as CommandQueue); +function Kernel.Exec(work_szs: array of CommandQueue; params args: array of CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddExec(work_szs, args) as CommandQueue); +function Kernel.Exec(work_szs: CommandQueue; params args: array of CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddExec(work_szs, args) as CommandQueue); +function Kernel.Exec(work_szs: CommandQueue; params args: array of CommandQueue) := +Context.Default.SyncInvoke(NewQueue.AddExec(work_szs, args) as CommandQueue); + +{$endregion Exec} {$endregion Kernel} +{$region Сахарные подпрограммы} + +function HFQ(f: ()->T) := +new CommandQueueHostFunc(f); + +function HPQ(p: ()->()) := +HFQ&( + ()-> + begin + p(); + Result := nil; + end +); + +function CombineSyncQueue(qs: List) := +new CommandQueueSyncList(qs); +function CombineSyncQueue(qs: List>) := +new CommandQueueTSyncList(qs); +function CombineSyncQueue(params qs: array of CommandQueueBase) := +new CommandQueueSyncList(qs); +function CombineSyncQueue(params qs: array of CommandQueue) := +new CommandQueueTSyncList(qs); + +function CombineSyncQueue(conv: Func; qs: List) := +new CommandQueueCSyncList(qs, conv); +function CombineSyncQueue(conv: Func; qs: List>) := +new CommandQueueCTSyncList(qs, conv); +function CombineSyncQueue(conv: Func; params qs: array of CommandQueueBase) := +new CommandQueueCSyncList(qs, conv); +function CombineSyncQueue(conv: Func; params qs: array of CommandQueue) := +new CommandQueueCTSyncList(qs, conv); + +function CombineAsyncQueue(qs: List): CommandQueue := +new CommandQueueSyncList(qs); +function CombineAsyncQueue(qs: List>): CommandQueue := +new CommandQueueTSyncList(qs); +function CombineAsyncQueue(params qs: array of CommandQueueBase): CommandQueue := +new CommandQueueSyncList(qs); +function CombineAsyncQueue(params qs: array of CommandQueue) := +new CommandQueueTAsyncList(qs); + +function CombineAsyncQueue(conv: Func; qs: List) := +new CommandQueueCAsyncList(qs, conv); +function CombineAsyncQueue(conv: Func; qs: List>) := +new CommandQueueCTAsyncList(qs, conv); +function CombineAsyncQueue(conv: Func; params qs: array of CommandQueueBase) := +new CommandQueueCAsyncList(qs, conv); +function CombineAsyncQueue(conv: Func; params qs: array of CommandQueue) := +new CommandQueueCTAsyncList(qs, conv); + +{$endregion Сахарные подпрограммы} + end. \ No newline at end of file diff --git a/bin/Lib/OpenGL.pas b/bin/Lib/OpenGL.pas index b5cf02c07..7e7220426 100644 --- a/bin/Lib/OpenGL.pas +++ b/bin/Lib/OpenGL.pas @@ -6,61 +6,31 @@ // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ // Copyright (©) Сергей Латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega ) -// Этот код распространяется под Unlicense -// Для деталей смотрите в файл LICENSE или это: +// Этот код распространяется с лицензией Unlicense +// Подробнее в файле LICENSE или тут: // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ /// -/// Код переведён отсюда: +///Код переведён отсюда: /// https://github.com/KhronosGroup/OpenGL-Registry /// (Основная часть не_расширений - \api\GL\ ) /// -/// Спецификация (что то типа справки): -/// https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf +///Спецификации всех версий OpenGL: +/// https://www.khronos.org/registry/OpenGL/specs/gl/ /// -/// Если чего то не хватает - писать сюда: +///Если не хватает функции, перечисления, или найдена ошибка - писать сюда: /// https://github.com/SunSerega/POCGL/issues /// unit OpenGL; -//ToDo матрицы в шейдерах передаются массивом столбцов -// - это может бить по производительности, потому что тут матрицы хранятся строками -// - разобраться - может там снова эта путаница и на самом деле в шейдере можно выбирать как хранится матрица -// - возможно придётся вывернуть все матрицы наизнанку... или добавить ещё типов матриц -// -// - ОБНОВЛЕНИЕ: -// - таки сделал пока что по столбцам, потому что увидел у 1 C++ библиотеки так -// - но всё же надо нормально разобраться самому -// - однако в конструктор значения передаются по строчкам, иначе надо вообще всё поменять - -//ToDo в самом конце - сделать прогу чтоб посмотреть какие константы по 2 раза, а каких вообще нет - -//ToDo Возможно *Name -ам сделать отдельные типы? - -//ToDo проверить получение указателя на строчку матрицы - -//ToDo проверить передачу external функции вместо лямбды - -//ToDo SysInt - а это вообще работает так как я думаю? - -//ToDo автоматический тестировщик -// - особенно для матриц надо... -// - и примеры тоже надо проверять после любых изменений - -//ToDo .ToString всех энумов, которые может возвращать -// - тупо пройтись по всем энумам, посмотреть де они заюзаны -// - там куча всего сразу проверится - -//ToDo issue компилятора: -// - #2029 +interface uses System; uses System.Runtime.InteropServices; +uses System.Runtime.CompilerServices; -{$region Основные типы} - -type +{$region Основные типы} type GLsync = IntPtr; GLeglImageOES = IntPtr; @@ -80,16 +50,6 @@ type GLContext = UInt32; GDI_DC = IntPtr; - ShaderBinaryFormat = UInt32; - ProgramResourceIndex = UInt32; - ProgramBinaryFormat = UInt32; - - GLhandleARB = UInt32; - GLeglClientBufferEXT = IntPtr; - GLvdpauSurfaceNV = IntPtr; - - - // типы для совместимости с OpenCL ///-- cl_context = IntPtr; @@ -98,6 +58,61 @@ type + //ToDo убрать после чистки + DummyEnum = UInt32; + DummyFlags = UInt32; + + + + //ToDo переименовать и проверить типы всего дальше: + + EGLsync = IntPtr; + EGLDisplay = IntPtr; + + ShaderBinaryFormat = UInt32; + ProgramResourceIndex = UInt32; + ProgramBinaryFormat = UInt32; + + GLhandleARB = UInt32; + PBufferName = UInt32; + GLeglClientBufferEXT = IntPtr; + VideoOutputDeviceHandleNV = IntPtr; + VideoInputDeviceHandleNV = IntPtr; + VideoDeviceHandleNV = IntPtr; + GLvdpauSurfaceNV = IntPtr; + GPUAffinityHandle = IntPtr; + GLXFBConfig = IntPtr; + GLXContextID = UInt64; + GLXPbuffer = UInt64; + GLXWindow = UInt64; + GLXPixmap = UInt64; + GLXColormap = UInt64; + GLXDrawable = UInt64; + GLXContext = UInt64; + GLXVideoCaptureDeviceNV = UInt64; + GLXVideoSourceSGIX = UInt64; + GLXVideoDeviceNV = UInt32; + GLXFuncPtr = IntPtr; + + PDisplay = IntPtr; + PXVisualInfo = IntPtr; + + + + //ToDo эти типы вообще угадывал, перепроверить + + GLXDMparams = IntPtr; + GLXDMbuffer = IntPtr; + GLXVLServer = IntPtr; + GLXVLPath = IntPtr; + GLXVLNode = IntPtr; + GLXStatus = IntPtr; + GLUnurbs = IntPtr; + GDI_HENHMetafile = IntPtr; + GDI_LayerPlaneDescriptor = IntPtr; + + + OpenGLException = class(Exception) constructor(text: string) := @@ -107,7 +122,7 @@ type {$endregion Основные типы} -{$region Энумы} type +{$region Перечисления} type {$region case Result of} @@ -607,26 +622,16 @@ type end; //S - PixelMagFilterMode = record + PixelFilterMode = record public val: UInt32; public constructor(val: UInt32) := self.val := val; - public static property NEAREST: PixelMagFilterMode read new PixelMagFilterMode($2600); - public static property LINEAR: PixelMagFilterMode read new PixelMagFilterMode($2601); - - end; - - //S - PixelMinFilterMode = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property NEAREST: PixelMinFilterMode read new PixelMinFilterMode($2600); - public static property LINEAR: PixelMinFilterMode read new PixelMinFilterMode($2601); - public static property NEAREST_MIPMAP_NEAREST: PixelMinFilterMode read new PixelMinFilterMode($2700); - public static property NEAREST_MIPMAP_LINEAR: PixelMinFilterMode read new PixelMinFilterMode($2702); - public static property LINEAR_MIPMAP_NEAREST: PixelMinFilterMode read new PixelMinFilterMode($2701); - public static property LINEAR_MIPMAP_LINEAR: PixelMinFilterMode read new PixelMinFilterMode($2703); + public static property NEAREST: PixelFilterMode read new PixelFilterMode($2600); + public static property LINEAR: PixelFilterMode read new PixelFilterMode($2601); + public static property NEAREST_MIPMAP_NEAREST: PixelFilterMode read new PixelFilterMode($2700); + public static property NEAREST_MIPMAP_LINEAR: PixelFilterMode read new PixelFilterMode($2702); + public static property LINEAR_MIPMAP_NEAREST: PixelFilterMode read new PixelFilterMode($2701); + public static property LINEAR_MIPMAP_LINEAR: PixelFilterMode read new PixelFilterMode($2703); end; @@ -2196,21 +2201,16 @@ type {$endregion Флаги} -{$endregion Энумы} +{$endregion Перечисления} -{$region Делегаты} - -type +{$region Делегаты} type + [UnmanagedFunctionPointer(CallingConvention.StdCall)] GLDEBUGPROC = procedure(source: DebugSourceType; &type: DebugMessageType; id: UInt32; severity: DebugSeverityLevel; length: Int32; message_text: IntPtr; userParam: pointer); [UnmanagedFunctionPointer(CallingConvention.StdCall)] GLVULKANPROCNV = procedure; - //ToDo category, severity - энумы - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - GLDEBUGPROCAMD = procedure(id: UInt32; category: UInt32; severity: UInt32; length: Int32; message: IntPtr; userParam: IntPtr); - {$endregion Делегаты} {$region Записи} type @@ -10385,1467 +10385,7 @@ type {$endregion Mtr} - {$region MtrMlt} - - function operator*(m1: Mtr2x2f; m2: Mtr2x2f): Mtr2x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - end; - - function operator*(m1: Mtr2x2f; m2: Mtr2x3f): Mtr2x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - end; - - function operator*(m1: Mtr2x2f; m2: Mtr2x4f): Mtr2x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - end; - - function operator*(m1: Mtr2x2f; m2: Mtr2x2d): Mtr2x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - end; - - function operator*(m1: Mtr2x2f; m2: Mtr2x3d): Mtr2x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - end; - - function operator*(m1: Mtr2x2f; m2: Mtr2x4d): Mtr2x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - end; - - function operator*(m1: Mtr3x3f; m2: Mtr3x3f): Mtr3x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - end; - - function operator*(m1: Mtr3x3f; m2: Mtr3x2f): Mtr3x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - end; - - function operator*(m1: Mtr3x3f; m2: Mtr3x4f): Mtr3x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - end; - - function operator*(m1: Mtr3x3f; m2: Mtr3x3d): Mtr3x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - end; - - function operator*(m1: Mtr3x3f; m2: Mtr3x2d): Mtr3x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - end; - - function operator*(m1: Mtr3x3f; m2: Mtr3x4d): Mtr3x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - end; - - function operator*(m1: Mtr4x4f; m2: Mtr4x4f): Mtr4x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; - end; - - function operator*(m1: Mtr4x4f; m2: Mtr4x2f): Mtr4x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - end; - - function operator*(m1: Mtr4x4f; m2: Mtr4x3f): Mtr4x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - end; - - function operator*(m1: Mtr4x4f; m2: Mtr4x4d): Mtr4x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; - end; - - function operator*(m1: Mtr4x4f; m2: Mtr4x2d): Mtr4x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - end; - - function operator*(m1: Mtr4x4f; m2: Mtr4x3d): Mtr4x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - end; - - function operator*(m1: Mtr2x3f; m2: Mtr3x3f): Mtr2x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - end; - - function operator*(m1: Mtr2x3f; m2: Mtr3x2f): Mtr2x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - end; - - function operator*(m1: Mtr2x3f; m2: Mtr3x4f): Mtr2x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - end; - - function operator*(m1: Mtr2x3f; m2: Mtr3x3d): Mtr2x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - end; - - function operator*(m1: Mtr2x3f; m2: Mtr3x2d): Mtr2x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - end; - - function operator*(m1: Mtr2x3f; m2: Mtr3x4d): Mtr2x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - end; - - function operator*(m1: Mtr3x2f; m2: Mtr2x2f): Mtr3x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - end; - - function operator*(m1: Mtr3x2f; m2: Mtr2x3f): Mtr3x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - end; - - function operator*(m1: Mtr3x2f; m2: Mtr2x4f): Mtr3x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - end; - - function operator*(m1: Mtr3x2f; m2: Mtr2x2d): Mtr3x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - end; - - function operator*(m1: Mtr3x2f; m2: Mtr2x3d): Mtr3x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - end; - - function operator*(m1: Mtr3x2f; m2: Mtr2x4d): Mtr3x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - end; - - function operator*(m1: Mtr2x4f; m2: Mtr4x4f): Mtr2x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - end; - - function operator*(m1: Mtr2x4f; m2: Mtr4x2f): Mtr2x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - end; - - function operator*(m1: Mtr2x4f; m2: Mtr4x3f): Mtr2x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - end; - - function operator*(m1: Mtr2x4f; m2: Mtr4x4d): Mtr2x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - end; - - function operator*(m1: Mtr2x4f; m2: Mtr4x2d): Mtr2x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - end; - - function operator*(m1: Mtr2x4f; m2: Mtr4x3d): Mtr2x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - end; - - function operator*(m1: Mtr4x2f; m2: Mtr2x2f): Mtr4x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - end; - - function operator*(m1: Mtr4x2f; m2: Mtr2x3f): Mtr4x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - end; - - function operator*(m1: Mtr4x2f; m2: Mtr2x4f): Mtr4x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; - end; - - function operator*(m1: Mtr4x2f; m2: Mtr2x2d): Mtr4x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - end; - - function operator*(m1: Mtr4x2f; m2: Mtr2x3d): Mtr4x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - end; - - function operator*(m1: Mtr4x2f; m2: Mtr2x4d): Mtr4x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; - end; - - function operator*(m1: Mtr3x4f; m2: Mtr4x4f): Mtr3x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - end; - - function operator*(m1: Mtr3x4f; m2: Mtr4x2f): Mtr3x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - end; - - function operator*(m1: Mtr3x4f; m2: Mtr4x3f): Mtr3x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - end; - - function operator*(m1: Mtr3x4f; m2: Mtr4x4d): Mtr3x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - end; - - function operator*(m1: Mtr3x4f; m2: Mtr4x2d): Mtr3x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - end; - - function operator*(m1: Mtr3x4f; m2: Mtr4x3d): Mtr3x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - end; - - function operator*(m1: Mtr4x3f; m2: Mtr3x3f): Mtr4x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - end; - - function operator*(m1: Mtr4x3f; m2: Mtr3x2f): Mtr4x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - end; - - function operator*(m1: Mtr4x3f; m2: Mtr3x4f): Mtr4x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; - end; - - function operator*(m1: Mtr4x3f; m2: Mtr3x3d): Mtr4x3f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - end; - - function operator*(m1: Mtr4x3f; m2: Mtr3x2d): Mtr4x2f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - end; - - function operator*(m1: Mtr4x3f; m2: Mtr3x4d): Mtr4x4f; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; - end; - - function operator*(m1: Mtr2x2d; m2: Mtr2x2f): Mtr2x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - end; - - function operator*(m1: Mtr2x2d; m2: Mtr2x3f): Mtr2x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - end; - - function operator*(m1: Mtr2x2d; m2: Mtr2x4f): Mtr2x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - end; - - function operator*(m1: Mtr2x2d; m2: Mtr2x2d): Mtr2x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - end; - - function operator*(m1: Mtr2x2d; m2: Mtr2x3d): Mtr2x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - end; - - function operator*(m1: Mtr2x2d; m2: Mtr2x4d): Mtr2x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - end; - - function operator*(m1: Mtr3x3d; m2: Mtr3x3f): Mtr3x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - end; - - function operator*(m1: Mtr3x3d; m2: Mtr3x2f): Mtr3x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - end; - - function operator*(m1: Mtr3x3d; m2: Mtr3x4f): Mtr3x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - end; - - function operator*(m1: Mtr3x3d; m2: Mtr3x3d): Mtr3x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - end; - - function operator*(m1: Mtr3x3d; m2: Mtr3x2d): Mtr3x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - end; - - function operator*(m1: Mtr3x3d; m2: Mtr3x4d): Mtr3x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - end; - - function operator*(m1: Mtr4x4d; m2: Mtr4x4f): Mtr4x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; - end; - - function operator*(m1: Mtr4x4d; m2: Mtr4x2f): Mtr4x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - end; - - function operator*(m1: Mtr4x4d; m2: Mtr4x3f): Mtr4x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - end; - - function operator*(m1: Mtr4x4d; m2: Mtr4x4d): Mtr4x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; - end; - - function operator*(m1: Mtr4x4d; m2: Mtr4x2d): Mtr4x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - end; - - function operator*(m1: Mtr4x4d; m2: Mtr4x3d): Mtr4x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; - end; - - function operator*(m1: Mtr2x3d; m2: Mtr3x3f): Mtr2x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - end; - - function operator*(m1: Mtr2x3d; m2: Mtr3x2f): Mtr2x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - end; - - function operator*(m1: Mtr2x3d; m2: Mtr3x4f): Mtr2x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - end; - - function operator*(m1: Mtr2x3d; m2: Mtr3x3d): Mtr2x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - end; - - function operator*(m1: Mtr2x3d; m2: Mtr3x2d): Mtr2x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - end; - - function operator*(m1: Mtr2x3d; m2: Mtr3x4d): Mtr2x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - end; - - function operator*(m1: Mtr3x2d; m2: Mtr2x2f): Mtr3x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - end; - - function operator*(m1: Mtr3x2d; m2: Mtr2x3f): Mtr3x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - end; - - function operator*(m1: Mtr3x2d; m2: Mtr2x4f): Mtr3x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - end; - - function operator*(m1: Mtr3x2d; m2: Mtr2x2d): Mtr3x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - end; - - function operator*(m1: Mtr3x2d; m2: Mtr2x3d): Mtr3x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - end; - - function operator*(m1: Mtr3x2d; m2: Mtr2x4d): Mtr3x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - end; - - function operator*(m1: Mtr2x4d; m2: Mtr4x4f): Mtr2x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - end; - - function operator*(m1: Mtr2x4d; m2: Mtr4x2f): Mtr2x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - end; - - function operator*(m1: Mtr2x4d; m2: Mtr4x3f): Mtr2x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - end; - - function operator*(m1: Mtr2x4d; m2: Mtr4x4d): Mtr2x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - end; - - function operator*(m1: Mtr2x4d; m2: Mtr4x2d): Mtr2x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - end; - - function operator*(m1: Mtr2x4d; m2: Mtr4x3d): Mtr2x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - end; - - function operator*(m1: Mtr4x2d; m2: Mtr2x2f): Mtr4x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - end; - - function operator*(m1: Mtr4x2d; m2: Mtr2x3f): Mtr4x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - end; - - function operator*(m1: Mtr4x2d; m2: Mtr2x4f): Mtr4x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; - end; - - function operator*(m1: Mtr4x2d; m2: Mtr2x2d): Mtr4x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - end; - - function operator*(m1: Mtr4x2d; m2: Mtr2x3d): Mtr4x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - end; - - function operator*(m1: Mtr4x2d; m2: Mtr2x4d): Mtr4x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; - end; - - function operator*(m1: Mtr3x4d; m2: Mtr4x4f): Mtr3x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - end; - - function operator*(m1: Mtr3x4d; m2: Mtr4x2f): Mtr3x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - end; - - function operator*(m1: Mtr3x4d; m2: Mtr4x3f): Mtr3x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - end; - - function operator*(m1: Mtr3x4d; m2: Mtr4x4d): Mtr3x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; - end; - - function operator*(m1: Mtr3x4d; m2: Mtr4x2d): Mtr3x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - end; - - function operator*(m1: Mtr3x4d; m2: Mtr4x3d): Mtr3x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; - end; - - function operator*(m1: Mtr4x3d; m2: Mtr3x3f): Mtr4x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - end; - - function operator*(m1: Mtr4x3d; m2: Mtr3x2f): Mtr4x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - end; - - function operator*(m1: Mtr4x3d; m2: Mtr3x4f): Mtr4x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; - end; - - function operator*(m1: Mtr4x3d; m2: Mtr3x3d): Mtr4x3d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - end; - - function operator*(m1: Mtr4x3d; m2: Mtr3x2d): Mtr4x2d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - end; - - function operator*(m1: Mtr4x3d; m2: Mtr3x4d): Mtr4x4d; extensionmethod; - begin - Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; - Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; - Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; - Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; - Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; - Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; - Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; - Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; - Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; - Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; - Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; - Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; - Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; - Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; - Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; - Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; - end; - - {$endregion MtrMlt} - - {$region MtrTranspose} - - function Transpose(self: Mtr2x2f); extensionmethod := - new Mtr2x2f(self.val00, self.val10, self.val01, self.val11); - - function Transpose(self: Mtr3x3f); extensionmethod := - new Mtr3x3f(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22); - - function Transpose(self: Mtr4x4f); extensionmethod := - new Mtr4x4f(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32, self.val03, self.val13, self.val23, self.val33); - - function Transpose(self: Mtr2x3f); extensionmethod := - new Mtr3x2f(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12); - function Transpose(self: Mtr3x2f); extensionmethod := - new Mtr2x3f(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21); - - function Transpose(self: Mtr2x4f); extensionmethod := - new Mtr4x2f(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12, self.val03, self.val13); - function Transpose(self: Mtr4x2f); extensionmethod := - new Mtr2x4f(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31); - - function Transpose(self: Mtr3x4f); extensionmethod := - new Mtr4x3f(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22, self.val03, self.val13, self.val23); - function Transpose(self: Mtr4x3f); extensionmethod := - new Mtr3x4f(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32); - - function Transpose(self: Mtr2x2d); extensionmethod := - new Mtr2x2d(self.val00, self.val10, self.val01, self.val11); - - function Transpose(self: Mtr3x3d); extensionmethod := - new Mtr3x3d(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22); - - function Transpose(self: Mtr4x4d); extensionmethod := - new Mtr4x4d(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32, self.val03, self.val13, self.val23, self.val33); - - function Transpose(self: Mtr2x3d); extensionmethod := - new Mtr3x2d(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12); - function Transpose(self: Mtr3x2d); extensionmethod := - new Mtr2x3d(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21); - - function Transpose(self: Mtr2x4d); extensionmethod := - new Mtr4x2d(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12, self.val03, self.val13); - function Transpose(self: Mtr4x2d); extensionmethod := - new Mtr2x4d(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31); - - function Transpose(self: Mtr3x4d); extensionmethod := - new Mtr4x3d(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22, self.val03, self.val13, self.val23); - function Transpose(self: Mtr4x3d); extensionmethod := - new Mtr3x4d(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32); - - {$endregion MtrTranspose} - - {$region Misc} type + {$region Misc} [StructLayout(LayoutKind.&Explicit)] IntFloatUnion = record @@ -11857,6 +10397,152 @@ type end; + [StructLayout(LayoutKind.&Explicit)] + GDI_COLORREF = record + public [FieldOffset(1)] b: byte; + public [FieldOffset(2)] g: byte; + public [FieldOffset(3)] r: byte; + end; + + [StructLayout(LayoutKind.&Explicit)] + GPU_Device_Affinity_Info = record + + public [FieldOffset(0)] cb: UInt32; + + public [FieldOffset(4)] DeviceName: byte; + // ANSI строка на 32 символа (но конец сроки обозначается сиволом #0, поэтому помещается 31) + + public [FieldOffset(36)] DeviceString: byte; + // ANSI строка на 128 символов (но конец сроки обозначается сиволом #0, поэтому помещается 127) + + public [FieldOffset(164)] Flags: UInt32; + + public [FieldOffset(168)] rcVirtualScreen_x1: Int32; + public [FieldOffset(172)] rcVirtualScreen_y1: Int32; + public [FieldOffset(176)] rcVirtualScreen_x2: Int32; + public [FieldOffset(180)] rcVirtualScreen_y2: Int32; + + public property SDeviceName: string + read Marshal.PtrToStringAnsi(IntPtr(pointer(@self.DeviceName))) + write + begin + if value.Length > 31 then raise new ArgumentException('Строка не может иметь больше 31 символа'); + var HStr := Marshal.StringToHGlobalAnsi(value); + var l: UInt32 := value.Length+1; + Buffer.MemoryCopy(pointer(HStr), @self.DeviceName, l,l); + Marshal.FreeHGlobal(HStr); + end; + + public property SDeviceString: string + read Marshal.PtrToStringAnsi(IntPtr(pointer(@self.DeviceString))) + write + begin + if value.Length > 127 then raise new ArgumentException('Строка не может иметь больше 127 символов'); + var HStr := Marshal.StringToHGlobalAnsi(value); + var l: UInt32 := value.Length+1; + Buffer.MemoryCopy(pointer(HStr), @self.DeviceString, l,l); + Marshal.FreeHGlobal(HStr); + end; + + end; + + [StructLayout(LayoutKind.&Explicit)] + GLXHyperpipeNetworkSGIX = record + + public [FieldOffset(0)] pipeName: byte; + // ANSI строка на 80 символа (но конец сроки обозначается сиволом #0, поэтому помещается 79) + + public [FieldOffset(80)] networkId: Int32; + + public property SPipeName: string + read Marshal.PtrToStringAnsi(IntPtr(pointer(@self.pipeName))) + write + begin + if value.Length > 79 then raise new ArgumentException('Строка не может иметь больше 79 символов'); + var HStr := Marshal.StringToHGlobalAnsi(value); + var l: UInt32 := value.Length+1; + Buffer.MemoryCopy(pointer(HStr), @self.pipeName, l,l); + Marshal.FreeHGlobal(HStr); + end; + + end; + + [StructLayout(LayoutKind.&Explicit)] + GLXHyperpipeConfigDataSGIX = record + + public [FieldOffset(0)] pipeName: byte; + // ANSI строка на 80 символа (но конец сроки обозначается сиволом #0, поэтому помещается 79) + + public [FieldOffset(80)] channel: Int32; + public [FieldOffset(84)] participationType: UInt32; + public [FieldOffset(88)] timeSlice: Int32; + + public property SPipeName: string + read Marshal.PtrToStringAnsi(IntPtr(pointer(@self.pipeName))) + write + begin + if value.Length > 79 then raise new ArgumentException('Строка не может иметь больше 79 символов'); + var HStr := Marshal.StringToHGlobalAnsi(value); + var l: UInt32 := value.Length+1; + Buffer.MemoryCopy(pointer(HStr), @self.pipeName, l,l); + Marshal.FreeHGlobal(HStr); + end; + + end; + + [StructLayout(LayoutKind.&Explicit)] + GLXPipeRect = record + + public [FieldOffset(0)] pipeName: byte; + // ANSI строка на 80 символа (но конец сроки обозначается сиволом #0, поэтому помещается 79) + + public [FieldOffset(80)] srcXOrigin: Int32; + public [FieldOffset(84)] srcYOrigin: Int32; + public [FieldOffset(88)] srcWidth: Int32; + public [FieldOffset(92)] srcHeight: Int32; + + public [FieldOffset(96)] destXOrigin: Int32; + public [FieldOffset(100)] destYOrigin: Int32; + public [FieldOffset(104)] destWidth: Int32; + public [FieldOffset(108)] destHeight: Int32; + + public property SPipeName: string + read Marshal.PtrToStringAnsi(IntPtr(pointer(@self.pipeName))) + write + begin + if value.Length > 79 then raise new ArgumentException('Строка не может иметь больше 79 символов'); + var HStr := Marshal.StringToHGlobalAnsi(value); + var l: UInt32 := value.Length+1; + Buffer.MemoryCopy(pointer(HStr), @self.pipeName, l,l); + Marshal.FreeHGlobal(HStr); + end; + + end; + + [StructLayout(LayoutKind.&Explicit)] + GLXPipeRectLimits = record + + public [FieldOffset(0)] pipeName: byte; + // ANSI строка на 80 символа (но конец сроки обозначается сиволом #0, поэтому помещается 79) + + public [FieldOffset(80)] XOrigin: Int32; + public [FieldOffset(84)] YOrigin: Int32; + public [FieldOffset(88)] maxHeight: Int32; + public [FieldOffset(92)] maxWidth: Int32; + + public property SPipeName: string + read Marshal.PtrToStringAnsi(IntPtr(pointer(@self.pipeName))) + write + begin + if value.Length > 79 then raise new ArgumentException('Строка не может иметь больше 79 символов'); + var HStr := Marshal.StringToHGlobalAnsi(value); + var l: UInt32 := value.Length+1; + Buffer.MemoryCopy(pointer(HStr), @self.pipeName, l,l); + Marshal.FreeHGlobal(HStr); + end; + + end; + DrawArraysIndirectCommand = record public count: UInt32; public instanceCount: UInt32; @@ -11873,6 +10559,26 @@ type end; + GDI_GlyphmetricsFloat = record + public gmfBlackBoxX: single; + public gmfBlackBoxY: single; + public gmfptGlyphOriginX: single; + public gmfptGlyphOriginY: single; + public gmfCellIncX: single; + public gmfCellIncY: single; + + public constructor(gmfBlackBoxX, gmfBlackBoxY, gmfptGlyphOriginX, gmfptGlyphOriginY, gmfCellIncX, gmfCellIncY: single); + begin + self.gmfBlackBoxX := gmfBlackBoxX; + self.gmfBlackBoxY := gmfBlackBoxY; + self.gmfptGlyphOriginX := gmfptGlyphOriginX; + self.gmfptGlyphOriginY := gmfptGlyphOriginY; + self.gmfCellIncX := gmfCellIncX; + self.gmfCellIncY := gmfCellIncY; + end; + + end; + //ToDo функции принемающие single - бывает, принимают и fixed fixed = record {private} val: UInt32; @@ -11932,11174 +10638,20385 @@ type type - /// Ядро OpenGL - /// Все функции отсотированы по разрелу спецификации в исходниках - gl = static class + gl = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; - {$region 2.0 - OpenGL Fundamentals} + {$region 2 - OpenGL Fundamentals} {$region 2.3 - Command Execution} - // 2.3.1 + {$region 2.3.1 - Errors} - public static function GetError: ErrorCode; - external 'opengl32.dll' name 'glGetError'; + private static function _GetError: ErrorCode; external 'opengl32.dll' name 'glGetError'; + public static z_GetError: function: ErrorCode := _GetError; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetError: ErrorCode := z_GetError; - // 2.3.2 + {$endregion 2.3.1 - Errors} - static function GetGraphicsResetStatus: ErrorCode; - external 'opengl32.dll' name 'glGetGraphicsResetStatus'; + {$region 2.3.2 - Graphics Reset Recovery} - // 2.3.3 + public z_GetGraphicsResetStatus: function: ErrorCode := GetGLFuncOrNil&('glGetGraphicsResetStatus'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGraphicsResetStatus: ErrorCode := z_GetGraphicsResetStatus; - static procedure Finish; - external 'opengl32.dll' name 'glFinish'; + {$endregion 2.3.2 - Graphics Reset Recovery} - static procedure Flush; - external 'opengl32.dll' name 'glFlush'; + {$region 2.3.3 - Flush and Finish} + + private static procedure _Flush; external 'opengl32.dll' name 'glFlush'; + public static z_Flush: procedure := _Flush; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Flush := z_Flush; + + private static procedure _Finish; external 'opengl32.dll' name 'glFinish'; + public static z_Finish: procedure := _Finish; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Finish := z_Finish; + + {$endregion 2.3.3 - Flush and Finish} {$endregion 2.3 - Command Execution} - {$endregion 2.0 - OpenGL Fundamentals} + {$endregion 2 - OpenGL Fundamentals} - {$region 4.0 - Event Model} + {$region 4 - Event Model} {$region 4.1 - Sync Objects and Fences} - static function FenceSync(condition: FenceCondition; flags: ReservedFlags): GLsync; - external 'opengl32.dll' name 'glFenceSync'; + public z_FenceSync: function(condition: FenceCondition; flags: ReservedFlags): GLsync := GetGLFuncOrNil&('glFenceSync'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function FenceSync(condition: FenceCondition; flags: ReservedFlags): GLsync := z_FenceSync(condition, flags); - static procedure DeleteSync(sync: GLsync); - external 'opengl32.dll' name 'glDeleteSync'; + public z_DeleteSync: procedure(sync: GLsync) := GetGLFuncOrNil&('glDeleteSync'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSync(sync: GLsync) := z_DeleteSync(sync); - // 4.1.1 + {$region 4.1.1 - Waiting for Sync Objects} - static function ClientWaitSync(sync: GLsync; flags: CommandFlushingBehaviorFlags; timeout: TimeSpan): ClientWaitSyncResult; - external 'opengl32.dll' name 'glClientWaitSync'; - static function ClientWaitSync(sync: GLsync; flags: CommandFlushingBehaviorFlags; timeout: UInt64): ClientWaitSyncResult; - external 'opengl32.dll' name 'glClientWaitSync'; + public z_WaitSync: procedure(sync: GLsync; flags: ReservedFlags; timeout: ReservedTimeoutMode) := GetGLFuncOrNil&('glWaitSync'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSync(sync: GLsync; flags: ReservedFlags; timeout: ReservedTimeoutMode) := z_WaitSync(sync, flags, timeout); - static procedure WaitSync(sync: GLsync; flags: ReservedFlags; timeout: ReservedTimeoutMode); - external 'opengl32.dll' name 'glWaitSync'; + public z_ClientWaitSync: function(sync: GLsync; flags: CommandFlushingBehaviorFlags; timeout: TimeSpan): ClientWaitSyncResult := GetGLFuncOrNil&('glClientWaitSync'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ClientWaitSync(sync: GLsync; flags: CommandFlushingBehaviorFlags; timeout: UInt64): ClientWaitSyncResult := ClientWaitSync(sync, flags, timeout); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ClientWaitSync(sync: GLsync; flags: CommandFlushingBehaviorFlags; timeout: TimeSpan): ClientWaitSyncResult := z_ClientWaitSync(sync, flags, timeout); - // 4.1.3 + {$endregion 4.1.1 - Waiting for Sync Objects} - static procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: SyncObjectType); - external 'opengl32.dll' name 'glGetSynciv'; - static procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: FenceStatus); - external 'opengl32.dll' name 'glGetSynciv'; - static procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: FenceCondition); - external 'opengl32.dll' name 'glGetSynciv'; - static procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: Int32); - external 'opengl32.dll' name 'glGetSynciv'; - static procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; length: pointer; values: pointer); - external 'opengl32.dll' name 'glGetSynciv'; + {$region 4.1.3 - Sync Object Queries} - static function IsSync(sync: GLsync): boolean; - external 'opengl32.dll' name 'glIsSync'; + public z_IsSync: function(sync: GLsync): boolean := GetGLFuncOrNil&('glIsSync'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsSync(sync: GLsync): boolean := z_IsSync(sync); + + public z_GetSynciv: procedure(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; length: pointer; values: pointer) := GetGLFuncOrNil&('glGetSynciv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: SyncObjectType) := GetSynciv(sync, pname, bufSize, @length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: FenceStatus) := GetSynciv(sync, pname, bufSize, @length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: FenceCondition) := GetSynciv(sync, pname, bufSize, @length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; var length: Int32; var values: Int32) := GetSynciv(sync, pname, bufSize, @length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSynciv(sync: GLsync; pname: SyncObjInfoType; bufSize: Int32; length: pointer; values: pointer) := z_GetSynciv(sync, pname, bufSize, length, values); + + {$endregion 4.1.3 - Sync Object Queries} {$endregion 4.1 - Sync Objects and Fences} {$region 4.2 - Query Objects and Asynchronous Queries} - // 4.2.2 + {$region 4.2.2 - Query Object Creation and Activation} - static procedure GenQueries(n: Int32; [MarshalAs(UnmanagedType.LPArray)] ids: array of QueryName); - external 'opengl32.dll' name 'glGenQueries'; - static procedure GenQueries(n: Int32; var ids: QueryName); - external 'opengl32.dll' name 'glGenQueries'; - static procedure GenQueries(n: Int32; ids: pointer); - external 'opengl32.dll' name 'glGenQueries'; + public z_GenQueries: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glGenQueries'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueries(n: Int32; ids: array of QueryName) := GenQueries(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueries(n: Int32; var ids: QueryName) := GenQueries(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueries(n: Int32; ids: pointer) := z_GenQueries(n, ids); - static procedure CreateQueries(target: QueryTargetType; n: Int32; [MarshalAs(UnmanagedType.LPArray)] ids: array of QueryName); - external 'opengl32.dll' name 'glCreateQueries'; - static procedure CreateQueries(target: QueryTargetType; n: Int32; var ids: QueryName); - external 'opengl32.dll' name 'glCreateQueries'; - static procedure CreateQueries(target: QueryTargetType; n: Int32; ids: pointer); - external 'opengl32.dll' name 'glCreateQueries'; + public z_EndQueryIndexed: procedure(target: QueryTargetType; index: UInt32) := GetGLFuncOrNil&('glEndQueryIndexed'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndQueryIndexed(target: QueryTargetType; index: UInt32) := z_EndQueryIndexed(target, index); - static procedure DeleteQueries(n: Int32; [MarshalAs(UnmanagedType.LPArray)] ids: array of QueryName); - external 'opengl32.dll' name 'glDeleteQueries'; - static procedure DeleteQueries(n: Int32; var ids: QueryName); - external 'opengl32.dll' name 'glDeleteQueries'; - static procedure DeleteQueries(n: Int32; ids: pointer); - external 'opengl32.dll' name 'glDeleteQueries'; + public z_EndQuery: procedure(target: QueryTargetType) := GetGLFuncOrNil&('glEndQuery'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndQuery(target: QueryTargetType) := z_EndQuery(target); - static procedure BeginQueryIndexed(target: QueryTargetType; index: UInt32; id: QueryName); - external 'opengl32.dll' name 'glBeginQueryIndexed'; - static procedure BeginQuery(target: QueryTargetType; id: QueryName); - external 'opengl32.dll' name 'glBeginQuery'; + public z_DeleteQueries: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glDeleteQueries'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueries(n: Int32; ids: array of QueryName) := DeleteQueries(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueries(n: Int32; var ids: QueryName) := DeleteQueries(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueries(n: Int32; ids: pointer) := z_DeleteQueries(n, ids); - static procedure EndQueryIndexed(target: QueryTargetType; index: UInt32); - external 'opengl32.dll' name 'glEndQueryIndexed'; - static procedure EndQuery(target: QueryTargetType); - external 'opengl32.dll' name 'glEndQuery'; + public z_CreateQueries: procedure(target: QueryTargetType; n: Int32; ids: pointer) := GetGLFuncOrNil&('glCreateQueries'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateQueries(target: QueryTargetType; n: Int32; ids: array of QueryName) := CreateQueries(target, n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateQueries(target: QueryTargetType; n: Int32; var ids: QueryName) := CreateQueries(target, n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateQueries(target: QueryTargetType; n: Int32; ids: pointer) := z_CreateQueries(target, n, ids); - // 4.2.3 + public z_BeginQueryIndexed: procedure(target: QueryTargetType; index: UInt32; id: QueryName) := GetGLFuncOrNil&('glBeginQueryIndexed'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginQueryIndexed(target: QueryTargetType; index: UInt32; id: QueryName) := z_BeginQueryIndexed(target, index, id); - static function IsQuery(id: QueryName): boolean; - external 'opengl32.dll' name 'glIsQuery'; + public z_BeginQuery: procedure(target: QueryTargetType; id: QueryName) := GetGLFuncOrNil&('glBeginQuery'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginQuery(target: QueryTargetType; id: QueryName) := z_BeginQuery(target, id); - static procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: QueryName); - external 'opengl32.dll' name 'glGetQueryIndexediv'; - static procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetQueryIndexediv'; - static procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetQueryIndexediv'; - static procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: TimeSpan); - external 'opengl32.dll' name 'glGetQueryIndexediv'; - static procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: DateTime); - external 'opengl32.dll' name 'glGetQueryIndexediv'; - static procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; ¶ms: pointer); - external 'opengl32.dll' name 'glGetQueryIndexediv'; + {$endregion 4.2.2 - Query Object Creation and Activation} - static procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: QueryName); - external 'opengl32.dll' name 'glGetQueryiv'; - static procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetQueryiv'; - static procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetQueryiv'; - static procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: TimeSpan); - external 'opengl32.dll' name 'glGetQueryiv'; - static procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: DateTime); - external 'opengl32.dll' name 'glGetQueryiv'; - static procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; ¶ms: pointer); - external 'opengl32.dll' name 'glGetQueryiv'; + {$region 4.2.3 - Query Object Queries} - static procedure GetQueryObjectiv(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetQueryObjectiv'; - static procedure GetQueryObjectiv(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetQueryObjectiv'; - static procedure GetQueryObjectiv(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer); - external 'opengl32.dll' name 'glGetQueryObjectiv'; + public z_IsQuery: function(id: QueryName): boolean := GetGLFuncOrNil&('glIsQuery'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsQuery(id: QueryName): boolean := z_IsQuery(id); - static procedure GetQueryObjectuiv(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: UInt32); // QueryName=UInt32, поэтому его можно сюда же передавать - external 'opengl32.dll' name 'glGetQueryObjectuiv'; - static procedure GetQueryObjectuiv(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer); - external 'opengl32.dll' name 'glGetQueryObjectuiv'; + public z_GetQueryObjectuiv: procedure(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuiv(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: UInt32) := GetQueryObjectuiv(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuiv(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := z_GetQueryObjectuiv(id, pname, ¶ms); - static procedure GetQueryObjecti64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: Int64); - external 'opengl32.dll' name 'glGetQueryObjecti64v'; - static procedure GetQueryObjecti64v(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer); - external 'opengl32.dll' name 'glGetQueryObjecti64v'; + public z_GetQueryObjectui64v: procedure(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectui64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: UInt64) := GetQueryObjectui64v(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: TimeSpan) := GetQueryObjectui64v(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: DateTime) := GetQueryObjectui64v(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := z_GetQueryObjectui64v(id, pname, ¶ms); - static procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: TimeSpan); - external 'opengl32.dll' name 'glGetQueryObjectui64v'; - static procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: DateTime); - external 'opengl32.dll' name 'glGetQueryObjectui64v'; - static procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: UInt64); - external 'opengl32.dll' name 'glGetQueryObjectui64v'; - static procedure GetQueryObjectui64v(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer); - external 'opengl32.dll' name 'glGetQueryObjectui64v'; + public z_GetQueryObjectiv: procedure(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectiv(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: Int32) := GetQueryObjectiv(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectiv(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: boolean) := GetQueryObjectiv(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectiv(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := z_GetQueryObjectiv(id, pname, ¶ms); - static procedure GetQueryBufferObjectiv(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr); - external 'opengl32.dll' name 'glGetQueryBufferObjectiv'; + public z_GetQueryObjecti64v: procedure(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjecti64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjecti64v(id: QueryName; pname: GetQueryObjectInfoName; var ¶ms: Int64) := GetQueryObjecti64v(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjecti64v(id: QueryName; pname: GetQueryObjectInfoName; ¶ms: pointer) := z_GetQueryObjecti64v(id, pname, ¶ms); - static procedure GetQueryBufferObjectuiv(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr); - external 'opengl32.dll' name 'glGetQueryBufferObjectuiv'; + public z_GetQueryiv: procedure(target: QueryTargetType; pname: GetQueryInfoName; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: Int32) := GetQueryiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: QueryName) := GetQueryiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: boolean) := GetQueryiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: TimeSpan) := GetQueryiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; var ¶ms: DateTime) := GetQueryiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryiv(target: QueryTargetType; pname: GetQueryInfoName; ¶ms: pointer) := z_GetQueryiv(target, pname, ¶ms); - static procedure GetQueryBufferObjecti64v(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr); - external 'opengl32.dll' name 'glGetQueryBufferObjecti64v'; + public z_GetQueryIndexediv: procedure(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryIndexediv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: Int32) := GetQueryIndexediv(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: QueryName) := GetQueryIndexediv(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: boolean) := GetQueryIndexediv(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: TimeSpan) := GetQueryIndexediv(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; var ¶ms: DateTime) := GetQueryIndexediv(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryIndexediv(target: QueryTargetType; index: UInt32; pname: GetQueryInfoName; ¶ms: pointer) := z_GetQueryIndexediv(target, index, pname, ¶ms); - static procedure GetQueryBufferObjectui64v(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr); - external 'opengl32.dll' name 'glGetQueryBufferObjectui64v'; + public z_GetQueryBufferObjectuiv: procedure(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := GetGLFuncOrNil&('glGetQueryBufferObjectuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryBufferObjectuiv(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := z_GetQueryBufferObjectuiv(id, buffer, pname, offset); + + public z_GetQueryBufferObjectui64v: procedure(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := GetGLFuncOrNil&('glGetQueryBufferObjectui64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryBufferObjectui64v(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := z_GetQueryBufferObjectui64v(id, buffer, pname, offset); + + public z_GetQueryBufferObjectiv: procedure(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := GetGLFuncOrNil&('glGetQueryBufferObjectiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryBufferObjectiv(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := z_GetQueryBufferObjectiv(id, buffer, pname, offset); + + public z_GetQueryBufferObjecti64v: procedure(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := GetGLFuncOrNil&('glGetQueryBufferObjecti64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryBufferObjecti64v(id: QueryName; buffer: BufferName; pname: GetQueryObjectInfoName; offset: IntPtr) := z_GetQueryBufferObjecti64v(id, buffer, pname, offset); + + {$endregion 4.2.3 - Query Object Queries} {$endregion 4.2 - Query Objects and Asynchronous Queries} {$region 4.3 - Time Queries} - static procedure QueryCounter(id: QueryName; target: QueryTargetType); - external 'opengl32.dll' name 'glQueryCounter'; + public z_QueryCounter: procedure(id: QueryName; target: QueryTargetType) := GetGLFuncOrNil&('glQueryCounter'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryCounter(id: QueryName; target: QueryTargetType) := z_QueryCounter(id, target); {$endregion 4.3 - Time Queries} - {$endregion 4.0 - Event Model} + {$endregion 4 - Event Model} - {$region 6.0 - Buffer Objects} + {$region 6 - Buffer Objects} - static procedure GenBuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] buffers: array of BufferName); - external 'opengl32.dll' name 'glGenBuffers'; - static procedure GenBuffers(n: Int32; var buffers: BufferName); - external 'opengl32.dll' name 'glGenBuffers'; - static procedure GenBuffers(n: Int32; buffers: pointer); - external 'opengl32.dll' name 'glGenBuffers'; + public z_IsBuffer: function(buffer: BufferName): boolean := GetGLFuncOrNil&('glIsBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsBuffer(buffer: BufferName): boolean := z_IsBuffer(buffer); - static procedure CreateBuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] buffers: array of BufferName); - external 'opengl32.dll' name 'glCreateBuffers'; - static procedure CreateBuffers(n: Int32; var buffers: BufferName); - external 'opengl32.dll' name 'glCreateBuffers'; - static procedure CreateBuffers(n: Int32; buffers: pointer); - external 'opengl32.dll' name 'glCreateBuffers'; + public z_GenBuffers: procedure(n: Int32; buffers: pointer) := GetGLFuncOrNil&('glGenBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenBuffers(n: Int32; buffers: array of BufferName) := GenBuffers(n, buffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenBuffers(n: Int32; var buffers: BufferName) := GenBuffers(n, @buffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenBuffers(n: Int32; buffers: pointer) := z_GenBuffers(n, buffers); - static procedure DeleteBuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] buffers: array of BufferName); - external 'opengl32.dll' name 'glDeleteBuffers'; - static procedure DeleteBuffers(n: Int32; var buffers: BufferName); - external 'opengl32.dll' name 'glDeleteBuffers'; - static procedure DeleteBuffers(n: Int32; buffers: pointer); - external 'opengl32.dll' name 'glDeleteBuffers'; + public z_DeleteBuffers: procedure(n: Int32; buffers: pointer) := GetGLFuncOrNil&('glDeleteBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteBuffers(n: Int32; buffers: array of BufferName) := DeleteBuffers(n, buffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteBuffers(n: Int32; var buffers: BufferName) := DeleteBuffers(n, @buffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteBuffers(n: Int32; buffers: pointer) := z_DeleteBuffers(n, buffers); - static function IsBuffer(buffer: BufferName): boolean; - external 'opengl32.dll' name 'glIsBuffer'; + public z_CreateBuffers: procedure(n: Int32; buffers: pointer) := GetGLFuncOrNil&('glCreateBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateBuffers(n: Int32; buffers: array of BufferName) := CreateBuffers(n, buffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateBuffers(n: Int32; var buffers: BufferName) := CreateBuffers(n, @buffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateBuffers(n: Int32; buffers: pointer) := z_CreateBuffers(n, buffers); {$region 6.1 - Creating and Binding Buffer Objects} - static procedure BindBuffer(target: BufferBindType; buffer: BufferName); - external 'opengl32.dll' name 'glBindBuffer'; + public z_BindBuffer: procedure(target: BufferBindType; buffer: BufferName) := GetGLFuncOrNil&('glBindBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBuffer(target: BufferBindType; buffer: BufferName) := z_BindBuffer(target, buffer); - // 6.1.1 + {$region 6.1.1 - Binding Buffer Objects to Indexed Targets} - static procedure BindBufferRange(target: BufferBindType; index: UInt32; buffer: BufferName; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glBindBufferRange'; + public z_BindBuffersRange: procedure(target: BufferBindType; first: UInt32; count: Int32; buffers: pointer; offsets: pointer; sizes: pointer) := GetGLFuncOrNil&('glBindBuffersRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBuffersRange(target: BufferBindType; first: UInt32; count: Int32; buffers: array of BufferName; offsets: array of IntPtr; sizes: array of UIntPtr) := BindBuffersRange(target, first, count, buffers[0], offsets[0], sizes[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBuffersRange(target: BufferBindType; first: UInt32; count: Int32; var buffers: BufferName; var offsets: IntPtr; var sizes: UIntPtr) := BindBuffersRange(target, first, count, @buffers, @offsets, @sizes); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBuffersRange(target: BufferBindType; first: UInt32; count: Int32; buffers: pointer; offsets: pointer; sizes: pointer) := z_BindBuffersRange(target, first, count, buffers, offsets, sizes); - static procedure BindBufferBase(target: BufferBindType; index: UInt32; buffer: BufferName); - external 'opengl32.dll' name 'glBindBufferBase'; + public z_BindBuffersBase: procedure(target: BufferBindType; first: UInt32; count: Int32; buffers: pointer) := GetGLFuncOrNil&('glBindBuffersBase'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBuffersBase(target: BufferBindType; first: UInt32; count: Int32; buffers: array of BufferName) := BindBuffersBase(target, first, count, buffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBuffersBase(target: BufferBindType; first: UInt32; count: Int32; var buffers: BufferName) := BindBuffersBase(target, first, count, @buffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBuffersBase(target: BufferBindType; first: UInt32; count: Int32; buffers: pointer) := z_BindBuffersBase(target, first, count, buffers); - static procedure BindBuffersBase(target: BufferBindType; first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] buffers: array of BufferName); - external 'opengl32.dll' name 'glBindBuffersBase'; - static procedure BindBuffersBase(target: BufferBindType; first: UInt32; count: Int32; var buffers: BufferName); - external 'opengl32.dll' name 'glBindBuffersBase'; - static procedure BindBuffersBase(target: BufferBindType; first: UInt32; count: Int32; buffers: pointer); - external 'opengl32.dll' name 'glBindBuffersBase'; + public z_BindBufferRange: procedure(target: BufferBindType; index: UInt32; buffer: BufferName; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glBindBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferRange(target: BufferBindType; index: UInt32; buffer: BufferName; offset: IntPtr; size: UIntPtr) := z_BindBufferRange(target, index, buffer, offset, size); - static procedure BindBuffersRange(target: BufferBindType; first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] buffers: array of BufferName; [MarshalAs(UnmanagedType.LPArray)] offsets: array of IntPtr; [MarshalAs(UnmanagedType.LPArray)] sizes: array of UIntPtr); - external 'opengl32.dll' name 'glBindBuffersRange'; - static procedure BindBuffersRange(target: BufferBindType; first: UInt32; count: Int32; var buffers: BufferName; var offsets: IntPtr; var sizes: UIntPtr); - external 'opengl32.dll' name 'glBindBuffersRange'; - static procedure BindBuffersRange(target: BufferBindType; first: UInt32; count: Int32; buffers: pointer; offsets: pointer; sizes: pointer); - external 'opengl32.dll' name 'glBindBuffersRange'; + public z_BindBufferBase: procedure(target: BufferBindType; index: UInt32; buffer: BufferName) := GetGLFuncOrNil&('glBindBufferBase'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferBase(target: BufferBindType; index: UInt32; buffer: BufferName) := z_BindBufferBase(target, index, buffer); + + {$endregion 6.1.1 - Binding Buffer Objects to Indexed Targets} {$endregion 6.1 - Creating and Binding Buffer Objects} {$region 6.2 - Creating and Modifying Buffer Object Data Stores} - static procedure BufferStorage(target: BufferBindType; size: UIntPtr; data: IntPtr; flags: BufferStorageFlags); - external 'opengl32.dll' name 'glBufferStorage'; - static procedure BufferStorage(target: BufferBindType; size: UIntPtr; data: pointer; flags: BufferStorageFlags); - external 'opengl32.dll' name 'glBufferStorage'; + public z_NamedBufferSubData: procedure(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glNamedBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: IntPtr) := NamedBufferSubData(buffer, offset, size, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: pointer) := z_NamedBufferSubData(buffer, offset, size, data); - static procedure NamedBufferStorage(buffer: BufferName; size: UIntPtr; data: IntPtr; flags: BufferStorageFlags); - external 'opengl32.dll' name 'glNamedBufferStorage'; - static procedure NamedBufferStorage(buffer: BufferName; size: UIntPtr; data: pointer; flags: BufferStorageFlags); - external 'opengl32.dll' name 'glNamedBufferStorage'; + public z_NamedBufferStorage: procedure(buffer: BufferName; size: UIntPtr; data: pointer; flags: BufferStorageFlags) := GetGLFuncOrNil&('glNamedBufferStorage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferStorage(buffer: BufferName; size: UIntPtr; data: IntPtr; flags: BufferStorageFlags) := NamedBufferStorage(buffer, size, pointer(data), flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferStorage(buffer: BufferName; size: UIntPtr; data: pointer; flags: BufferStorageFlags) := z_NamedBufferStorage(buffer, size, data, flags); - static procedure BufferData(target: BufferBindType; size: UIntPtr; data: IntPtr; usage: BufferDataUsage); - external 'opengl32.dll' name 'glBufferData'; - static procedure BufferData(target: BufferBindType; size: UIntPtr; data: pointer; usage: BufferDataUsage); - external 'opengl32.dll' name 'glBufferData'; + public z_NamedBufferData: procedure(buffer: BufferName; size: UIntPtr; data: pointer; usage: BufferDataUsage) := GetGLFuncOrNil&('glNamedBufferData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferData(buffer: BufferName; size: UIntPtr; data: IntPtr; usage: BufferDataUsage) := NamedBufferData(buffer, size, pointer(data), usage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferData(buffer: BufferName; size: UIntPtr; data: pointer; usage: BufferDataUsage) := z_NamedBufferData(buffer, size, data, usage); - static procedure NamedBufferData(buffer: BufferName; size: UIntPtr; data: IntPtr; usage: BufferDataUsage); - external 'opengl32.dll' name 'glNamedBufferData'; - static procedure NamedBufferData(buffer: BufferName; size: UIntPtr; data: pointer; usage: BufferDataUsage); - external 'opengl32.dll' name 'glNamedBufferData'; + public z_BufferSubData: procedure(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: IntPtr) := BufferSubData(target, offset, size, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: pointer) := z_BufferSubData(target, offset, size, data); - static procedure BufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: IntPtr); - external 'opengl32.dll' name 'glBufferSubData'; - static procedure BufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glBufferSubData'; + public z_BufferStorage: procedure(target: BufferBindType; size: UIntPtr; data: pointer; flags: BufferDataUsage) := GetGLFuncOrNil&('glBufferStorage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferStorage(target: BufferBindType; size: UIntPtr; data: IntPtr; flags: BufferDataUsage) := BufferStorage(target, size, pointer(data), flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferStorage(target: BufferBindType; size: UIntPtr; data: pointer; flags: BufferDataUsage) := z_BufferStorage(target, size, data, flags); - static procedure NamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: IntPtr); - external 'opengl32.dll' name 'glNamedBufferSubData'; - static procedure NamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glNamedBufferSubData'; + public z_BufferData: procedure(target: BufferBindType; size: UIntPtr; data: pointer; usage: BufferDataUsage) := GetGLFuncOrNil&('glBufferData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferData(target: BufferBindType; size: UIntPtr; data: IntPtr; usage: BufferDataUsage) := BufferData(target, size, pointer(data), usage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferData(target: BufferBindType; size: UIntPtr; data: pointer; usage: BufferDataUsage) := z_BufferData(target, size, data, usage); - static procedure ClearBufferSubData(target: BufferBindType; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: IntPtr); - external 'opengl32.dll' name 'glClearBufferSubData'; - static procedure ClearBufferSubData(target: BufferBindType; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: pointer); - external 'opengl32.dll' name 'glClearBufferSubData'; + {$region 6.2.1 - Clearing Buffer Object Data Stores} - static procedure ClearNamedBufferSubData(buffer: BufferName; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: IntPtr); - external 'opengl32.dll' name 'glClearNamedBufferSubData'; - static procedure ClearNamedBufferSubData(buffer: BufferName; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: pointer); - external 'opengl32.dll' name 'glClearNamedBufferSubData'; + public z_ClearNamedBufferSubData: procedure(buffer: BufferName; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: pointer) := GetGLFuncOrNil&('glClearNamedBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedBufferSubData(buffer: BufferName; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: IntPtr) := ClearNamedBufferSubData(buffer, internalformat, offset, size, format, &type, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedBufferSubData(buffer: BufferName; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: pointer) := z_ClearNamedBufferSubData(buffer, internalformat, offset, size, format, &type, data); - static procedure ClearBufferData(target: BufferBindType; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: IntPtr); - external 'opengl32.dll' name 'glClearBufferData'; - static procedure ClearBufferData(target: BufferBindType; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: pointer); - external 'opengl32.dll' name 'glClearBufferData'; + public z_ClearNamedBufferData: procedure(buffer: BufferName; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: pointer) := GetGLFuncOrNil&('glClearNamedBufferData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedBufferData(buffer: BufferName; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: IntPtr) := ClearNamedBufferData(buffer, internalformat, format, &type, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedBufferData(buffer: BufferName; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: pointer) := z_ClearNamedBufferData(buffer, internalformat, format, &type, data); - static procedure ClearNamedBufferData(buffer: BufferName; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: IntPtr); - external 'opengl32.dll' name 'glClearNamedBufferData'; - static procedure ClearNamedBufferData(buffer: BufferName; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: pointer); - external 'opengl32.dll' name 'glClearNamedBufferData'; + public z_ClearBufferSubData: procedure(target: BufferBindType; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: pointer) := GetGLFuncOrNil&('glClearBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferSubData(target: BufferBindType; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: IntPtr) := ClearBufferSubData(target, internalformat, offset, size, format, &type, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferSubData(target: BufferBindType; internalformat: InternalDataFormat; offset: IntPtr; size: UIntPtr; format: DataFormat; &type: DataType; data: pointer) := z_ClearBufferSubData(target, internalformat, offset, size, format, &type, data); + + public z_ClearBufferData: procedure(target: BufferBindType; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: pointer) := GetGLFuncOrNil&('glClearBufferData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferData(target: BufferBindType; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: IntPtr) := ClearBufferData(target, internalformat, format, &type, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferData(target: BufferBindType; internalformat: InternalDataFormat; format: DataFormat; &type: DataType; data: pointer) := z_ClearBufferData(target, internalformat, format, &type, data); + + {$endregion 6.2.1 - Clearing Buffer Object Data Stores} {$endregion 6.2 - Creating and Modifying Buffer Object Data Stores} {$region 6.3 - Mapping and Unmapping Buffer Data} - static function MapBufferRange(target: BufferBindType; offset: IntPtr; length: UIntPtr; access: BufferMapFlags): IntPtr; - external 'opengl32.dll' name 'glMapBufferRange'; - static function MapNamedBufferRange(buffer: BufferName; offset: IntPtr; length: UIntPtr; access: BufferMapFlags): IntPtr; - external 'opengl32.dll' name 'glMapNamedBufferRange'; + public z_MapNamedBufferRange: function(buffer: BufferName; offset: IntPtr; length: UIntPtr; access: BufferMapFlags): IntPtr := GetGLFuncOrNil&('glMapNamedBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapNamedBufferRange(buffer: BufferName; offset: IntPtr; length: UIntPtr; access: BufferMapFlags): IntPtr := z_MapNamedBufferRange(buffer, offset, length, access); - static function MapBuffer(target: BufferBindType; access: BufferMapFlags): IntPtr; - external 'opengl32.dll' name 'glMapBuffer'; - static function MapNamedBuffer(buffer: BufferName; access: BufferMapFlags): IntPtr; - external 'opengl32.dll' name 'glMapNamedBuffer'; + public z_MapNamedBuffer: function(buffer: BufferName; access: BufferMapFlags): IntPtr := GetGLFuncOrNil&('glMapNamedBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapNamedBuffer(buffer: BufferName; access: BufferMapFlags): IntPtr := z_MapNamedBuffer(buffer, access); - static procedure FlushMappedBufferRange(target: BufferBindType; offset: IntPtr; length: UIntPtr); - external 'opengl32.dll' name 'glFlushMappedBufferRange'; - static procedure FlushMappedNamedBufferRange(buffer: BufferName; offset: IntPtr; length: UIntPtr); - external 'opengl32.dll' name 'glFlushMappedNamedBufferRange'; + public z_MapBufferRange: function(target: BufferBindType; offset: IntPtr; length: UIntPtr; access: BufferMapFlags): IntPtr := GetGLFuncOrNil&('glMapBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapBufferRange(target: BufferBindType; offset: IntPtr; length: UIntPtr; access: BufferMapFlags): IntPtr := z_MapBufferRange(target, offset, length, access); - // 6.3.1 + public z_MapBuffer: function(target: BufferBindType; access: BufferMapFlags): IntPtr := GetGLFuncOrNil&('glMapBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapBuffer(target: BufferBindType; access: BufferMapFlags): IntPtr := z_MapBuffer(target, access); - static function UnmapBuffer(target: BufferBindType): boolean; - external 'opengl32.dll' name 'glUnmapBuffer'; - static function UnmapNamedBuffer(buffer: BufferName): boolean; - external 'opengl32.dll' name 'glUnmapNamedBuffer'; + public z_FlushMappedNamedBufferRange: procedure(buffer: BufferName; offset: IntPtr; length: UIntPtr) := GetGLFuncOrNil&('glFlushMappedNamedBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushMappedNamedBufferRange(buffer: BufferName; offset: IntPtr; length: UIntPtr) := z_FlushMappedNamedBufferRange(buffer, offset, length); + + public z_FlushMappedBufferRange: procedure(target: BufferBindType; offset: IntPtr; length: UIntPtr) := GetGLFuncOrNil&('glFlushMappedBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushMappedBufferRange(target: BufferBindType; offset: IntPtr; length: UIntPtr) := z_FlushMappedBufferRange(target, offset, length); + + {$region 6.3.1 - Unmapping Buffers} + + public z_UnmapNamedBuffer: function(buffer: BufferName): boolean := GetGLFuncOrNil&('glUnmapNamedBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UnmapNamedBuffer(buffer: BufferName): boolean := z_UnmapNamedBuffer(buffer); + + public z_UnmapBuffer: function(target: BufferBindType): boolean := GetGLFuncOrNil&('glUnmapBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UnmapBuffer(target: BufferBindType): boolean := z_UnmapBuffer(target); + + {$endregion 6.3.1 - Unmapping Buffers} {$endregion 6.3 - Mapping and Unmapping Buffer Data} {$region 6.5 - Invalidating Buffer Data} - static procedure InvalidateBufferSubData(buffer: BufferName; offset: IntPtr; length: UIntPtr); - external 'opengl32.dll' name 'glInvalidateBufferSubData'; + public z_InvalidateBufferSubData: procedure(buffer: BufferName; offset: IntPtr; length: UIntPtr) := GetGLFuncOrNil&('glInvalidateBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateBufferSubData(buffer: BufferName; offset: IntPtr; length: UIntPtr) := z_InvalidateBufferSubData(buffer, offset, length); - static procedure InvalidateBufferData(buffer: BufferName); - external 'opengl32.dll' name 'glInvalidateBufferData'; + public z_InvalidateBufferData: procedure(buffer: BufferName) := GetGLFuncOrNil&('glInvalidateBufferData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateBufferData(buffer: BufferName) := z_InvalidateBufferData(buffer); {$endregion 6.5 - Invalidating Buffer Data} {$region 6.6 - Copying Between Buffers} - static procedure CopyBufferSubData(readTarget, writeTarget: BufferBindType; readOffset, writeOffset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glCopyBufferSubData'; - static procedure CopyNamedBufferSubData(readBuffer, writeBuffer: BufferName; readOffset, writeOffset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glCopyNamedBufferSubData'; + public z_CopyNamedBufferSubData: procedure(readBuffer: BufferName; writeBuffer: BufferName; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glCopyNamedBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyNamedBufferSubData(readBuffer: BufferName; writeBuffer: BufferName; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := z_CopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); + + public z_CopyBufferSubData: procedure(readTarget: BufferBindType; writeTarget: BufferBindType; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glCopyBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyBufferSubData(readTarget: BufferBindType; writeTarget: BufferBindType; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := z_CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); {$endregion 6.6 - Copying Between Buffers} {$region 6.7 - Buffer Object Queries} - static procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: BufferDataUsage); - external 'opengl32.dll' name 'glGetBufferParameteriv'; - static procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: AccessType); - external 'opengl32.dll' name 'glGetBufferParameteriv'; - static procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetBufferParameteriv'; - static procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetBufferParameteriv'; - static procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetBufferParameteriv'; + public z_GetNamedBufferSubData: procedure(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glGetNamedBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: IntPtr) := GetNamedBufferSubData(buffer, offset, size, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: pointer) := z_GetNamedBufferSubData(buffer, offset, size, data); - static procedure GetBufferParameteri64v(target: BufferBindType; pname: BufferInfoType; var ¶ms: Int64); - external 'opengl32.dll' name 'glGetBufferParameteri64v'; - static procedure GetBufferParameteri64v(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetBufferParameteri64v'; + public z_GetNamedBufferPointerv: procedure(buffer: BufferName; pname: BufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedBufferPointerv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferPointerv(buffer: BufferName; pname: BufferInfoType; var ¶ms: IntPtr) := GetNamedBufferPointerv(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferPointerv(buffer: BufferName; pname: BufferInfoType; var ¶ms: ^IntPtr) := GetNamedBufferPointerv(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferPointerv(buffer: BufferName; pname: BufferInfoType; ¶ms: pointer) := z_GetNamedBufferPointerv(buffer, pname, ¶ms); - static procedure GetNamedBufferParameteriv(target: BufferName; pname: BufferInfoType; var ¶ms: BufferDataUsage); - external 'opengl32.dll' name 'glGetNamedBufferParameteriv'; - static procedure GetNamedBufferParameteriv(target: BufferName; pname: BufferInfoType; var ¶ms: AccessType); - external 'opengl32.dll' name 'glGetNamedBufferParameteriv'; - static procedure GetNamedBufferParameteriv(target: BufferName; pname: BufferInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetNamedBufferParameteriv'; - static procedure GetNamedBufferParameteriv(target: BufferName; pname: BufferInfoType; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetNamedBufferParameteriv'; - static procedure GetNamedBufferParameteriv(target: BufferName; pname: BufferInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetNamedBufferParameteriv'; + public z_GetNamedBufferParameteriv: procedure(buffer: BufferName; pname: BufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedBufferParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameteriv(buffer: BufferName; pname: BufferInfoType; var ¶ms: Int32) := GetNamedBufferParameteriv(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameteriv(buffer: BufferName; pname: BufferInfoType; var ¶ms: BufferDataUsage) := GetNamedBufferParameteriv(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameteriv(buffer: BufferName; pname: BufferInfoType; var ¶ms: AccessType) := GetNamedBufferParameteriv(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameteriv(buffer: BufferName; pname: BufferInfoType; var ¶ms: boolean) := GetNamedBufferParameteriv(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameteriv(buffer: BufferName; pname: BufferInfoType; ¶ms: pointer) := z_GetNamedBufferParameteriv(buffer, pname, ¶ms); - static procedure GetNamedBufferParameteri64v(target: BufferName; pname: BufferInfoType; var ¶ms: Int64); - external 'opengl32.dll' name 'glGetNamedBufferParameteri64v'; - static procedure GetNamedBufferParameteri64v(target: BufferName; pname: BufferInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetNamedBufferParameteri64v'; + public z_GetNamedBufferParameteri64v: procedure(buffer: BufferName; pname: BufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedBufferParameteri64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameteri64v(buffer: BufferName; pname: BufferInfoType; var ¶ms: Int64) := GetNamedBufferParameteri64v(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameteri64v(buffer: BufferName; pname: BufferInfoType; ¶ms: pointer) := z_GetNamedBufferParameteri64v(buffer, pname, ¶ms); - static procedure GetBufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: IntPtr); - external 'opengl32.dll' name 'glGetBufferSubData'; - static procedure GetBufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glGetBufferSubData'; + public z_GetBufferSubData: procedure(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glGetBufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: IntPtr) := GetBufferSubData(target, offset, size, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferSubData(target: BufferBindType; offset: IntPtr; size: UIntPtr; data: pointer) := z_GetBufferSubData(target, offset, size, data); - static procedure GetNamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: IntPtr); - external 'opengl32.dll' name 'glGetNamedBufferSubData'; - static procedure GetNamedBufferSubData(buffer: BufferName; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glGetNamedBufferSubData'; + public z_GetBufferPointerv: procedure(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetBufferPointerv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointerv(target: BufferBindType; pname: BufferInfoType; var ¶ms: IntPtr) := GetBufferPointerv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointerv(target: BufferBindType; pname: BufferInfoType; var ¶ms: ^IntPtr) := GetBufferPointerv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointerv(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer) := z_GetBufferPointerv(target, pname, ¶ms); - static procedure GetBufferPointerv(target: BufferBindType; pname: BufferInfoType; var ¶ms: IntPtr); - external 'opengl32.dll' name 'glGetBufferPointerv'; - static procedure GetBufferPointerv(target: BufferBindType; pname: BufferInfoType; var ¶ms: pointer); - external 'opengl32.dll' name 'glGetBufferPointerv'; - static procedure GetBufferPointerv(target: BufferBindType; pname: BufferInfoType; ¶ms: ^IntPtr); - external 'opengl32.dll' name 'glGetBufferPointerv'; + public z_GetBufferParameteriv: procedure(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetBufferParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: Int32) := GetBufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: BufferDataUsage) := GetBufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: AccessType) := GetBufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; var ¶ms: boolean) := GetBufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameteriv(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer) := z_GetBufferParameteriv(target, pname, ¶ms); - static procedure GetNamedBufferPointerv(buffer: BufferName; pname: BufferInfoType; var ¶ms: IntPtr); - external 'opengl32.dll' name 'glGetNamedBufferPointerv'; - static procedure GetNamedBufferPointerv(buffer: BufferName; pname: BufferInfoType; var ¶ms: pointer); - external 'opengl32.dll' name 'glGetNamedBufferPointerv'; - static procedure GetNamedBufferPointerv(buffer: BufferName; pname: BufferInfoType; ¶ms: ^IntPtr); - external 'opengl32.dll' name 'glGetNamedBufferPointerv'; + public z_GetBufferParameteri64v: procedure(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetBufferParameteri64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameteri64v(target: BufferBindType; pname: BufferInfoType; var ¶ms: Int64) := GetBufferParameteri64v(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameteri64v(target: BufferBindType; pname: BufferInfoType; ¶ms: pointer) := z_GetBufferParameteri64v(target, pname, ¶ms); {$endregion 6.7 - Buffer Object Queries} - {$endregion 6.0 - Buffer Objects} + {$endregion 6 - Buffer Objects} - {$region 7.0 - Programs and Shaders} + {$region 7 - Programs and Shaders} {$region 7.1 - Shader Objects} - static function CreateShader(&type: ShaderType): ShaderName; - external 'opengl32.dll' name 'glCreateShader'; + public z_ShaderSource: procedure(shader: ShaderName; count: Int32; string: pointer; length: pointer) := GetGLFuncOrNil&('glShaderSource'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSource(shader: ShaderName; count: Int32; var string: IntPtr; var length: Int32) := ShaderSource(shader, count, @string, @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSource(shader: ShaderName; count: Int32; string: pointer; length: pointer) := z_ShaderSource(shader, count, string, length); - static procedure ShaderSource(shader: ShaderName; count: Int32; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] strings: array of string; [MarshalAs(UnmanagedType.LPArray)] lengths: array of Int32); - external 'opengl32.dll' name 'glShaderSource'; - static procedure ShaderSource(shader: ShaderName; count: Int32; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPStr)] var strings: string; var lengths: Int32); - external 'opengl32.dll' name 'glShaderSource'; - static procedure ShaderSource(shader: ShaderName; count: Int32; var strings: IntPtr; var lengths: Int32); - external 'opengl32.dll' name 'glShaderSource'; - static procedure ShaderSource(shader: ShaderName; count: Int32; strings: pointer; lengths: pointer); - external 'opengl32.dll' name 'glShaderSource'; + public z_ReleaseShaderCompiler: procedure := GetGLFuncOrNil&('glReleaseShaderCompiler'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReleaseShaderCompiler := z_ReleaseShaderCompiler; - static procedure CompileShader(shader: ShaderName); - external 'opengl32.dll' name 'glCompileShader'; + public z_IsShader: function(shader: ShaderName): boolean := GetGLFuncOrNil&('glIsShader'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsShader(shader: ShaderName): boolean := z_IsShader(shader); - static procedure ReleaseShaderCompiler; - external 'opengl32.dll' name 'glReleaseShaderCompiler'; + public z_DeleteShader: procedure(shader: ShaderName) := GetGLFuncOrNil&('glDeleteShader'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteShader(shader: ShaderName) := z_DeleteShader(shader); - static procedure DeleteShader(shader: ShaderName); - external 'opengl32.dll' name 'glDeleteShader'; + public z_CreateShader: function(&type: ShaderType): ShaderName := GetGLFuncOrNil&('glCreateShader'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShader(&type: ShaderType): ShaderName := z_CreateShader(&type); - static function IsShader(shader: ShaderName): boolean; - external 'opengl32.dll' name 'glIsShader'; + public z_CompileShader: procedure(shader: ShaderName) := GetGLFuncOrNil&('glCompileShader'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShader(shader: ShaderName) := z_CompileShader(shader); {$endregion 7.1 - Shader Objects} {$region 7.2 - Shader Binaries} - // для получения binaryformat - // надо вызвать gl.Get... с параметрами: - // GLGetQueries.NUM_SHADER_BINARY_FORMATS - // GLGetQueries.SHADER_BINARY_FORMATS - static procedure ShaderBinary(count: Int32; [MarshalAs(UnmanagedType.LPArray)] shaders: array of ShaderName; binaryformat: ShaderBinaryFormat; [MarshalAs(UnmanagedType.LPArray)] binary: array of byte; length: Int32); - external 'opengl32.dll' name 'glShaderBinary'; - static procedure ShaderBinary(count: Int32; [MarshalAs(UnmanagedType.LPArray)] shaders: array of ShaderName; binaryformat: ShaderBinaryFormat; binary: IntPtr; length: Int32); - external 'opengl32.dll' name 'glShaderBinary'; - static procedure ShaderBinary(count: Int32; var shaders: ShaderName; binaryformat: ShaderBinaryFormat; [MarshalAs(UnmanagedType.LPArray)] binary: array of byte; length: Int32); - external 'opengl32.dll' name 'glShaderBinary'; - static procedure ShaderBinary(count: Int32; var shaders: ShaderName; binaryformat: ShaderBinaryFormat; binary: IntPtr; length: Int32); - external 'opengl32.dll' name 'glShaderBinary'; - static procedure ShaderBinary(count: Int32; shaders: pointer; binaryformat: ShaderBinaryFormat; [MarshalAs(UnmanagedType.LPArray)] binary: array of byte; length: Int32); - external 'opengl32.dll' name 'glShaderBinary'; - static procedure ShaderBinary(count: Int32; shaders: pointer; binaryformat: ShaderBinaryFormat; binary: IntPtr; length: Int32); - external 'opengl32.dll' name 'glShaderBinary'; + public z_ShaderBinary: procedure(count: Int32; shaders: pointer; binaryformat: ShaderBinaryFormat; binary: pointer; length: Int32) := GetGLFuncOrNil&('glShaderBinary'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; shaders: array of ShaderName; binaryformat: ShaderBinaryFormat; binary: array of byte; length: Int32) := ShaderBinary(count, shaders[0], binaryformat, binary[0], length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; shaders: array of ShaderName; binaryformat: ShaderBinaryFormat; binary: byte; length: Int32) := ShaderBinary(count, shaders[0], binaryformat, binary, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; shaders: array of ShaderName; binaryformat: ShaderBinaryFormat; binary: pointer; length: Int32) := ShaderBinary(count, shaders[0], binaryformat, binary, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; var shaders: ShaderName; binaryformat: ShaderBinaryFormat; binary: array of byte; length: Int32) := ShaderBinary(count, @shaders, binaryformat, binary[0], length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; var shaders: ShaderName; binaryformat: ShaderBinaryFormat; binary: byte; length: Int32) := ShaderBinary(count, @shaders, binaryformat, binary, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; var shaders: ShaderName; binaryformat: ShaderBinaryFormat; binary: pointer; length: Int32) := ShaderBinary(count, @shaders, binaryformat, binary, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; shaders: pointer; binaryformat: ShaderBinaryFormat; binary: array of byte; length: Int32) := ShaderBinary(count, shaders, binaryformat, binary[0], length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; shaders: pointer; binaryformat: ShaderBinaryFormat; binary: byte; length: Int32) := ShaderBinary(count, shaders, binaryformat, binary, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderBinary(count: Int32; shaders: pointer; binaryformat: ShaderBinaryFormat; binary: pointer; length: Int32) := z_ShaderBinary(count, shaders, binaryformat, binary, length); - // 7.2.1 + {$region 7.2.1 - Shader Specialization} - static procedure SpecializeShader(shader: ShaderName; [MarshalAs(UnmanagedType.LPStr)] pEntryPoint: string; numSpecializationConstants: UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantIndex: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantValue: array of IntFloatUnion); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; [MarshalAs(UnmanagedType.LPStr)] pEntryPoint: string; numSpecializationConstants: UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantIndex: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantValue: array of Int32); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; [MarshalAs(UnmanagedType.LPStr)] pEntryPoint: string; numSpecializationConstants: UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantIndex: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantValue: array of single); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; [MarshalAs(UnmanagedType.LPStr)] pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: IntFloatUnion); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; [MarshalAs(UnmanagedType.LPStr)] pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: Int32); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; [MarshalAs(UnmanagedType.LPStr)] pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: single); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; [MarshalAs(UnmanagedType.LPStr)] pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantIndex: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantValue: array of IntFloatUnion); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantIndex: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantValue: array of Int32); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantIndex: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] pConstantValue: array of single); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: IntFloatUnion); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: Int32); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: single); - external 'opengl32.dll' name 'glSpecializeShader'; - static procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer); - external 'opengl32.dll' name 'glSpecializeShader'; + public z_SpecializeShader: procedure(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer) := GetGLFuncOrNil&('glSpecializeShader'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of IntFloatUnion); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShader(shader, ptr_2, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of Int32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShader(shader, ptr_2, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of single); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShader(shader, ptr_2, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: IntFloatUnion); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShader(shader, ptr_2, numSpecializationConstants, @pConstantIndex, @pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: Int32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShader(shader, ptr_2, numSpecializationConstants, @pConstantIndex, @pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: single); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShader(shader, ptr_2, numSpecializationConstants, @pConstantIndex, @pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShader(shader, ptr_2, numSpecializationConstants, pConstantIndex, pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of IntFloatUnion) := SpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of Int32) := SpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of single) := SpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: IntFloatUnion) := SpecializeShader(shader, pEntryPoint, numSpecializationConstants, @pConstantIndex, @pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: Int32) := SpecializeShader(shader, pEntryPoint, numSpecializationConstants, @pConstantIndex, @pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: single) := SpecializeShader(shader, pEntryPoint, numSpecializationConstants, @pConstantIndex, @pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShader(shader: ShaderName; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer) := z_SpecializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + + {$endregion 7.2.1 - Shader Specialization} {$endregion 7.2 - Shader Binaries} {$region 7.3 - Program Objects} - static function CreateProgram: ProgramName; - external 'opengl32.dll' name 'glCreateProgram'; + public z_UseProgram: procedure(&program: ProgramName) := GetGLFuncOrNil&('glUseProgram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UseProgram(&program: ProgramName) := z_UseProgram(&program); - static procedure AttachShader(&program: ProgramName; shader: ShaderName); - external 'opengl32.dll' name 'glAttachShader'; + public z_ProgramParameteri: procedure(&program: ProgramName; pname: ProgramParameterType; value: Int32) := GetGLFuncOrNil&('glProgramParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameteri(&program: ProgramName; pname: ProgramParameterType; value: Int32) := z_ProgramParameteri(&program, pname, value); - static procedure DetachShader(&program: ProgramName; shader: ShaderName); - external 'opengl32.dll' name 'glDetachShader'; + public z_LinkProgram: procedure(&program: ProgramName) := GetGLFuncOrNil&('glLinkProgram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LinkProgram(&program: ProgramName) := z_LinkProgram(&program); - static procedure LinkProgram(&program: ProgramName); - external 'opengl32.dll' name 'glLinkProgram'; + public z_IsProgram: function(&program: ProgramName): boolean := GetGLFuncOrNil&('glIsProgram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsProgram(&program: ProgramName): boolean := z_IsProgram(&program); - static procedure UseProgram(&program: ProgramName); - external 'opengl32.dll' name 'glUseProgram'; + public z_DetachShader: procedure(&program: ProgramName; shader: ShaderName) := GetGLFuncOrNil&('glDetachShader'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DetachShader(&program: ProgramName; shader: ShaderName) := z_DetachShader(&program, shader); - static procedure ProgramParameteri(&program: ProgramName; pname: ProgramParameterType; value: Int32); - external 'opengl32.dll' name 'glProgramParameteri'; + public z_DeleteProgram: procedure(&program: ProgramName) := GetGLFuncOrNil&('glDeleteProgram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgram(&program: ProgramName) := z_DeleteProgram(&program); - static procedure DeleteProgram(&program: ProgramName); - external 'opengl32.dll' name 'glDeleteProgram'; + public z_CreateShaderProgramv: function(&type: ShaderType; count: Int32; strings: pointer): ProgramName := GetGLFuncOrNil&('glCreateShaderProgramv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramv(&type: ShaderType; count: Int32; strings: array of IntPtr): ProgramName := CreateShaderProgramv(&type, count, strings[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramv(&type: ShaderType; count: Int32; var strings: IntPtr): ProgramName := CreateShaderProgramv(&type, count, @strings); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramv(&type: ShaderType; count: Int32; strings: pointer): ProgramName := z_CreateShaderProgramv(&type, count, strings); - static function IsProgram(&program: ProgramName): boolean; - external 'opengl32.dll' name 'glIsProgram'; + public z_CreateProgram: function: ProgramName := GetGLFuncOrNil&('glCreateProgram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateProgram: ProgramName := z_CreateProgram; - static function CreateShaderProgramv(&type: ShaderType; count: Int32; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] strings: array of string): ProgramName; - external 'opengl32.dll' name 'glCreateShaderProgramv'; - static function CreateShaderProgramv(&type: ShaderType; count: Int32; [MarshalAs(UnmanagedType.LPArray)] strings: array of IntPtr): ProgramName; - external 'opengl32.dll' name 'glCreateShaderProgramv'; - static function CreateShaderProgramv(&type: ShaderType; count: Int32; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPStr)] var strings: string): ProgramName; - external 'opengl32.dll' name 'glCreateShaderProgramv'; - static function CreateShaderProgramv(&type: ShaderType; count: Int32; var strings: IntPtr): ProgramName; - external 'opengl32.dll' name 'glCreateShaderProgramv'; - static function CreateShaderProgramv(&type: ShaderType; count: Int32; strings: pointer): ProgramName; - external 'opengl32.dll' name 'glCreateShaderProgramv'; + public z_AttachShader: procedure(&program: ProgramName; shader: ShaderName) := GetGLFuncOrNil&('glAttachShader'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AttachShader(&program: ProgramName; shader: ShaderName) := z_AttachShader(&program, shader); - // 7.3.1 + {$region 7.3.1 - Program Interfaces} - // 7.3.1.1 + public z_GetProgramResourceName: procedure(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; length: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetProgramResourceName'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; var length: Int32; name: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(name); GetProgramResourceName(&program, programInterface, index, bufSize, @length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; var length: Int32; name: IntPtr) := GetProgramResourceName(&program, programInterface, index, bufSize, @length, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; length: pointer; name: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(name); GetProgramResourceName(&program, programInterface, index, bufSize, length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; length: pointer; name: IntPtr) := z_GetProgramResourceName(&program, programInterface, index, bufSize, length, name); - static procedure GetProgramInterfaceiv(&program: ProgramName; programInterface: ProgramInterfaceType; pname: ProgramInterfaceInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetProgramInterfaceiv'; - static procedure GetProgramInterfaceiv(&program: ProgramName; programInterface: ProgramInterfaceType; pname: ProgramInterfaceInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetProgramInterfaceiv'; - static procedure GetProgramInterfaceiv(&program: ProgramName; programInterface: ProgramInterfaceType; pname: ProgramInterfaceInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetProgramInterfaceiv'; + public z_GetProgramResourceLocationIndex: function(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetProgramResourceLocationIndex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceLocationIndex(&program: ProgramName; programInterface: ProgramInterfaceType; name: string): Int32; begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); Result := GetProgramResourceLocationIndex(&program, programInterface, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceLocationIndex(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): Int32 := z_GetProgramResourceLocationIndex(&program, programInterface, name); - static function GetProgramResourceIndex(&program: ProgramName; programInterface: ProgramInterfaceType; [MarshalAs(UnmanagedType.LPStr)] name: string): ProgramResourceIndex; - external 'opengl32.dll' name 'glGetProgramResourceIndex'; - static function GetProgramResourceIndex(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): ProgramResourceIndex; - external 'opengl32.dll' name 'glGetProgramResourceIndex'; + public z_GetProgramResourceLocation: function(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetProgramResourceLocation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceLocation(&program: ProgramName; programInterface: ProgramInterfaceType; name: string): Int32; begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); Result := GetProgramResourceLocation(&program, programInterface, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceLocation(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): Int32 := z_GetProgramResourceLocation(&program, programInterface, name); - static procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetProgramResourceName'; - static procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; var length: Int32; name: IntPtr); - external 'opengl32.dll' name 'glGetProgramResourceName'; - static procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetProgramResourceName'; - static procedure GetProgramResourceName(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; bufSize: Int32; length: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetProgramResourceName'; + public z_GetProgramResourceiv: procedure(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; length: pointer; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramResourceiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; length: array of Int32; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, length[0], ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; length: array of Int32; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, length[0], @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; length: array of Int32; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, length[0], ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; var length: Int32; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, @length, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; var length: Int32; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, @length, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; var length: Int32; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, @length, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; length: pointer; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, length, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; length: pointer; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, length, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: array of DummyEnum; bufSize: Int32; length: pointer; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, props[0], bufSize, length, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; length: array of Int32; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, length[0], ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; length: array of Int32; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, length[0], @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; length: array of Int32; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, length[0], ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; var length: Int32; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, @length, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; var length: Int32; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, @length, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; var length: Int32; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, @length, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; length: pointer; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, length, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; length: pointer; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, length, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; var props: DummyEnum; bufSize: Int32; length: pointer; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, @props, bufSize, length, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; length: array of Int32; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, length[0], ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; length: array of Int32; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, length[0], @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; length: array of Int32; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, length[0], ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; var length: Int32; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, @length, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; var length: Int32; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, @length, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; var length: Int32; ¶ms: pointer) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, @length, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; length: pointer; ¶ms: array of Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, length, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; length: pointer; var ¶ms: Int32) := GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, length, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramResourceiv(&program: UInt32; programInterface: DummyEnum; index: UInt32; propCount: Int32; props: pointer; bufSize: Int32; length: pointer; ¶ms: pointer) := z_GetProgramResourceiv(&program, programInterface, index, propCount, props, bufSize, length, ¶ms); - static procedure GetProgramResourceiv(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; propCount: Int32; [MarshalAs(UnmanagedType.LPArray)] props: array of ProgramInterfaceProperty; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetProgramResourceiv'; - static procedure GetProgramResourceiv(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; propCount: Int32; var props: ProgramInterfaceProperty; bufSize: Int32; var length: Int32; var ¶ms: ShadingLanguageTypeToken); - external 'opengl32.dll' name 'glGetProgramResourceiv'; - static procedure GetProgramResourceiv(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; propCount: Int32; var props: ProgramInterfaceProperty; bufSize: Int32; var length: Int32; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetProgramResourceiv'; - static procedure GetProgramResourceiv(&program: ProgramName; programInterface: ProgramInterfaceType; index: ProgramResourceIndex; propCount: Int32; props: pointer; bufSize: Int32; length: pointer; ¶ms: pointer); - external 'opengl32.dll' name 'glGetProgramResourceiv'; + public z_GetProgramResourceIndex: function(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): ProgramResourceIndex := GetGLFuncOrNil&('glGetProgramResourceIndex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceIndex(&program: ProgramName; programInterface: ProgramInterfaceType; name: string): ProgramResourceIndex; begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); Result := GetProgramResourceIndex(&program, programInterface, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceIndex(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): ProgramResourceIndex := z_GetProgramResourceIndex(&program, programInterface, name); - static function GetProgramResourceLocation(&program: ProgramName; programInterface: ProgramInterfaceType; [MarshalAs(UnmanagedType.LPStr)] name: string): Int32; - external 'opengl32.dll' name 'glGetProgramResourceLocation'; - static function GetProgramResourceLocation(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): Int32; - external 'opengl32.dll' name 'glGetProgramResourceLocation'; + public z_GetProgramInterfaceiv: procedure(&program: ProgramName; programInterface: ProgramInterfaceType; pname: ProgramInterfaceInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramInterfaceiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramInterfaceiv(&program: ProgramName; programInterface: ProgramInterfaceType; pname: ProgramInterfaceInfoType; ¶ms: array of Int32) := GetProgramInterfaceiv(&program, programInterface, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramInterfaceiv(&program: ProgramName; programInterface: ProgramInterfaceType; pname: ProgramInterfaceInfoType; var ¶ms: Int32) := GetProgramInterfaceiv(&program, programInterface, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramInterfaceiv(&program: ProgramName; programInterface: ProgramInterfaceType; pname: ProgramInterfaceInfoType; ¶ms: pointer) := z_GetProgramInterfaceiv(&program, programInterface, pname, ¶ms); - static function GetProgramResourceLocationIndex(&program: ProgramName; programInterface: ProgramInterfaceType; [MarshalAs(UnmanagedType.LPStr)] name: string): Int32; - external 'opengl32.dll' name 'glGetProgramResourceLocationIndex'; - static function GetProgramResourceLocationIndex(&program: ProgramName; programInterface: ProgramInterfaceType; name: IntPtr): Int32; - external 'opengl32.dll' name 'glGetProgramResourceLocationIndex'; + {$endregion 7.3.1 - Program Interfaces} {$endregion 7.3 - Program Objects} {$region 7.4 - Program Pipeline Objects} - static procedure GenProgramPipelines(n: Int32; [MarshalAs(UnmanagedType.LPArray)] pipelines: array of ProgramPipelineName); - external 'opengl32.dll' name 'glGenProgramPipelines'; - static procedure GenProgramPipelines(n: Int32; var pipelines: ProgramPipelineName); - external 'opengl32.dll' name 'glGenProgramPipelines'; - static procedure GenProgramPipelines(n: Int32; pipelines: pointer); - external 'opengl32.dll' name 'glGenProgramPipelines'; + public z_UseProgramStages: procedure(pipeline: ProgramPipelineName; stages: ProgramStagesFlags; &program: ProgramName) := GetGLFuncOrNil&('glUseProgramStages'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UseProgramStages(pipeline: ProgramPipelineName; stages: ProgramStagesFlags; &program: ProgramName) := z_UseProgramStages(pipeline, stages, &program); - static procedure DeleteProgramPipelines(n: Int32; [MarshalAs(UnmanagedType.LPArray)] pipelines: array of ProgramPipelineName); - external 'opengl32.dll' name 'glDeleteProgramPipelines'; - static procedure DeleteProgramPipelines(n: Int32; var pipelines: ProgramPipelineName); - external 'opengl32.dll' name 'glDeleteProgramPipelines'; - static procedure DeleteProgramPipelines(n: Int32; pipelines: pointer); - external 'opengl32.dll' name 'glDeleteProgramPipelines'; + public z_IsProgramPipeline: function(pipeline: ProgramPipelineName): boolean := GetGLFuncOrNil&('glIsProgramPipeline'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsProgramPipeline(pipeline: ProgramPipelineName): boolean := z_IsProgramPipeline(pipeline); - static function IsProgramPipeline(pipeline: ProgramPipelineName): boolean; - external 'opengl32.dll' name 'glIsProgramPipeline'; + public z_GenProgramPipelines: procedure(n: Int32; pipelines: pointer) := GetGLFuncOrNil&('glGenProgramPipelines'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramPipelines(n: Int32; pipelines: array of ProgramPipelineName) := GenProgramPipelines(n, pipelines[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramPipelines(n: Int32; var pipelines: ProgramPipelineName) := GenProgramPipelines(n, @pipelines); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramPipelines(n: Int32; pipelines: pointer) := z_GenProgramPipelines(n, pipelines); - static procedure BindProgramPipeline(pipeline: ProgramPipelineName); - external 'opengl32.dll' name 'glBindProgramPipeline'; + public z_DeleteProgramPipelines: procedure(n: Int32; pipelines: pointer) := GetGLFuncOrNil&('glDeleteProgramPipelines'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramPipelines(n: Int32; pipelines: array of ProgramPipelineName) := DeleteProgramPipelines(n, pipelines[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramPipelines(n: Int32; var pipelines: ProgramPipelineName) := DeleteProgramPipelines(n, @pipelines); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramPipelines(n: Int32; pipelines: pointer) := z_DeleteProgramPipelines(n, pipelines); - static procedure CreateProgramPipelines(n: Int32; [MarshalAs(UnmanagedType.LPArray)] pipelines: array of ProgramPipelineName); - external 'opengl32.dll' name 'glCreateProgramPipelines'; - static procedure CreateProgramPipelines(n: Int32; var pipelines: ProgramPipelineName); - external 'opengl32.dll' name 'glCreateProgramPipelines'; - static procedure CreateProgramPipelines(n: Int32; pipelines: pointer); - external 'opengl32.dll' name 'glCreateProgramPipelines'; + public z_CreateProgramPipelines: procedure(n: Int32; pipelines: pointer) := GetGLFuncOrNil&('glCreateProgramPipelines'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateProgramPipelines(n: Int32; pipelines: array of ProgramPipelineName) := CreateProgramPipelines(n, pipelines[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateProgramPipelines(n: Int32; var pipelines: ProgramPipelineName) := CreateProgramPipelines(n, @pipelines); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateProgramPipelines(n: Int32; pipelines: pointer) := z_CreateProgramPipelines(n, pipelines); - static procedure UseProgramStages(pipeline: ProgramPipelineName; stages: ProgramStagesFlags; &program: ProgramName); - external 'opengl32.dll' name 'glUseProgramStages'; + public z_BindProgramPipeline: procedure(pipeline: ProgramPipelineName) := GetGLFuncOrNil&('glBindProgramPipeline'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindProgramPipeline(pipeline: ProgramPipelineName) := z_BindProgramPipeline(pipeline); - static procedure ActiveShaderProgram(pipeline: ProgramPipelineName; &program: ProgramName); - external 'opengl32.dll' name 'glActiveShaderProgram'; + public z_ActiveShaderProgram: procedure(pipeline: ProgramPipelineName; &program: ProgramName) := GetGLFuncOrNil&('glActiveShaderProgram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveShaderProgram(pipeline: ProgramPipelineName; &program: ProgramName) := z_ActiveShaderProgram(pipeline, &program); {$endregion 7.4 - Program Pipeline Objects} {$region 7.5 - Program Binaries} - static procedure GetProgramBinary(&program: ProgramName; bufSize: Int32; var length: Int32; var binaryFormat: ProgramBinaryFormat; [MarshalAs(UnmanagedType.LPArray)] binary: array of byte); - external 'opengl32.dll' name 'glGetProgramBinary'; - static procedure GetProgramBinary(&program: ProgramName; bufSize: Int32; var length: Int32; var binaryFormat: ProgramBinaryFormat; binary: IntPtr); - external 'opengl32.dll' name 'glGetProgramBinary'; - static procedure GetProgramBinary(&program: ProgramName; bufSize: Int32; length: pointer; binaryFormat: pointer; [MarshalAs(UnmanagedType.LPArray)] binary: array of byte); - external 'opengl32.dll' name 'glGetProgramBinary'; - static procedure GetProgramBinary(&program: ProgramName; bufSize: Int32; length: pointer; binaryFormat: pointer; binary: IntPtr); - external 'opengl32.dll' name 'glGetProgramBinary'; + public z_ProgramBinary: procedure(&program: UInt32; binaryFormat: DummyEnum; binary: pointer; length: Int32) := GetGLFuncOrNil&('glProgramBinary'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBinary(&program: UInt32; binaryFormat: DummyEnum; binary: pointer; length: Int32) := z_ProgramBinary(&program, binaryFormat, binary, length); - static procedure ProgramBinary(&program: ProgramName; binaryFormat: ProgramBinaryFormat; [MarshalAs(UnmanagedType.LPArray)] binary: array of byte; length: Int32); - external 'opengl32.dll' name 'glProgramBinary'; - static procedure ProgramBinary(&program: ProgramName; binaryFormat: ProgramBinaryFormat; binary: IntPtr; length: Int32); - external 'opengl32.dll' name 'glProgramBinary'; + public z_GetProgramBinary: procedure(&program: UInt32; bufSize: Int32; length: pointer; binaryFormat: pointer; binary: pointer) := GetGLFuncOrNil&('glGetProgramBinary'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; length: array of Int32; binaryFormat: array of DummyEnum; binary: pointer) := GetProgramBinary(&program, bufSize, length[0], binaryFormat[0], binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; length: array of Int32; var binaryFormat: DummyEnum; binary: pointer) := GetProgramBinary(&program, bufSize, length[0], @binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; length: array of Int32; binaryFormat: pointer; binary: pointer) := GetProgramBinary(&program, bufSize, length[0], binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; var length: Int32; binaryFormat: array of DummyEnum; binary: pointer) := GetProgramBinary(&program, bufSize, @length, binaryFormat[0], binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; var length: Int32; var binaryFormat: DummyEnum; binary: pointer) := GetProgramBinary(&program, bufSize, @length, @binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; var length: Int32; binaryFormat: pointer; binary: pointer) := GetProgramBinary(&program, bufSize, @length, binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; length: pointer; binaryFormat: array of DummyEnum; binary: pointer) := GetProgramBinary(&program, bufSize, length, binaryFormat[0], binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; length: pointer; var binaryFormat: DummyEnum; binary: pointer) := GetProgramBinary(&program, bufSize, length, @binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinary(&program: UInt32; bufSize: Int32; length: pointer; binaryFormat: pointer; binary: pointer) := z_GetProgramBinary(&program, bufSize, length, binaryFormat, binary); {$endregion 7.5 - Program Binaries} {$region 7.6 - Uniform Variables} - static function GetUniformLocation(&program: ProgramName; [MarshalAs(UnmanagedType.LPStr)] name: string): Int32; - external 'opengl32.dll' name 'glGetUniformLocation'; - static function GetUniformLocation(&program: ProgramName; name: IntPtr): Int32; - external 'opengl32.dll' name 'glGetUniformLocation'; - - static procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] uniformName: string); - external 'opengl32.dll' name 'glGetActiveUniformName'; - static procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; var length: Int32; uniformName: IntPtr); - external 'opengl32.dll' name 'glGetActiveUniformName'; - static procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] uniformName: string); - external 'opengl32.dll' name 'glGetActiveUniformName'; - static procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; length: pointer; uniformName: IntPtr); - external 'opengl32.dll' name 'glGetActiveUniformName'; - - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] uniformNames: array of string; [MarshalAs(UnmanagedType.LPArray)] uniformIndices: array of UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] uniformNames: array of string; var uniformIndices: UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] uniformNames: array of string; uniformIndices: pointer); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.LPArray)] uniformNames: array of IntPtr; [MarshalAs(UnmanagedType.LPArray)] uniformIndices: array of UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.LPArray)] uniformNames: array of IntPtr; var uniformIndices: UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.LPArray)] uniformNames: array of IntPtr; uniformIndices: pointer); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPStr)] var uniformNames: string; [MarshalAs(UnmanagedType.LPArray)] uniformIndices: array of UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPStr)] var uniformNames: string; var uniformIndices: UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPStr)] var uniformNames: string; uniformIndices: pointer); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; var uniformNames: IntPtr; [MarshalAs(UnmanagedType.LPArray)] uniformIndices: array of UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; var uniformNames: IntPtr; var uniformIndices: UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; var uniformNames: IntPtr; uniformIndices: pointer); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: pointer; [MarshalAs(UnmanagedType.LPArray)] uniformIndices: array of UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: pointer; var uniformIndices: UInt32); - external 'opengl32.dll' name 'glGetUniformIndices'; - static procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: pointer; uniformIndices: pointer); - external 'opengl32.dll' name 'glGetUniformIndices'; - - static procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ShadingLanguageTypeToken; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveUniform'; - static procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ShadingLanguageTypeToken; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveUniform'; - static procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveUniform'; - static procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveUniform'; - - static procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; [MarshalAs(UnmanagedType.LPArray)] uniformIndices: array of UInt32; pname: ProgramInterfaceProperty; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetActiveUniformsiv'; - static procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; var uniformIndices: UInt32; pname: ProgramInterfaceProperty; var ¶ms: ShadingLanguageTypeToken); - external 'opengl32.dll' name 'glGetActiveUniformsiv'; - static procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; var uniformIndices: UInt32; pname: ProgramInterfaceProperty; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetActiveUniformsiv'; - static procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; uniformIndices: pointer; pname: ProgramInterfaceProperty; ¶ms: pointer); - external 'opengl32.dll' name 'glGetActiveUniformsiv'; - - static function GetUniformBlockIndex(&program: ProgramName; [MarshalAs(UnmanagedType.LPStr)] uniformBlockName: string): UInt32; - external 'opengl32.dll' name 'glGetUniformBlockIndex'; - static function GetUniformBlockIndex(&program: ProgramName; uniformBlockName: IntPtr): UInt32; - external 'opengl32.dll' name 'glGetUniformBlockIndex'; - - static procedure GetActiveUniformBlockName(&program: ProgramName; uniformBlockIndex: UInt32; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] uniformBlockName: string); - external 'opengl32.dll' name 'glGetActiveUniformBlockName'; - static procedure GetActiveUniformBlockName(&program: ProgramName; uniformBlockIndex: UInt32; bufSize: Int32; length: pointer; uniformBlockName: IntPtr); - external 'opengl32.dll' name 'glGetActiveUniformBlockName'; - - static procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetActiveUniformBlockiv'; - static procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: ShadingLanguageTypeToken); - external 'opengl32.dll' name 'glGetActiveUniformBlockiv'; - static procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetActiveUniformBlockiv'; - static procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: pointer); - external 'opengl32.dll' name 'glGetActiveUniformBlockiv'; - - static procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetActiveAtomicCounterBufferiv'; - static procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: ShadingLanguageTypeToken); - external 'opengl32.dll' name 'glGetActiveAtomicCounterBufferiv'; - static procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetActiveAtomicCounterBufferiv'; - static procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: pointer); - external 'opengl32.dll' name 'glGetActiveAtomicCounterBufferiv'; - - // 7.6.1 - - {$region Uniform[1,2,3,4][i,f,d,ui]} - - static procedure Uniform1i(location: Int32; v0: Int32); - external 'opengl32.dll' name 'glUniform1i'; - - static procedure Uniform2i(location: Int32; v0: Int32; v1: Int32); - external 'opengl32.dll' name 'glUniform2i'; - - static procedure Uniform3i(location: Int32; v0: Int32; v1: Int32; v2: Int32); - external 'opengl32.dll' name 'glUniform3i'; - - static procedure Uniform4i(location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32); - external 'opengl32.dll' name 'glUniform4i'; - - static procedure Uniform1f(location: Int32; v0: single); - external 'opengl32.dll' name 'glUniform1f'; - - static procedure Uniform2f(location: Int32; v0: single; v1: single); - external 'opengl32.dll' name 'glUniform2f'; - - static procedure Uniform3f(location: Int32; v0: single; v1: single; v2: single); - external 'opengl32.dll' name 'glUniform3f'; - - static procedure Uniform4f(location: Int32; v0: single; v1: single; v2: single; v3: single); - external 'opengl32.dll' name 'glUniform4f'; - - static procedure Uniform1d(location: Int32; x: double); - external 'opengl32.dll' name 'glUniform1d'; - - static procedure Uniform2d(location: Int32; x: double; y: double); - external 'opengl32.dll' name 'glUniform2d'; - - static procedure Uniform3d(location: Int32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glUniform3d'; - - static procedure Uniform4d(location: Int32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glUniform4d'; - - static procedure Uniform1ui(location: Int32; v0: UInt32); - external 'opengl32.dll' name 'glUniform1ui'; - - static procedure Uniform2ui(location: Int32; v0: UInt32; v1: UInt32); - external 'opengl32.dll' name 'glUniform2ui'; - - static procedure Uniform3ui(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32); - external 'opengl32.dll' name 'glUniform3ui'; - - static procedure Uniform4ui(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32); - external 'opengl32.dll' name 'glUniform4ui'; - - {$endregion Uniform[1,2,3,4][i,f,d,ui]} - - {$region Uniform[1,2,3,4][i,f,d,ui]v} - - static procedure Uniform1iv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glUniform1iv'; - static procedure Uniform1iv(location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glUniform1iv'; - static procedure Uniform1iv(location: Int32; count: Int32; var value: Vec1i); - external 'opengl32.dll' name 'glUniform1iv'; - static procedure Uniform1iv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform1iv'; - - static procedure Uniform2iv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glUniform2iv'; - static procedure Uniform2iv(location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glUniform2iv'; - static procedure Uniform2iv(location: Int32; count: Int32; var value: Vec2i); - external 'opengl32.dll' name 'glUniform2iv'; - static procedure Uniform2iv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform2iv'; - - static procedure Uniform3iv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glUniform3iv'; - static procedure Uniform3iv(location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glUniform3iv'; - static procedure Uniform3iv(location: Int32; count: Int32; var value: Vec3i); - external 'opengl32.dll' name 'glUniform3iv'; - static procedure Uniform3iv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform3iv'; - - static procedure Uniform4iv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glUniform4iv'; - static procedure Uniform4iv(location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glUniform4iv'; - static procedure Uniform4iv(location: Int32; count: Int32; var value: Vec4i); - external 'opengl32.dll' name 'glUniform4iv'; - static procedure Uniform4iv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform4iv'; - - static procedure Uniform1fv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniform1fv'; - static procedure Uniform1fv(location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glUniform1fv'; - static procedure Uniform1fv(location: Int32; count: Int32; var value: Vec1f); - external 'opengl32.dll' name 'glUniform1fv'; - static procedure Uniform1fv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform1fv'; - - static procedure Uniform2fv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniform2fv'; - static procedure Uniform2fv(location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glUniform2fv'; - static procedure Uniform2fv(location: Int32; count: Int32; var value: Vec2f); - external 'opengl32.dll' name 'glUniform2fv'; - static procedure Uniform2fv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform2fv'; - - static procedure Uniform3fv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniform3fv'; - static procedure Uniform3fv(location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glUniform3fv'; - static procedure Uniform3fv(location: Int32; count: Int32; var value: Vec3f); - external 'opengl32.dll' name 'glUniform3fv'; - static procedure Uniform3fv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform3fv'; - - static procedure Uniform4fv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniform4fv'; - static procedure Uniform4fv(location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glUniform4fv'; - static procedure Uniform4fv(location: Int32; count: Int32; var value: Vec4f); - external 'opengl32.dll' name 'glUniform4fv'; - static procedure Uniform4fv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform4fv'; - - static procedure Uniform1dv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniform1dv'; - static procedure Uniform1dv(location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glUniform1dv'; - static procedure Uniform1dv(location: Int32; count: Int32; var value: Vec1d); - external 'opengl32.dll' name 'glUniform1dv'; - static procedure Uniform1dv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform1dv'; - - static procedure Uniform2dv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniform2dv'; - static procedure Uniform2dv(location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glUniform2dv'; - static procedure Uniform2dv(location: Int32; count: Int32; var value: Vec2d); - external 'opengl32.dll' name 'glUniform2dv'; - static procedure Uniform2dv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform2dv'; - - static procedure Uniform3dv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniform3dv'; - static procedure Uniform3dv(location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glUniform3dv'; - static procedure Uniform3dv(location: Int32; count: Int32; var value: Vec3d); - external 'opengl32.dll' name 'glUniform3dv'; - static procedure Uniform3dv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform3dv'; - - static procedure Uniform4dv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniform4dv'; - static procedure Uniform4dv(location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glUniform4dv'; - static procedure Uniform4dv(location: Int32; count: Int32; var value: Vec4d); - external 'opengl32.dll' name 'glUniform4dv'; - static procedure Uniform4dv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform4dv'; - - static procedure Uniform1uiv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glUniform1uiv'; - static procedure Uniform1uiv(location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glUniform1uiv'; - static procedure Uniform1uiv(location: Int32; count: Int32; var value: Vec1ui); - external 'opengl32.dll' name 'glUniform1uiv'; - static procedure Uniform1uiv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform1uiv'; - - static procedure Uniform2uiv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glUniform2uiv'; - static procedure Uniform2uiv(location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glUniform2uiv'; - static procedure Uniform2uiv(location: Int32; count: Int32; var value: Vec2ui); - external 'opengl32.dll' name 'glUniform2uiv'; - static procedure Uniform2uiv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform2uiv'; - - static procedure Uniform3uiv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glUniform3uiv'; - static procedure Uniform3uiv(location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glUniform3uiv'; - static procedure Uniform3uiv(location: Int32; count: Int32; var value: Vec3ui); - external 'opengl32.dll' name 'glUniform3uiv'; - static procedure Uniform3uiv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform3uiv'; - - static procedure Uniform4uiv(location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glUniform4uiv'; - static procedure Uniform4uiv(location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glUniform4uiv'; - static procedure Uniform4uiv(location: Int32; count: Int32; var value: Vec4ui); - external 'opengl32.dll' name 'glUniform4uiv'; - static procedure Uniform4uiv(location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glUniform4uiv'; - - {$endregion Uniform[1,2,3,4][i,f,d,ui]v} - - {$region UniformMatrix[2,3,4][f,d]v} - - static procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix2fv'; - static procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix2fv'; - static procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2f); - external 'opengl32.dll' name 'glUniformMatrix2fv'; - static procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix2fv'; - - static procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix3fv'; - static procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix3fv'; - static procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3f); - external 'opengl32.dll' name 'glUniformMatrix3fv'; - static procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix3fv'; - - static procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix4fv'; - static procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix4fv'; - static procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4f); - external 'opengl32.dll' name 'glUniformMatrix4fv'; - static procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix4fv'; - - static procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix2dv'; - static procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix2dv'; - static procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2d); - external 'opengl32.dll' name 'glUniformMatrix2dv'; - static procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix2dv'; - - static procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix3dv'; - static procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix3dv'; - static procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3d); - external 'opengl32.dll' name 'glUniformMatrix3dv'; - static procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix3dv'; - - static procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix4dv'; - static procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix4dv'; - static procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4d); - external 'opengl32.dll' name 'glUniformMatrix4dv'; - static procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix4dv'; - - {$endregion UniformMatrix[2,3,4][f,d]v} - - {$region UniformMatrix[2x3,3x2,2x4,4x2,3x4,4x3][f,d]v} - - static procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix2x3fv'; - static procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix2x3fv'; - static procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3f); - external 'opengl32.dll' name 'glUniformMatrix2x3fv'; - static procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix2x3fv'; - - static procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix3x2fv'; - static procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix3x2fv'; - static procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2f); - external 'opengl32.dll' name 'glUniformMatrix3x2fv'; - static procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix3x2fv'; - - static procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix2x4fv'; - static procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix2x4fv'; - static procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4f); - external 'opengl32.dll' name 'glUniformMatrix2x4fv'; - static procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix2x4fv'; - - static procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix4x2fv'; - static procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix4x2fv'; - static procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2f); - external 'opengl32.dll' name 'glUniformMatrix4x2fv'; - static procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix4x2fv'; - - static procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix3x4fv'; - static procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix3x4fv'; - static procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4f); - external 'opengl32.dll' name 'glUniformMatrix3x4fv'; - static procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix3x4fv'; - - static procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glUniformMatrix4x3fv'; - static procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glUniformMatrix4x3fv'; - static procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3f); - external 'opengl32.dll' name 'glUniformMatrix4x3fv'; - static procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix4x3fv'; - - static procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix2x3dv'; - static procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix2x3dv'; - static procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3d); - external 'opengl32.dll' name 'glUniformMatrix2x3dv'; - static procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix2x3dv'; - - static procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix3x2dv'; - static procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix3x2dv'; - static procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2d); - external 'opengl32.dll' name 'glUniformMatrix3x2dv'; - static procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix3x2dv'; - - static procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix2x4dv'; - static procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix2x4dv'; - static procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4d); - external 'opengl32.dll' name 'glUniformMatrix2x4dv'; - static procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix2x4dv'; - - static procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix4x2dv'; - static procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix4x2dv'; - static procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2d); - external 'opengl32.dll' name 'glUniformMatrix4x2dv'; - static procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix4x2dv'; - - static procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix3x4dv'; - static procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix3x4dv'; - static procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4d); - external 'opengl32.dll' name 'glUniformMatrix3x4dv'; - static procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix3x4dv'; - - static procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glUniformMatrix4x3dv'; - static procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glUniformMatrix4x3dv'; - static procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3d); - external 'opengl32.dll' name 'glUniformMatrix4x3dv'; - static procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glUniformMatrix4x3dv'; - - {$endregion UniformMatrix[2x3,3x2,2x4,4x2,3x4,4x3][f,d]v} - - {$region ProgramUniform[1,2,3,4][i,f,d,ui]} - - static procedure ProgramUniform1i(&program: ProgramName; location: Int32; v0: Int32); - external 'opengl32.dll' name 'glProgramUniform1i'; - - static procedure ProgramUniform2i(&program: ProgramName; location: Int32; v0: Int32; v1: Int32); - external 'opengl32.dll' name 'glProgramUniform2i'; - - static procedure ProgramUniform3i(&program: ProgramName; location: Int32; v0: Int32; v1: Int32; v2: Int32); - external 'opengl32.dll' name 'glProgramUniform3i'; - - static procedure ProgramUniform4i(&program: ProgramName; location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32); - external 'opengl32.dll' name 'glProgramUniform4i'; - - static procedure ProgramUniform1f(&program: ProgramName; location: Int32; v0: single); - external 'opengl32.dll' name 'glProgramUniform1f'; - - static procedure ProgramUniform2f(&program: ProgramName; location: Int32; v0: single; v1: single); - external 'opengl32.dll' name 'glProgramUniform2f'; - - static procedure ProgramUniform3f(&program: ProgramName; location: Int32; v0: single; v1: single; v2: single); - external 'opengl32.dll' name 'glProgramUniform3f'; - - static procedure ProgramUniform4f(&program: ProgramName; location: Int32; v0: single; v1: single; v2: single; v3: single); - external 'opengl32.dll' name 'glProgramUniform4f'; - - static procedure ProgramUniform1d(&program: ProgramName; location: Int32; x: double); - external 'opengl32.dll' name 'glProgramUniform1d'; - - static procedure ProgramUniform2d(&program: ProgramName; location: Int32; x: double; y: double); - external 'opengl32.dll' name 'glProgramUniform2d'; - - static procedure ProgramUniform3d(&program: ProgramName; location: Int32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glProgramUniform3d'; - - static procedure ProgramUniform4d(&program: ProgramName; location: Int32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glProgramUniform4d'; - - static procedure ProgramUniform1ui(&program: ProgramName; location: Int32; v0: UInt32); - external 'opengl32.dll' name 'glProgramUniform1ui'; - - static procedure ProgramUniform2ui(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32); - external 'opengl32.dll' name 'glProgramUniform2ui'; - - static procedure ProgramUniform3ui(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32); - external 'opengl32.dll' name 'glProgramUniform3ui'; - - static procedure ProgramUniform4ui(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32); - external 'opengl32.dll' name 'glProgramUniform4ui'; - - {$endregion ProgramUniform[1,2,3,4][i,f,d,ui]} - - {$region ProgramUniform[1,2,3,4][i,f,d,ui]v} - - static procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glProgramUniform1iv'; - static procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glProgramUniform1iv'; - static procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1i); - external 'opengl32.dll' name 'glProgramUniform1iv'; - static procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform1iv'; - - static procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glProgramUniform2iv'; - static procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glProgramUniform2iv'; - static procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2i); - external 'opengl32.dll' name 'glProgramUniform2iv'; - static procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform2iv'; - - static procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glProgramUniform3iv'; - static procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glProgramUniform3iv'; - static procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3i); - external 'opengl32.dll' name 'glProgramUniform3iv'; - static procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform3iv'; - - static procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glProgramUniform4iv'; - static procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32); - external 'opengl32.dll' name 'glProgramUniform4iv'; - static procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4i); - external 'opengl32.dll' name 'glProgramUniform4iv'; - static procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform4iv'; - - static procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniform1fv'; - static procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glProgramUniform1fv'; - static procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1f); - external 'opengl32.dll' name 'glProgramUniform1fv'; - static procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform1fv'; - - static procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniform2fv'; - static procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glProgramUniform2fv'; - static procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2f); - external 'opengl32.dll' name 'glProgramUniform2fv'; - static procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform2fv'; - - static procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniform3fv'; - static procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glProgramUniform3fv'; - static procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3f); - external 'opengl32.dll' name 'glProgramUniform3fv'; - static procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform3fv'; - - static procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniform4fv'; - static procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; var value: single); - external 'opengl32.dll' name 'glProgramUniform4fv'; - static procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4f); - external 'opengl32.dll' name 'glProgramUniform4fv'; - static procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform4fv'; - - static procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniform1dv'; - static procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glProgramUniform1dv'; - static procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1d); - external 'opengl32.dll' name 'glProgramUniform1dv'; - static procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform1dv'; - - static procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniform2dv'; - static procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glProgramUniform2dv'; - static procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2d); - external 'opengl32.dll' name 'glProgramUniform2dv'; - static procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform2dv'; - - static procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniform3dv'; - static procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glProgramUniform3dv'; - static procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3d); - external 'opengl32.dll' name 'glProgramUniform3dv'; - static procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform3dv'; - - static procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniform4dv'; - static procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; var value: double); - external 'opengl32.dll' name 'glProgramUniform4dv'; - static procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4d); - external 'opengl32.dll' name 'glProgramUniform4dv'; - static procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform4dv'; - - static procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glProgramUniform1uiv'; - static procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glProgramUniform1uiv'; - static procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1ui); - external 'opengl32.dll' name 'glProgramUniform1uiv'; - static procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform1uiv'; - - static procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glProgramUniform2uiv'; - static procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glProgramUniform2uiv'; - static procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2ui); - external 'opengl32.dll' name 'glProgramUniform2uiv'; - static procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform2uiv'; - - static procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glProgramUniform3uiv'; - static procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glProgramUniform3uiv'; - static procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3ui); - external 'opengl32.dll' name 'glProgramUniform3uiv'; - static procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform3uiv'; - - static procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glProgramUniform4uiv'; - static procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32); - external 'opengl32.dll' name 'glProgramUniform4uiv'; - static procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4ui); - external 'opengl32.dll' name 'glProgramUniform4uiv'; - static procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer); - external 'opengl32.dll' name 'glProgramUniform4uiv'; - - {$endregion ProgramUniform[1,2,3,4][i,f,d,ui]v} - - {$region ProgramUniformMatrix[2,3,4][f,d]v} - - static procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix2fv'; - static procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix2fv'; - static procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2f); - external 'opengl32.dll' name 'glProgramUniformMatrix2fv'; - static procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix2fv'; - - static procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix3fv'; - static procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix3fv'; - static procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3f); - external 'opengl32.dll' name 'glProgramUniformMatrix3fv'; - static procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix3fv'; - - static procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix4fv'; - static procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix4fv'; - static procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4f); - external 'opengl32.dll' name 'glProgramUniformMatrix4fv'; - static procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix4fv'; - - static procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix2dv'; - static procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix2dv'; - static procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2d); - external 'opengl32.dll' name 'glProgramUniformMatrix2dv'; - static procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix2dv'; - - static procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix3dv'; - static procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix3dv'; - static procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3d); - external 'opengl32.dll' name 'glProgramUniformMatrix3dv'; - static procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix3dv'; - - static procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix4dv'; - static procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix4dv'; - static procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4d); - external 'opengl32.dll' name 'glProgramUniformMatrix4dv'; - static procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix4dv'; - - {$endregion ProgramUniformMatrix[2,3,4][f,d]v} - - {$region ProgramUniformMatrix[2x3,3x2,2x4,4x2,3x4,4x3][f,d]v} - - static procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3fv'; - static procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3fv'; - static procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3f); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3fv'; - static procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3fv'; - - static procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2fv'; - static procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2fv'; - static procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2f); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2fv'; - static procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2fv'; - - static procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4fv'; - static procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4fv'; - static procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4f); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4fv'; - static procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4fv'; - - static procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2fv'; - static procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2fv'; - static procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2f); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2fv'; - static procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2fv'; - - static procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4fv'; - static procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4fv'; - static procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4f); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4fv'; - static procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4fv'; - - static procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3fv'; - static procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3fv'; - static procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3f); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3fv'; - static procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3fv'; - - static procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3dv'; - static procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3dv'; - static procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3d); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3dv'; - static procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3dv'; - - static procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2dv'; - static procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2dv'; - static procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2d); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2dv'; - static procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2dv'; - - static procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4dv'; - static procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4dv'; - static procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4d); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4dv'; - static procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4dv'; - - static procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2dv'; - static procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2dv'; - static procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2d); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2dv'; - static procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2dv'; - - static procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4dv'; - static procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4dv'; - static procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4d); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4dv'; - static procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4dv'; - - static procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; [MarshalAs(UnmanagedType.LPArray)] value: array of double); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3dv'; - static procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3dv'; - static procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3d); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3dv'; - static procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3dv'; - - {$endregion ProgramUniformMatrix[2x3,3x2,2x4,4x2,3x4,4x3][f,d]v} - - // 7.6.3 - - static procedure UniformBlockBinding(&program: ProgramName; uniformBlockIndex: UInt32; uniformBlockBinding: UInt32); - external 'opengl32.dll' name 'glUniformBlockBinding'; + public z_GetUniformLocation: function(&program: ProgramName; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetUniformLocation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformLocation(&program: ProgramName; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetUniformLocation(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformLocation(&program: ProgramName; name: IntPtr): Int32 := z_GetUniformLocation(&program, name); + + public z_GetUniformIndices: procedure(&program: ProgramName; uniformCount: Int32; uniformNames: pointer; uniformIndices: pointer) := GetGLFuncOrNil&('glGetUniformIndices'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: array of IntPtr; uniformIndices: array of UInt32) := GetUniformIndices(&program, uniformCount, uniformNames[0], uniformIndices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: array of IntPtr; var uniformIndices: ProgramName) := GetUniformIndices(&program, uniformCount, uniformNames[0], @uniformIndices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: array of IntPtr; uniformIndices: pointer) := GetUniformIndices(&program, uniformCount, uniformNames[0], uniformIndices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; var uniformNames: IntPtr; uniformIndices: array of UInt32) := GetUniformIndices(&program, uniformCount, @uniformNames, uniformIndices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; var uniformNames: IntPtr; var uniformIndices: ProgramName) := GetUniformIndices(&program, uniformCount, @uniformNames, @uniformIndices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; var uniformNames: IntPtr; uniformIndices: pointer) := GetUniformIndices(&program, uniformCount, @uniformNames, uniformIndices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: pointer; uniformIndices: array of UInt32) := GetUniformIndices(&program, uniformCount, uniformNames, uniformIndices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: pointer; var uniformIndices: ProgramName) := GetUniformIndices(&program, uniformCount, uniformNames, @uniformIndices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformIndices(&program: ProgramName; uniformCount: Int32; uniformNames: pointer; uniformIndices: pointer) := z_GetUniformIndices(&program, uniformCount, uniformNames, uniformIndices); + + public z_GetUniformBlockIndex: function(&program: ProgramName; uniformBlockName: IntPtr): UInt32 := GetGLFuncOrNil&('glGetUniformBlockIndex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformBlockIndex(&program: ProgramName; uniformBlockName: string): UInt32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(uniformBlockName); Result := GetUniformBlockIndex(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformBlockIndex(&program: ProgramName; uniformBlockName: IntPtr): UInt32 := z_GetUniformBlockIndex(&program, uniformBlockName); + + public z_GetActiveUniformsiv: procedure(&program: ProgramName; uniformCount: Int32; uniformIndices: pointer; pname: ProgramInterfaceProperty; ¶ms: pointer) := GetGLFuncOrNil&('glGetActiveUniformsiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; uniformIndices: array of UInt32; pname: ProgramInterfaceProperty; ¶ms: array of Int32) := GetActiveUniformsiv(&program, uniformCount, uniformIndices[0], pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; var uniformIndices: UInt32; pname: ProgramInterfaceProperty; var ¶ms: ShadingLanguageTypeToken) := GetActiveUniformsiv(&program, uniformCount, @uniformIndices, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; var uniformIndices: UInt32; pname: ProgramInterfaceProperty; var ¶ms: Int32) := GetActiveUniformsiv(&program, uniformCount, @uniformIndices, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformsiv(&program: ProgramName; uniformCount: Int32; uniformIndices: pointer; pname: ProgramInterfaceProperty; ¶ms: pointer) := z_GetActiveUniformsiv(&program, uniformCount, uniformIndices, pname, ¶ms); + + public z_GetActiveUniformName: procedure(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; length: pointer; uniformName: IntPtr) := GetGLFuncOrNil&('glGetActiveUniformName'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; var length: Int32; uniformName: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(uniformName); GetActiveUniformName(&program, uniformIndex, bufSize, @length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; var length: Int32; uniformName: IntPtr) := GetActiveUniformName(&program, uniformIndex, bufSize, @length, uniformName); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; length: pointer; uniformName: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(uniformName); GetActiveUniformName(&program, uniformIndex, bufSize, length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformName(&program: ProgramName; uniformIndex: UInt32; bufSize: Int32; length: pointer; uniformName: IntPtr) := z_GetActiveUniformName(&program, uniformIndex, bufSize, length, uniformName); + + public z_GetActiveUniformBlockName: procedure(&program: ProgramName; uniformBlockIndex: UInt32; bufSize: Int32; length: pointer; uniformBlockName: IntPtr) := GetGLFuncOrNil&('glGetActiveUniformBlockName'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformBlockName(&program: ProgramName; uniformBlockIndex: UInt32; bufSize: Int32; var length: Int32; uniformBlockName: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(uniformBlockName); GetActiveUniformBlockName(&program, uniformBlockIndex, bufSize, @length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformBlockName(&program: ProgramName; uniformBlockIndex: UInt32; bufSize: Int32; length: pointer; uniformBlockName: IntPtr) := z_GetActiveUniformBlockName(&program, uniformBlockIndex, bufSize, length, uniformBlockName); + + public z_GetActiveUniformBlockiv: procedure(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: pointer) := GetGLFuncOrNil&('glGetActiveUniformBlockiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: array of Int32) := GetActiveUniformBlockiv(&program, uniformBlockIndex, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: Int32) := GetActiveUniformBlockiv(&program, uniformBlockIndex, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: ShadingLanguageTypeToken) := GetActiveUniformBlockiv(&program, uniformBlockIndex, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformBlockiv(&program: ProgramName; uniformBlockIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: pointer) := z_GetActiveUniformBlockiv(&program, uniformBlockIndex, pname, ¶ms); + + public z_GetActiveUniform: procedure(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetActiveUniform'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ShadingLanguageTypeToken; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniform(&program, index, bufSize, @length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ShadingLanguageTypeToken; name: IntPtr) := GetActiveUniform(&program, index, bufSize, @length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniform(&program, index, bufSize, length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniform(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := z_GetActiveUniform(&program, index, bufSize, length, size, &type, name); + + public z_GetActiveAtomicCounterBufferiv: procedure(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: pointer) := GetGLFuncOrNil&('glGetActiveAtomicCounterBufferiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: array of Int32) := GetActiveAtomicCounterBufferiv(&program, bufferIndex, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: Int32) := GetActiveAtomicCounterBufferiv(&program, bufferIndex, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; var ¶ms: ShadingLanguageTypeToken) := GetActiveAtomicCounterBufferiv(&program, bufferIndex, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAtomicCounterBufferiv(&program: ProgramName; bufferIndex: UInt32; pname: ProgramInterfaceProperty; ¶ms: pointer) := z_GetActiveAtomicCounterBufferiv(&program, bufferIndex, pname, ¶ms); + + {$region 7.6.1 - Loading Uniform Variables In The Default Uniform Block} + + public z_UniformMatrix4x3fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4x3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix4x3fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix4x3fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3f) := UniformMatrix4x3fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix4x3fv(location, count, transpose, value); + + public z_UniformMatrix4x3dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4x3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix4x3dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix4x3dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3d) := UniformMatrix4x3dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix4x3dv(location, count, transpose, value); + + public z_UniformMatrix4x2fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4x2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix4x2fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix4x2fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2f) := UniformMatrix4x2fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix4x2fv(location, count, transpose, value); + + public z_UniformMatrix4x2dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4x2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix4x2dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix4x2dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2d) := UniformMatrix4x2dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix4x2dv(location, count, transpose, value); + + public z_UniformMatrix4fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix4fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix4fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4f) := UniformMatrix4fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix4fv(location, count, transpose, value); + + public z_UniformMatrix4dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix4dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix4dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr4d) := UniformMatrix4dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix4dv(location, count, transpose, value); + + public z_UniformMatrix3x4fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3x4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix3x4fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix3x4fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4f) := UniformMatrix3x4fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix3x4fv(location, count, transpose, value); + + public z_UniformMatrix3x4dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3x4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix3x4dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix3x4dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4d) := UniformMatrix3x4dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix3x4dv(location, count, transpose, value); + + public z_UniformMatrix3x2fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3x2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix3x2fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix3x2fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2f) := UniformMatrix3x2fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix3x2fv(location, count, transpose, value); + + public z_UniformMatrix3x2dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3x2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix3x2dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix3x2dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2d) := UniformMatrix3x2dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix3x2dv(location, count, transpose, value); + + public z_UniformMatrix3fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix3fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix3fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3f) := UniformMatrix3fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix3fv(location, count, transpose, value); + + public z_UniformMatrix3dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix3dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix3dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr3d) := UniformMatrix3dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix3dv(location, count, transpose, value); + + public z_UniformMatrix2x4fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2x4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix2x4fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix2x4fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4f) := UniformMatrix2x4fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix2x4fv(location, count, transpose, value); + + public z_UniformMatrix2x4dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2x4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix2x4dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix2x4dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4d) := UniformMatrix2x4dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix2x4dv(location, count, transpose, value); + + public z_UniformMatrix2x3fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2x3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix2x3fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix2x3fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3f) := UniformMatrix2x3fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix2x3fv(location, count, transpose, value); + + public z_UniformMatrix2x3dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2x3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix2x3dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix2x3dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3d) := UniformMatrix2x3dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix2x3dv(location, count, transpose, value); + + public z_UniformMatrix2fv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; value: array of single) := UniformMatrix2fv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; var value: single) := UniformMatrix2fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2f) := UniformMatrix2fv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2fv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix2fv(location, count, transpose, value); + + public z_UniformMatrix2dv: procedure(location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; value: array of double) := UniformMatrix2dv(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; var value: double) := UniformMatrix2dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; var value: Mtr2d) := UniformMatrix2dv(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2dv(location: Int32; count: Int32; transpose: boolean; value: pointer) := z_UniformMatrix2dv(location, count, transpose, value); + + public z_Uniform4uiv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uiv(location: Int32; count: Int32; value: array of UInt32) := Uniform4uiv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uiv(location: Int32; count: Int32; var value: UInt32) := Uniform4uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uiv(location: Int32; count: Int32; var value: Vec4ui) := Uniform4uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uiv(location: Int32; count: Int32; value: pointer) := z_Uniform4uiv(location, count, value); + + public z_Uniform4ui: procedure(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := GetGLFuncOrNil&('glUniform4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := z_Uniform4ui(location, v0, v1, v2, v3); + + public z_Uniform4iv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4iv(location: Int32; count: Int32; value: array of Int32) := Uniform4iv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4iv(location: Int32; count: Int32; var value: Int32) := Uniform4iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4iv(location: Int32; count: Int32; var value: Vec4i) := Uniform4iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4iv(location: Int32; count: Int32; value: pointer) := z_Uniform4iv(location, count, value); + + public z_Uniform4i: procedure(location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := GetGLFuncOrNil&('glUniform4i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i(location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := z_Uniform4i(location, v0, v1, v2, v3); + + public z_Uniform4fv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fv(location: Int32; count: Int32; value: array of single) := Uniform4fv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fv(location: Int32; count: Int32; var value: single) := Uniform4fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fv(location: Int32; count: Int32; var value: Vec4f) := Uniform4fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fv(location: Int32; count: Int32; value: pointer) := z_Uniform4fv(location, count, value); + + public z_Uniform4f: procedure(location: Int32; v0: single; v1: single; v2: single; v3: single) := GetGLFuncOrNil&('glUniform4f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4f(location: Int32; v0: single; v1: single; v2: single; v3: single) := z_Uniform4f(location, v0, v1, v2, v3); + + public z_Uniform4dv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4dv(location: Int32; count: Int32; value: array of double) := Uniform4dv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4dv(location: Int32; count: Int32; var value: double) := Uniform4dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4dv(location: Int32; count: Int32; var value: Vec4d) := Uniform4dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4dv(location: Int32; count: Int32; value: pointer) := z_Uniform4dv(location, count, value); + + public z_Uniform4d: procedure(location: Int32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glUniform4d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4d(location: Int32; x: double; y: double; z: double; w: double) := z_Uniform4d(location, x, y, z, w); + + public z_Uniform3uiv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uiv(location: Int32; count: Int32; value: array of UInt32) := Uniform3uiv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uiv(location: Int32; count: Int32; var value: UInt32) := Uniform3uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uiv(location: Int32; count: Int32; var value: Vec3ui) := Uniform3uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uiv(location: Int32; count: Int32; value: pointer) := z_Uniform3uiv(location, count, value); + + public z_Uniform3ui: procedure(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := GetGLFuncOrNil&('glUniform3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := z_Uniform3ui(location, v0, v1, v2); + + public z_Uniform3iv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3iv(location: Int32; count: Int32; value: array of Int32) := Uniform3iv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3iv(location: Int32; count: Int32; var value: Int32) := Uniform3iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3iv(location: Int32; count: Int32; var value: Vec3i) := Uniform3iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3iv(location: Int32; count: Int32; value: pointer) := z_Uniform3iv(location, count, value); + + public z_Uniform3i: procedure(location: Int32; v0: Int32; v1: Int32; v2: Int32) := GetGLFuncOrNil&('glUniform3i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i(location: Int32; v0: Int32; v1: Int32; v2: Int32) := z_Uniform3i(location, v0, v1, v2); + + public z_Uniform3fv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fv(location: Int32; count: Int32; value: array of single) := Uniform3fv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fv(location: Int32; count: Int32; var value: single) := Uniform3fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fv(location: Int32; count: Int32; var value: Vec3f) := Uniform3fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fv(location: Int32; count: Int32; value: pointer) := z_Uniform3fv(location, count, value); + + public z_Uniform3f: procedure(location: Int32; v0: single; v1: single; v2: single) := GetGLFuncOrNil&('glUniform3f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3f(location: Int32; v0: single; v1: single; v2: single) := z_Uniform3f(location, v0, v1, v2); + + public z_Uniform3dv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3dv(location: Int32; count: Int32; value: array of double) := Uniform3dv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3dv(location: Int32; count: Int32; var value: double) := Uniform3dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3dv(location: Int32; count: Int32; var value: Vec3d) := Uniform3dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3dv(location: Int32; count: Int32; value: pointer) := z_Uniform3dv(location, count, value); + + public z_Uniform3d: procedure(location: Int32; x: double; y: double; z: double) := GetGLFuncOrNil&('glUniform3d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3d(location: Int32; x: double; y: double; z: double) := z_Uniform3d(location, x, y, z); + + public z_Uniform2uiv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uiv(location: Int32; count: Int32; value: array of UInt32) := Uniform2uiv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uiv(location: Int32; count: Int32; var value: UInt32) := Uniform2uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uiv(location: Int32; count: Int32; var value: Vec2ui) := Uniform2uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uiv(location: Int32; count: Int32; value: pointer) := z_Uniform2uiv(location, count, value); + + public z_Uniform2ui: procedure(location: Int32; v0: UInt32; v1: UInt32) := GetGLFuncOrNil&('glUniform2ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui(location: Int32; v0: UInt32; v1: UInt32) := z_Uniform2ui(location, v0, v1); + + public z_Uniform2iv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2iv(location: Int32; count: Int32; value: array of Int32) := Uniform2iv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2iv(location: Int32; count: Int32; var value: Int32) := Uniform2iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2iv(location: Int32; count: Int32; var value: Vec2i) := Uniform2iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2iv(location: Int32; count: Int32; value: pointer) := z_Uniform2iv(location, count, value); + + public z_Uniform2i: procedure(location: Int32; v0: Int32; v1: Int32) := GetGLFuncOrNil&('glUniform2i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i(location: Int32; v0: Int32; v1: Int32) := z_Uniform2i(location, v0, v1); + + public z_Uniform2fv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fv(location: Int32; count: Int32; value: array of single) := Uniform2fv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fv(location: Int32; count: Int32; var value: single) := Uniform2fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fv(location: Int32; count: Int32; var value: Vec2f) := Uniform2fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fv(location: Int32; count: Int32; value: pointer) := z_Uniform2fv(location, count, value); + + public z_Uniform2f: procedure(location: Int32; v0: single; v1: single) := GetGLFuncOrNil&('glUniform2f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2f(location: Int32; v0: single; v1: single) := z_Uniform2f(location, v0, v1); + + public z_Uniform2dv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2dv(location: Int32; count: Int32; value: array of double) := Uniform2dv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2dv(location: Int32; count: Int32; var value: double) := Uniform2dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2dv(location: Int32; count: Int32; var value: Vec2d) := Uniform2dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2dv(location: Int32; count: Int32; value: pointer) := z_Uniform2dv(location, count, value); + + public z_Uniform2d: procedure(location: Int32; x: double; y: double) := GetGLFuncOrNil&('glUniform2d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2d(location: Int32; x: double; y: double) := z_Uniform2d(location, x, y); + + public z_Uniform1uiv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uiv(location: Int32; count: Int32; value: array of UInt32) := Uniform1uiv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uiv(location: Int32; count: Int32; var value: UInt32) := Uniform1uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uiv(location: Int32; count: Int32; var value: Vec1ui) := Uniform1uiv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uiv(location: Int32; count: Int32; value: pointer) := z_Uniform1uiv(location, count, value); + + public z_Uniform1ui: procedure(location: Int32; v0: UInt32) := GetGLFuncOrNil&('glUniform1ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui(location: Int32; v0: UInt32) := z_Uniform1ui(location, v0); + + public z_Uniform1iv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1iv(location: Int32; count: Int32; value: array of Int32) := Uniform1iv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1iv(location: Int32; count: Int32; var value: Int32) := Uniform1iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1iv(location: Int32; count: Int32; var value: Vec1i) := Uniform1iv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1iv(location: Int32; count: Int32; value: pointer) := z_Uniform1iv(location, count, value); + + public z_Uniform1i: procedure(location: Int32; v0: Int32) := GetGLFuncOrNil&('glUniform1i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i(location: Int32; v0: Int32) := z_Uniform1i(location, v0); + + public z_Uniform1fv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fv(location: Int32; count: Int32; value: array of single) := Uniform1fv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fv(location: Int32; count: Int32; var value: single) := Uniform1fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fv(location: Int32; count: Int32; var value: Vec1f) := Uniform1fv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fv(location: Int32; count: Int32; value: pointer) := z_Uniform1fv(location, count, value); + + public z_Uniform1f: procedure(location: Int32; v0: single) := GetGLFuncOrNil&('glUniform1f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1f(location: Int32; v0: single) := z_Uniform1f(location, v0); + + public z_Uniform1dv: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1dv(location: Int32; count: Int32; value: array of double) := Uniform1dv(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1dv(location: Int32; count: Int32; var value: double) := Uniform1dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1dv(location: Int32; count: Int32; var value: Vec1d) := Uniform1dv(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1dv(location: Int32; count: Int32; value: pointer) := z_Uniform1dv(location, count, value); + + public z_Uniform1d: procedure(location: Int32; x: double) := GetGLFuncOrNil&('glUniform1d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1d(location: Int32; x: double) := z_Uniform1d(location, x); + + public z_ProgramUniformMatrix4x3fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix4x3fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix4x3fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3f) := ProgramUniformMatrix4x3fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix4x3fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4x3dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix4x3dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix4x3dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x3d) := ProgramUniformMatrix4x3dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix4x3dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4x2fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix4x2fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix4x2fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2f) := ProgramUniformMatrix4x2fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix4x2fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4x2dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix4x2dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix4x2dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4x2d) := ProgramUniformMatrix4x2dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix4x2dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix4fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix4fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4f) := ProgramUniformMatrix4fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix4fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix4dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix4dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr4d) := ProgramUniformMatrix4dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix4dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3x4fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix3x4fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix3x4fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4f) := ProgramUniformMatrix3x4fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix3x4fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3x4dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix3x4dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix3x4dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x4d) := ProgramUniformMatrix3x4dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix3x4dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3x2fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix3x2fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix3x2fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2f) := ProgramUniformMatrix3x2fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix3x2fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3x2dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix3x2dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix3x2dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3x2d) := ProgramUniformMatrix3x2dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix3x2dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix3fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix3fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3f) := ProgramUniformMatrix3fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix3fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix3dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix3dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr3d) := ProgramUniformMatrix3dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix3dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2x4fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix2x4fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix2x4fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4f) := ProgramUniformMatrix2x4fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix2x4fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2x4dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix2x4dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix2x4dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x4d) := ProgramUniformMatrix2x4dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix2x4dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2x3fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix2x3fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix2x3fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3f) := ProgramUniformMatrix2x3fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix2x3fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2x3dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix2x3dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix2x3dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2x3d) := ProgramUniformMatrix2x3dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix2x3dv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2fv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of single) := ProgramUniformMatrix2fv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: single) := ProgramUniformMatrix2fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2f) := ProgramUniformMatrix2fv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2fv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix2fv(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2dv: procedure(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: array of double) := ProgramUniformMatrix2dv(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: double) := ProgramUniformMatrix2dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; var value: Mtr2d) := ProgramUniformMatrix2dv(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2dv(&program: ProgramName; location: Int32; count: Int32; transpose: boolean; value: pointer) := z_ProgramUniformMatrix2dv(&program, location, count, transpose, value); + + public z_ProgramUniform4uiv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform4uiv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32) := ProgramUniform4uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4ui) := ProgramUniform4uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4uiv(&program, location, count, value); + + public z_ProgramUniform4ui: procedure(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := GetGLFuncOrNil&('glProgramUniform4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := z_ProgramUniform4ui(&program, location, v0, v1, v2, v3); + + public z_ProgramUniform4iv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; value: array of Int32) := ProgramUniform4iv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32) := ProgramUniform4iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4i) := ProgramUniform4iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4iv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4iv(&program, location, count, value); + + public z_ProgramUniform4i: procedure(&program: ProgramName; location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := GetGLFuncOrNil&('glProgramUniform4i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i(&program: ProgramName; location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := z_ProgramUniform4i(&program, location, v0, v1, v2, v3); + + public z_ProgramUniform4fv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; value: array of single) := ProgramUniform4fv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; var value: single) := ProgramUniform4fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4f) := ProgramUniform4fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4fv(&program, location, count, value); + + public z_ProgramUniform4f: procedure(&program: ProgramName; location: Int32; v0: single; v1: single; v2: single; v3: single) := GetGLFuncOrNil&('glProgramUniform4f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4f(&program: ProgramName; location: Int32; v0: single; v1: single; v2: single; v3: single) := z_ProgramUniform4f(&program, location, v0, v1, v2, v3); + + public z_ProgramUniform4dv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; value: array of double) := ProgramUniform4dv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; var value: double) := ProgramUniform4dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec4d) := ProgramUniform4dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4dv(&program, location, count, value); + + public z_ProgramUniform4d: procedure(&program: ProgramName; location: Int32; v0: double; v1: double; v2: double; v3: double) := GetGLFuncOrNil&('glProgramUniform4d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4d(&program: ProgramName; location: Int32; v0: double; v1: double; v2: double; v3: double) := z_ProgramUniform4d(&program, location, v0, v1, v2, v3); + + public z_ProgramUniform3uiv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform3uiv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32) := ProgramUniform3uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3ui) := ProgramUniform3uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3uiv(&program, location, count, value); + + public z_ProgramUniform3ui: procedure(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := GetGLFuncOrNil&('glProgramUniform3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := z_ProgramUniform3ui(&program, location, v0, v1, v2); + + public z_ProgramUniform3iv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; value: array of Int32) := ProgramUniform3iv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32) := ProgramUniform3iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3i) := ProgramUniform3iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3iv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3iv(&program, location, count, value); + + public z_ProgramUniform3i: procedure(&program: ProgramName; location: Int32; v0: Int32; v1: Int32; v2: Int32) := GetGLFuncOrNil&('glProgramUniform3i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i(&program: ProgramName; location: Int32; v0: Int32; v1: Int32; v2: Int32) := z_ProgramUniform3i(&program, location, v0, v1, v2); + + public z_ProgramUniform3fv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; value: array of single) := ProgramUniform3fv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; var value: single) := ProgramUniform3fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3f) := ProgramUniform3fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3fv(&program, location, count, value); + + public z_ProgramUniform3f: procedure(&program: ProgramName; location: Int32; v0: single; v1: single; v2: single) := GetGLFuncOrNil&('glProgramUniform3f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3f(&program: ProgramName; location: Int32; v0: single; v1: single; v2: single) := z_ProgramUniform3f(&program, location, v0, v1, v2); + + public z_ProgramUniform3dv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; value: array of double) := ProgramUniform3dv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; var value: double) := ProgramUniform3dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec3d) := ProgramUniform3dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3dv(&program, location, count, value); + + public z_ProgramUniform3d: procedure(&program: ProgramName; location: Int32; v0: double; v1: double; v2: double) := GetGLFuncOrNil&('glProgramUniform3d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3d(&program: ProgramName; location: Int32; v0: double; v1: double; v2: double) := z_ProgramUniform3d(&program, location, v0, v1, v2); + + public z_ProgramUniform2uiv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform2uiv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32) := ProgramUniform2uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2ui) := ProgramUniform2uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2uiv(&program, location, count, value); + + public z_ProgramUniform2ui: procedure(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32) := GetGLFuncOrNil&('glProgramUniform2ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui(&program: ProgramName; location: Int32; v0: UInt32; v1: UInt32) := z_ProgramUniform2ui(&program, location, v0, v1); + + public z_ProgramUniform2iv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; value: array of Int32) := ProgramUniform2iv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32) := ProgramUniform2iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2i) := ProgramUniform2iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2iv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2iv(&program, location, count, value); + + public z_ProgramUniform2i: procedure(&program: ProgramName; location: Int32; v0: Int32; v1: Int32) := GetGLFuncOrNil&('glProgramUniform2i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i(&program: ProgramName; location: Int32; v0: Int32; v1: Int32) := z_ProgramUniform2i(&program, location, v0, v1); + + public z_ProgramUniform2fv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; value: array of single) := ProgramUniform2fv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; var value: single) := ProgramUniform2fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2f) := ProgramUniform2fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2fv(&program, location, count, value); + + public z_ProgramUniform2f: procedure(&program: ProgramName; location: Int32; v0: single; v1: single) := GetGLFuncOrNil&('glProgramUniform2f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2f(&program: ProgramName; location: Int32; v0: single; v1: single) := z_ProgramUniform2f(&program, location, v0, v1); + + public z_ProgramUniform2dv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; value: array of double) := ProgramUniform2dv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; var value: double) := ProgramUniform2dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec2d) := ProgramUniform2dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2dv(&program, location, count, value); + + public z_ProgramUniform2d: procedure(&program: ProgramName; location: Int32; v0: double; v1: double) := GetGLFuncOrNil&('glProgramUniform2d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2d(&program: ProgramName; location: Int32; v0: double; v1: double) := z_ProgramUniform2d(&program, location, v0, v1); + + public z_ProgramUniform1uiv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform1uiv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; var value: UInt32) := ProgramUniform1uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1ui) := ProgramUniform1uiv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uiv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1uiv(&program, location, count, value); + + public z_ProgramUniform1ui: procedure(&program: ProgramName; location: Int32; v0: UInt32) := GetGLFuncOrNil&('glProgramUniform1ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui(&program: ProgramName; location: Int32; v0: UInt32) := z_ProgramUniform1ui(&program, location, v0); + + public z_ProgramUniform1iv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; value: array of Int32) := ProgramUniform1iv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; var value: Int32) := ProgramUniform1iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1i) := ProgramUniform1iv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1iv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1iv(&program, location, count, value); + + public z_ProgramUniform1i: procedure(&program: ProgramName; location: Int32; v0: Int32) := GetGLFuncOrNil&('glProgramUniform1i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i(&program: ProgramName; location: Int32; v0: Int32) := z_ProgramUniform1i(&program, location, v0); + + public z_ProgramUniform1fv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; value: array of single) := ProgramUniform1fv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; var value: single) := ProgramUniform1fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1f) := ProgramUniform1fv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1fv(&program, location, count, value); + + public z_ProgramUniform1f: procedure(&program: ProgramName; location: Int32; v0: single) := GetGLFuncOrNil&('glProgramUniform1f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1f(&program: ProgramName; location: Int32; v0: single) := z_ProgramUniform1f(&program, location, v0); + + public z_ProgramUniform1dv: procedure(&program: ProgramName; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; value: array of double) := ProgramUniform1dv(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; var value: double) := ProgramUniform1dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; var value: Vec1d) := ProgramUniform1dv(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dv(&program: ProgramName; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1dv(&program, location, count, value); + + public z_ProgramUniform1d: procedure(&program: ProgramName; location: Int32; v0: double) := GetGLFuncOrNil&('glProgramUniform1d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1d(&program: ProgramName; location: Int32; v0: double) := z_ProgramUniform1d(&program, location, v0); + + {$endregion 7.6.1 - Loading Uniform Variables In The Default Uniform Block} + + {$region 7.6.3 - Uniform Buffer Object Bindings} + + public z_UniformBlockBinding: procedure(&program: ProgramName; uniformBlockIndex: UInt32; _uniformBlockBinding: UInt32) := GetGLFuncOrNil&('glUniformBlockBinding'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformBlockBinding(&program: ProgramName; uniformBlockIndex: UInt32; _uniformBlockBinding: UInt32) := z_UniformBlockBinding(&program, uniformBlockIndex, _uniformBlockBinding); + + {$endregion 7.6.3 - Uniform Buffer Object Bindings} {$endregion 7.6 - Uniform Variables} {$region 7.8 - Shader Buffer Variables and Shader Storage Blocks} - static procedure ShaderStorageBlockBinding(&program: ProgramName; storageBlockIndex: UInt32; storageBlockBinding: UInt32); - external 'opengl32.dll' name 'glShaderStorageBlockBinding'; + public z_ShaderStorageBlockBinding: procedure(&program: ProgramName; storageBlockIndex: UInt32; storageBlockBinding: UInt32) := GetGLFuncOrNil&('glShaderStorageBlockBinding'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderStorageBlockBinding(&program: ProgramName; storageBlockIndex: UInt32; storageBlockBinding: UInt32) := z_ShaderStorageBlockBinding(&program, storageBlockIndex, storageBlockBinding); {$endregion 7.8 - Shader Buffer Variables and Shader Storage Blocks} {$region 7.10 - Subroutine Uniform Variables} - static function GetSubroutineIndex(&program: ProgramName; _shadertype: ShaderType; [MarshalAs(UnmanagedType.LPStr)] name: string): UInt32; - external 'opengl32.dll' name 'glGetSubroutineIndex'; - static function GetSubroutineIndex(&program: ProgramName; _shadertype: ShaderType; name: IntPtr): UInt32; - external 'opengl32.dll' name 'glGetSubroutineIndex'; + public z_UniformSubroutinesuiv: procedure(shadertype: ShaderType; count: Int32; indices: pointer) := GetGLFuncOrNil&('glUniformSubroutinesuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformSubroutinesuiv(_shadertype: ShaderType; count: Int32; indices: array of UInt32) := UniformSubroutinesuiv(_shadertype, count, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformSubroutinesuiv(_shadertype: ShaderType; count: Int32; var indices: UInt32) := UniformSubroutinesuiv(_shadertype, count, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformSubroutinesuiv(_shadertype: ShaderType; count: Int32; indices: pointer) := z_UniformSubroutinesuiv(_shadertype, count, indices); - static procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveSubroutineName'; - static procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveSubroutineName'; - static procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveSubroutineName'; - static procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveSubroutineName'; + public z_GetSubroutineUniformLocation: function(&program: ProgramName; shadertype: ShaderType; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetSubroutineUniformLocation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSubroutineUniformLocation(&program: ProgramName; _shadertype: ShaderType; name: string): Int32; begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); Result := GetSubroutineUniformLocation(&program, _shadertype, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSubroutineUniformLocation(&program: ProgramName; _shadertype: ShaderType; name: IntPtr): Int32 := z_GetSubroutineUniformLocation(&program, _shadertype, name); - static function GetSubroutineUniformLocation(&program: ProgramName; _shadertype: ShaderType; [MarshalAs(UnmanagedType.LPStr)] name: string): Int32; - external 'opengl32.dll' name 'glGetSubroutineUniformLocation'; - static function GetSubroutineUniformLocation(&program: ProgramName; _shadertype: ShaderType; name: IntPtr): Int32; - external 'opengl32.dll' name 'glGetSubroutineUniformLocation'; + public z_GetSubroutineIndex: function(&program: ProgramName; shadertype: ShaderType; name: IntPtr): UInt32 := GetGLFuncOrNil&('glGetSubroutineIndex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSubroutineIndex(&program: ProgramName; _shadertype: ShaderType; name: string): UInt32; begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); Result := GetSubroutineIndex(&program, _shadertype, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSubroutineIndex(&program: ProgramName; _shadertype: ShaderType; name: IntPtr): UInt32 := z_GetSubroutineIndex(&program, _shadertype, name); - static procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveSubroutineUniformName'; - static procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveSubroutineUniformName'; - static procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveSubroutineUniformName'; - static procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveSubroutineUniformName'; + public z_GetActiveSubroutineUniformName: procedure(&program: ProgramName; shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetActiveSubroutineUniformName'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; name: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(name); GetActiveSubroutineUniformName(&program, _shadertype, index, bufsize, @length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; name: IntPtr) := GetActiveSubroutineUniformName(&program, _shadertype, index, bufsize, @length, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(name); GetActiveSubroutineUniformName(&program, _shadertype, index, bufsize, length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineUniformName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: IntPtr) := z_GetActiveSubroutineUniformName(&program, _shadertype, index, bufsize, length, name); - static procedure GetActiveSubroutineUniformiv(&program: ProgramName; _shadertype: ShaderType; index: UInt32; pname: ProgramInterfaceProperty; [MarshalAs(UnmanagedType.LPArray)] values: array of Int32); - external 'opengl32.dll' name 'glGetActiveSubroutineUniformiv'; - static procedure GetActiveSubroutineUniformiv(&program: ProgramName; _shadertype: ShaderType; index: UInt32; pname: ProgramInterfaceProperty; var values: Int32); - external 'opengl32.dll' name 'glGetActiveSubroutineUniformiv'; - static procedure GetActiveSubroutineUniformiv(&program: ProgramName; _shadertype: ShaderType; index: UInt32; pname: ProgramInterfaceProperty; values: pointer); - external 'opengl32.dll' name 'glGetActiveSubroutineUniformiv'; + public z_GetActiveSubroutineUniformiv: procedure(&program: ProgramName; shadertype: ShaderType; index: UInt32; pname: ProgramInterfaceProperty; values: pointer) := GetGLFuncOrNil&('glGetActiveSubroutineUniformiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineUniformiv(&program: ProgramName; _shadertype: ShaderType; index: UInt32; pname: ProgramInterfaceProperty; values: array of Int32) := GetActiveSubroutineUniformiv(&program, _shadertype, index, pname, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineUniformiv(&program: ProgramName; _shadertype: ShaderType; index: UInt32; pname: ProgramInterfaceProperty; var values: Int32) := GetActiveSubroutineUniformiv(&program, _shadertype, index, pname, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineUniformiv(&program: ProgramName; _shadertype: ShaderType; index: UInt32; pname: ProgramInterfaceProperty; values: pointer) := z_GetActiveSubroutineUniformiv(&program, _shadertype, index, pname, values); - static procedure UniformSubroutinesuiv(_shadertype: ShaderType; count: Int32; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32); - external 'opengl32.dll' name 'glUniformSubroutinesuiv'; - static procedure UniformSubroutinesuiv(_shadertype: ShaderType; count: Int32; var indices: UInt32); - external 'opengl32.dll' name 'glUniformSubroutinesuiv'; - static procedure UniformSubroutinesuiv(_shadertype: ShaderType; count: Int32; indices: pointer); - external 'opengl32.dll' name 'glUniformSubroutinesuiv'; + public z_GetActiveSubroutineName: procedure(&program: ProgramName; shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetActiveSubroutineName'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; name: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(name); GetActiveSubroutineName(&program, _shadertype, index, bufsize, @length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; var length: Int32; name: IntPtr) := GetActiveSubroutineName(&program, _shadertype, index, bufsize, @length, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(name); GetActiveSubroutineName(&program, _shadertype, index, bufsize, length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveSubroutineName(&program: ProgramName; _shadertype: ShaderType; index: UInt32; bufsize: Int32; length: pointer; name: IntPtr) := z_GetActiveSubroutineName(&program, _shadertype, index, bufsize, length, name); {$endregion 7.10 - Subroutine Uniform Variables} {$region 7.13 - Shader Memory Access} - //7.13.2 + {$region 7.13.2 - Shader Memory Access Synchronization} - static procedure MemoryBarrier(barriers: MemoryBarrierTypeFlags); - external 'opengl32.dll' name 'glMemoryBarrier'; + public z_MemoryBarrierByRegion: procedure(barriers: MemoryBarrierTypeFlags) := GetGLFuncOrNil&('glMemoryBarrierByRegion'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MemoryBarrierByRegion(barriers: MemoryBarrierTypeFlags) := z_MemoryBarrierByRegion(barriers); - static procedure MemoryBarrierByRegion(barriers: MemoryBarrierTypeFlags); - external 'opengl32.dll' name 'glMemoryBarrierByRegion'; + public z_MemoryBarrier: procedure(barriers: MemoryBarrierTypeFlags) := GetGLFuncOrNil&('glMemoryBarrier'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MemoryBarrier(barriers: MemoryBarrierTypeFlags) := z_MemoryBarrier(barriers); + + {$endregion 7.13.2 - Shader Memory Access Synchronization} {$endregion 7.13 - Shader Memory Access} {$region 7.14 - Shader, Program, and Program Pipeline Queries} - static procedure GetShaderiv(shader: ShaderName; pname: ShaderInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetShaderiv'; - static procedure GetShaderiv(shader: ShaderName; pname: ShaderInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetShaderiv'; - static procedure GetShaderiv(shader: ShaderName; pname: ShaderInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetShaderiv'; + public z_GetUniformuiv: procedure(&program: ProgramName; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformuiv(&program: ProgramName; location: Int32; ¶ms: array of UInt32) := GetUniformuiv(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformuiv(&program: ProgramName; location: Int32; var ¶ms: ProgramName) := GetUniformuiv(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformuiv(&program: ProgramName; location: Int32; ¶ms: pointer) := z_GetUniformuiv(&program, location, ¶ms); - static procedure GetProgramiv(&program: ProgramName; pname: ProgramInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetProgramiv'; - static procedure GetProgramiv(&program: ProgramName; pname: ProgramInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetProgramiv'; - static procedure GetProgramiv(&program: ProgramName; pname: ProgramInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetProgramiv'; + public z_GetUniformSubroutineuiv: procedure(shadertype: ShaderType; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformSubroutineuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformSubroutineuiv(_shadertype: ShaderType; location: Int32; ¶ms: array of UInt32) := GetUniformSubroutineuiv(_shadertype, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformSubroutineuiv(_shadertype: ShaderType; location: Int32; var ¶ms: UInt32) := GetUniformSubroutineuiv(_shadertype, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformSubroutineuiv(_shadertype: ShaderType; location: Int32; ¶ms: pointer) := z_GetUniformSubroutineuiv(_shadertype, location, ¶ms); - static procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; var ¶ms: ProgramName); - external 'opengl32.dll' name 'glGetProgramPipelineiv'; - static procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; var ¶ms: ErrorCode); - external 'opengl32.dll' name 'glGetProgramPipelineiv'; - static procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetProgramPipelineiv'; - static procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetProgramPipelineiv'; + public z_GetUniformiv: procedure(&program: ProgramName; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformiv(&program: ProgramName; location: Int32; ¶ms: array of Int32) := GetUniformiv(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformiv(&program: ProgramName; location: Int32; var ¶ms: Int32) := GetUniformiv(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformiv(&program: ProgramName; location: Int32; ¶ms: pointer) := z_GetUniformiv(&program, location, ¶ms); - static procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; var count: Int32; [MarshalAs(UnmanagedType.LPArray)] shaders: array of ShaderName); - external 'opengl32.dll' name 'glGetAttachedShaders'; - static procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; var count: Int32; var shaders: ShaderName); - external 'opengl32.dll' name 'glGetAttachedShaders'; - static procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; var count: Int32; shaders: pointer); - external 'opengl32.dll' name 'glGetAttachedShaders'; - static procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; count: pointer; [MarshalAs(UnmanagedType.LPArray)] shaders: array of ShaderName); - external 'opengl32.dll' name 'glGetAttachedShaders'; - static procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; count: pointer; var shaders: ShaderName); - external 'opengl32.dll' name 'glGetAttachedShaders'; - static procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; count: pointer; shaders: pointer); - external 'opengl32.dll' name 'glGetAttachedShaders'; + public z_GetUniformfv: procedure(&program: ProgramName; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformfv(&program: ProgramName; location: Int32; ¶ms: array of single) := GetUniformfv(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformfv(&program: ProgramName; location: Int32; var ¶ms: single) := GetUniformfv(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformfv(&program: ProgramName; location: Int32; ¶ms: pointer) := z_GetUniformfv(&program, location, ¶ms); - static procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] infoLog: string); - external 'opengl32.dll' name 'glGetShaderInfoLog'; - static procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; var length: Int32; infoLog: IntPtr); - external 'opengl32.dll' name 'glGetShaderInfoLog'; - static procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] infoLog: string); - external 'opengl32.dll' name 'glGetShaderInfoLog'; - static procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; length: pointer; infoLog: IntPtr); - external 'opengl32.dll' name 'glGetShaderInfoLog'; + public z_GetUniformdv: procedure(&program: ProgramName; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformdv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformdv(&program: ProgramName; location: Int32; ¶ms: array of double) := GetUniformdv(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformdv(&program: ProgramName; location: Int32; var ¶ms: double) := GetUniformdv(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformdv(&program: ProgramName; location: Int32; ¶ms: pointer) := z_GetUniformdv(&program, location, ¶ms); - static procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] infoLog: string); - external 'opengl32.dll' name 'glGetProgramInfoLog'; - static procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; var length: Int32; infoLog: IntPtr); - external 'opengl32.dll' name 'glGetProgramInfoLog'; - static procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] infoLog: string); - external 'opengl32.dll' name 'glGetProgramInfoLog'; - static procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; length: pointer; infoLog: IntPtr); - external 'opengl32.dll' name 'glGetProgramInfoLog'; + public z_GetShaderSource: procedure(shader: ShaderName; bufSize: Int32; length: pointer; source: IntPtr) := GetGLFuncOrNil&('glGetShaderSource'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSource(shader: ShaderName; bufSize: Int32; var length: Int32; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetShaderSource(shader, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSource(shader: ShaderName; bufSize: Int32; var length: Int32; source: IntPtr) := GetShaderSource(shader, bufSize, @length, source); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSource(shader: ShaderName; bufSize: Int32; length: pointer; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetShaderSource(shader, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSource(shader: ShaderName; bufSize: Int32; length: pointer; source: IntPtr) := z_GetShaderSource(shader, bufSize, length, source); - static procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] infoLog: string); - external 'opengl32.dll' name 'glGetProgramPipelineInfoLog'; - static procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; var length: Int32; infoLog: IntPtr); - external 'opengl32.dll' name 'glGetProgramPipelineInfoLog'; - static procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] infoLog: string); - external 'opengl32.dll' name 'glGetProgramPipelineInfoLog'; - static procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; length: pointer; infoLog: IntPtr); - external 'opengl32.dll' name 'glGetProgramPipelineInfoLog'; + public z_GetShaderPrecisionFormat: procedure(shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; range: pointer; precision: pointer) := GetGLFuncOrNil&('glGetShaderPrecisionFormat'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; var range: Int32; var precision: Int32) := GetShaderPrecisionFormat(_shadertype, precisiontype, @range, @precision); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; var range: Int32; precision: pointer) := GetShaderPrecisionFormat(_shadertype, precisiontype, @range, precision); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; var range: Vec2i; var precision: Int32) := GetShaderPrecisionFormat(_shadertype, precisiontype, @range, @precision); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; var range: Vec2i; precision: pointer) := GetShaderPrecisionFormat(_shadertype, precisiontype, @range, precision); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; range: pointer; var precision: Int32) := GetShaderPrecisionFormat(_shadertype, precisiontype, range, @precision); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; range: pointer; precision: pointer) := z_GetShaderPrecisionFormat(_shadertype, precisiontype, range, precision); - static procedure GetShaderSource(shader: ShaderName; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] source: string); - external 'opengl32.dll' name 'glGetShaderSource'; - static procedure GetShaderSource(shader: ShaderName; bufSize: Int32; var length: Int32; source: IntPtr); - external 'opengl32.dll' name 'glGetShaderSource'; - static procedure GetShaderSource(shader: ShaderName; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] source: string); - external 'opengl32.dll' name 'glGetShaderSource'; - static procedure GetShaderSource(shader: ShaderName; bufSize: Int32; length: pointer; source: IntPtr); - external 'opengl32.dll' name 'glGetShaderSource'; + public z_GetShaderiv: procedure(shader: ShaderName; pname: ShaderInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetShaderiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderiv(shader: ShaderName; pname: ShaderInfoType; ¶ms: array of Int32) := GetShaderiv(shader, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderiv(shader: ShaderName; pname: ShaderInfoType; var ¶ms: Int32) := GetShaderiv(shader, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderiv(shader: ShaderName; pname: ShaderInfoType; ¶ms: pointer) := z_GetShaderiv(shader, pname, ¶ms); - static procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; [MarshalAs(UnmanagedType.LPArray)] range: array of Int32; var precision: Int32); - external 'opengl32.dll' name 'glGetShaderPrecisionFormat'; - static procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; [MarshalAs(UnmanagedType.LPArray)] range: array of Int32; precision: pointer); - external 'opengl32.dll' name 'glGetShaderPrecisionFormat'; - static procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; var range: Vec2i; var precision: Int32); - external 'opengl32.dll' name 'glGetShaderPrecisionFormat'; - static procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; var range: Vec2i; precision: pointer); - external 'opengl32.dll' name 'glGetShaderPrecisionFormat'; - static procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; range: pointer; var precision: Int32); - external 'opengl32.dll' name 'glGetShaderPrecisionFormat'; - static procedure GetShaderPrecisionFormat(_shadertype: ShaderType; precisiontype: ShaderPrecisionFormatType; range: pointer; precision: pointer); - external 'opengl32.dll' name 'glGetShaderPrecisionFormat'; + public z_GetShaderInfoLog: procedure(shader: ShaderName; bufSize: Int32; length: pointer; infoLog: IntPtr) := GetGLFuncOrNil&('glGetShaderInfoLog'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; var length: Int32; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetShaderInfoLog(shader, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; var length: Int32; infoLog: IntPtr) := GetShaderInfoLog(shader, bufSize, @length, infoLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; length: pointer; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetShaderInfoLog(shader, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderInfoLog(shader: ShaderName; bufSize: Int32; length: pointer; infoLog: IntPtr) := z_GetShaderInfoLog(shader, bufSize, length, infoLog); - static procedure GetUniformfv(&program: ProgramName; location: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of single); - external 'opengl32.dll' name 'glGetUniformfv'; - static procedure GetUniformfv(&program: ProgramName; location: Int32; var ¶ms: single); - external 'opengl32.dll' name 'glGetUniformfv'; - static procedure GetUniformfv(&program: ProgramName; location: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetUniformfv'; + public z_GetProgramStageiv: procedure(&program: ProgramName; shadertype: ShaderType; pname: ActiveSubroutineInfoType; values: pointer) := GetGLFuncOrNil&('glGetProgramStageiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramStageiv(&program: ProgramName; _shadertype: ShaderType; pname: ActiveSubroutineInfoType; values: array of Int32) := GetProgramStageiv(&program, _shadertype, pname, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramStageiv(&program: ProgramName; _shadertype: ShaderType; pname: ActiveSubroutineInfoType; var values: Int32) := GetProgramStageiv(&program, _shadertype, pname, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramStageiv(&program: ProgramName; _shadertype: ShaderType; pname: ActiveSubroutineInfoType; values: pointer) := z_GetProgramStageiv(&program, _shadertype, pname, values); - static procedure GetUniformdv(&program: ProgramName; location: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of double); - external 'opengl32.dll' name 'glGetUniformdv'; - static procedure GetUniformdv(&program: ProgramName; location: Int32; var ¶ms: double); - external 'opengl32.dll' name 'glGetUniformdv'; - static procedure GetUniformdv(&program: ProgramName; location: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetUniformdv'; + public z_GetProgramPipelineiv: procedure(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramPipelineiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; var ¶ms: Int32) := GetProgramPipelineiv(pipeline, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; var ¶ms: ProgramName) := GetProgramPipelineiv(pipeline, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; var ¶ms: ErrorCode) := GetProgramPipelineiv(pipeline, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineiv(pipeline: ProgramPipelineName; pname: ProgramPipelineInfoType; ¶ms: pointer) := z_GetProgramPipelineiv(pipeline, pname, ¶ms); - static procedure GetUniformiv(&program: ProgramName; location: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetUniformiv'; - static procedure GetUniformiv(&program: ProgramName; location: Int32; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetUniformiv'; - static procedure GetUniformiv(&program: ProgramName; location: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetUniformiv'; + public z_GetProgramPipelineInfoLog: procedure(pipeline: ProgramPipelineName; bufSize: Int32; length: pointer; infoLog: IntPtr) := GetGLFuncOrNil&('glGetProgramPipelineInfoLog'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; var length: Int32; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetProgramPipelineInfoLog(pipeline, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; var length: Int32; infoLog: IntPtr) := GetProgramPipelineInfoLog(pipeline, bufSize, @length, infoLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; length: pointer; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetProgramPipelineInfoLog(pipeline, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLog(pipeline: ProgramPipelineName; bufSize: Int32; length: pointer; infoLog: IntPtr) := z_GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); - static procedure GetUniformuiv(&program: ProgramName; location: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of UInt32); - external 'opengl32.dll' name 'glGetUniformuiv'; - static procedure GetUniformuiv(&program: ProgramName; location: Int32; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetUniformuiv'; - static procedure GetUniformuiv(&program: ProgramName; location: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetUniformuiv'; + public z_GetProgramiv: procedure(&program: ProgramName; pname: ProgramInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramiv(&program: ProgramName; pname: ProgramInfoType; ¶ms: array of Int32) := GetProgramiv(&program, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramiv(&program: ProgramName; pname: ProgramInfoType; var ¶ms: Int32) := GetProgramiv(&program, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramiv(&program: ProgramName; pname: ProgramInfoType; ¶ms: pointer) := z_GetProgramiv(&program, pname, ¶ms); - static procedure GetnUniformfv(&program: ProgramName; location: Int32; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of single); - external 'opengl32.dll' name 'glGetnUniformfv'; - static procedure GetnUniformfv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: single); - external 'opengl32.dll' name 'glGetnUniformfv'; - static procedure GetnUniformfv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetnUniformfv'; + public z_GetProgramInfoLog: procedure(&program: ProgramName; bufSize: Int32; length: pointer; infoLog: IntPtr) := GetGLFuncOrNil&('glGetProgramInfoLog'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; var length: Int32; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetProgramInfoLog(&program, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; var length: Int32; infoLog: IntPtr) := GetProgramInfoLog(&program, bufSize, @length, infoLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; length: pointer; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetProgramInfoLog(&program, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramInfoLog(&program: ProgramName; bufSize: Int32; length: pointer; infoLog: IntPtr) := z_GetProgramInfoLog(&program, bufSize, length, infoLog); - static procedure GetnUniformdv(&program: ProgramName; location: Int32; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of double); - external 'opengl32.dll' name 'glGetnUniformdv'; - static procedure GetnUniformdv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: double); - external 'opengl32.dll' name 'glGetnUniformdv'; - static procedure GetnUniformdv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetnUniformdv'; + public z_GetnUniformuiv: procedure(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformuiv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: array of UInt32) := GetnUniformuiv(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformuiv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: ProgramName) := GetnUniformuiv(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformuiv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformuiv(&program, location, bufSize, ¶ms); - static procedure GetnUniformiv(&program: ProgramName; location: Int32; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetnUniformiv'; - static procedure GetnUniformiv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetnUniformiv'; - static procedure GetnUniformiv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetnUniformiv'; + public z_GetnUniformiv: procedure(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformiv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: array of Int32) := GetnUniformiv(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformiv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: Int32) := GetnUniformiv(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformiv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformiv(&program, location, bufSize, ¶ms); - static procedure GetnUniformuiv(&program: ProgramName; location: Int32; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of UInt32); - external 'opengl32.dll' name 'glGetnUniformuiv'; - static procedure GetnUniformuiv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetnUniformuiv'; - static procedure GetnUniformuiv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetnUniformuiv'; + public z_GetnUniformfv: procedure(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformfv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: array of single) := GetnUniformfv(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformfv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: single) := GetnUniformfv(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformfv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformfv(&program, location, bufSize, ¶ms); - static procedure GetUniformSubroutineuiv(_shadertype: ShaderType; location: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of UInt32); - external 'opengl32.dll' name 'glGetUniformSubroutineuiv'; - static procedure GetUniformSubroutineuiv(_shadertype: ShaderType; location: Int32; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetUniformSubroutineuiv'; - static procedure GetUniformSubroutineuiv(_shadertype: ShaderType; location: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetUniformSubroutineuiv'; + public z_GetnUniformdv: procedure(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformdv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformdv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: array of double) := GetnUniformdv(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformdv(&program: ProgramName; location: Int32; bufSize: Int32; var ¶ms: double) := GetnUniformdv(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformdv(&program: ProgramName; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformdv(&program, location, bufSize, ¶ms); - static procedure GetProgramStageiv(&program: ProgramName; _shadertype: ShaderType; pname: ActiveSubroutineInfoType; [MarshalAs(UnmanagedType.LPArray)] values: array of Int32); - external 'opengl32.dll' name 'glGetProgramStageiv'; - static procedure GetProgramStageiv(&program: ProgramName; _shadertype: ShaderType; pname: ActiveSubroutineInfoType; var values: Int32); - external 'opengl32.dll' name 'glGetProgramStageiv'; - static procedure GetProgramStageiv(&program: ProgramName; _shadertype: ShaderType; pname: ActiveSubroutineInfoType; values: pointer); - external 'opengl32.dll' name 'glGetProgramStageiv'; + public z_GetAttachedShaders: procedure(&program: ProgramName; maxCount: Int32; count: pointer; shaders: pointer) := GetGLFuncOrNil&('glGetAttachedShaders'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; var count: Int32; shaders: array of ShaderName) := GetAttachedShaders(&program, maxCount, @count, shaders[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; var count: Int32; var shaders: ShaderName) := GetAttachedShaders(&program, maxCount, @count, @shaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; var count: Int32; shaders: pointer) := GetAttachedShaders(&program, maxCount, @count, shaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; count: pointer; shaders: array of ShaderName) := GetAttachedShaders(&program, maxCount, count, shaders[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; count: pointer; var shaders: ShaderName) := GetAttachedShaders(&program, maxCount, count, @shaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedShaders(&program: ProgramName; maxCount: Int32; count: pointer; shaders: pointer) := z_GetAttachedShaders(&program, maxCount, count, shaders); {$endregion 7.14 - Shader, Program, and Program Pipeline Queries} - {$endregion 7.0 - Programs and Shaders} + {$endregion 7 - Programs and Shaders} - {$region 8.0 - Textures and Samplers} + {$region 8 - Textures and Samplers} - static procedure ActiveTexture(texture: TextureUnitId); - external 'opengl32.dll' name 'glActiveTexture'; + public z_ActiveTexture: procedure(texture: TextureUnitId) := GetGLFuncOrNil&('glActiveTexture'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveTexture(texture: TextureUnitId) := z_ActiveTexture(texture); {$region 8.1 - Texture Objects} - static procedure GenTextures(n: Int32; [MarshalAs(UnmanagedType.LPArray)] textures: array of TextureName); - external 'opengl32.dll' name 'glGenTextures'; - static procedure GenTextures(n: Int32; var textures: TextureName); - external 'opengl32.dll' name 'glGenTextures'; - static procedure GenTextures(n: Int32; textures: pointer); - external 'opengl32.dll' name 'glGenTextures'; + private static function _IsTexture(texture: TextureName): boolean; external 'opengl32.dll' name 'glIsTexture'; + public static z_IsTexture: function(texture: TextureName): boolean := _IsTexture; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsTexture(texture: TextureName): boolean := z_IsTexture(texture); - static procedure BindTexture(target: TextureBindTarget; texture: TextureName); - external 'opengl32.dll' name 'glBindTexture'; + private static procedure _GenTextures(n: Int32; textures: pointer); external 'opengl32.dll' name 'glGenTextures'; + public static z_GenTextures: procedure(n: Int32; textures: pointer) := _GenTextures; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTextures(n: Int32; textures: array of TextureName) := GenTextures(n, textures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTextures(n: Int32; var textures: TextureName) := GenTextures(n, @textures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTextures(n: Int32; textures: pointer) := z_GenTextures(n, textures); - static procedure BindTextures(first: TextureUnitId; count: Int32; [MarshalAs(UnmanagedType.LPArray)] textures: array of TextureName); - external 'opengl32.dll' name 'glBindTextures'; - static procedure BindTextures(first: TextureUnitId; count: Int32; var textures: TextureName); - external 'opengl32.dll' name 'glBindTextures'; - static procedure BindTextures(first: TextureUnitId; count: Int32; textures: pointer); - external 'opengl32.dll' name 'glBindTextures'; + private static procedure _DeleteTextures(n: Int32; textures: pointer); external 'opengl32.dll' name 'glDeleteTextures'; + public static z_DeleteTextures: procedure(n: Int32; textures: pointer) := _DeleteTextures; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTextures(n: Int32; textures: array of TextureName) := DeleteTextures(n, textures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTextures(n: Int32; var textures: TextureName) := DeleteTextures(n, @textures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTextures(n: Int32; textures: pointer) := z_DeleteTextures(n, textures); - static procedure BindTextureUnit(&unit: TextureUnitId; texture: TextureName); - external 'opengl32.dll' name 'glBindTextureUnit'; + public z_CreateTextures: procedure(target: TextureBindTarget; n: Int32; textures: pointer) := GetGLFuncOrNil&('glCreateTextures'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateTextures(target: TextureBindTarget; n: Int32; textures: array of TextureName) := CreateTextures(target, n, textures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateTextures(target: TextureBindTarget; n: Int32; var textures: TextureName) := CreateTextures(target, n, @textures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateTextures(target: TextureBindTarget; n: Int32; textures: pointer) := z_CreateTextures(target, n, textures); - static procedure CreateTextures(target: TextureBindTarget; n: Int32; [MarshalAs(UnmanagedType.LPArray)] textures: array of TextureName); - external 'opengl32.dll' name 'glCreateTextures'; - static procedure CreateTextures(target: TextureBindTarget; n: Int32; var textures: TextureName); - external 'opengl32.dll' name 'glCreateTextures'; - static procedure CreateTextures(target: TextureBindTarget; n: Int32; textures: pointer); - external 'opengl32.dll' name 'glCreateTextures'; + public z_BindTextureUnit: procedure(&unit: TextureUnitId; texture: TextureName) := GetGLFuncOrNil&('glBindTextureUnit'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTextureUnit(&unit: TextureUnitId; texture: TextureName) := z_BindTextureUnit(&unit, texture); - static procedure DeleteTextures(n: Int32; [MarshalAs(UnmanagedType.LPArray)] textures: array of TextureName); - external 'opengl32.dll' name 'glDeleteTextures'; - static procedure DeleteTextures(n: Int32; var textures: TextureName); - external 'opengl32.dll' name 'glDeleteTextures'; - static procedure DeleteTextures(n: Int32; textures: pointer); - external 'opengl32.dll' name 'glDeleteTextures'; + public z_BindTextures: procedure(first: TextureUnitId; count: Int32; textures: pointer) := GetGLFuncOrNil&('glBindTextures'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTextures(first: TextureUnitId; count: Int32; textures: array of TextureName) := BindTextures(first, count, textures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTextures(first: TextureUnitId; count: Int32; var textures: TextureName) := BindTextures(first, count, @textures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTextures(first: TextureUnitId; count: Int32; textures: pointer) := z_BindTextures(first, count, textures); - static function IsTexture(texture: TextureName): boolean; - external 'opengl32.dll' name 'glIsTexture'; + private static procedure _BindTexture(target: TextureBindTarget; texture: TextureName); external 'opengl32.dll' name 'glBindTexture'; + public static z_BindTexture: procedure(target: TextureBindTarget; texture: TextureName) := _BindTexture; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTexture(target: TextureBindTarget; texture: TextureName) := z_BindTexture(target, texture); {$endregion 8.1 - Texture Objects} {$region 8.2 - Sampler Objects} - static procedure GenSamplers(count: Int32; [MarshalAs(UnmanagedType.LPArray)] samplers: array of SamplerName); - external 'opengl32.dll' name 'glGenSamplers'; - static procedure GenSamplers(count: Int32; var samplers: SamplerName); - external 'opengl32.dll' name 'glGenSamplers'; - static procedure GenSamplers(count: Int32; samplers: pointer); - external 'opengl32.dll' name 'glGenSamplers'; + public z_SamplerParameteriv: procedure(sampler: SamplerName; pname: TextureInfoType; param: pointer) := GetGLFuncOrNil&('glSamplerParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var param: Int32) := SamplerParameteriv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; param: pointer) := z_SamplerParameteriv(sampler, pname, param); - static procedure CreateSamplers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] samplers: array of SamplerName); - external 'opengl32.dll' name 'glCreateSamplers'; - static procedure CreateSamplers(n: Int32; var samplers: SamplerName); - external 'opengl32.dll' name 'glCreateSamplers'; - static procedure CreateSamplers(n: Int32; samplers: pointer); - external 'opengl32.dll' name 'glCreateSamplers'; + public z_SamplerParameterIuiv: procedure(sampler: SamplerName; pname: TextureInfoType; param: pointer) := GetGLFuncOrNil&('glSamplerParameterIuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: UInt32) := SamplerParameterIuiv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: TextureCompareMode) := SamplerParameterIuiv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: ActivationFunc) := SamplerParameterIuiv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: PixelFilterMode) := SamplerParameterIuiv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: PixelWrapMode) := SamplerParameterIuiv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; param: pointer) := z_SamplerParameterIuiv(sampler, pname, param); - static procedure BindSampler(&unit: Int32; sampler: SamplerName); - external 'opengl32.dll' name 'glBindSampler'; + public z_SamplerParameterIiv: procedure(sampler: SamplerName; pname: TextureInfoType; param: pointer) := GetGLFuncOrNil&('glSamplerParameterIiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; var param: Int32) := SamplerParameterIiv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; param: pointer) := z_SamplerParameterIiv(sampler, pname, param); - static procedure BindSamplers(first: Int32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] samplers: array of SamplerName); - external 'opengl32.dll' name 'glBindSamplers'; - static procedure BindSamplers(first: Int32; count: Int32; var samplers: SamplerName); - external 'opengl32.dll' name 'glBindSamplers'; - static procedure BindSamplers(first: Int32; count: Int32; samplers: pointer); - external 'opengl32.dll' name 'glBindSamplers'; + public z_SamplerParameteri: procedure(sampler: SamplerName; pname: TextureInfoType; param: Int32) := GetGLFuncOrNil&('glSamplerParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: TextureCompareMode) := SamplerParameteri(sampler, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: ActivationFunc) := SamplerParameteri(sampler, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: PixelFilterMode) := SamplerParameteri(sampler, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: PixelWrapMode) := SamplerParameteri(sampler, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: Int32) := z_SamplerParameteri(sampler, pname, param); - static procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: TextureCompareMode); - external 'opengl32.dll' name 'glSamplerParameteri'; - static procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: ActivationFunc); - external 'opengl32.dll' name 'glSamplerParameteri'; - static procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: PixelMagFilterMode); - external 'opengl32.dll' name 'glSamplerParameteri'; - static procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: PixelMinFilterMode); - external 'opengl32.dll' name 'glSamplerParameteri'; - static procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: PixelWrapMode); - external 'opengl32.dll' name 'glSamplerParameteri'; - static procedure SamplerParameteri(sampler: SamplerName; pname: TextureInfoType; param: Int32); // нигде не используется, существует только для совместимости с .val - external 'opengl32.dll' name 'glSamplerParameteri'; + public z_SamplerParameterfv: procedure(sampler: SamplerName; pname: TextureInfoType; param: pointer) := GetGLFuncOrNil&('glSamplerParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; var param: single) := SamplerParameterfv(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; param: pointer) := z_SamplerParameterfv(sampler, pname, param); - static procedure SamplerParameterf(sampler: SamplerName; pname: TextureInfoType; param: single); - external 'opengl32.dll' name 'glSamplerParameterf'; + public z_SamplerParameterf: procedure(sampler: SamplerName; pname: TextureInfoType; param: single) := GetGLFuncOrNil&('glSamplerParameterf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterf(sampler: SamplerName; pname: TextureInfoType; param: single) := z_SamplerParameterf(sampler, pname, param); - static procedure SamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var param: Int32); - external 'opengl32.dll' name 'glSamplerParameteriv'; - static procedure SamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; param: pointer); - external 'opengl32.dll' name 'glSamplerParameteriv'; + public z_IsSampler: function(sampler: SamplerName): boolean := GetGLFuncOrNil&('glIsSampler'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsSampler(sampler: SamplerName): boolean := z_IsSampler(sampler); - static procedure SamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; var param: single); - external 'opengl32.dll' name 'glSamplerParameterfv'; - static procedure SamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; param: pointer); - external 'opengl32.dll' name 'glSamplerParameterfv'; + public z_GenSamplers: procedure(count: Int32; samplers: pointer) := GetGLFuncOrNil&('glGenSamplers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenSamplers(count: Int32; samplers: array of SamplerName) := GenSamplers(count, samplers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenSamplers(count: Int32; var samplers: SamplerName) := GenSamplers(count, @samplers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenSamplers(count: Int32; samplers: pointer) := z_GenSamplers(count, samplers); - static procedure SamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; var param: Int32); // нигде не используется, существует только для совместимости с .val - external 'opengl32.dll' name 'glSamplerParameterIiv'; - static procedure SamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; param: pointer); - external 'opengl32.dll' name 'glSamplerParameterIiv'; + public z_DeleteSamplers: procedure(count: Int32; samplers: pointer) := GetGLFuncOrNil&('glDeleteSamplers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSamplers(count: Int32; samplers: array of SamplerName) := DeleteSamplers(count, samplers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSamplers(count: Int32; var samplers: SamplerName) := DeleteSamplers(count, @samplers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSamplers(count: Int32; samplers: pointer) := z_DeleteSamplers(count, samplers); - static procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: TextureCompareMode); - external 'opengl32.dll' name 'glSamplerParameterIuiv'; - static procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: ActivationFunc); - external 'opengl32.dll' name 'glSamplerParameterIuiv'; - static procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: PixelMagFilterMode); - external 'opengl32.dll' name 'glSamplerParameterIuiv'; - static procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: PixelMinFilterMode); - external 'opengl32.dll' name 'glSamplerParameterIuiv'; - static procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: PixelWrapMode); - external 'opengl32.dll' name 'glSamplerParameterIuiv'; - static procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var param: UInt32); // нигде не используется, существует только для совместимости с .val - external 'opengl32.dll' name 'glSamplerParameterIuiv'; - static procedure SamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; param: pointer); - external 'opengl32.dll' name 'glSamplerParameterIuiv'; + public z_CreateSamplers: procedure(n: Int32; samplers: pointer) := GetGLFuncOrNil&('glCreateSamplers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateSamplers(n: Int32; samplers: array of SamplerName) := CreateSamplers(n, samplers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateSamplers(n: Int32; var samplers: SamplerName) := CreateSamplers(n, @samplers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateSamplers(n: Int32; samplers: pointer) := z_CreateSamplers(n, samplers); - static procedure DeleteSamplers(count: Int32; [MarshalAs(UnmanagedType.LPArray)] samplers: array of SamplerName); - external 'opengl32.dll' name 'glDeleteSamplers'; - static procedure DeleteSamplers(count: Int32; var samplers: SamplerName); - external 'opengl32.dll' name 'glDeleteSamplers'; - static procedure DeleteSamplers(count: Int32; samplers: pointer); - external 'opengl32.dll' name 'glDeleteSamplers'; + public z_BindSamplers: procedure(first: Int32; count: Int32; samplers: pointer) := GetGLFuncOrNil&('glBindSamplers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindSamplers(first: Int32; count: Int32; samplers: array of SamplerName) := BindSamplers(first, count, samplers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindSamplers(first: Int32; count: Int32; var samplers: SamplerName) := BindSamplers(first, count, @samplers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindSamplers(first: Int32; count: Int32; samplers: pointer) := z_BindSamplers(first, count, samplers); - static function IsSampler(sampler: SamplerName): boolean; - external 'opengl32.dll' name 'glIsSampler'; + public z_BindSampler: procedure(&unit: Int32; sampler: SamplerName) := GetGLFuncOrNil&('glBindSampler'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindSampler(&unit: Int32; sampler: SamplerName) := z_BindSampler(&unit, sampler); {$endregion 8.2 - Sampler Objects} {$region 8.3 - Sampler Object Queries} - static procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glGetSamplerParameteriv'; - static procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glGetSamplerParameteriv'; - static procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glGetSamplerParameteriv'; - static procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glGetSamplerParameteriv'; - static procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glGetSamplerParameteriv'; - static procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetSamplerParameteriv'; - static procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetSamplerParameteriv'; + public z_GetSamplerParameteriv: procedure(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: Int32) := GetSamplerParameteriv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: TextureCompareMode) := GetSamplerParameteriv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: ActivationFunc) := GetSamplerParameteriv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelFilterMode) := GetSamplerParameteriv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelWrapMode) := GetSamplerParameteriv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameteriv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := z_GetSamplerParameteriv(sampler, pname, ¶ms); - static procedure GetSamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glGetSamplerParameterfv'; - static procedure GetSamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetSamplerParameterfv'; + public z_GetSamplerParameterIuiv: procedure(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameterIuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: UInt32) := GetSamplerParameterIuiv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: TextureCompareMode) := GetSamplerParameterIuiv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: ActivationFunc) := GetSamplerParameterIuiv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelFilterMode) := GetSamplerParameterIuiv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelWrapMode) := GetSamplerParameterIuiv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := z_GetSamplerParameterIuiv(sampler, pname, ¶ms); - static procedure GetSamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetSamplerParameterIiv'; - static procedure GetSamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetSamplerParameterIiv'; + public z_GetSamplerParameterIiv: procedure(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameterIiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: Int32) := GetSamplerParameterIiv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIiv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := z_GetSamplerParameterIiv(sampler, pname, ¶ms); - static procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glGetSamplerParameterIuiv'; - static procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glGetSamplerParameterIuiv'; - static procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glGetSamplerParameterIuiv'; - static procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glGetSamplerParameterIuiv'; - static procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glGetSamplerParameterIuiv'; - static procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetSamplerParameterIuiv'; - static procedure GetSamplerParameterIuiv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetSamplerParameterIuiv'; + public z_GetSamplerParameterfv: procedure(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; var ¶ms: single) := GetSamplerParameterfv(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterfv(sampler: SamplerName; pname: TextureInfoType; ¶ms: pointer) := z_GetSamplerParameterfv(sampler, pname, ¶ms); {$endregion 8.3 - Sampler Object Queries} {$region 8.4 - Pixel Rectangles} - // 8.4.1 + {$region 8.4.1 - Pixel Storage Modes and Pixel Buffer Objects} - static procedure PixelStorei(pname: PixelInfoType; param: Int32); - external 'opengl32.dll' name 'glPixelStorei'; + private static procedure _PixelStorei(pname: PixelInfoType; param: Int32); external 'opengl32.dll' name 'glPixelStorei'; + public static z_PixelStorei: procedure(pname: PixelInfoType; param: Int32) := _PixelStorei; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelStorei(pname: PixelInfoType; param: Int32) := z_PixelStorei(pname, param); - static procedure PixelStoref(pname: PixelInfoType; param: single); - external 'opengl32.dll' name 'glPixelStoref'; + private static procedure _PixelStoref(pname: PixelInfoType; param: single); external 'opengl32.dll' name 'glPixelStoref'; + public static z_PixelStoref: procedure(pname: PixelInfoType; param: single) := _PixelStoref; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelStoref(pname: PixelInfoType; param: single) := z_PixelStoref(pname, param); + + {$endregion 8.4.1 - Pixel Storage Modes and Pixel Buffer Objects} {$endregion 8.4 - Pixel Rectangles} {$region 8.5 - Texture Image Specification} - static procedure TexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTexImage3D'; - static procedure TexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTexImage3D'; + public z_TexImage3D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer) := GetGLFuncOrNil&('glTexImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TexImage3D(target, level, internalformat, width, height, depth, border, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TexImage3D(target, level, internalformat, width, height, depth, border, format, &type, pixels); - static procedure TexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTexImage2D'; - static procedure TexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTexImage2D'; + {$region 8.5.3 - Texture Image Structure} - static procedure TexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTexImage1D'; - static procedure TexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTexImage1D'; + private static procedure _TexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer); external 'opengl32.dll' name 'glTexImage2D'; + public static z_TexImage2D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer) := _TexImage2D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TexImage2D(target, level, internalformat, width, height, border, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TexImage2D(target, level, internalformat, width, height, border, format, &type, pixels); + + private static procedure _TexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer); external 'opengl32.dll' name 'glTexImage1D'; + public static z_TexImage1D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer) := _TexImage1D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TexImage1D(target, level, internalformat, width, border, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TexImage1D(target, level, internalformat, width, border, format, &type, pixels); + + {$endregion 8.5.3 - Texture Image Structure} {$endregion 8.5 - Texture Image Specification} {$region 8.6 - Alternate Texture Image Specification Commands} - static procedure CopyTexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyTexImage2D'; + public z_TextureSubImage3D: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: pointer) := GetGLFuncOrNil&('glTextureSubImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureSubImage3D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureSubImage3D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, pixels); - static procedure CopyTexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyTexImage1D'; + public z_TextureSubImage2D: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer) := GetGLFuncOrNil&('glTextureSubImage2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureSubImage2D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureSubImage2D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, &type, pixels); - static procedure TexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTexSubImage3D'; - static procedure TexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTexSubImage3D'; + public z_TextureSubImage1D: procedure(texture: TextureName; level: Int32; xoffset: Int32; width: Int32; format: UInt32; &type: DataType; pixels: pointer) := GetGLFuncOrNil&('glTextureSubImage1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureSubImage1D(texture: TextureName; level: Int32; xoffset: Int32; width: Int32; format: UInt32; &type: DataType; pixels: IntPtr) := TextureSubImage1D(texture, level, xoffset, width, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureSubImage1D(texture: TextureName; level: Int32; xoffset: Int32; width: Int32; format: UInt32; &type: DataType; pixels: pointer) := z_TextureSubImage1D(texture, level, xoffset, width, format, &type, pixels); - static procedure TexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTexSubImage2D'; - static procedure TexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTexSubImage2D'; + public z_TexSubImage3D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: pointer) := GetGLFuncOrNil&('glTexSubImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, pixels); - static procedure TexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTexSubImage1D'; - static procedure TexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTexSubImage1D'; + private static procedure _TexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer); external 'opengl32.dll' name 'glTexSubImage2D'; + public static z_TexSubImage2D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer) := _TexSubImage2D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TexSubImage2D(target, level, xoffset, yoffset, width, height, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TexSubImage2D(target, level, xoffset, yoffset, width, height, format, &type, pixels); - static procedure CopyTexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTexSubImage3D'; + private static procedure _TexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; &type: DataType; pixels: pointer); external 'opengl32.dll' name 'glTexSubImage1D'; + public static z_TexSubImage1D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; &type: DataType; pixels: pointer) := _TexSubImage1D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := TexSubImage1D(target, level, xoffset, width, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_TexSubImage1D(target, level, xoffset, width, format, &type, pixels); - static procedure CopyTexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTexSubImage2D'; + public z_CopyTextureSubImage3D: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyTextureSubImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTextureSubImage3D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); - static procedure CopyTexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyTexSubImage1D'; + public z_CopyTextureSubImage2D: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyTextureSubImage2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTextureSubImage2D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); - static procedure TextureSubImage3D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTextureSubImage3D'; - static procedure TextureSubImage3D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTextureSubImage3D'; + public z_CopyTextureSubImage1D: procedure(texture: TextureName; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyTextureSubImage1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTextureSubImage1D(texture: TextureName; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32) := z_CopyTextureSubImage1D(texture, level, xoffset, x, y, width); - static procedure TextureSubImage2D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTextureSubImage2D'; - static procedure TextureSubImage2D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTextureSubImage2D'; + public z_CopyTexSubImage3D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyTexSubImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); - static procedure TextureSubImage1D(texture: TextureName; level: Int32; xoffset: Int32; width: Int32; DataFormat: UInt32; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glTextureSubImage1D'; - static procedure TextureSubImage1D(texture: TextureName; level: Int32; xoffset: Int32; width: Int32; DataFormat: UInt32; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glTextureSubImage1D'; + private static procedure _CopyTexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); external 'opengl32.dll' name 'glCopyTexSubImage2D'; + public static z_CopyTexSubImage2D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := _CopyTexSubImage2D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); - static procedure CopyTextureSubImage3D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTextureSubImage3D'; + private static procedure _CopyTexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32); external 'opengl32.dll' name 'glCopyTexSubImage1D'; + public static z_CopyTexSubImage1D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32) := _CopyTexSubImage1D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32) := z_CopyTexSubImage1D(target, level, xoffset, x, y, width); - static procedure CopyTextureSubImage2D(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTextureSubImage2D'; + private static procedure _CopyTexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32); external 'opengl32.dll' name 'glCopyTexImage2D'; + public static z_CopyTexImage2D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32) := _CopyTexImage2D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32) := z_CopyTexImage2D(target, level, internalformat, x, y, width, height, border); - static procedure CopyTextureSubImage1D(texture: TextureName; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyTextureSubImage1D'; + private static procedure _CopyTexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; border: Int32); external 'opengl32.dll' name 'glCopyTexImage1D'; + public static z_CopyTexImage1D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; border: Int32) := _CopyTexImage1D; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; x: Int32; y: Int32; width: Int32; border: Int32) := z_CopyTexImage1D(target, level, internalformat, x, y, width, border); {$endregion 8.6 - Alternate Texture Image Specification Commands} {$region 8.7 - Compressed Texture Images} - static procedure CompressedTexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTexImage1D'; - static procedure CompressedTexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexImage1D'; + public z_CompressedTextureSubImage3D: procedure(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTextureSubImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTextureSubImage3D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: IntPtr) := CompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTextureSubImage3D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: pointer) := z_CompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); - static procedure CompressedTexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTexImage2D'; - static procedure CompressedTexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexImage2D'; + public z_CompressedTextureSubImage2D: procedure(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTextureSubImage2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTextureSubImage2D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: IntPtr) := CompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTextureSubImage2D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: pointer) := z_CompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); - static procedure CompressedTexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTexImage3D'; - static procedure CompressedTexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexImage3D'; + public z_CompressedTextureSubImage1D: procedure(texture: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTextureSubImage1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTextureSubImage1D(texture: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: IntPtr) := CompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTextureSubImage1D(texture: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: pointer) := z_CompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); - static procedure CompressedTexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTexSubImage1D'; - static procedure CompressedTexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexSubImage1D'; + public z_CompressedTexSubImage3D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexSubImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: IntPtr) := CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: pointer) := z_CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); - static procedure CompressedTexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTexSubImage2D'; - static procedure CompressedTexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexSubImage2D'; + public z_CompressedTexSubImage2D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexSubImage2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: IntPtr) := CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage2D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: pointer) := z_CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); - static procedure CompressedTexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTexSubImage3D'; - static procedure CompressedTexSubImage3D(target: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexSubImage3D'; + public z_CompressedTexSubImage1D: procedure(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexSubImage1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: IntPtr) := CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage1D(target: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: pointer) := z_CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); - static procedure CompressedTextureSubImage1D(texture: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTextureSubImage1D'; - static procedure CompressedTextureSubImage1D(texture: TextureBindTarget; level: Int32; xoffset: Int32; width: Int32; format: DataFormat; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTextureSubImage1D'; + public z_CompressedTexImage3D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexImage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: IntPtr) := CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage3D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer) := z_CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); - static procedure CompressedTextureSubImage2D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTextureSubImage2D'; - static procedure CompressedTextureSubImage2D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DataFormat; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTextureSubImage2D'; + public z_CompressedTexImage2D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexImage2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: IntPtr) := CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage2D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: pointer) := z_CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); - static procedure CompressedTextureSubImage3D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glCompressedTextureSubImage3D'; - static procedure CompressedTextureSubImage3D(texture: TextureBindTarget; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTextureSubImage3D'; + public z_CompressedTexImage1D: procedure(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexImage1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; imageSize: Int32; data: IntPtr) := CompressedTexImage1D(target, level, internalformat, width, border, imageSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage1D(target: TextureBindTarget; level: Int32; internalformat: InternalDataFormat; width: Int32; border: Int32; imageSize: Int32; data: pointer) := z_CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); {$endregion 8.7 - Compressed Texture Images} {$region 8.8 - Multisample Textures} - static procedure TexImage2DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTexImage2DMultisample'; + public z_TexImage3DMultisample: procedure(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean) := GetGLFuncOrNil&('glTexImage3DMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage3DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean) := z_TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); - static procedure TexImage3DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTexImage3DMultisample'; + public z_TexImage2DMultisample: procedure(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean) := GetGLFuncOrNil&('glTexImage2DMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage2DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean) := z_TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); {$endregion 8.8 - Multisample Textures} {$region 8.9 - Buffer Textures} - static procedure TexBufferRange(target: TextureBindTarget; internalformat: InternalDataFormat; buffer: BufferName; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glTexBufferRange'; + public z_TextureBufferRange: procedure(texture: TextureName; internalformat: InternalDataFormat; buffer: BufferName; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glTextureBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureBufferRange(texture: TextureName; internalformat: InternalDataFormat; buffer: BufferName; offset: IntPtr; size: UIntPtr) := z_TextureBufferRange(texture, internalformat, buffer, offset, size); - static procedure TextureBufferRange(texture: TextureName; internalformat: InternalDataFormat; buffer: BufferName; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glTextureBufferRange'; + public z_TextureBuffer: procedure(texture: TextureName; internalformat: InternalDataFormat; buffer: BufferName) := GetGLFuncOrNil&('glTextureBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureBuffer(texture: TextureName; internalformat: InternalDataFormat; buffer: BufferName) := z_TextureBuffer(texture, internalformat, buffer); - static procedure TexBuffer(target: TextureBindTarget; internalformat: InternalDataFormat; buffer: BufferName); - external 'opengl32.dll' name 'glTexBuffer'; + public z_TexBufferRange: procedure(target: TextureBindTarget; internalformat: InternalDataFormat; buffer: BufferName; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glTexBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBufferRange(target: TextureBindTarget; internalformat: InternalDataFormat; buffer: BufferName; offset: IntPtr; size: UIntPtr) := z_TexBufferRange(target, internalformat, buffer, offset, size); - static procedure TextureBuffer(texture: TextureName; internalformat: InternalDataFormat; buffer: BufferName); - external 'opengl32.dll' name 'glTextureBuffer'; + public z_TexBuffer: procedure(target: TextureBindTarget; internalformat: InternalDataFormat; buffer: BufferName) := GetGLFuncOrNil&('glTexBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBuffer(target: TextureBindTarget; internalformat: InternalDataFormat; buffer: BufferName) := z_TexBuffer(target, internalformat, buffer); {$endregion 8.9 - Buffer Textures} {$region 8.10 - Texture Parameters} - //ToDo передавать можно энумы и массивы (и энумов тоже)... - // - в конце проверить чтоб все энумы существовали - // - и возможно ещё сделать для них перегрузки - // - это так же касается 8.11 - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: DepthStencilMode); - external 'opengl32.dll' name 'glTexParameteri'; - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: Int32); - external 'opengl32.dll' name 'glTexParameteri'; - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: TextureCompareMode); - external 'opengl32.dll' name 'glTexParameteri'; - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: ActivationFunc); - external 'opengl32.dll' name 'glTexParameteri'; - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: PixelMagFilterMode); - external 'opengl32.dll' name 'glTexParameteri'; - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: PixelMinFilterMode); - external 'opengl32.dll' name 'glTexParameteri'; - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: SwizzleMode); - external 'opengl32.dll' name 'glTexParameteri'; - static procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: PixelWrapMode); - external 'opengl32.dll' name 'glTexParameteri'; + public z_TextureParameteriv: procedure(texture: TextureName; pname: TextureInfoType; param: pointer) := GetGLFuncOrNil&('glTextureParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: Int32) := TextureParameteriv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: DepthStencilMode) := TextureParameteriv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: TextureCompareMode) := TextureParameteriv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: ActivationFunc) := TextureParameteriv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: PixelFilterMode) := TextureParameteriv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: SwizzleMode) := TextureParameteriv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: PixelWrapMode) := TextureParameteriv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; param: pointer) := z_TextureParameteriv(texture, pname, param); - static procedure TexParameterf(target: TextureBindTarget; pname: TextureInfoType; param: single); - external 'opengl32.dll' name 'glTexParameterf'; + public z_TextureParameterIuiv: procedure(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glTextureParameterIuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: UInt32) := TextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: DepthStencilMode) := TextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: TextureCompareMode) := TextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: ActivationFunc) := TextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelFilterMode) := TextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: SwizzleMode) := TextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelWrapMode) := TextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := z_TextureParameterIuiv(texture, pname, ¶ms); - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glTexParameteriv'; - static procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glTexParameteriv'; + public z_TextureParameterIiv: procedure(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glTextureParameterIiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIiv(texture: TextureName; pname: TextureInfoType; var ¶ms: Int32) := TextureParameterIiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterIiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := z_TextureParameterIiv(texture, pname, ¶ms); - static procedure TexParameterfv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glTexParameterfv'; - static procedure TexParameterfv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glTexParameterfv'; + public z_TextureParameteri: procedure(texture: TextureName; pname: TextureInfoType; param: Int32) := GetGLFuncOrNil&('glTextureParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: DepthStencilMode) := TextureParameteri(texture, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: TextureCompareMode) := TextureParameteri(texture, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: ActivationFunc) := TextureParameteri(texture, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: PixelFilterMode) := TextureParameteri(texture, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: SwizzleMode) := TextureParameteri(texture, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: PixelWrapMode) := TextureParameteri(texture, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: Int32) := z_TextureParameteri(texture, pname, param); - static procedure TexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glTexParameterIiv'; - static procedure TexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glTexParameterIiv'; + public z_TextureParameterfv: procedure(texture: TextureName; pname: TextureInfoType; param: pointer) := GetGLFuncOrNil&('glTextureParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterfv(texture: TextureName; pname: TextureInfoType; var param: single) := TextureParameterfv(texture, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterfv(texture: TextureName; pname: TextureInfoType; param: pointer) := z_TextureParameterfv(texture, pname, param); - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glTexParameterIuiv'; - static procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glTexParameterIuiv'; + public z_TextureParameterf: procedure(texture: TextureName; pname: TextureInfoType; param: single) := GetGLFuncOrNil&('glTextureParameterf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureParameterf(texture: TextureName; pname: TextureInfoType; param: single) := z_TextureParameterf(texture, pname, param); - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: DepthStencilMode); - external 'opengl32.dll' name 'glTextureParameteri'; - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: Int32); - external 'opengl32.dll' name 'glTextureParameteri'; - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: TextureCompareMode); - external 'opengl32.dll' name 'glTextureParameteri'; - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: ActivationFunc); - external 'opengl32.dll' name 'glTextureParameteri'; - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: PixelMagFilterMode); - external 'opengl32.dll' name 'glTextureParameteri'; - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: PixelMinFilterMode); - external 'opengl32.dll' name 'glTextureParameteri'; - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: SwizzleMode); - external 'opengl32.dll' name 'glTextureParameteri'; - static procedure TextureParameteri(texture: TextureName; pname: TextureInfoType; param: PixelWrapMode); - external 'opengl32.dll' name 'glTextureParameteri'; + private static procedure _TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); external 'opengl32.dll' name 'glTexParameteriv'; + public static z_TexParameteriv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := _TexParameteriv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32) := TexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode) := TexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode) := TexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc) := TexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelFilterMode) := TexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode) := TexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode) := TexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteriv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_TexParameteriv(target, pname, ¶ms); - static procedure TextureParameterf(texture: TextureName; pname: TextureInfoType; param: single); - external 'opengl32.dll' name 'glTextureParameterf'; + public z_TexParameterIuiv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterIuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: UInt32) := TexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode) := TexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode) := TexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc) := TexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelFilterMode) := TexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode) := TexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode) := TexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_TexParameterIuiv(target, pname, ¶ms); - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: DepthStencilMode); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: Int32); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: TextureCompareMode); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: ActivationFunc); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: PixelMagFilterMode); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: PixelMinFilterMode); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: SwizzleMode); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; var param: PixelWrapMode); - external 'opengl32.dll' name 'glTextureParameteriv'; - static procedure TextureParameteriv(texture: TextureName; pname: TextureInfoType; param: pointer); - external 'opengl32.dll' name 'glTextureParameteriv'; + public z_TexParameterIiv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterIiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32) := TexParameterIiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_TexParameterIiv(target, pname, ¶ms); - static procedure TextureParameterfv(texture: TextureName; pname: TextureInfoType; var param: single); - external 'opengl32.dll' name 'glTextureParameterfv'; - static procedure TextureParameterfv(texture: TextureName; pname: TextureInfoType; param: pointer); - external 'opengl32.dll' name 'glTextureParameterfv'; + private static procedure _TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: Int32); external 'opengl32.dll' name 'glTexParameteri'; + public static z_TexParameteri: procedure(target: TextureBindTarget; pname: TextureInfoType; param: Int32) := _TexParameteri; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: DepthStencilMode) := TexParameteri(target, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: TextureCompareMode) := TexParameteri(target, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: ActivationFunc) := TexParameteri(target, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: PixelFilterMode) := TexParameteri(target, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: SwizzleMode) := TexParameteri(target, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: PixelWrapMode) := TexParameteri(target, pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameteri(target: TextureBindTarget; pname: TextureInfoType; param: Int32) := z_TexParameteri(target, pname, param); - static procedure TextureParameterIiv(texture: TextureName; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glTextureParameterIiv'; - static procedure TextureParameterIiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glTextureParameterIiv'; + private static procedure _TexParameterfv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); external 'opengl32.dll' name 'glTexParameterfv'; + public static z_TexParameterfv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := _TexParameterfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterfv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: single) := TexParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterfv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_TexParameterfv(target, pname, ¶ms); - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: DepthStencilMode); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: SwizzleMode); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glTextureParameterIuiv'; - static procedure TextureParameterIuiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glTextureParameterIuiv'; + private static procedure _TexParameterf(target: TextureBindTarget; pname: TextureInfoType; param: single); external 'opengl32.dll' name 'glTexParameterf'; + public static z_TexParameterf: procedure(target: TextureBindTarget; pname: TextureInfoType; param: single) := _TexParameterf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterf(target: TextureBindTarget; pname: TextureInfoType; param: single) := z_TexParameterf(target, pname, param); {$endregion 8.10 - Texture Parameters} {$region 8.11 - Texture Queries} - // 8.11.2 + {$region 8.11.2 - Texture Parameter Queries} - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glGetTexParameteriv'; - static procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexParameteriv'; + public z_GetTextureParameteriv: procedure(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTextureParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: Int32) := GetTextureParameteriv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: DepthStencilMode) := GetTextureParameteriv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: TextureCompareMode) := GetTextureParameteriv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: ActivationFunc) := GetTextureParameteriv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelFilterMode) := GetTextureParameteriv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: SwizzleMode) := GetTextureParameteriv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelWrapMode) := GetTextureParameteriv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := z_GetTextureParameteriv(texture, pname, ¶ms); - static procedure GetTexParameterfv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glGetTexParameterfv'; - static procedure GetTexParameterfv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexParameterfv'; + public z_GetTextureParameterIuiv: procedure(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTextureParameterIuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: UInt32) := GetTextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: DepthStencilMode) := GetTextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: TextureCompareMode) := GetTextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: ActivationFunc) := GetTextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelFilterMode) := GetTextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: SwizzleMode) := GetTextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelWrapMode) := GetTextureParameterIuiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := z_GetTextureParameterIuiv(texture, pname, ¶ms); - static procedure GetTexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetTexParameterIiv'; - static procedure GetTexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexParameterIiv'; + public z_GetTextureParameterIiv: procedure(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTextureParameterIiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIiv(texture: TextureName; pname: TextureInfoType; var ¶ms: Int32) := GetTextureParameterIiv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterIiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := z_GetTextureParameterIiv(texture, pname, ¶ms); - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; - static procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexParameterIuiv'; + public z_GetTextureParameterfv: procedure(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTextureParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterfv(texture: TextureName; pname: TextureInfoType; var ¶ms: single) := GetTextureParameterfv(texture, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureParameterfv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer) := z_GetTextureParameterfv(texture, pname, ¶ms); - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: DepthStencilMode); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: SwizzleMode); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glGetTextureParameteriv'; - static procedure GetTextureParameteriv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTextureParameteriv'; + private static procedure _GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); external 'opengl32.dll' name 'glGetTexParameteriv'; + public static z_GetTexParameteriv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := _GetTexParameteriv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32) := GetTexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode) := GetTexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode) := GetTexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc) := GetTexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelFilterMode) := GetTexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode) := GetTexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode) := GetTexParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameteriv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_GetTexParameteriv(target, pname, ¶ms); - static procedure GetTextureParameterfv(texture: TextureName; pname: TextureInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glGetTextureParameterfv'; - static procedure GetTextureParameterfv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTextureParameterfv'; + public z_GetTexParameterIuiv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterIuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: UInt32) := GetTexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: DepthStencilMode) := GetTexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: TextureCompareMode) := GetTexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: ActivationFunc) := GetTexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelFilterMode) := GetTexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: SwizzleMode) := GetTexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: PixelWrapMode) := GetTexParameterIuiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_GetTexParameterIuiv(target, pname, ¶ms); - static procedure GetTextureParameterIiv(texture: TextureName; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetTextureParameterIiv'; - static procedure GetTextureParameterIiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTextureParameterIiv'; + public z_GetTexParameterIiv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterIiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: Int32) := GetTexParameterIiv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIiv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_GetTexParameterIiv(target, pname, ¶ms); - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: DepthStencilMode); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: TextureCompareMode); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: ActivationFunc); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelMagFilterMode); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelMinFilterMode); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: SwizzleMode); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: PixelWrapMode); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; - static procedure GetTextureParameterIuiv(texture: TextureName; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTextureParameterIuiv'; + private static procedure _GetTexParameterfv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer); external 'opengl32.dll' name 'glGetTexParameterfv'; + public static z_GetTexParameterfv: procedure(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := _GetTexParameterfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterfv(target: TextureBindTarget; pname: TextureInfoType; var ¶ms: single) := GetTexParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterfv(target: TextureBindTarget; pname: TextureInfoType; ¶ms: pointer) := z_GetTexParameterfv(target, pname, ¶ms); - // 8.11.3 + {$endregion 8.11.2 - Texture Parameter Queries} - static procedure GetTexLevelParameterfv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glGetTexLevelParameterfv'; - static procedure GetTexLevelParameterfv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexLevelParameterfv'; - static procedure GetTexLevelParameterfv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glGetTexLevelParameterfv'; - static procedure GetTexLevelParameterfv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexLevelParameterfv'; + {$region 8.11.3 - Texture Level Parameter Queries} - static procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: InternalDataFormat); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: InternalDataFormat); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; - static procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTexLevelParameteriv'; + public z_GetTextureLevelParameteriv: procedure(texture: TextureName; level: Int32; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTextureLevelParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: Int32) := GetTextureLevelParameteriv(texture, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: DataType) := GetTextureLevelParameteriv(texture, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: boolean) := GetTextureLevelParameteriv(texture, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: InternalDataFormat) := GetTextureLevelParameteriv(texture, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; ¶ms: pointer) := z_GetTextureLevelParameteriv(texture, level, pname, ¶ms); - static procedure GetTextureLevelParameterfv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glGetTextureLevelParameterfv'; - static procedure GetTextureLevelParameterfv(texture: TextureName; level: Int32; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTextureLevelParameterfv'; + public z_GetTextureLevelParameterfv: procedure(texture: TextureName; level: Int32; pname: TextureInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetTextureLevelParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureLevelParameterfv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: single) := GetTextureLevelParameterfv(texture, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureLevelParameterfv(texture: TextureName; level: Int32; pname: TextureInfoType; ¶ms: pointer) := z_GetTextureLevelParameterfv(texture, level, pname, ¶ms); - static procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetTextureLevelParameteriv'; - static procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetTextureLevelParameteriv'; - static procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetTextureLevelParameteriv'; - static procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; var ¶ms: InternalDataFormat); - external 'opengl32.dll' name 'glGetTextureLevelParameteriv'; - static procedure GetTextureLevelParameteriv(texture: TextureName; level: Int32; pname: TextureInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetTextureLevelParameteriv'; + private static procedure _GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer); external 'opengl32.dll' name 'glGetTexLevelParameteriv'; + public static z_GetTexLevelParameteriv: procedure(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer) := _GetTexLevelParameteriv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: Int32) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: DataType) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: boolean) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: InternalDataFormat) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; ¶ms: pointer) := GetTexLevelParameteriv(target, level, pname, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: Int32) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: DataType) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: boolean) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: InternalDataFormat) := GetTexLevelParameteriv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameteriv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer) := z_GetTexLevelParameteriv(target, level, pname, ¶ms); - // 8.11.4 + private static procedure _GetTexLevelParameterfv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer); external 'opengl32.dll' name 'glGetTexLevelParameterfv'; + public static z_GetTexLevelParameterfv: procedure(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer) := _GetTexLevelParameterfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameterfv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; var ¶ms: single) := GetTexLevelParameterfv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameterfv(target: TextureBindTarget; level: Int32; pname: TextureInfoType; ¶ms: pointer) := GetTexLevelParameterfv(target, level, pname, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameterfv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; var ¶ms: single) := GetTexLevelParameterfv(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameterfv(target: TextureCubeSide; level: Int32; pname: TextureInfoType; ¶ms: pointer) := z_GetTexLevelParameterfv(target, level, pname, ¶ms); - static procedure GetTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glGetTexImage'; - static procedure GetTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glGetTexImage'; + {$endregion 8.11.3 - Texture Level Parameter Queries} - static procedure GetTextureImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: IntPtr); - external 'opengl32.dll' name 'glGetTextureImage'; - static procedure GetTextureImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer); - external 'opengl32.dll' name 'glGetTextureImage'; + {$region 8.11.4 - Texture Image Queries} - static procedure GetnTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: IntPtr); - external 'opengl32.dll' name 'glGetnTexImage'; - static procedure GetnTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer); - external 'opengl32.dll' name 'glGetnTexImage'; + public z_GetTextureSubImage: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer) := GetGLFuncOrNil&('glGetTextureSubImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: IntPtr) := GetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, bufSize, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer) := z_GetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, bufSize, pixels); - static procedure GetTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: IntPtr); - external 'opengl32.dll' name 'glGetTextureSubImage'; - static procedure GetTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer); - external 'opengl32.dll' name 'glGetTextureSubImage'; + public z_GetTextureImage: procedure(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer) := GetGLFuncOrNil&('glGetTextureImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: IntPtr) := GetTextureImage(texture, level, format, &type, bufSize, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTextureImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer) := z_GetTextureImage(texture, level, format, &type, bufSize, pixels); - static procedure GetCompressedTexImage(target: TextureBindTarget; level: Int32; pixels: IntPtr); - external 'opengl32.dll' name 'glGetCompressedTexImage'; - static procedure GetCompressedTexImage(target: TextureBindTarget; level: Int32; pixels: pointer); - external 'opengl32.dll' name 'glGetCompressedTexImage'; + private static procedure _GetTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; pixels: pointer); external 'opengl32.dll' name 'glGetTexImage'; + public static z_GetTexImage: procedure(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; pixels: pointer) := _GetTexImage; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := GetTexImage(target, level, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_GetTexImage(target, level, format, &type, pixels); - static procedure GetCompressedTextureImage(texture: TextureName; level: Int32; bufSize: Int32; pixels: IntPtr); - external 'opengl32.dll' name 'glGetCompressedTextureImage'; - static procedure GetCompressedTextureImage(texture: TextureName; level: Int32; bufSize: Int32; pixels: pointer); - external 'opengl32.dll' name 'glGetCompressedTextureImage'; + public z_GetnTexImage: procedure(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer) := GetGLFuncOrNil&('glGetnTexImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: IntPtr) := GetnTexImage(target, level, format, &type, bufSize, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnTexImage(target: TextureBindTarget; level: Int32; format: DataFormat; &type: DataType; bufSize: Int32; pixels: pointer) := z_GetnTexImage(target, level, format, &type, bufSize, pixels); - static procedure GetnCompressedTexImage(target: TextureBindTarget; level: Int32; bufSize: Int32; pixels: IntPtr); - external 'opengl32.dll' name 'glGetnCompressedTexImage'; - static procedure GetnCompressedTexImage(target: TextureBindTarget; level: Int32; bufSize: Int32; pixels: pointer); - external 'opengl32.dll' name 'glGetnCompressedTexImage'; + public z_GetnCompressedTexImage: procedure(target: TextureBindTarget; lod: Int32; bufSize: Int32; pixels: pointer) := GetGLFuncOrNil&('glGetnCompressedTexImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnCompressedTexImage(target: TextureBindTarget; lod: Int32; bufSize: Int32; pixels: IntPtr) := GetnCompressedTexImage(target, lod, bufSize, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnCompressedTexImage(target: TextureBindTarget; lod: Int32; bufSize: Int32; pixels: pointer) := z_GetnCompressedTexImage(target, lod, bufSize, pixels); - static procedure GetCompressedTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; bufSize: Int32; pixels: IntPtr); - external 'opengl32.dll' name 'glGetCompressedTextureSubImage'; - static procedure GetCompressedTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; bufSize: Int32; pixels: pointer); - external 'opengl32.dll' name 'glGetCompressedTextureSubImage'; + public z_GetCompressedTextureSubImage: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; bufSize: Int32; pixels: pointer) := GetGLFuncOrNil&('glGetCompressedTextureSubImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCompressedTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; bufSize: Int32; pixels: IntPtr) := GetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCompressedTextureSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; bufSize: Int32; pixels: pointer) := z_GetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); + + public z_GetCompressedTextureImage: procedure(texture: TextureName; level: Int32; bufSize: Int32; pixels: pointer) := GetGLFuncOrNil&('glGetCompressedTextureImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCompressedTextureImage(texture: TextureName; level: Int32; bufSize: Int32; pixels: IntPtr) := GetCompressedTextureImage(texture, level, bufSize, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCompressedTextureImage(texture: TextureName; level: Int32; bufSize: Int32; pixels: pointer) := z_GetCompressedTextureImage(texture, level, bufSize, pixels); + + public z_GetCompressedTexImage: procedure(target: TextureBindTarget; level: Int32; img: pointer) := GetGLFuncOrNil&('glGetCompressedTexImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCompressedTexImage(target: TextureBindTarget; level: Int32; img: IntPtr) := GetCompressedTexImage(target, level, pointer(img)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCompressedTexImage(target: TextureBindTarget; level: Int32; img: pointer) := z_GetCompressedTexImage(target, level, img); + + {$endregion 8.11.4 - Texture Image Queries} {$endregion 8.11 - Texture Queries} {$region 8.14 - Texture Minification} - // 8.14.4 + {$region 8.14.4 - Manual Mipmap Generation} - static procedure GenerateMipmap(target: TextureBindTarget); - external 'opengl32.dll' name 'glGenerateMipmap'; + public z_GenerateTextureMipmap: procedure(texture: TextureName) := GetGLFuncOrNil&('glGenerateTextureMipmap'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenerateTextureMipmap(texture: TextureName) := z_GenerateTextureMipmap(texture); - static procedure GenerateTextureMipmap(texture: TextureName); - external 'opengl32.dll' name 'glGenerateTextureMipmap'; + public z_GenerateMipmap: procedure(target: TextureBindTarget) := GetGLFuncOrNil&('glGenerateMipmap'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenerateMipmap(target: TextureBindTarget) := z_GenerateMipmap(target); + + {$endregion 8.14.4 - Manual Mipmap Generation} {$endregion 8.14 - Texture Minification} {$region 8.18 - Texture Views} - static procedure TextureView(texture: TextureName; target: TextureBindTarget; origtexture: TextureName; internalformat: InternalDataFormat; minlevel: UInt32; numlevels: UInt32; minlayer: UInt32; numlayers: UInt32); - external 'opengl32.dll' name 'glTextureView'; + public z_TextureView: procedure(texture: TextureName; target: TextureBindTarget; origtexture: TextureName; internalformat: InternalDataFormat; minlevel: UInt32; numlevels: UInt32; minlayer: UInt32; numlayers: UInt32) := GetGLFuncOrNil&('glTextureView'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureView(texture: TextureName; target: TextureBindTarget; origtexture: TextureName; internalformat: InternalDataFormat; minlevel: UInt32; numlevels: UInt32; minlayer: UInt32; numlayers: UInt32) := z_TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); {$endregion 8.18 - Texture Views} {$region 8.19 - Immutable-Format Texture Images} - static procedure TexStorage1D(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32); - external 'opengl32.dll' name 'glTexStorage1D'; + public z_TextureStorage3DMultisample: procedure(texture: TextureName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean) := GetGLFuncOrNil&('glTextureStorage3DMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage3DMultisample(texture: TextureName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean) := z_TextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); - static procedure TextureStorage1D(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32); - external 'opengl32.dll' name 'glTextureStorage1D'; + public z_TextureStorage3D: procedure(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32) := GetGLFuncOrNil&('glTextureStorage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage3D(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32) := z_TextureStorage3D(texture, levels, internalformat, width, height, depth); - static procedure TexStorage2D(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32); - external 'opengl32.dll' name 'glTexStorage2D'; + public z_TextureStorage2DMultisample: procedure(texture: TextureName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean) := GetGLFuncOrNil&('glTextureStorage2DMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage2DMultisample(texture: TextureName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean) := z_TextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); - static procedure TextureStorage2D(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32); - external 'opengl32.dll' name 'glTextureStorage2D'; + public z_TextureStorage2D: procedure(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := GetGLFuncOrNil&('glTextureStorage2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage2D(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := z_TextureStorage2D(texture, levels, internalformat, width, height); - static procedure TexStorage3D(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32); - external 'opengl32.dll' name 'glTexStorage3D'; + public z_TextureStorage1D: procedure(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32) := GetGLFuncOrNil&('glTextureStorage1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage1D(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32) := z_TextureStorage1D(texture, levels, internalformat, width); - static procedure TextureStorage3D(texture: TextureName; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32); - external 'opengl32.dll' name 'glTextureStorage3D'; + public z_TexStorage3DMultisample: procedure(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean) := GetGLFuncOrNil&('glTexStorage3DMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage3DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean) := z_TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); - static procedure TexStorage2DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTexStorage2DMultisample'; + public z_TexStorage3D: procedure(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32) := GetGLFuncOrNil&('glTexStorage3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage3D(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32) := z_TexStorage3D(target, levels, internalformat, width, height, depth); - static procedure TextureStorage2DMultisample(texture: TextureName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTextureStorage2DMultisample'; + public z_TexStorage2DMultisample: procedure(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean) := GetGLFuncOrNil&('glTexStorage2DMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage2DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; fixedsamplelocations: boolean) := z_TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); - static procedure TexStorage3DMultisample(target: TextureBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTexStorage3DMultisample'; + public z_TexStorage2D: procedure(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := GetGLFuncOrNil&('glTexStorage2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage2D(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := z_TexStorage2D(target, levels, internalformat, width, height); - static procedure TextureStorage3DMultisample(texture: TextureName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTextureStorage3DMultisample'; + public z_TexStorage1D: procedure(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32) := GetGLFuncOrNil&('glTexStorage1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage1D(target: TextureBindTarget; levels: Int32; internalformat: InternalDataFormat; width: Int32) := z_TexStorage1D(target, levels, internalformat, width); {$endregion 8.19 - Immutable-Format Texture Images} {$region 8.20 - Invalidating Texture Image Data} - static procedure InvalidateTexSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32); - external 'opengl32.dll' name 'glInvalidateTexSubImage'; + public z_InvalidateTexSubImage: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32) := GetGLFuncOrNil&('glInvalidateTexSubImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateTexSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32) := z_InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); - static procedure InvalidateTexImage(texture: TextureName; level: Int32); - external 'opengl32.dll' name 'glInvalidateTexImage'; + public z_InvalidateTexImage: procedure(texture: TextureName; level: Int32) := GetGLFuncOrNil&('glInvalidateTexImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateTexImage(texture: TextureName; level: Int32) := z_InvalidateTexImage(texture, level); {$endregion 8.20 - Invalidating Texture Image Data} {$region 8.21 - Clearing Texture Image Data} - static procedure ClearTexSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; data: IntPtr); - external 'opengl32.dll' name 'glClearTexSubImage'; - static procedure ClearTexSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; data: pointer); - external 'opengl32.dll' name 'glClearTexSubImage'; + public z_ClearTexSubImage: procedure(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; data: pointer) := GetGLFuncOrNil&('glClearTexSubImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearTexSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; data: IntPtr) := ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearTexSubImage(texture: TextureName; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DataFormat; &type: DataType; data: pointer) := z_ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, data); - static procedure ClearTexImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; data: IntPtr); - external 'opengl32.dll' name 'glClearTexImage'; - static procedure ClearTexImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; data: pointer); - external 'opengl32.dll' name 'glClearTexImage'; + public z_ClearTexImage: procedure(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; data: pointer) := GetGLFuncOrNil&('glClearTexImage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearTexImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; data: IntPtr) := ClearTexImage(texture, level, format, &type, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearTexImage(texture: TextureName; level: Int32; format: DataFormat; &type: DataType; data: pointer) := z_ClearTexImage(texture, level, format, &type, data); {$endregion 8.21 - Clearing Texture Image Data} {$region 8.26 - Texture Image Loads and Stores} - static procedure BindImageTexture(&unit: TextureUnitId; texture: TextureName; level: Int32; layered: boolean; layer: Int32; access: AccessType; format: DataFormat); - external 'opengl32.dll' name 'glBindImageTexture'; + public z_BindImageTextures: procedure(first: UInt32; count: Int32; textures: pointer) := GetGLFuncOrNil&('glBindImageTextures'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindImageTextures(first: UInt32; count: Int32; textures: array of TextureName) := BindImageTextures(first, count, textures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindImageTextures(first: UInt32; count: Int32; var textures: TextureName) := BindImageTextures(first, count, @textures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindImageTextures(first: UInt32; count: Int32; textures: pointer) := z_BindImageTextures(first, count, textures); - static procedure BindImageTextures(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] textures: array of TextureName); - external 'opengl32.dll' name 'glBindImageTextures'; - static procedure BindImageTextures(first: UInt32; count: Int32; var textures: TextureName); - external 'opengl32.dll' name 'glBindImageTextures'; - static procedure BindImageTextures(first: UInt32; count: Int32; textures: pointer); - external 'opengl32.dll' name 'glBindImageTextures'; + public z_BindImageTexture: procedure(&unit: TextureUnitId; texture: TextureName; level: Int32; layered: boolean; layer: Int32; access: AccessType; format: DataFormat) := GetGLFuncOrNil&('glBindImageTexture'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindImageTexture(&unit: TextureUnitId; texture: TextureName; level: Int32; layered: boolean; layer: Int32; access: AccessType; format: DataFormat) := z_BindImageTexture(&unit, texture, level, layered, layer, access, format); {$endregion 8.26 - Texture Image Loads and Stores} - {$endregion 8.0 - Textures and Samplers} + {$endregion 8 - Textures and Samplers} - {$region 9.0 - Framebuffers and Framebuffer Objects} + {$region 9 - Framebuffers and Framebuffer Objects} {$region 9.2 - Binding and Managing Framebuffer Objects} - static procedure BindFramebuffer(target: FramebufferBindTarget; framebuffer: FramebufferName); - external 'opengl32.dll' name 'glBindFramebuffer'; + public z_IsFramebuffer: function(framebuffer: FramebufferName): boolean := GetGLFuncOrNil&('glIsFramebuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsFramebuffer(framebuffer: FramebufferName): boolean := z_IsFramebuffer(framebuffer); - static procedure CreateFramebuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] framebuffers: array of FramebufferName); - external 'opengl32.dll' name 'glCreateFramebuffers'; - static procedure CreateFramebuffers(n: Int32; var framebuffers: FramebufferName); - external 'opengl32.dll' name 'glCreateFramebuffers'; - static procedure CreateFramebuffers(n: Int32; framebuffers: pointer); - external 'opengl32.dll' name 'glCreateFramebuffers'; + public z_GenFramebuffers: procedure(n: Int32; framebuffers: pointer) := GetGLFuncOrNil&('glGenFramebuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFramebuffers(n: Int32; framebuffers: array of FramebufferName) := GenFramebuffers(n, framebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFramebuffers(n: Int32; var framebuffers: FramebufferName) := GenFramebuffers(n, @framebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFramebuffers(n: Int32; framebuffers: pointer) := z_GenFramebuffers(n, framebuffers); - static procedure GenFramebuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] framebuffers: array of FramebufferName); - external 'opengl32.dll' name 'glGenFramebuffers'; - static procedure GenFramebuffers(n: Int32; var framebuffers: FramebufferName); - external 'opengl32.dll' name 'glGenFramebuffers'; - static procedure GenFramebuffers(n: Int32; framebuffers: pointer); - external 'opengl32.dll' name 'glGenFramebuffers'; + public z_DeleteFramebuffers: procedure(n: Int32; framebuffers: pointer) := GetGLFuncOrNil&('glDeleteFramebuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFramebuffers(n: Int32; framebuffers: array of FramebufferName) := DeleteFramebuffers(n, framebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFramebuffers(n: Int32; var framebuffers: FramebufferName) := DeleteFramebuffers(n, @framebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFramebuffers(n: Int32; framebuffers: pointer) := z_DeleteFramebuffers(n, framebuffers); - static procedure DeleteFramebuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] framebuffers: array of FramebufferName); - external 'opengl32.dll' name 'glDeleteFramebuffers'; - static procedure DeleteFramebuffers(n: Int32; var framebuffers: FramebufferName); - external 'opengl32.dll' name 'glDeleteFramebuffers'; - static procedure DeleteFramebuffers(n: Int32; framebuffers: pointer); - external 'opengl32.dll' name 'glDeleteFramebuffers'; + public z_CreateFramebuffers: procedure(n: Int32; framebuffers: pointer) := GetGLFuncOrNil&('glCreateFramebuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateFramebuffers(n: Int32; framebuffers: array of FramebufferName) := CreateFramebuffers(n, framebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateFramebuffers(n: Int32; var framebuffers: FramebufferName) := CreateFramebuffers(n, @framebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateFramebuffers(n: Int32; framebuffers: pointer) := z_CreateFramebuffers(n, framebuffers); - static function IsFramebuffer(framebuffer: FramebufferName): boolean; - external 'opengl32.dll' name 'glIsFramebuffer'; + public z_BindFramebuffer: procedure(target: FramebufferBindTarget; framebuffer: FramebufferName) := GetGLFuncOrNil&('glBindFramebuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFramebuffer(target: FramebufferBindTarget; framebuffer: FramebufferName) := z_BindFramebuffer(target, framebuffer); - // 9.2.1 + {$region 9.2.1 - Framebuffer Object Parameters} - static procedure FramebufferParameteri(target: FramebufferBindTarget; pname: FramebufferInfoType; param: Int32); - external 'opengl32.dll' name 'glFramebufferParameteri'; + public z_NamedFramebufferParameteri: procedure(framebuffer: FramebufferName; pname: FramebufferInfoType; param: Int32) := GetGLFuncOrNil&('glNamedFramebufferParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferParameteri(framebuffer: FramebufferName; pname: FramebufferInfoType; param: Int32) := z_NamedFramebufferParameteri(framebuffer, pname, param); - static procedure NamedFramebufferParameteri(framebuffer: FramebufferName; pname: FramebufferInfoType; param: Int32); - external 'opengl32.dll' name 'glNamedFramebufferParameteri'; + public z_FramebufferParameteri: procedure(target: FramebufferBindTarget; pname: FramebufferInfoType; param: Int32) := GetGLFuncOrNil&('glFramebufferParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferParameteri(target: FramebufferBindTarget; pname: FramebufferInfoType; param: Int32) := z_FramebufferParameteri(target, pname, param); - // 9.2.3 + {$endregion 9.2.1 - Framebuffer Object Parameters} - static procedure GetFramebufferParameteriv(target: FramebufferBindTarget; pname: FramebufferInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetFramebufferParameteriv'; - static procedure GetFramebufferParameteriv(target: FramebufferBindTarget; pname: FramebufferInfoType; var ¶ms: boolean); - external 'opengl32.dll' name 'glGetFramebufferParameteriv'; - static procedure GetFramebufferParameteriv(target: FramebufferBindTarget; pname: FramebufferInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetFramebufferParameteriv'; + {$region 9.2.3 - Framebuffer Object Queries} - static procedure GetNamedFramebufferParameteriv(framebuffer: FramebufferName; pname: FramebufferInfoType; var param: Int32); - external 'opengl32.dll' name 'glGetNamedFramebufferParameteriv'; - static procedure GetNamedFramebufferParameteriv(framebuffer: FramebufferName; pname: FramebufferInfoType; var param: boolean); - external 'opengl32.dll' name 'glGetNamedFramebufferParameteriv'; - static procedure GetNamedFramebufferParameteriv(framebuffer: FramebufferName; pname: FramebufferInfoType; param: pointer); - external 'opengl32.dll' name 'glGetNamedFramebufferParameteriv'; + public z_GetNamedFramebufferParameteriv: procedure(framebuffer: FramebufferName; pname: FramebufferInfoType; param: pointer) := GetGLFuncOrNil&('glGetNamedFramebufferParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameteriv(framebuffer: FramebufferName; pname: FramebufferInfoType; var param: Int32) := GetNamedFramebufferParameteriv(framebuffer, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameteriv(framebuffer: FramebufferName; pname: FramebufferInfoType; var param: boolean) := GetNamedFramebufferParameteriv(framebuffer, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameteriv(framebuffer: FramebufferName; pname: FramebufferInfoType; param: pointer) := z_GetNamedFramebufferParameteriv(framebuffer, pname, param); - static procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: FramebufferAttachmentObjectType); - external 'opengl32.dll' name 'glGetFramebufferAttachmentParameteriv'; - static procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetFramebufferAttachmentParameteriv'; - static procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetFramebufferAttachmentParameteriv'; - static procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: ColorEncodingMode); - external 'opengl32.dll' name 'glGetFramebufferAttachmentParameteriv'; - static procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetFramebufferAttachmentParameteriv'; - static procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetFramebufferAttachmentParameteriv'; + public z_GetNamedFramebufferAttachmentParameteriv: procedure(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedFramebufferAttachmentParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: Int32) := GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: FramebufferAttachmentObjectType) := GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: UInt32) := GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: DataType) := GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: ColorEncodingMode) := GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; ¶ms: pointer) := z_GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, ¶ms); - static procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: FramebufferAttachmentObjectType); - external 'opengl32.dll' name 'glGetNamedFramebufferAttachmentParameteriv'; - static procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetNamedFramebufferAttachmentParameteriv'; - static procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetNamedFramebufferAttachmentParameteriv'; - static procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: ColorEncodingMode); - external 'opengl32.dll' name 'glGetNamedFramebufferAttachmentParameteriv'; - static procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetNamedFramebufferAttachmentParameteriv'; - static procedure GetNamedFramebufferAttachmentParameteriv(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetNamedFramebufferAttachmentParameteriv'; + public z_GetFramebufferParameteriv: procedure(target: FramebufferBindTarget; pname: FramebufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetFramebufferParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferParameteriv(target: FramebufferBindTarget; pname: FramebufferInfoType; var ¶ms: Int32) := GetFramebufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferParameteriv(target: FramebufferBindTarget; pname: FramebufferInfoType; var ¶ms: boolean) := GetFramebufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferParameteriv(target: FramebufferBindTarget; pname: FramebufferInfoType; ¶ms: pointer) := z_GetFramebufferParameteriv(target, pname, ¶ms); - // 9.2.4 + public z_GetFramebufferAttachmentParameteriv: procedure(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetFramebufferAttachmentParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: Int32) := GetFramebufferAttachmentParameteriv(target, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: FramebufferAttachmentObjectType) := GetFramebufferAttachmentParameteriv(target, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: UInt32) := GetFramebufferAttachmentParameteriv(target, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: DataType) := GetFramebufferAttachmentParameteriv(target, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; var ¶ms: ColorEncodingMode) := GetFramebufferAttachmentParameteriv(target, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameteriv(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; pname: FramebufferAttachmentInfoType; ¶ms: pointer) := z_GetFramebufferAttachmentParameteriv(target, attachment, pname, ¶ms); - static procedure BindRenderbuffer(target: RenderbufferBindTarget; renderbuffer: RenderbufferName); - external 'opengl32.dll' name 'glBindRenderbuffer'; + {$endregion 9.2.3 - Framebuffer Object Queries} - static procedure CreateRenderbuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] renderbuffers: array of RenderbufferName); - external 'opengl32.dll' name 'glCreateRenderbuffers'; - static procedure CreateRenderbuffers(n: Int32; var renderbuffers: RenderbufferName); - external 'opengl32.dll' name 'glCreateRenderbuffers'; - static procedure CreateRenderbuffers(n: Int32; renderbuffers: pointer); - external 'opengl32.dll' name 'glCreateRenderbuffers'; + {$region 9.2.4 - Renderbuffer Objects} - static procedure GenRenderbuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] renderbuffers: array of RenderbufferName); - external 'opengl32.dll' name 'glGenRenderbuffers'; - static procedure GenRenderbuffers(n: Int32; var renderbuffers: RenderbufferName); - external 'opengl32.dll' name 'glGenRenderbuffers'; - static procedure GenRenderbuffers(n: Int32; renderbuffers: pointer); - external 'opengl32.dll' name 'glGenRenderbuffers'; + public z_RenderbufferStorageMultisample: procedure(target: RenderbufferBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisample(target: RenderbufferBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := z_RenderbufferStorageMultisample(target, samples, internalformat, width, height); - static procedure DeleteRenderbuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] renderbuffers: array of RenderbufferName); - external 'opengl32.dll' name 'glDeleteRenderbuffers'; - static procedure DeleteRenderbuffers(n: Int32; var renderbuffers: RenderbufferName); - external 'opengl32.dll' name 'glDeleteRenderbuffers'; - static procedure DeleteRenderbuffers(n: Int32; renderbuffers: pointer); - external 'opengl32.dll' name 'glDeleteRenderbuffers'; + public z_RenderbufferStorage: procedure(target: RenderbufferBindTarget; internalformat: InternalDataFormat; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorage(target: RenderbufferBindTarget; internalformat: InternalDataFormat; width: Int32; height: Int32) := z_RenderbufferStorage(target, internalformat, width, height); - static function IsRenderbuffer(renderbuffer: RenderbufferName): boolean; - external 'opengl32.dll' name 'glIsRenderbuffer'; + public z_NamedRenderbufferStorageMultisample: procedure(renderbuffer: RenderbufferName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := GetGLFuncOrNil&('glNamedRenderbufferStorageMultisample'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedRenderbufferStorageMultisample(renderbuffer: RenderbufferName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32) := z_NamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); - static procedure RenderbufferStorageMultisample(target: RenderbufferBindTarget; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32); - external 'opengl32.dll' name 'glRenderbufferStorageMultisample'; + public z_NamedRenderbufferStorage: procedure(renderbuffer: RenderbufferName; internalformat: InternalDataFormat; width: Int32; height: Int32) := GetGLFuncOrNil&('glNamedRenderbufferStorage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedRenderbufferStorage(renderbuffer: RenderbufferName; internalformat: InternalDataFormat; width: Int32; height: Int32) := z_NamedRenderbufferStorage(renderbuffer, internalformat, width, height); - static procedure NamedRenderbufferStorageMultisample(renderbuffer: RenderbufferName; samples: Int32; internalformat: InternalDataFormat; width: Int32; height: Int32); - external 'opengl32.dll' name 'glNamedRenderbufferStorageMultisample'; + public z_IsRenderbuffer: function(renderbuffer: RenderbufferName): boolean := GetGLFuncOrNil&('glIsRenderbuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsRenderbuffer(renderbuffer: RenderbufferName): boolean := z_IsRenderbuffer(renderbuffer); - static procedure RenderbufferStorage(target: RenderbufferBindTarget; internalformat: InternalDataFormat; width: Int32; height: Int32); - external 'opengl32.dll' name 'glRenderbufferStorage'; + public z_GenRenderbuffers: procedure(n: Int32; renderbuffers: pointer) := GetGLFuncOrNil&('glGenRenderbuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenRenderbuffers(n: Int32; renderbuffers: array of RenderbufferName) := GenRenderbuffers(n, renderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenRenderbuffers(n: Int32; var renderbuffers: RenderbufferName) := GenRenderbuffers(n, @renderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenRenderbuffers(n: Int32; renderbuffers: pointer) := z_GenRenderbuffers(n, renderbuffers); - static procedure NamedRenderbufferStorage(renderbuffer: RenderbufferName; internalformat: InternalDataFormat; width: Int32; height: Int32); - external 'opengl32.dll' name 'glNamedRenderbufferStorage'; + public z_DeleteRenderbuffers: procedure(n: Int32; renderbuffers: pointer) := GetGLFuncOrNil&('glDeleteRenderbuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteRenderbuffers(n: Int32; renderbuffers: array of RenderbufferName) := DeleteRenderbuffers(n, renderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteRenderbuffers(n: Int32; var renderbuffers: RenderbufferName) := DeleteRenderbuffers(n, @renderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteRenderbuffers(n: Int32; renderbuffers: pointer) := z_DeleteRenderbuffers(n, renderbuffers); - // 9.2.6 + public z_CreateRenderbuffers: procedure(n: Int32; renderbuffers: pointer) := GetGLFuncOrNil&('glCreateRenderbuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateRenderbuffers(n: Int32; renderbuffers: array of RenderbufferName) := CreateRenderbuffers(n, renderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateRenderbuffers(n: Int32; var renderbuffers: RenderbufferName) := CreateRenderbuffers(n, @renderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateRenderbuffers(n: Int32; renderbuffers: pointer) := z_CreateRenderbuffers(n, renderbuffers); - static procedure GetRenderbufferParameteriv(target: RenderbufferBindTarget; pname: RenderbufferInfoType; var ¶ms: InternalDataFormat); - external 'opengl32.dll' name 'glGetRenderbufferParameteriv'; - static procedure GetRenderbufferParameteriv(target: RenderbufferBindTarget; pname: RenderbufferInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetRenderbufferParameteriv'; - static procedure GetRenderbufferParameteriv(target: RenderbufferBindTarget; pname: RenderbufferInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetRenderbufferParameteriv'; + public z_BindRenderbuffer: procedure(target: RenderbufferBindTarget; renderbuffer: RenderbufferName) := GetGLFuncOrNil&('glBindRenderbuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindRenderbuffer(target: RenderbufferBindTarget; renderbuffer: RenderbufferName) := z_BindRenderbuffer(target, renderbuffer); - static procedure GetNamedRenderbufferParameteriv(renderbuffer: RenderbufferName; pname: RenderbufferInfoType; var ¶ms: InternalDataFormat); - external 'opengl32.dll' name 'glGetNamedRenderbufferParameteriv'; - static procedure GetNamedRenderbufferParameteriv(renderbuffer: RenderbufferName; pname: RenderbufferInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetNamedRenderbufferParameteriv'; - static procedure GetNamedRenderbufferParameteriv(renderbuffer: RenderbufferName; pname: RenderbufferInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetNamedRenderbufferParameteriv'; + {$endregion 9.2.4 - Renderbuffer Objects} - // 9.2.7 + {$region 9.2.6 - Renderbuffer Object Queries} - static procedure FramebufferRenderbuffer(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; renderbuffertarget: RenderbufferBindTarget; renderbuffer: RenderbufferName); - external 'opengl32.dll' name 'glFramebufferRenderbuffer'; + public z_GetRenderbufferParameteriv: procedure(target: RenderbufferBindTarget; pname: RenderbufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetRenderbufferParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetRenderbufferParameteriv(target: RenderbufferBindTarget; pname: RenderbufferInfoType; var ¶ms: Int32) := GetRenderbufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetRenderbufferParameteriv(target: RenderbufferBindTarget; pname: RenderbufferInfoType; var ¶ms: InternalDataFormat) := GetRenderbufferParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetRenderbufferParameteriv(target: RenderbufferBindTarget; pname: RenderbufferInfoType; ¶ms: pointer) := z_GetRenderbufferParameteriv(target, pname, ¶ms); - static procedure NamedFramebufferRenderbuffer(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; renderbuffertarget: RenderbufferBindTarget; renderbuffer: RenderbufferName); - external 'opengl32.dll' name 'glNamedFramebufferRenderbuffer'; + public z_GetNamedRenderbufferParameteriv: procedure(renderbuffer: RenderbufferName; pname: RenderbufferInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedRenderbufferParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedRenderbufferParameteriv(renderbuffer: RenderbufferName; pname: RenderbufferInfoType; var ¶ms: Int32) := GetNamedRenderbufferParameteriv(renderbuffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedRenderbufferParameteriv(renderbuffer: RenderbufferName; pname: RenderbufferInfoType; var ¶ms: InternalDataFormat) := GetNamedRenderbufferParameteriv(renderbuffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedRenderbufferParameteriv(renderbuffer: RenderbufferName; pname: RenderbufferInfoType; ¶ms: pointer) := z_GetNamedRenderbufferParameteriv(renderbuffer, pname, ¶ms); - // 9.2.8 + {$endregion 9.2.6 - Renderbuffer Object Queries} - static procedure FramebufferTexture(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32); - external 'opengl32.dll' name 'glFramebufferTexture'; + {$region 9.2.7 - Attaching Renderbuffer Images to a Framebuffer} - static procedure NamedFramebufferTexture(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32); - external 'opengl32.dll' name 'glNamedFramebufferTexture'; + public z_NamedFramebufferRenderbuffer: procedure(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; renderbuffertarget: RenderbufferBindTarget; renderbuffer: RenderbufferName) := GetGLFuncOrNil&('glNamedFramebufferRenderbuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferRenderbuffer(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; renderbuffertarget: RenderbufferBindTarget; renderbuffer: RenderbufferName) := z_NamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); - static procedure FramebufferTexture1D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureBindTarget; texture: TextureName; level: Int32); - external 'opengl32.dll' name 'glFramebufferTexture1D'; - static procedure FramebufferTexture1D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32); - external 'opengl32.dll' name 'glFramebufferTexture1D'; + public z_FramebufferRenderbuffer: procedure(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; renderbuffertarget: RenderbufferBindTarget; renderbuffer: RenderbufferName) := GetGLFuncOrNil&('glFramebufferRenderbuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferRenderbuffer(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; renderbuffertarget: RenderbufferBindTarget; renderbuffer: RenderbufferName) := z_FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); - static procedure FramebufferTexture2D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureBindTarget; texture: TextureName; level: Int32); - external 'opengl32.dll' name 'glFramebufferTexture2D'; - static procedure FramebufferTexture2D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32); - external 'opengl32.dll' name 'glFramebufferTexture2D'; + {$endregion 9.2.7 - Attaching Renderbuffer Images to a Framebuffer} - static procedure FramebufferTexture3D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureBindTarget; texture: TextureName; level: Int32; zoffset: Int32); - external 'opengl32.dll' name 'glFramebufferTexture3D'; - static procedure FramebufferTexture3D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32; zoffset: Int32); - external 'opengl32.dll' name 'glFramebufferTexture3D'; + {$region 9.2.8 - Attaching Texture Images to a Framebuffer} - static procedure FramebufferTextureLayer(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32; layer: Int32); - external 'opengl32.dll' name 'glFramebufferTextureLayer'; + public z_NamedFramebufferTextureLayer: procedure(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32; layer: Int32) := GetGLFuncOrNil&('glNamedFramebufferTextureLayer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferTextureLayer(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32; layer: Int32) := z_NamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); - static procedure NamedFramebufferTextureLayer(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32; layer: Int32); - external 'opengl32.dll' name 'glNamedFramebufferTextureLayer'; + public z_NamedFramebufferTexture: procedure(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32) := GetGLFuncOrNil&('glNamedFramebufferTexture'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferTexture(framebuffer: FramebufferName; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32) := z_NamedFramebufferTexture(framebuffer, attachment, texture, level); + + public z_FramebufferTextureLayer: procedure(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32; layer: Int32) := GetGLFuncOrNil&('glFramebufferTextureLayer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureLayer(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32; layer: Int32) := z_FramebufferTextureLayer(target, attachment, texture, level, layer); + + public z_FramebufferTexture3D: procedure(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32; zoffset: Int32) := GetGLFuncOrNil&('glFramebufferTexture3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture3D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureBindTarget; texture: TextureName; level: Int32; zoffset: Int32) := FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture3D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32; zoffset: Int32) := z_FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + + public z_FramebufferTexture2D: procedure(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32) := GetGLFuncOrNil&('glFramebufferTexture2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture2D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureBindTarget; texture: TextureName; level: Int32) := FramebufferTexture2D(target, attachment, textarget, texture, level); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture2D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32) := z_FramebufferTexture2D(target, attachment, textarget, texture, level); + + public z_FramebufferTexture1D: procedure(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32) := GetGLFuncOrNil&('glFramebufferTexture1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture1D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureBindTarget; texture: TextureName; level: Int32) := FramebufferTexture1D(target, attachment, textarget, texture, level); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture1D(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; textarget: TextureCubeSide; texture: TextureName; level: Int32) := z_FramebufferTexture1D(target, attachment, textarget, texture, level); + + public z_FramebufferTexture: procedure(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32) := GetGLFuncOrNil&('glFramebufferTexture'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture(target: FramebufferBindTarget; attachment: FramebufferAttachmentPoint; texture: TextureName; level: Int32) := z_FramebufferTexture(target, attachment, texture, level); + + {$endregion 9.2.8 - Attaching Texture Images to a Framebuffer} {$endregion 9.2 - Binding and Managing Framebuffer Objects} {$region 9.3 - Feedback Loops Between Textures and the Framebuffer} - // 9.3.1 + {$region 9.3.1 - Rendering Feedback Loops} - static procedure TextureBarrier; - external 'opengl32.dll' name 'glTextureBarrier'; + public z_TextureBarrier: procedure := GetGLFuncOrNil&('glTextureBarrier'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureBarrier := z_TextureBarrier; + + {$endregion 9.3.1 - Rendering Feedback Loops} {$endregion 9.3 - Feedback Loops Between Textures and the Framebuffer} {$region 9.4 - Framebuffer Completeness} - // 9.4.2 + {$region 9.4.2 - Whole Framebuffer Completeness} - static function CheckFramebufferStatus(target: FramebufferBindTarget): ErrorCode; - external 'opengl32.dll' name 'glCheckFramebufferStatus'; + public z_CheckNamedFramebufferStatus: function(framebuffer: FramebufferName; target: FramebufferBindTarget): ErrorCode := GetGLFuncOrNil&('glCheckNamedFramebufferStatus'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CheckNamedFramebufferStatus(framebuffer: FramebufferName; target: FramebufferBindTarget): ErrorCode := z_CheckNamedFramebufferStatus(framebuffer, target); - static function CheckNamedFramebufferStatus(framebuffer: FramebufferName; target: FramebufferBindTarget): ErrorCode; - external 'opengl32.dll' name 'glCheckNamedFramebufferStatus'; + public z_CheckFramebufferStatus: function(target: FramebufferBindTarget): ErrorCode := GetGLFuncOrNil&('glCheckFramebufferStatus'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CheckFramebufferStatus(target: FramebufferBindTarget): ErrorCode := z_CheckFramebufferStatus(target); + + {$endregion 9.4.2 - Whole Framebuffer Completeness} {$endregion 9.4 - Framebuffer Completeness} - {$endregion 9.0 - Framebuffers and Framebuffer Objects} + {$endregion 9 - Framebuffers and Framebuffer Objects} - {$region 10.0 - Vertex Specification and Drawing Commands} + {$region 10 - Vertex Specification and Drawing Commands} {$region 10.1 - Primitive Types} - // 10.1.15 + {$region 10.1.15 - Separate Patches} - static procedure PatchParameteri(pname: PatchMode; value: Int32); - external 'opengl32.dll' name 'glPatchParameteri'; + public z_PatchParameteri: procedure(pname: PatchMode; value: Int32) := GetGLFuncOrNil&('glPatchParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameteri(pname: PatchMode; value: Int32) := z_PatchParameteri(pname, value); + + {$endregion 10.1.15 - Separate Patches} {$endregion 10.1 - Primitive Types} {$region 10.2 - Current Vertex Attribute Values} - // 10.2.1 - - {$region VertexAttrib[1,2,3,4][s,f,d]} - - static procedure VertexAttrib1s(index: UInt32; x: Int16); - external 'opengl32.dll' name 'glVertexAttrib1s'; - - static procedure VertexAttrib2s(index: UInt32; x: Int16; y: Int16); - external 'opengl32.dll' name 'glVertexAttrib2s'; - - static procedure VertexAttrib3s(index: UInt32; x: Int16; y: Int16; z: Int16); - external 'opengl32.dll' name 'glVertexAttrib3s'; - - static procedure VertexAttrib4s(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16); - external 'opengl32.dll' name 'glVertexAttrib4s'; - - static procedure VertexAttrib1f(index: UInt32; x: single); - external 'opengl32.dll' name 'glVertexAttrib1f'; - - static procedure VertexAttrib2f(index: UInt32; x: single; y: single); - external 'opengl32.dll' name 'glVertexAttrib2f'; - - static procedure VertexAttrib3f(index: UInt32; x: single; y: single; z: single); - external 'opengl32.dll' name 'glVertexAttrib3f'; - - static procedure VertexAttrib4f(index: UInt32; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glVertexAttrib4f'; - - static procedure VertexAttrib1d(index: UInt32; x: double); - external 'opengl32.dll' name 'glVertexAttrib1d'; - - static procedure VertexAttrib2d(index: UInt32; x: double; y: double); - external 'opengl32.dll' name 'glVertexAttrib2d'; - - static procedure VertexAttrib3d(index: UInt32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glVertexAttrib3d'; - - static procedure VertexAttrib4d(index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glVertexAttrib4d'; - - {$endregion VertexAttrib[1,2,3,4][s,f,d]} - - {$region VertexAttrib[1,2,3][s,f,d]v} - - static procedure VertexAttrib1sv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int16); - external 'opengl32.dll' name 'glVertexAttrib1sv'; - static procedure VertexAttrib1sv(index: UInt32; var v: Int16); - external 'opengl32.dll' name 'glVertexAttrib1sv'; - static procedure VertexAttrib1sv(index: UInt32; var v: Vec1s); - external 'opengl32.dll' name 'glVertexAttrib1sv'; - static procedure VertexAttrib1sv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib1sv'; - - static procedure VertexAttrib2sv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int16); - external 'opengl32.dll' name 'glVertexAttrib2sv'; - static procedure VertexAttrib2sv(index: UInt32; var v: Int16); - external 'opengl32.dll' name 'glVertexAttrib2sv'; - static procedure VertexAttrib2sv(index: UInt32; var v: Vec2s); - external 'opengl32.dll' name 'glVertexAttrib2sv'; - static procedure VertexAttrib2sv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib2sv'; - - static procedure VertexAttrib3sv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int16); - external 'opengl32.dll' name 'glVertexAttrib3sv'; - static procedure VertexAttrib3sv(index: UInt32; var v: Int16); - external 'opengl32.dll' name 'glVertexAttrib3sv'; - static procedure VertexAttrib3sv(index: UInt32; var v: Vec3s); - external 'opengl32.dll' name 'glVertexAttrib3sv'; - static procedure VertexAttrib3sv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib3sv'; - - static procedure VertexAttrib1fv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of single); - external 'opengl32.dll' name 'glVertexAttrib1fv'; - static procedure VertexAttrib1fv(index: UInt32; var v: single); - external 'opengl32.dll' name 'glVertexAttrib1fv'; - static procedure VertexAttrib1fv(index: UInt32; var v: Vec1f); - external 'opengl32.dll' name 'glVertexAttrib1fv'; - static procedure VertexAttrib1fv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib1fv'; - - static procedure VertexAttrib2fv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of single); - external 'opengl32.dll' name 'glVertexAttrib2fv'; - static procedure VertexAttrib2fv(index: UInt32; var v: single); - external 'opengl32.dll' name 'glVertexAttrib2fv'; - static procedure VertexAttrib2fv(index: UInt32; var v: Vec2f); - external 'opengl32.dll' name 'glVertexAttrib2fv'; - static procedure VertexAttrib2fv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib2fv'; - - static procedure VertexAttrib3fv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of single); - external 'opengl32.dll' name 'glVertexAttrib3fv'; - static procedure VertexAttrib3fv(index: UInt32; var v: single); - external 'opengl32.dll' name 'glVertexAttrib3fv'; - static procedure VertexAttrib3fv(index: UInt32; var v: Vec3f); - external 'opengl32.dll' name 'glVertexAttrib3fv'; - static procedure VertexAttrib3fv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib3fv'; - - static procedure VertexAttrib1dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttrib1dv'; - static procedure VertexAttrib1dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttrib1dv'; - static procedure VertexAttrib1dv(index: UInt32; var v: Vec1d); - external 'opengl32.dll' name 'glVertexAttrib1dv'; - static procedure VertexAttrib1dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib1dv'; - - static procedure VertexAttrib2dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttrib2dv'; - static procedure VertexAttrib2dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttrib2dv'; - static procedure VertexAttrib2dv(index: UInt32; var v: Vec2d); - external 'opengl32.dll' name 'glVertexAttrib2dv'; - static procedure VertexAttrib2dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib2dv'; - - static procedure VertexAttrib3dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttrib3dv'; - static procedure VertexAttrib3dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttrib3dv'; - static procedure VertexAttrib3dv(index: UInt32; var v: Vec3d); - external 'opengl32.dll' name 'glVertexAttrib3dv'; - static procedure VertexAttrib3dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib3dv'; - - {$endregion VertexAttrib[1,2,3][s,f,d]v} - - {$region VertexAttrib4[b,s,i,f,d,ub,us,ui]v} - - static procedure VertexAttrib4bv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of SByte); - external 'opengl32.dll' name 'glVertexAttrib4bv'; - static procedure VertexAttrib4bv(index: UInt32; var v: SByte); - external 'opengl32.dll' name 'glVertexAttrib4bv'; - static procedure VertexAttrib4bv(index: UInt32; var v: Vec4b); - external 'opengl32.dll' name 'glVertexAttrib4bv'; - static procedure VertexAttrib4bv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4bv'; - - static procedure VertexAttrib4sv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int16); - external 'opengl32.dll' name 'glVertexAttrib4sv'; - static procedure VertexAttrib4sv(index: UInt32; var v: Int16); - external 'opengl32.dll' name 'glVertexAttrib4sv'; - static procedure VertexAttrib4sv(index: UInt32; var v: Vec4s); - external 'opengl32.dll' name 'glVertexAttrib4sv'; - static procedure VertexAttrib4sv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4sv'; - - static procedure VertexAttrib4iv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glVertexAttrib4iv'; - static procedure VertexAttrib4iv(index: UInt32; var v: Int32); - external 'opengl32.dll' name 'glVertexAttrib4iv'; - static procedure VertexAttrib4iv(index: UInt32; var v: Vec4i); - external 'opengl32.dll' name 'glVertexAttrib4iv'; - static procedure VertexAttrib4iv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4iv'; - - static procedure VertexAttrib4fv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of single); - external 'opengl32.dll' name 'glVertexAttrib4fv'; - static procedure VertexAttrib4fv(index: UInt32; var v: single); - external 'opengl32.dll' name 'glVertexAttrib4fv'; - static procedure VertexAttrib4fv(index: UInt32; var v: Vec4f); - external 'opengl32.dll' name 'glVertexAttrib4fv'; - static procedure VertexAttrib4fv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4fv'; - - static procedure VertexAttrib4dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttrib4dv'; - static procedure VertexAttrib4dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttrib4dv'; - static procedure VertexAttrib4dv(index: UInt32; var v: Vec4d); - external 'opengl32.dll' name 'glVertexAttrib4dv'; - static procedure VertexAttrib4dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4dv'; - - static procedure VertexAttrib4ubv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Byte); - external 'opengl32.dll' name 'glVertexAttrib4ubv'; - static procedure VertexAttrib4ubv(index: UInt32; var v: Byte); - external 'opengl32.dll' name 'glVertexAttrib4ubv'; - static procedure VertexAttrib4ubv(index: UInt32; var v: Vec4ub); - external 'opengl32.dll' name 'glVertexAttrib4ubv'; - static procedure VertexAttrib4ubv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4ubv'; - - static procedure VertexAttrib4usv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt16); - external 'opengl32.dll' name 'glVertexAttrib4usv'; - static procedure VertexAttrib4usv(index: UInt32; var v: UInt16); - external 'opengl32.dll' name 'glVertexAttrib4usv'; - static procedure VertexAttrib4usv(index: UInt32; var v: Vec4us); - external 'opengl32.dll' name 'glVertexAttrib4usv'; - static procedure VertexAttrib4usv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4usv'; - - static procedure VertexAttrib4uiv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt32); - external 'opengl32.dll' name 'glVertexAttrib4uiv'; - static procedure VertexAttrib4uiv(index: UInt32; var v: UInt32); - external 'opengl32.dll' name 'glVertexAttrib4uiv'; - static procedure VertexAttrib4uiv(index: UInt32; var v: Vec4ui); - external 'opengl32.dll' name 'glVertexAttrib4uiv'; - static procedure VertexAttrib4uiv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4uiv'; - - {$endregion VertexAttrib4[b,s,i,f,d,ub,us,ui]v} - - {$region VertexAttrib4Nub} - - static procedure VertexAttrib4Nub(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte); - external 'opengl32.dll' name 'glVertexAttrib4Nub'; - - {$endregion VertexAttrib4Nub} - - {$region VertexAttrib4N[b,s,i,ub,us,ui]v} - - static procedure VertexAttrib4Nbv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of SByte); - external 'opengl32.dll' name 'glVertexAttrib4Nbv'; - static procedure VertexAttrib4Nbv(index: UInt32; var v: SByte); - external 'opengl32.dll' name 'glVertexAttrib4Nbv'; - static procedure VertexAttrib4Nbv(index: UInt32; var v: Vec4b); - external 'opengl32.dll' name 'glVertexAttrib4Nbv'; - static procedure VertexAttrib4Nbv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4Nbv'; - - static procedure VertexAttrib4Nsv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int16); - external 'opengl32.dll' name 'glVertexAttrib4Nsv'; - static procedure VertexAttrib4Nsv(index: UInt32; var v: Int16); - external 'opengl32.dll' name 'glVertexAttrib4Nsv'; - static procedure VertexAttrib4Nsv(index: UInt32; var v: Vec4s); - external 'opengl32.dll' name 'glVertexAttrib4Nsv'; - static procedure VertexAttrib4Nsv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4Nsv'; - - static procedure VertexAttrib4Niv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glVertexAttrib4Niv'; - static procedure VertexAttrib4Niv(index: UInt32; var v: Int32); - external 'opengl32.dll' name 'glVertexAttrib4Niv'; - static procedure VertexAttrib4Niv(index: UInt32; var v: Vec4i); - external 'opengl32.dll' name 'glVertexAttrib4Niv'; - static procedure VertexAttrib4Niv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4Niv'; - - static procedure VertexAttrib4Nubv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Byte); - external 'opengl32.dll' name 'glVertexAttrib4Nubv'; - static procedure VertexAttrib4Nubv(index: UInt32; var v: Byte); - external 'opengl32.dll' name 'glVertexAttrib4Nubv'; - static procedure VertexAttrib4Nubv(index: UInt32; var v: Vec4ub); - external 'opengl32.dll' name 'glVertexAttrib4Nubv'; - static procedure VertexAttrib4Nubv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4Nubv'; - - static procedure VertexAttrib4Nusv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt16); - external 'opengl32.dll' name 'glVertexAttrib4Nusv'; - static procedure VertexAttrib4Nusv(index: UInt32; var v: UInt16); - external 'opengl32.dll' name 'glVertexAttrib4Nusv'; - static procedure VertexAttrib4Nusv(index: UInt32; var v: Vec4us); - external 'opengl32.dll' name 'glVertexAttrib4Nusv'; - static procedure VertexAttrib4Nusv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4Nusv'; - - static procedure VertexAttrib4Nuiv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt32); - external 'opengl32.dll' name 'glVertexAttrib4Nuiv'; - static procedure VertexAttrib4Nuiv(index: UInt32; var v: UInt32); - external 'opengl32.dll' name 'glVertexAttrib4Nuiv'; - static procedure VertexAttrib4Nuiv(index: UInt32; var v: Vec4ui); - external 'opengl32.dll' name 'glVertexAttrib4Nuiv'; - static procedure VertexAttrib4Nuiv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttrib4Nuiv'; - - {$endregion VertexAttrib4N[b,s,i,ub,us,ui]v} - - {$region VertexAttribI[1,2,3,4][i,ui]} - - static procedure VertexAttribI1i(index: UInt32; x: Int32); - external 'opengl32.dll' name 'glVertexAttribI1i'; - - static procedure VertexAttribI2i(index: UInt32; x: Int32; y: Int32); - external 'opengl32.dll' name 'glVertexAttribI2i'; - - static procedure VertexAttribI3i(index: UInt32; x: Int32; y: Int32; z: Int32); - external 'opengl32.dll' name 'glVertexAttribI3i'; - - static procedure VertexAttribI4i(index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32); - external 'opengl32.dll' name 'glVertexAttribI4i'; - - static procedure VertexAttribI1ui(index: UInt32; x: UInt32); - external 'opengl32.dll' name 'glVertexAttribI1ui'; - - static procedure VertexAttribI2ui(index: UInt32; x: UInt32; y: UInt32); - external 'opengl32.dll' name 'glVertexAttribI2ui'; - - static procedure VertexAttribI3ui(index: UInt32; x: UInt32; y: UInt32; z: UInt32); - external 'opengl32.dll' name 'glVertexAttribI3ui'; - - static procedure VertexAttribI4ui(index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32); - external 'opengl32.dll' name 'glVertexAttribI4ui'; - - {$endregion VertexAttribI[1,2,3,4][i,ui]} - - {$region VertexAttribI[1,2,3,4][i,ui]v} - - static procedure VertexAttribI1iv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glVertexAttribI1iv'; - static procedure VertexAttribI1iv(index: UInt32; var v: Int32); - external 'opengl32.dll' name 'glVertexAttribI1iv'; - static procedure VertexAttribI1iv(index: UInt32; var v: Vec1i); - external 'opengl32.dll' name 'glVertexAttribI1iv'; - static procedure VertexAttribI1iv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI1iv'; - - static procedure VertexAttribI2iv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glVertexAttribI2iv'; - static procedure VertexAttribI2iv(index: UInt32; var v: Int32); - external 'opengl32.dll' name 'glVertexAttribI2iv'; - static procedure VertexAttribI2iv(index: UInt32; var v: Vec2i); - external 'opengl32.dll' name 'glVertexAttribI2iv'; - static procedure VertexAttribI2iv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI2iv'; - - static procedure VertexAttribI3iv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glVertexAttribI3iv'; - static procedure VertexAttribI3iv(index: UInt32; var v: Int32); - external 'opengl32.dll' name 'glVertexAttribI3iv'; - static procedure VertexAttribI3iv(index: UInt32; var v: Vec3i); - external 'opengl32.dll' name 'glVertexAttribI3iv'; - static procedure VertexAttribI3iv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI3iv'; - - static procedure VertexAttribI4iv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glVertexAttribI4iv'; - static procedure VertexAttribI4iv(index: UInt32; var v: Int32); - external 'opengl32.dll' name 'glVertexAttribI4iv'; - static procedure VertexAttribI4iv(index: UInt32; var v: Vec4i); - external 'opengl32.dll' name 'glVertexAttribI4iv'; - static procedure VertexAttribI4iv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI4iv'; - - static procedure VertexAttribI1uiv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt32); - external 'opengl32.dll' name 'glVertexAttribI1uiv'; - static procedure VertexAttribI1uiv(index: UInt32; var v: UInt32); - external 'opengl32.dll' name 'glVertexAttribI1uiv'; - static procedure VertexAttribI1uiv(index: UInt32; var v: Vec1ui); - external 'opengl32.dll' name 'glVertexAttribI1uiv'; - static procedure VertexAttribI1uiv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI1uiv'; - - static procedure VertexAttribI2uiv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt32); - external 'opengl32.dll' name 'glVertexAttribI2uiv'; - static procedure VertexAttribI2uiv(index: UInt32; var v: UInt32); - external 'opengl32.dll' name 'glVertexAttribI2uiv'; - static procedure VertexAttribI2uiv(index: UInt32; var v: Vec2ui); - external 'opengl32.dll' name 'glVertexAttribI2uiv'; - static procedure VertexAttribI2uiv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI2uiv'; - - static procedure VertexAttribI3uiv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt32); - external 'opengl32.dll' name 'glVertexAttribI3uiv'; - static procedure VertexAttribI3uiv(index: UInt32; var v: UInt32); - external 'opengl32.dll' name 'glVertexAttribI3uiv'; - static procedure VertexAttribI3uiv(index: UInt32; var v: Vec3ui); - external 'opengl32.dll' name 'glVertexAttribI3uiv'; - static procedure VertexAttribI3uiv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI3uiv'; - - static procedure VertexAttribI4uiv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt32); - external 'opengl32.dll' name 'glVertexAttribI4uiv'; - static procedure VertexAttribI4uiv(index: UInt32; var v: UInt32); - external 'opengl32.dll' name 'glVertexAttribI4uiv'; - static procedure VertexAttribI4uiv(index: UInt32; var v: Vec4ui); - external 'opengl32.dll' name 'glVertexAttribI4uiv'; - static procedure VertexAttribI4uiv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI4uiv'; - - {$endregion VertexAttribI[1,2,3,4][i,ui]v} - - {$region VertexAttribI4[b,s,ub,us]v} - - static procedure VertexAttribI4bv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of SByte); - external 'opengl32.dll' name 'glVertexAttribI4bv'; - static procedure VertexAttribI4bv(index: UInt32; var v: SByte); - external 'opengl32.dll' name 'glVertexAttribI4bv'; - static procedure VertexAttribI4bv(index: UInt32; var v: Vec4b); - external 'opengl32.dll' name 'glVertexAttribI4bv'; - static procedure VertexAttribI4bv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI4bv'; - - static procedure VertexAttribI4sv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int16); - external 'opengl32.dll' name 'glVertexAttribI4sv'; - static procedure VertexAttribI4sv(index: UInt32; var v: Int16); - external 'opengl32.dll' name 'glVertexAttribI4sv'; - static procedure VertexAttribI4sv(index: UInt32; var v: Vec4s); - external 'opengl32.dll' name 'glVertexAttribI4sv'; - static procedure VertexAttribI4sv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI4sv'; - - static procedure VertexAttribI4ubv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Byte); - external 'opengl32.dll' name 'glVertexAttribI4ubv'; - static procedure VertexAttribI4ubv(index: UInt32; var v: Byte); - external 'opengl32.dll' name 'glVertexAttribI4ubv'; - static procedure VertexAttribI4ubv(index: UInt32; var v: Vec4ub); - external 'opengl32.dll' name 'glVertexAttribI4ubv'; - static procedure VertexAttribI4ubv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI4ubv'; - - static procedure VertexAttribI4usv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of UInt16); - external 'opengl32.dll' name 'glVertexAttribI4usv'; - static procedure VertexAttribI4usv(index: UInt32; var v: UInt16); - external 'opengl32.dll' name 'glVertexAttribI4usv'; - static procedure VertexAttribI4usv(index: UInt32; var v: Vec4us); - external 'opengl32.dll' name 'glVertexAttribI4usv'; - static procedure VertexAttribI4usv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribI4usv'; - - {$endregion VertexAttribI4[b,s,ub,us]v} - - {$region VertexAttribL[1,2,3,4]d} - - static procedure VertexAttribL1d(index: UInt32; x: double); - external 'opengl32.dll' name 'glVertexAttribL1d'; - - static procedure VertexAttribL2d(index: UInt32; x: double; y: double); - external 'opengl32.dll' name 'glVertexAttribL2d'; - - static procedure VertexAttribL3d(index: UInt32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glVertexAttribL3d'; - - static procedure VertexAttribL4d(index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glVertexAttribL4d'; - - {$endregion VertexAttribL[1,2,3,4]d} - - {$region VertexAttribL[1,2,3,4]dv} - - static procedure VertexAttribL1dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttribL1dv'; - static procedure VertexAttribL1dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttribL1dv'; - static procedure VertexAttribL1dv(index: UInt32; var v: Vec1d); - external 'opengl32.dll' name 'glVertexAttribL1dv'; - static procedure VertexAttribL1dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribL1dv'; - - static procedure VertexAttribL2dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttribL2dv'; - static procedure VertexAttribL2dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttribL2dv'; - static procedure VertexAttribL2dv(index: UInt32; var v: Vec2d); - external 'opengl32.dll' name 'glVertexAttribL2dv'; - static procedure VertexAttribL2dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribL2dv'; - - static procedure VertexAttribL3dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttribL3dv'; - static procedure VertexAttribL3dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttribL3dv'; - static procedure VertexAttribL3dv(index: UInt32; var v: Vec3d); - external 'opengl32.dll' name 'glVertexAttribL3dv'; - static procedure VertexAttribL3dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribL3dv'; - - static procedure VertexAttribL4dv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glVertexAttribL4dv'; - static procedure VertexAttribL4dv(index: UInt32; var v: double); - external 'opengl32.dll' name 'glVertexAttribL4dv'; - static procedure VertexAttribL4dv(index: UInt32; var v: Vec4d); - external 'opengl32.dll' name 'glVertexAttribL4dv'; - static procedure VertexAttribL4dv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glVertexAttribL4dv'; - - {$endregion VertexAttribL[1,2,3,4]dv} - - {$region VertexAttribP[1,2,3,4]ui} - - static procedure VertexAttribP1ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP1ui'; - - static procedure VertexAttribP2ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP2ui'; - - static procedure VertexAttribP3ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP3ui'; - - static procedure VertexAttribP4ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP4ui'; - - {$endregion VertexAttribP[1,2,3,4]ui} - - {$region VertexAttribP[1,2,3,4]uiv} - - static procedure VertexAttribP1uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP1uiv'; - static procedure VertexAttribP1uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer); - external 'opengl32.dll' name 'glVertexAttribP1uiv'; - - static procedure VertexAttribP2uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP2uiv'; - static procedure VertexAttribP2uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer); - external 'opengl32.dll' name 'glVertexAttribP2uiv'; - - static procedure VertexAttribP3uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP3uiv'; - static procedure VertexAttribP3uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer); - external 'opengl32.dll' name 'glVertexAttribP3uiv'; - - static procedure VertexAttribP4uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32); - external 'opengl32.dll' name 'glVertexAttribP4uiv'; - static procedure VertexAttribP4uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer); - external 'opengl32.dll' name 'glVertexAttribP4uiv'; - - {$endregion VertexAttribP[1,2,3,4]uiv} + {$region 10.2.1 - Current Generic Attributes} + + public z_VertexAttribP4uiv: procedure(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := GetGLFuncOrNil&('glVertexAttribP4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP4uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32) := VertexAttribP4uiv(index, &type, normalized, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP4uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := z_VertexAttribP4uiv(index, &type, normalized, value); + + public z_VertexAttribP4ui: procedure(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := GetGLFuncOrNil&('glVertexAttribP4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP4ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := z_VertexAttribP4ui(index, &type, normalized, value); + + public z_VertexAttribP3uiv: procedure(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := GetGLFuncOrNil&('glVertexAttribP3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP3uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32) := VertexAttribP3uiv(index, &type, normalized, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP3uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := z_VertexAttribP3uiv(index, &type, normalized, value); + + public z_VertexAttribP3ui: procedure(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := GetGLFuncOrNil&('glVertexAttribP3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP3ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := z_VertexAttribP3ui(index, &type, normalized, value); + + public z_VertexAttribP2uiv: procedure(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := GetGLFuncOrNil&('glVertexAttribP2uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP2uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32) := VertexAttribP2uiv(index, &type, normalized, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP2uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := z_VertexAttribP2uiv(index, &type, normalized, value); + + public z_VertexAttribP2ui: procedure(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := GetGLFuncOrNil&('glVertexAttribP2ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP2ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := z_VertexAttribP2ui(index, &type, normalized, value); + + public z_VertexAttribP1uiv: procedure(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := GetGLFuncOrNil&('glVertexAttribP1uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP1uiv(index: UInt32; &type: DataType; normalized: boolean; var value: UInt32) := VertexAttribP1uiv(index, &type, normalized, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP1uiv(index: UInt32; &type: DataType; normalized: boolean; value: pointer) := z_VertexAttribP1uiv(index, &type, normalized, value); + + public z_VertexAttribP1ui: procedure(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := GetGLFuncOrNil&('glVertexAttribP1ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribP1ui(index: UInt32; &type: DataType; normalized: boolean; value: UInt32) := z_VertexAttribP1ui(index, &type, normalized, value); + + public z_VertexAttribL4dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dv(index: UInt32; v: array of double) := VertexAttribL4dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dv(index: UInt32; var v: double) := VertexAttribL4dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dv(index: UInt32; var v: Vec4d) := VertexAttribL4dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dv(index: UInt32; v: pointer) := z_VertexAttribL4dv(index, v); + + public z_VertexAttribL4d: procedure(index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glVertexAttribL4d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4d(index: UInt32; x: double; y: double; z: double; w: double) := z_VertexAttribL4d(index, x, y, z, w); + + public z_VertexAttribL3dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dv(index: UInt32; v: array of double) := VertexAttribL3dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dv(index: UInt32; var v: double) := VertexAttribL3dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dv(index: UInt32; var v: Vec3d) := VertexAttribL3dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dv(index: UInt32; v: pointer) := z_VertexAttribL3dv(index, v); + + public z_VertexAttribL3d: procedure(index: UInt32; x: double; y: double; z: double) := GetGLFuncOrNil&('glVertexAttribL3d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3d(index: UInt32; x: double; y: double; z: double) := z_VertexAttribL3d(index, x, y, z); + + public z_VertexAttribL2dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dv(index: UInt32; v: array of double) := VertexAttribL2dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dv(index: UInt32; var v: double) := VertexAttribL2dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dv(index: UInt32; var v: Vec2d) := VertexAttribL2dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dv(index: UInt32; v: pointer) := z_VertexAttribL2dv(index, v); + + public z_VertexAttribL2d: procedure(index: UInt32; x: double; y: double) := GetGLFuncOrNil&('glVertexAttribL2d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2d(index: UInt32; x: double; y: double) := z_VertexAttribL2d(index, x, y); + + public z_VertexAttribL1dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL1dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dv(index: UInt32; v: array of double) := VertexAttribL1dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dv(index: UInt32; var v: double) := VertexAttribL1dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dv(index: UInt32; var v: Vec1d) := VertexAttribL1dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dv(index: UInt32; v: pointer) := z_VertexAttribL1dv(index, v); + + public z_VertexAttribL1d: procedure(index: UInt32; x: double) := GetGLFuncOrNil&('glVertexAttribL1d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1d(index: UInt32; x: double) := z_VertexAttribL1d(index, x); + + public z_VertexAttribI4usv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4usv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4usv(index: UInt32; v: array of UInt16) := VertexAttribI4usv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4usv(index: UInt32; var v: UInt16) := VertexAttribI4usv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4usv(index: UInt32; var v: Vec4us) := VertexAttribI4usv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4usv(index: UInt32; v: pointer) := z_VertexAttribI4usv(index, v); + + public z_VertexAttribI4uiv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uiv(index: UInt32; v: array of UInt32) := VertexAttribI4uiv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uiv(index: UInt32; var v: UInt32) := VertexAttribI4uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uiv(index: UInt32; var v: Vec4ui) := VertexAttribI4uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uiv(index: UInt32; v: pointer) := z_VertexAttribI4uiv(index, v); + + public z_VertexAttribI4ui: procedure(index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := GetGLFuncOrNil&('glVertexAttribI4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ui(index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := z_VertexAttribI4ui(index, x, y, z, w); + + public z_VertexAttribI4ubv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4ubv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ubv(index: UInt32; v: array of Byte) := VertexAttribI4ubv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ubv(index: UInt32; var v: Byte) := VertexAttribI4ubv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ubv(index: UInt32; var v: Vec4ub) := VertexAttribI4ubv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ubv(index: UInt32; v: pointer) := z_VertexAttribI4ubv(index, v); + + public z_VertexAttribI4sv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4sv(index: UInt32; v: array of Int16) := VertexAttribI4sv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4sv(index: UInt32; var v: Int16) := VertexAttribI4sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4sv(index: UInt32; var v: Vec4s) := VertexAttribI4sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4sv(index: UInt32; v: pointer) := z_VertexAttribI4sv(index, v); + + public z_VertexAttribI4iv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4iv(index: UInt32; v: array of Int32) := VertexAttribI4iv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4iv(index: UInt32; var v: Int32) := VertexAttribI4iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4iv(index: UInt32; var v: Vec4i) := VertexAttribI4iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4iv(index: UInt32; v: pointer) := z_VertexAttribI4iv(index, v); + + public z_VertexAttribI4i: procedure(index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := GetGLFuncOrNil&('glVertexAttribI4i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4i(index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := z_VertexAttribI4i(index, x, y, z, w); + + public z_VertexAttribI4bv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4bv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4bv(index: UInt32; v: array of SByte) := VertexAttribI4bv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4bv(index: UInt32; var v: SByte) := VertexAttribI4bv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4bv(index: UInt32; var v: Vec4b) := VertexAttribI4bv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4bv(index: UInt32; v: pointer) := z_VertexAttribI4bv(index, v); + + public z_VertexAttribI3uiv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uiv(index: UInt32; v: array of UInt32) := VertexAttribI3uiv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uiv(index: UInt32; var v: UInt32) := VertexAttribI3uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uiv(index: UInt32; var v: Vec3ui) := VertexAttribI3uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uiv(index: UInt32; v: pointer) := z_VertexAttribI3uiv(index, v); + + public z_VertexAttribI3ui: procedure(index: UInt32; x: UInt32; y: UInt32; z: UInt32) := GetGLFuncOrNil&('glVertexAttribI3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3ui(index: UInt32; x: UInt32; y: UInt32; z: UInt32) := z_VertexAttribI3ui(index, x, y, z); + + public z_VertexAttribI3iv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI3iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3iv(index: UInt32; v: array of Int32) := VertexAttribI3iv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3iv(index: UInt32; var v: Int32) := VertexAttribI3iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3iv(index: UInt32; var v: Vec3i) := VertexAttribI3iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3iv(index: UInt32; v: pointer) := z_VertexAttribI3iv(index, v); + + public z_VertexAttribI3i: procedure(index: UInt32; x: Int32; y: Int32; z: Int32) := GetGLFuncOrNil&('glVertexAttribI3i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3i(index: UInt32; x: Int32; y: Int32; z: Int32) := z_VertexAttribI3i(index, x, y, z); + + public z_VertexAttribI2uiv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI2uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uiv(index: UInt32; v: array of UInt32) := VertexAttribI2uiv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uiv(index: UInt32; var v: UInt32) := VertexAttribI2uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uiv(index: UInt32; var v: Vec2ui) := VertexAttribI2uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uiv(index: UInt32; v: pointer) := z_VertexAttribI2uiv(index, v); + + public z_VertexAttribI2ui: procedure(index: UInt32; x: UInt32; y: UInt32) := GetGLFuncOrNil&('glVertexAttribI2ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2ui(index: UInt32; x: UInt32; y: UInt32) := z_VertexAttribI2ui(index, x, y); + + public z_VertexAttribI2iv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI2iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2iv(index: UInt32; v: array of Int32) := VertexAttribI2iv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2iv(index: UInt32; var v: Int32) := VertexAttribI2iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2iv(index: UInt32; var v: Vec2i) := VertexAttribI2iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2iv(index: UInt32; v: pointer) := z_VertexAttribI2iv(index, v); + + public z_VertexAttribI2i: procedure(index: UInt32; x: Int32; y: Int32) := GetGLFuncOrNil&('glVertexAttribI2i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2i(index: UInt32; x: Int32; y: Int32) := z_VertexAttribI2i(index, x, y); + + public z_VertexAttribI1uiv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI1uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uiv(index: UInt32; v: array of UInt32) := VertexAttribI1uiv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uiv(index: UInt32; var v: UInt32) := VertexAttribI1uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uiv(index: UInt32; var v: Vec1ui) := VertexAttribI1uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uiv(index: UInt32; v: pointer) := z_VertexAttribI1uiv(index, v); + + public z_VertexAttribI1ui: procedure(index: UInt32; x: UInt32) := GetGLFuncOrNil&('glVertexAttribI1ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1ui(index: UInt32; x: UInt32) := z_VertexAttribI1ui(index, x); + + public z_VertexAttribI1iv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI1iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1iv(index: UInt32; v: array of Int32) := VertexAttribI1iv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1iv(index: UInt32; var v: Int32) := VertexAttribI1iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1iv(index: UInt32; var v: Vec1i) := VertexAttribI1iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1iv(index: UInt32; v: pointer) := z_VertexAttribI1iv(index, v); + + public z_VertexAttribI1i: procedure(index: UInt32; x: Int32) := GetGLFuncOrNil&('glVertexAttribI1i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1i(index: UInt32; x: Int32) := z_VertexAttribI1i(index, x); + + public z_VertexAttrib4usv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4usv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4usv(index: UInt32; v: array of UInt16) := VertexAttrib4usv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4usv(index: UInt32; var v: UInt16) := VertexAttrib4usv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4usv(index: UInt32; var v: Vec4us) := VertexAttrib4usv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4usv(index: UInt32; v: pointer) := z_VertexAttrib4usv(index, v); + + public z_VertexAttrib4uiv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4uiv(index: UInt32; v: array of UInt32) := VertexAttrib4uiv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4uiv(index: UInt32; var v: UInt32) := VertexAttrib4uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4uiv(index: UInt32; var v: Vec4ui) := VertexAttrib4uiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4uiv(index: UInt32; v: pointer) := z_VertexAttrib4uiv(index, v); + + public z_VertexAttrib4ubv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4ubv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubv(index: UInt32; v: array of Byte) := VertexAttrib4ubv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubv(index: UInt32; var v: Byte) := VertexAttrib4ubv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubv(index: UInt32; var v: Vec4ub) := VertexAttrib4ubv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubv(index: UInt32; v: pointer) := z_VertexAttrib4ubv(index, v); + + public z_VertexAttrib4sv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4sv(index: UInt32; v: array of Int16) := VertexAttrib4sv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4sv(index: UInt32; var v: Int16) := VertexAttrib4sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4sv(index: UInt32; var v: Vec4s) := VertexAttrib4sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4sv(index: UInt32; v: pointer) := z_VertexAttrib4sv(index, v); + + public z_VertexAttrib4s: procedure(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16) := GetGLFuncOrNil&('glVertexAttrib4s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4s(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16) := z_VertexAttrib4s(index, x, y, z, w); + + public z_VertexAttrib4Nusv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4Nusv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nusv(index: UInt32; v: array of UInt16) := VertexAttrib4Nusv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nusv(index: UInt32; var v: UInt16) := VertexAttrib4Nusv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nusv(index: UInt32; var v: Vec4us) := VertexAttrib4Nusv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nusv(index: UInt32; v: pointer) := z_VertexAttrib4Nusv(index, v); + + public z_VertexAttrib4Nuiv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4Nuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nuiv(index: UInt32; v: array of UInt32) := VertexAttrib4Nuiv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nuiv(index: UInt32; var v: UInt32) := VertexAttrib4Nuiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nuiv(index: UInt32; var v: Vec4ui) := VertexAttrib4Nuiv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nuiv(index: UInt32; v: pointer) := z_VertexAttrib4Nuiv(index, v); + + public z_VertexAttrib4Nubv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4Nubv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nubv(index: UInt32; v: array of Byte) := VertexAttrib4Nubv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nubv(index: UInt32; var v: Byte) := VertexAttrib4Nubv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nubv(index: UInt32; var v: Vec4ub) := VertexAttrib4Nubv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nubv(index: UInt32; v: pointer) := z_VertexAttrib4Nubv(index, v); + + public z_VertexAttrib4Nub: procedure(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte) := GetGLFuncOrNil&('glVertexAttrib4Nub'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nub(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte) := z_VertexAttrib4Nub(index, x, y, z, w); + + public z_VertexAttrib4Nsv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4Nsv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nsv(index: UInt32; v: array of Int16) := VertexAttrib4Nsv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nsv(index: UInt32; var v: Int16) := VertexAttrib4Nsv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nsv(index: UInt32; var v: Vec4s) := VertexAttrib4Nsv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nsv(index: UInt32; v: pointer) := z_VertexAttrib4Nsv(index, v); + + public z_VertexAttrib4Niv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4Niv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Niv(index: UInt32; v: array of Int32) := VertexAttrib4Niv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Niv(index: UInt32; var v: Int32) := VertexAttrib4Niv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Niv(index: UInt32; var v: Vec4i) := VertexAttrib4Niv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Niv(index: UInt32; v: pointer) := z_VertexAttrib4Niv(index, v); + + public z_VertexAttrib4Nbv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4Nbv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nbv(index: UInt32; v: array of SByte) := VertexAttrib4Nbv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nbv(index: UInt32; var v: SByte) := VertexAttrib4Nbv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nbv(index: UInt32; var v: Vec4b) := VertexAttrib4Nbv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4Nbv(index: UInt32; v: pointer) := z_VertexAttrib4Nbv(index, v); + + public z_VertexAttrib4iv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4iv(index: UInt32; v: array of Int32) := VertexAttrib4iv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4iv(index: UInt32; var v: Int32) := VertexAttrib4iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4iv(index: UInt32; var v: Vec4i) := VertexAttrib4iv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4iv(index: UInt32; v: pointer) := z_VertexAttrib4iv(index, v); + + public z_VertexAttrib4fv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fv(index: UInt32; v: array of single) := VertexAttrib4fv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fv(index: UInt32; var v: single) := VertexAttrib4fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fv(index: UInt32; var v: Vec4f) := VertexAttrib4fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fv(index: UInt32; v: pointer) := z_VertexAttrib4fv(index, v); + + public z_VertexAttrib4f: procedure(index: UInt32; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glVertexAttrib4f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4f(index: UInt32; x: single; y: single; z: single; w: single) := z_VertexAttrib4f(index, x, y, z, w); + + public z_VertexAttrib4dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dv(index: UInt32; v: array of double) := VertexAttrib4dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dv(index: UInt32; var v: double) := VertexAttrib4dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dv(index: UInt32; var v: Vec4d) := VertexAttrib4dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dv(index: UInt32; v: pointer) := z_VertexAttrib4dv(index, v); + + public z_VertexAttrib4d: procedure(index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glVertexAttrib4d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4d(index: UInt32; x: double; y: double; z: double; w: double) := z_VertexAttrib4d(index, x, y, z, w); + + public z_VertexAttrib4bv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4bv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4bv(index: UInt32; v: array of SByte) := VertexAttrib4bv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4bv(index: UInt32; var v: SByte) := VertexAttrib4bv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4bv(index: UInt32; var v: Vec4b) := VertexAttrib4bv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4bv(index: UInt32; v: pointer) := z_VertexAttrib4bv(index, v); + + public z_VertexAttrib3sv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3sv(index: UInt32; v: array of Int16) := VertexAttrib3sv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3sv(index: UInt32; var v: Int16) := VertexAttrib3sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3sv(index: UInt32; var v: Vec3s) := VertexAttrib3sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3sv(index: UInt32; v: pointer) := z_VertexAttrib3sv(index, v); + + public z_VertexAttrib3s: procedure(index: UInt32; x: Int16; y: Int16; z: Int16) := GetGLFuncOrNil&('glVertexAttrib3s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3s(index: UInt32; x: Int16; y: Int16; z: Int16) := z_VertexAttrib3s(index, x, y, z); + + public z_VertexAttrib3fv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fv(index: UInt32; v: array of single) := VertexAttrib3fv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fv(index: UInt32; var v: single) := VertexAttrib3fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fv(index: UInt32; var v: Vec3f) := VertexAttrib3fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fv(index: UInt32; v: pointer) := z_VertexAttrib3fv(index, v); + + public z_VertexAttrib3f: procedure(index: UInt32; x: single; y: single; z: single) := GetGLFuncOrNil&('glVertexAttrib3f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3f(index: UInt32; x: single; y: single; z: single) := z_VertexAttrib3f(index, x, y, z); + + public z_VertexAttrib3dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dv(index: UInt32; v: array of double) := VertexAttrib3dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dv(index: UInt32; var v: double) := VertexAttrib3dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dv(index: UInt32; var v: Vec3d) := VertexAttrib3dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dv(index: UInt32; v: pointer) := z_VertexAttrib3dv(index, v); + + public z_VertexAttrib3d: procedure(index: UInt32; x: double; y: double; z: double) := GetGLFuncOrNil&('glVertexAttrib3d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3d(index: UInt32; x: double; y: double; z: double) := z_VertexAttrib3d(index, x, y, z); + + public z_VertexAttrib2sv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2sv(index: UInt32; v: array of Int16) := VertexAttrib2sv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2sv(index: UInt32; var v: Int16) := VertexAttrib2sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2sv(index: UInt32; var v: Vec2s) := VertexAttrib2sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2sv(index: UInt32; v: pointer) := z_VertexAttrib2sv(index, v); + + public z_VertexAttrib2s: procedure(index: UInt32; x: Int16; y: Int16) := GetGLFuncOrNil&('glVertexAttrib2s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2s(index: UInt32; x: Int16; y: Int16) := z_VertexAttrib2s(index, x, y); + + public z_VertexAttrib2fv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fv(index: UInt32; v: array of single) := VertexAttrib2fv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fv(index: UInt32; var v: single) := VertexAttrib2fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fv(index: UInt32; var v: Vec2f) := VertexAttrib2fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fv(index: UInt32; v: pointer) := z_VertexAttrib2fv(index, v); + + public z_VertexAttrib2f: procedure(index: UInt32; x: single; y: single) := GetGLFuncOrNil&('glVertexAttrib2f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2f(index: UInt32; x: single; y: single) := z_VertexAttrib2f(index, x, y); + + public z_VertexAttrib2dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dv(index: UInt32; v: array of double) := VertexAttrib2dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dv(index: UInt32; var v: double) := VertexAttrib2dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dv(index: UInt32; var v: Vec2d) := VertexAttrib2dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dv(index: UInt32; v: pointer) := z_VertexAttrib2dv(index, v); + + public z_VertexAttrib2d: procedure(index: UInt32; x: double; y: double) := GetGLFuncOrNil&('glVertexAttrib2d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2d(index: UInt32; x: double; y: double) := z_VertexAttrib2d(index, x, y); + + public z_VertexAttrib1sv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1sv(index: UInt32; v: array of Int16) := VertexAttrib1sv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1sv(index: UInt32; var v: Int16) := VertexAttrib1sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1sv(index: UInt32; var v: Vec1s) := VertexAttrib1sv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1sv(index: UInt32; v: pointer) := z_VertexAttrib1sv(index, v); + + public z_VertexAttrib1s: procedure(index: UInt32; x: Int16) := GetGLFuncOrNil&('glVertexAttrib1s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1s(index: UInt32; x: Int16) := z_VertexAttrib1s(index, x); + + public z_VertexAttrib1fv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fv(index: UInt32; v: array of single) := VertexAttrib1fv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fv(index: UInt32; var v: single) := VertexAttrib1fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fv(index: UInt32; var v: Vec1f) := VertexAttrib1fv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fv(index: UInt32; v: pointer) := z_VertexAttrib1fv(index, v); + + public z_VertexAttrib1f: procedure(index: UInt32; x: single) := GetGLFuncOrNil&('glVertexAttrib1f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1f(index: UInt32; x: single) := z_VertexAttrib1f(index, x); + + public z_VertexAttrib1dv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dv(index: UInt32; v: array of double) := VertexAttrib1dv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dv(index: UInt32; var v: double) := VertexAttrib1dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dv(index: UInt32; var v: Vec1d) := VertexAttrib1dv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dv(index: UInt32; v: pointer) := z_VertexAttrib1dv(index, v); + + public z_VertexAttrib1d: procedure(index: UInt32; x: double) := GetGLFuncOrNil&('glVertexAttrib1d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1d(index: UInt32; x: double) := z_VertexAttrib1d(index, x); + + {$endregion 10.2.1 - Current Generic Attributes} {$endregion 10.2 - Current Vertex Attribute Values} {$region 10.3 - Vertex Arrays} - // 10.3.1 + {$region 10.3.1 - Vertex Array Objects} - static procedure GenVertexArrays(n: Int32; [MarshalAs(UnmanagedType.LPArray)] arrays: array of VertexArrayName); - external 'opengl32.dll' name 'glGenVertexArrays'; - static procedure GenVertexArrays(n: Int32; var arrays: VertexArrayName); - external 'opengl32.dll' name 'glGenVertexArrays'; - static procedure GenVertexArrays(n: Int32; arrays: pointer); - external 'opengl32.dll' name 'glGenVertexArrays'; + public z_VertexArrayElementBuffer: procedure(vaobj: VertexArrayName; buffer: BufferName) := GetGLFuncOrNil&('glVertexArrayElementBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayElementBuffer(vaobj: VertexArrayName; buffer: BufferName) := z_VertexArrayElementBuffer(vaobj, buffer); - static procedure DeleteVertexArrays(n: Int32; [MarshalAs(UnmanagedType.LPArray)] arrays: array of VertexArrayName); - external 'opengl32.dll' name 'glDeleteVertexArrays'; - static procedure DeleteVertexArrays(n: Int32; var arrays: VertexArrayName); - external 'opengl32.dll' name 'glDeleteVertexArrays'; - static procedure DeleteVertexArrays(n: Int32; arrays: pointer); - external 'opengl32.dll' name 'glDeleteVertexArrays'; + public z_IsVertexArray: function(&array: VertexArrayName): boolean := GetGLFuncOrNil&('glIsVertexArray'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsVertexArray(&array: VertexArrayName): boolean := z_IsVertexArray(&array); - static procedure BindVertexArray(&array: VertexArrayName); - external 'opengl32.dll' name 'glBindVertexArray'; + public z_GenVertexArrays: procedure(n: Int32; arrays: pointer) := GetGLFuncOrNil&('glGenVertexArrays'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArrays(n: Int32; arrays: array of VertexArrayName) := GenVertexArrays(n, arrays[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArrays(n: Int32; var arrays: VertexArrayName) := GenVertexArrays(n, @arrays); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArrays(n: Int32; arrays: pointer) := z_GenVertexArrays(n, arrays); - static procedure CreateVertexArrays(n: Int32; [MarshalAs(UnmanagedType.LPArray)] arrays: array of VertexArrayName); - external 'opengl32.dll' name 'glCreateVertexArrays'; - static procedure CreateVertexArrays(n: Int32; var arrays: VertexArrayName); - external 'opengl32.dll' name 'glCreateVertexArrays'; - static procedure CreateVertexArrays(n: Int32; arrays: pointer); - external 'opengl32.dll' name 'glCreateVertexArrays'; + public z_DeleteVertexArrays: procedure(n: Int32; arrays: pointer) := GetGLFuncOrNil&('glDeleteVertexArrays'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArrays(n: Int32; arrays: array of VertexArrayName) := DeleteVertexArrays(n, arrays[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArrays(n: Int32; var arrays: VertexArrayName) := DeleteVertexArrays(n, @arrays); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArrays(n: Int32; arrays: pointer) := z_DeleteVertexArrays(n, arrays); - static function IsVertexArray(&array: VertexArrayName): boolean; - external 'opengl32.dll' name 'glIsVertexArray'; + public z_CreateVertexArrays: procedure(n: Int32; arrays: pointer) := GetGLFuncOrNil&('glCreateVertexArrays'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateVertexArrays(n: Int32; arrays: array of VertexArrayName) := CreateVertexArrays(n, arrays[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateVertexArrays(n: Int32; var arrays: VertexArrayName) := CreateVertexArrays(n, @arrays); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateVertexArrays(n: Int32; arrays: pointer) := z_CreateVertexArrays(n, arrays); - static procedure VertexArrayElementBuffer(vaobj: VertexArrayName; buffer: BufferName); - external 'opengl32.dll' name 'glVertexArrayElementBuffer'; + public z_BindVertexArray: procedure(&array: VertexArrayName) := GetGLFuncOrNil&('glBindVertexArray'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexArray(&array: VertexArrayName) := z_BindVertexArray(&array); - // 10.3.2 + {$endregion 10.3.1 - Vertex Array Objects} - static procedure VertexAttribFormat(attribindex: UInt32; size: Int32; &type: DataType; normalized: boolean; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexAttribFormat'; + {$region 10.3.2 - Specifying Arrays for Generic Vertex Attributes} - static procedure VertexAttribIFormat(attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexAttribIFormat'; + public z_VertexAttribPointer: procedure(index: UInt32; size: Int32; &type: DataType; normalized: boolean; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexAttribPointer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribPointer(index: UInt32; size: Int32; &type: DataType; normalized: boolean; stride: Int32; _pointer: IntPtr) := VertexAttribPointer(index, size, &type, normalized, stride, pointer(_pointer)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribPointer(index: UInt32; size: Int32; &type: DataType; normalized: boolean; stride: Int32; _pointer: pointer) := z_VertexAttribPointer(index, size, &type, normalized, stride, _pointer); - static procedure VertexAttribLFormat(attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexAttribLFormat'; + public z_VertexAttribLPointer: procedure(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexAttribLPointer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribLPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: IntPtr) := VertexAttribLPointer(index, size, &type, stride, pointer(_pointer)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribLPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: pointer) := z_VertexAttribLPointer(index, size, &type, stride, _pointer); - static procedure VertexArrayAttribFormat(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; normalized: boolean; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexArrayAttribFormat'; + public z_VertexAttribLFormat: procedure(attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexAttribLFormat'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribLFormat(attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := z_VertexAttribLFormat(attribindex, size, &type, relativeoffset); - static procedure VertexArrayAttribIFormat(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexArrayAttribIFormat'; + public z_VertexAttribIPointer: procedure(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexAttribIPointer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribIPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: IntPtr) := VertexAttribIPointer(index, size, &type, stride, pointer(_pointer)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribIPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: pointer) := z_VertexAttribIPointer(index, size, &type, stride, _pointer); - static procedure VertexArrayAttribLFormat(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexArrayAttribLFormat'; + public z_VertexAttribIFormat: procedure(attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexAttribIFormat'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribIFormat(attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := z_VertexAttribIFormat(attribindex, size, &type, relativeoffset); - static procedure BindVertexBuffer(bindingindex: UInt32; buffer: BufferName; offset: IntPtr; stride: Int32); - external 'opengl32.dll' name 'glBindVertexBuffer'; + public z_VertexAttribFormat: procedure(attribindex: UInt32; size: Int32; &type: DataType; normalized: boolean; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexAttribFormat'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribFormat(attribindex: UInt32; size: Int32; &type: DataType; normalized: boolean; relativeoffset: UInt32) := z_VertexAttribFormat(attribindex, size, &type, normalized, relativeoffset); - static procedure VertexArrayVertexBuffer(vaobj: VertexArrayName; bindingindex: UInt32; buffer: BufferName; offset: IntPtr; stride: Int32); - external 'opengl32.dll' name 'glVertexArrayVertexBuffer'; + public z_VertexAttribBinding: procedure(attribindex: UInt32; bindingindex: UInt32) := GetGLFuncOrNil&('glVertexAttribBinding'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribBinding(attribindex: UInt32; bindingindex: UInt32) := z_VertexAttribBinding(attribindex, bindingindex); - static procedure BindVertexBuffers(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] buffers: array of BufferName; [MarshalAs(UnmanagedType.LPArray)] offsets: array of IntPtr; [MarshalAs(UnmanagedType.LPArray)] strides: array of Int32); - external 'opengl32.dll' name 'glBindVertexBuffers'; - static procedure BindVertexBuffers(first: UInt32; count: Int32; var buffers: BufferName; var offsets: IntPtr; var strides: Int32); - external 'opengl32.dll' name 'glBindVertexBuffers'; - static procedure BindVertexBuffers(first: UInt32; count: Int32; buffers: pointer; offsets: pointer; strides: pointer); - external 'opengl32.dll' name 'glBindVertexBuffers'; + public z_VertexArrayVertexBuffers: procedure(vaobj: VertexArrayName; first: UInt32; count: Int32; buffers: pointer; offsets: pointer; strides: pointer) := GetGLFuncOrNil&('glVertexArrayVertexBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexBuffers(vaobj: VertexArrayName; first: UInt32; count: Int32; buffers: array of BufferName; offsets: array of IntPtr; strides: array of Int32) := VertexArrayVertexBuffers(vaobj, first, count, buffers[0], offsets[0], strides[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexBuffers(vaobj: VertexArrayName; first: UInt32; count: Int32; var buffers: BufferName; var offsets: IntPtr; var strides: Int32) := VertexArrayVertexBuffers(vaobj, first, count, @buffers, @offsets, @strides); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexBuffers(vaobj: VertexArrayName; first: UInt32; count: Int32; buffers: pointer; offsets: pointer; strides: pointer) := z_VertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); - static procedure VertexArrayVertexBuffers(vaobj: VertexArrayName; first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] buffers: array of BufferName; [MarshalAs(UnmanagedType.LPArray)] offsets: array of IntPtr; [MarshalAs(UnmanagedType.LPArray)] strides: array of Int32); - external 'opengl32.dll' name 'glVertexArrayVertexBuffers'; - static procedure VertexArrayVertexBuffers(vaobj: VertexArrayName; first: UInt32; count: Int32; var buffers: BufferName; var offsets: IntPtr; var strides: Int32); - external 'opengl32.dll' name 'glVertexArrayVertexBuffers'; - static procedure VertexArrayVertexBuffers(vaobj: VertexArrayName; first: UInt32; count: Int32; buffers: pointer; offsets: pointer; strides: pointer); - external 'opengl32.dll' name 'glVertexArrayVertexBuffers'; + public z_VertexArrayVertexBuffer: procedure(vaobj: VertexArrayName; bindingindex: UInt32; buffer: BufferName; offset: IntPtr; stride: Int32) := GetGLFuncOrNil&('glVertexArrayVertexBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexBuffer(vaobj: VertexArrayName; bindingindex: UInt32; buffer: BufferName; offset: IntPtr; stride: Int32) := z_VertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); - static procedure VertexAttribBinding(attribindex: UInt32; bindingindex: UInt32); - external 'opengl32.dll' name 'glVertexAttribBinding'; + public z_VertexArrayAttribLFormat: procedure(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexArrayAttribLFormat'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayAttribLFormat(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := z_VertexArrayAttribLFormat(vaobj, attribindex, size, &type, relativeoffset); - static procedure VertexArrayAttribBinding(vaobj: VertexArrayName; attribindex: UInt32; bindingindex: UInt32); - external 'opengl32.dll' name 'glVertexArrayAttribBinding'; + public z_VertexArrayAttribIFormat: procedure(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexArrayAttribIFormat'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayAttribIFormat(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; relativeoffset: UInt32) := z_VertexArrayAttribIFormat(vaobj, attribindex, size, &type, relativeoffset); - static procedure VertexAttribPointer(index: UInt32; size: Int32; &type: DataType; normalized: boolean; stride: Int32; _pointer: IntPtr); - external 'opengl32.dll' name 'glVertexAttribPointer'; - static procedure VertexAttribPointer(index: UInt32; size: Int32; &type: DataType; normalized: boolean; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexAttribPointer'; + public z_VertexArrayAttribFormat: procedure(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; normalized: boolean; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexArrayAttribFormat'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayAttribFormat(vaobj: VertexArrayName; attribindex: UInt32; size: Int32; &type: DataType; normalized: boolean; relativeoffset: UInt32) := z_VertexArrayAttribFormat(vaobj, attribindex, size, &type, normalized, relativeoffset); - static procedure VertexAttribIPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: IntPtr); - external 'opengl32.dll' name 'glVertexAttribIPointer'; - static procedure VertexAttribIPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexAttribIPointer'; + public z_VertexArrayAttribBinding: procedure(vaobj: VertexArrayName; attribindex: UInt32; bindingindex: UInt32) := GetGLFuncOrNil&('glVertexArrayAttribBinding'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayAttribBinding(vaobj: VertexArrayName; attribindex: UInt32; bindingindex: UInt32) := z_VertexArrayAttribBinding(vaobj, attribindex, bindingindex); - static procedure VertexAttribLPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: IntPtr); - external 'opengl32.dll' name 'glVertexAttribLPointer'; - static procedure VertexAttribLPointer(index: UInt32; size: Int32; &type: DataType; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexAttribLPointer'; + public z_EnableVertexAttribArray: procedure(index: UInt32) := GetGLFuncOrNil&('glEnableVertexAttribArray'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableVertexAttribArray(index: UInt32) := z_EnableVertexAttribArray(index); - static procedure EnableVertexAttribArray(index: UInt32); - external 'opengl32.dll' name 'glEnableVertexAttribArray'; + public z_EnableVertexArrayAttrib: procedure(vaobj: VertexArrayName; index: UInt32) := GetGLFuncOrNil&('glEnableVertexArrayAttrib'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableVertexArrayAttrib(vaobj: VertexArrayName; index: UInt32) := z_EnableVertexArrayAttrib(vaobj, index); - static procedure EnableVertexArrayAttrib(vaobj: VertexArrayName; index: UInt32); - external 'opengl32.dll' name 'glEnableVertexArrayAttrib'; + public z_DisableVertexAttribArray: procedure(index: UInt32) := GetGLFuncOrNil&('glDisableVertexAttribArray'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableVertexAttribArray(index: UInt32) := z_DisableVertexAttribArray(index); - static procedure DisableVertexAttribArray(index: UInt32); - external 'opengl32.dll' name 'glDisableVertexAttribArray'; + public z_DisableVertexArrayAttrib: procedure(vaobj: VertexArrayName; index: UInt32) := GetGLFuncOrNil&('glDisableVertexArrayAttrib'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableVertexArrayAttrib(vaobj: VertexArrayName; index: UInt32) := z_DisableVertexArrayAttrib(vaobj, index); - static procedure DisableVertexArrayAttrib(vaobj: VertexArrayName; index: UInt32); - external 'opengl32.dll' name 'glDisableVertexArrayAttrib'; + public z_BindVertexBuffers: procedure(first: UInt32; count: Int32; buffers: pointer; offsets: pointer; strides: pointer) := GetGLFuncOrNil&('glBindVertexBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexBuffers(first: UInt32; count: Int32; buffers: array of BufferName; offsets: array of IntPtr; strides: array of Int32) := BindVertexBuffers(first, count, buffers[0], offsets[0], strides[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexBuffers(first: UInt32; count: Int32; var buffers: BufferName; var offsets: IntPtr; var strides: Int32) := BindVertexBuffers(first, count, @buffers, @offsets, @strides); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexBuffers(first: UInt32; count: Int32; buffers: pointer; offsets: pointer; strides: pointer) := z_BindVertexBuffers(first, count, buffers, offsets, strides); - static procedure VertexBindingDivisor(bindingindex: UInt32; divisor: UInt32); - external 'opengl32.dll' name 'glVertexBindingDivisor'; + public z_BindVertexBuffer: procedure(bindingindex: UInt32; buffer: BufferName; offset: IntPtr; stride: Int32) := GetGLFuncOrNil&('glBindVertexBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexBuffer(bindingindex: UInt32; buffer: BufferName; offset: IntPtr; stride: Int32) := z_BindVertexBuffer(bindingindex, buffer, offset, stride); - static procedure VertexArrayBindingDivisor(vaobj: VertexArrayName; bindingindex: UInt32; divisor: UInt32); - external 'opengl32.dll' name 'glVertexArrayBindingDivisor'; + {$endregion 10.3.2 - Specifying Arrays for Generic Vertex Attributes} - static procedure VertexAttribDivisor(index: UInt32; divisor: UInt32); - external 'opengl32.dll' name 'glVertexAttribDivisor'; + {$region 10.3.4 - Vertex Attribute Divisors} - // 10.3.6 + public z_VertexBindingDivisor: procedure(bindingindex: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexBindingDivisor'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexBindingDivisor(bindingindex: UInt32; divisor: UInt32) := z_VertexBindingDivisor(bindingindex, divisor); - static procedure Disable(cap: EnablableName); - external 'opengl32.dll' name 'glDisable'; + public z_VertexAttribDivisor: procedure(index: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexAttribDivisor'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribDivisor(index: UInt32; divisor: UInt32) := z_VertexAttribDivisor(index, divisor); - static procedure Enable(cap: EnablableName); - external 'opengl32.dll' name 'glEnable'; + public z_VertexArrayBindingDivisor: procedure(vaobj: VertexArrayName; bindingindex: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexArrayBindingDivisor'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayBindingDivisor(vaobj: VertexArrayName; bindingindex: UInt32; divisor: UInt32) := z_VertexArrayBindingDivisor(vaobj, bindingindex, divisor); - static procedure PrimitiveRestartIndex(index: UInt32); - external 'opengl32.dll' name 'glPrimitiveRestartIndex'; + {$endregion 10.3.4 - Vertex Attribute Divisors} + + {$region 10.3.6 - Primitive Restart} + + public z_PrimitiveRestartIndex: procedure(index: UInt32) := GetGLFuncOrNil&('glPrimitiveRestartIndex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrimitiveRestartIndex(index: UInt32) := z_PrimitiveRestartIndex(index); + + private static procedure _Enable(cap: EnablableName); external 'opengl32.dll' name 'glEnable'; + public static z_Enable: procedure(cap: EnablableName) := _Enable; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Enable(cap: EnablableName) := z_Enable(cap); + + private static procedure _Disable(cap: EnablableName); external 'opengl32.dll' name 'glDisable'; + public static z_Disable: procedure(cap: EnablableName) := _Disable; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Disable(cap: EnablableName) := z_Disable(cap); + + {$endregion 10.3.6 - Primitive Restart} {$endregion 10.3 - Vertex Arrays} {$region 10.4 - Drawing Commands Using Vertex Arrays} - static procedure DrawArrays(mode: PrimitiveType; first: Int32; count: Int32); - external 'opengl32.dll' name 'glDrawArrays'; + public z_MultiDrawElementsIndirectCount: procedure(mode: PrimitiveType; &type: DataType; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawElementsIndirectCount'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirectCount(mode: PrimitiveType; &type: DataType; indirect: DrawArraysIndirectCommand; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := MultiDrawElementsIndirectCount(mode, &type, indirect, drawcount, maxdrawcount, stride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirectCount(mode: PrimitiveType; &type: DataType; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := z_MultiDrawElementsIndirectCount(mode, &type, indirect, drawcount, maxdrawcount, stride); - static procedure DrawArraysInstancedBaseInstance(mode: PrimitiveType; first: Int32; count: Int32; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawArraysInstancedBaseInstance'; + public z_MultiDrawElementsIndirect: procedure(mode: PrimitiveType; &type: DataType; indirect: pointer; drawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawElementsIndirect'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirect(mode: PrimitiveType; &type: DataType; indirect: DrawArraysIndirectCommand; drawcount: Int32; stride: Int32) := MultiDrawElementsIndirect(mode, &type, indirect, drawcount, stride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirect(mode: PrimitiveType; &type: DataType; indirect: pointer; drawcount: Int32; stride: Int32) := z_MultiDrawElementsIndirect(mode, &type, indirect, drawcount, stride); - static procedure DrawArraysInstanced(mode: PrimitiveType; first: Int32; count: Int32; instancecount: Int32); - external 'opengl32.dll' name 'glDrawArraysInstanced'; + public z_MultiDrawElementsBaseVertex: procedure(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; drawcount: Int32; basevertex: pointer) := GetGLFuncOrNil&('glMultiDrawElementsBaseVertex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, count[0], &type, indices[0], drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, count[0], &type, indices[0], drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, count[0], &type, indices[0], drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, count[0], &type, @indices, drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, count[0], &type, @indices, drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, count[0], &type, @indices, drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, count[0], &type, indices, drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, count[0], &type, indices, drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, count[0], &type, indices, drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, @count, &type, indices[0], drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, @count, &type, indices[0], drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, @count, &type, indices[0], drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, @count, &type, @indices, drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, @count, &type, @indices, drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, @count, &type, @indices, drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, @count, &type, indices, drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, @count, &type, indices, drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, @count, &type, indices, drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, count, &type, indices[0], drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, count, &type, indices[0], drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, count, &type, indices[0], drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, count, &type, @indices, drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, count, &type, @indices, drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; drawcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertex(mode, count, &type, @indices, drawcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; drawcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertex(mode, count, &type, indices, drawcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; drawcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertex(mode, count, &type, indices, drawcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertex(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; drawcount: Int32; basevertex: pointer) := z_MultiDrawElementsBaseVertex(mode, count, &type, indices, drawcount, basevertex); - static procedure DrawArraysIndirect(mode: PrimitiveType; var indirect: DrawArraysIndirectCommand); - external 'opengl32.dll' name 'glDrawArraysIndirect'; - static procedure DrawArraysIndirect(mode: PrimitiveType; indirect: pointer); - external 'opengl32.dll' name 'glDrawArraysIndirect'; + public z_MultiDrawElements: procedure(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; drawcount: Int32) := GetGLFuncOrNil&('glMultiDrawElements'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32) := MultiDrawElements(mode, count[0], &type, indices[0], drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32) := MultiDrawElements(mode, count[0], &type, @indices, drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; drawcount: Int32) := MultiDrawElements(mode, count[0], &type, indices, drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32) := MultiDrawElements(mode, @count, &type, indices[0], drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; drawcount: Int32) := MultiDrawElements(mode, @count, &type, @indices, drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; drawcount: Int32) := MultiDrawElements(mode, @count, &type, indices, drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; drawcount: Int32) := MultiDrawElements(mode, count, &type, indices[0], drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; drawcount: Int32) := MultiDrawElements(mode, count, &type, @indices, drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElements(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; drawcount: Int32) := z_MultiDrawElements(mode, count, &type, indices, drawcount); - static procedure MultiDrawArrays(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] first: array of Int32; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawArrays'; - static procedure MultiDrawArrays(mode: PrimitiveType; var first: Int32; var count: Int32; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawArrays'; - static procedure MultiDrawArrays(mode: PrimitiveType; first: pointer; count: pointer; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawArrays'; + public z_MultiDrawArraysIndirectCount: procedure(mode: PrimitiveType; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawArraysIndirectCount'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectCount(mode: PrimitiveType; indirect: array of DrawArraysIndirectCommand; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := MultiDrawArraysIndirectCount(mode, indirect[0], drawcount, maxdrawcount, stride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectCount(mode: PrimitiveType; indirect: DrawArraysIndirectCommand; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := MultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectCount(mode: PrimitiveType; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := z_MultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride); - static procedure MultiDrawArraysIndirect(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] indirect: array of DrawArraysIndirectCommand; drawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirect'; - static procedure MultiDrawArraysIndirect(mode: PrimitiveType; var indirect: DrawArraysIndirectCommand; drawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirect'; - static procedure MultiDrawArraysIndirect(mode: PrimitiveType; indirect: pointer; drawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirect'; + public z_MultiDrawArraysIndirect: procedure(mode: PrimitiveType; indirect: pointer; drawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawArraysIndirect'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirect(mode: PrimitiveType; indirect: array of DrawArraysIndirectCommand; drawcount: Int32; stride: Int32) := MultiDrawArraysIndirect(mode, indirect[0], drawcount, stride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirect(mode: PrimitiveType; indirect: DrawArraysIndirectCommand; drawcount: Int32; stride: Int32) := MultiDrawArraysIndirect(mode, indirect, drawcount, stride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirect(mode: PrimitiveType; indirect: pointer; drawcount: Int32; stride: Int32) := z_MultiDrawArraysIndirect(mode, indirect, drawcount, stride); - static procedure MultiDrawArraysIndirectCount(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] indirect: array of DrawArraysIndirectCommand; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirectCount'; - static procedure MultiDrawArraysIndirectCount(mode: PrimitiveType; var indirect: DrawArraysIndirectCommand; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirectCount'; - static procedure MultiDrawArraysIndirectCount(mode: PrimitiveType; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirectCount'; + public z_MultiDrawArrays: procedure(mode: PrimitiveType; first: pointer; count: pointer; drawcount: Int32) := GetGLFuncOrNil&('glMultiDrawArrays'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArrays(mode: PrimitiveType; first: array of Int32; count: array of Int32; drawcount: Int32) := MultiDrawArrays(mode, first[0], count[0], drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArrays(mode: PrimitiveType; var first: Int32; var count: Int32; drawcount: Int32) := MultiDrawArrays(mode, @first, @count, drawcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArrays(mode: PrimitiveType; first: pointer; count: pointer; drawcount: Int32) := z_MultiDrawArrays(mode, first, count, drawcount); - static procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32); - external 'opengl32.dll' name 'glDrawElements'; - static procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32); - external 'opengl32.dll' name 'glDrawElements'; - static procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16); - external 'opengl32.dll' name 'glDrawElements'; - static procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16); - external 'opengl32.dll' name 'glDrawElements'; - static procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte); - external 'opengl32.dll' name 'glDrawElements'; - static procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte); - external 'opengl32.dll' name 'glDrawElements'; - static procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer); - external 'opengl32.dll' name 'glDrawElements'; + public z_DrawRangeElementsBaseVertex: procedure(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: pointer; basevertex: Int32) := GetGLFuncOrNil&('glDrawRangeElementsBaseVertex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: array of UInt32; basevertex: Int32) := DrawRangeElementsBaseVertex(mode, start, &end, count, &type, indices[0], basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt32; basevertex: Int32) := DrawRangeElementsBaseVertex(mode, start, &end, count, &type, @indices, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: array of UInt16; basevertex: Int32) := DrawRangeElementsBaseVertex(mode, start, &end, count, &type, indices[0], basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt16; basevertex: Int32) := DrawRangeElementsBaseVertex(mode, start, &end, count, &type, @indices, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: array of Byte; basevertex: Int32) := DrawRangeElementsBaseVertex(mode, start, &end, count, &type, indices[0], basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: Byte; basevertex: Int32) := DrawRangeElementsBaseVertex(mode, start, &end, count, &type, @indices, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: pointer; basevertex: Int32) := z_DrawRangeElementsBaseVertex(mode, start, &end, count, &type, indices, basevertex); - static procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseInstance'; - static procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseInstance'; - static procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseInstance'; - static procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseInstance'; - static procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseInstance'; - static procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseInstance'; - static procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseInstance'; + public z_DrawRangeElements: procedure(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: pointer) := GetGLFuncOrNil&('glDrawRangeElements'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: array of UInt32) := DrawRangeElements(mode, start, &end, count, &type, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt32) := DrawRangeElements(mode, start, &end, count, &type, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: array of UInt16) := DrawRangeElements(mode, start, &end, count, &type, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt16) := DrawRangeElements(mode, start, &end, count, &type, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: array of Byte) := DrawRangeElements(mode, start, &end, count, &type, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: Byte) := DrawRangeElements(mode, start, &end, count, &type, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: pointer) := z_DrawRangeElements(mode, start, &end, count, &type, indices); - static procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32; instancecount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstanced'; - static procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstanced'; - static procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16; instancecount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstanced'; - static procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstanced'; - static procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte; instancecount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstanced'; - static procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstanced'; - static procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstanced'; + public z_DrawElementsInstancedBaseVertexBaseInstance: procedure(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := GetGLFuncOrNil&('glDrawElementsInstancedBaseVertexBaseInstance'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt32; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseVertexBaseInstance(mode, count, &type, indices[0], instancecount, basevertex, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseVertexBaseInstance(mode, count, &type, @indices, instancecount, basevertex, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt16; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseVertexBaseInstance(mode, count, &type, indices[0], instancecount, basevertex, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseVertexBaseInstance(mode, count, &type, @indices, instancecount, basevertex, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of Byte; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseVertexBaseInstance(mode, count, &type, indices[0], instancecount, basevertex, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseVertexBaseInstance(mode, count, &type, @indices, instancecount, basevertex, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := z_DrawElementsInstancedBaseVertexBaseInstance(mode, count, &type, indices, instancecount, basevertex, baseinstance); - static procedure MultiDrawElements(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPArray)] indices: array of array of UInt32; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPArray)] indices: array of array of UInt16; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPArray)] indices: array of array of Byte; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of IntPtr; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; var count: Int32; &type: DataType; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPArray)] var indices: array of UInt32; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; var count: Int32; &type: DataType; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPArray)] var indices: array of UInt16; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; var count: Int32; &type: DataType; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPArray)] var indices: array of Byte; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; var count: Int32; &type: DataType; var indices: IntPtr; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; var count: Int32; &type: DataType; var indices: pointer; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; - static procedure MultiDrawElements(mode: PrimitiveType; count: pointer; &type: DataType; indices: pointer; drawcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElements'; + public z_DrawElementsInstancedBaseVertex: procedure(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; basevertex: Int32) := GetGLFuncOrNil&('glDrawElementsInstancedBaseVertex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt32; instancecount: Int32; basevertex: Int32) := DrawElementsInstancedBaseVertex(mode, count, &type, indices[0], instancecount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32; basevertex: Int32) := DrawElementsInstancedBaseVertex(mode, count, &type, @indices, instancecount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt16; instancecount: Int32; basevertex: Int32) := DrawElementsInstancedBaseVertex(mode, count, &type, indices[0], instancecount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32; basevertex: Int32) := DrawElementsInstancedBaseVertex(mode, count, &type, @indices, instancecount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of Byte; instancecount: Int32; basevertex: Int32) := DrawElementsInstancedBaseVertex(mode, count, &type, indices[0], instancecount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32; basevertex: Int32) := DrawElementsInstancedBaseVertex(mode, count, &type, @indices, instancecount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; basevertex: Int32) := z_DrawElementsInstancedBaseVertex(mode, count, &type, indices, instancecount, basevertex); - static procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32); - external 'opengl32.dll' name 'glDrawRangeElements'; - static procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt32); - external 'opengl32.dll' name 'glDrawRangeElements'; - static procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16); - external 'opengl32.dll' name 'glDrawRangeElements'; - static procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt16); - external 'opengl32.dll' name 'glDrawRangeElements'; - static procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte); - external 'opengl32.dll' name 'glDrawRangeElements'; - static procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: Byte); - external 'opengl32.dll' name 'glDrawRangeElements'; - static procedure DrawRangeElements(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: pointer); - external 'opengl32.dll' name 'glDrawRangeElements'; + public z_DrawElementsInstancedBaseInstance: procedure(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; baseinstance: UInt32) := GetGLFuncOrNil&('glDrawElementsInstancedBaseInstance'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt32; instancecount: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseInstance(mode, count, &type, indices[0], instancecount, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseInstance(mode, count, &type, @indices, instancecount, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt16; instancecount: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseInstance(mode, count, &type, indices[0], instancecount, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseInstance(mode, count, &type, @indices, instancecount, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of Byte; instancecount: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseInstance(mode, count, &type, indices[0], instancecount, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32; baseinstance: UInt32) := DrawElementsInstancedBaseInstance(mode, count, &type, @indices, instancecount, baseinstance); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; baseinstance: UInt32) := z_DrawElementsInstancedBaseInstance(mode, count, &type, indices, instancecount, baseinstance); - static procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsBaseVertex'; - static procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsBaseVertex'; - static procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsBaseVertex'; - static procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsBaseVertex'; - static procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsBaseVertex'; - static procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsBaseVertex'; - static procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsBaseVertex'; + public z_DrawElementsInstanced: procedure(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32) := GetGLFuncOrNil&('glDrawElementsInstanced'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt32; instancecount: Int32) := DrawElementsInstanced(mode, count, &type, indices[0], instancecount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32) := DrawElementsInstanced(mode, count, &type, @indices, instancecount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt16; instancecount: Int32) := DrawElementsInstanced(mode, count, &type, indices[0], instancecount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32) := DrawElementsInstanced(mode, count, &type, @indices, instancecount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of Byte; instancecount: Int32) := DrawElementsInstanced(mode, count, &type, indices[0], instancecount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32) := DrawElementsInstanced(mode, count, &type, @indices, instancecount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstanced(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32) := z_DrawElementsInstanced(mode, count, &type, indices, instancecount); - static procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawRangeElementsBaseVertex'; - static procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawRangeElementsBaseVertex'; - static procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16; basevertex: Int32); - external 'opengl32.dll' name 'glDrawRangeElementsBaseVertex'; - static procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: UInt16; basevertex: Int32); - external 'opengl32.dll' name 'glDrawRangeElementsBaseVertex'; - static procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte; basevertex: Int32); - external 'opengl32.dll' name 'glDrawRangeElementsBaseVertex'; - static procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; var indices: Byte; basevertex: Int32); - external 'opengl32.dll' name 'glDrawRangeElementsBaseVertex'; - static procedure DrawRangeElementsBaseVertex(mode: PrimitiveType; start: UInt32; &end: UInt32; count: Int32; &type: DataType; indices: pointer; basevertex: Int32); - external 'opengl32.dll' name 'glDrawRangeElementsBaseVertex'; + public z_DrawElementsIndirect: procedure(mode: PrimitiveType; &type: DataType; indirect: pointer) := GetGLFuncOrNil&('glDrawElementsIndirect'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsIndirect(mode: PrimitiveType; &type: DataType; indirect: DrawArraysIndirectCommand) := DrawElementsIndirect(mode, &type, indirect); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsIndirect(mode: PrimitiveType; &type: DataType; indirect: pointer) := z_DrawElementsIndirect(mode, &type, indirect); - static procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32; instancecount: Int32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertex'; - static procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertex'; - static procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16; instancecount: Int32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertex'; - static procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertex'; - static procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte; instancecount: Int32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertex'; - static procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertex'; - static procedure DrawElementsInstancedBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; basevertex: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertex'; + public z_DrawElementsBaseVertex: procedure(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; basevertex: Int32) := GetGLFuncOrNil&('glDrawElementsBaseVertex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt32; basevertex: Int32) := DrawElementsBaseVertex(mode, count, &type, indices[0], basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; basevertex: Int32) := DrawElementsBaseVertex(mode, count, &type, @indices, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt16; basevertex: Int32) := DrawElementsBaseVertex(mode, count, &type, indices[0], basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; basevertex: Int32) := DrawElementsBaseVertex(mode, count, &type, @indices, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of Byte; basevertex: Int32) := DrawElementsBaseVertex(mode, count, &type, indices[0], basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; basevertex: Int32) := DrawElementsBaseVertex(mode, count, &type, @indices, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertex(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; basevertex: Int32) := z_DrawElementsBaseVertex(mode, count, &type, indices, basevertex); - static procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt32; instancecount: Int32; basevertex: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertexBaseInstance'; - static procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32; instancecount: Int32; basevertex: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertexBaseInstance'; - static procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of UInt16; instancecount: Int32; basevertex: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertexBaseInstance'; - static procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16; instancecount: Int32; basevertex: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertexBaseInstance'; - static procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of Byte; instancecount: Int32; basevertex: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertexBaseInstance'; - static procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte; instancecount: Int32; basevertex: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertexBaseInstance'; - static procedure DrawElementsInstancedBaseVertexBaseInstance(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer; instancecount: Int32; basevertex: Int32; baseinstance: UInt32); - external 'opengl32.dll' name 'glDrawElementsInstancedBaseVertexBaseInstance'; + private static procedure _DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer); external 'opengl32.dll' name 'glDrawElements'; + public static z_DrawElements: procedure(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer) := _DrawElements; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt32) := DrawElements(mode, count, &type, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt32) := DrawElements(mode, count, &type, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of UInt16) := DrawElements(mode, count, &type, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; var indices: UInt16) := DrawElements(mode, count, &type, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; indices: array of Byte) := DrawElements(mode, count, &type, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; var indices: Byte) := DrawElements(mode, count, &type, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElements(mode: PrimitiveType; count: Int32; &type: DataType; indices: pointer) := z_DrawElements(mode, count, &type, indices); - static procedure DrawElementsIndirect(mode: PrimitiveType; &type: DataType; var indirect: DrawArraysIndirectCommand); - external 'opengl32.dll' name 'glDrawElementsIndirect'; - static procedure DrawElementsIndirect(mode: PrimitiveType; &type: DataType; indirect: pointer); - external 'opengl32.dll' name 'glDrawElementsIndirect'; + public z_DrawArraysInstancedBaseInstance: procedure(mode: PrimitiveType; first: Int32; count: Int32; instancecount: Int32; baseinstance: UInt32) := GetGLFuncOrNil&('glDrawArraysInstancedBaseInstance'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysInstancedBaseInstance(mode: PrimitiveType; first: Int32; count: Int32; instancecount: Int32; baseinstance: UInt32) := z_DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); - static procedure MultiDrawElementsIndirect(mode: PrimitiveType; &type: DataType; var indirect: DrawArraysIndirectCommand; drawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirect'; - static procedure MultiDrawElementsIndirect(mode: PrimitiveType; &type: DataType; indirect: pointer; drawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirect'; + public z_DrawArraysInstanced: procedure(mode: PrimitiveType; first: Int32; count: Int32; instancecount: Int32) := GetGLFuncOrNil&('glDrawArraysInstanced'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysInstanced(mode: PrimitiveType; first: Int32; count: Int32; instancecount: Int32) := z_DrawArraysInstanced(mode, first, count, instancecount); - static procedure MultiDrawElementsIndirectCount(mode: PrimitiveType; &type: DataType; var indirect: DrawArraysIndirectCommand; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirectCount'; - static procedure MultiDrawElementsIndirectCount(mode: PrimitiveType; &type: DataType; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirectCount'; + public z_DrawArraysIndirect: procedure(mode: PrimitiveType; indirect: pointer) := GetGLFuncOrNil&('glDrawArraysIndirect'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysIndirect(mode: PrimitiveType; indirect: DrawArraysIndirectCommand) := DrawArraysIndirect(mode, indirect); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysIndirect(mode: PrimitiveType; indirect: pointer) := z_DrawArraysIndirect(mode, indirect); - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPArray)] indices: array of array of UInt32; drawcount: Int32; [MarshalAs(UnmanagedType.LPArray)] basevertex: array of Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPArray)] indices: array of array of UInt16; drawcount: Int32; [MarshalAs(UnmanagedType.LPArray)] basevertex: array of Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPArray)] indices: array of array of Byte; drawcount: Int32; [MarshalAs(UnmanagedType.LPArray)] basevertex: array of Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; [MarshalAs(UnmanagedType.LPArray)] count: array of Int32; &type: DataType; [MarshalAs(UnmanagedType.LPArray)] indices: array of IntPtr; drawcount: Int32; var basevertex: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; var count: Int32; &type: DataType; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPArray)] var indices: array of UInt32; drawcount: Int32; var basevertex: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; var count: Int32; &type: DataType; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPArray)] var indices: array of UInt16; drawcount: Int32; var basevertex: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; var count: Int32; &type: DataType; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPArray)] var indices: array of Byte; drawcount: Int32; var basevertex: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; var count: Int32; &type: DataType; var indices: IntPtr; drawcount: Int32; var basevertex: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; var count: Int32; &type: DataType; var indices: pointer; drawcount: Int32; var basevertex: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; - static procedure MultiDrawElementsBaseVertex(mode: PrimitiveType; count: pointer; &type: DataType; indices: pointer; drawcount: Int32; basevertex: pointer); - external 'opengl32.dll' name 'glMultiDrawElementsBaseVertex'; + private static procedure _DrawArrays(mode: PrimitiveType; first: Int32; count: Int32); external 'opengl32.dll' name 'glDrawArrays'; + public static z_DrawArrays: procedure(mode: PrimitiveType; first: Int32; count: Int32) := _DrawArrays; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArrays(mode: PrimitiveType; first: Int32; count: Int32) := z_DrawArrays(mode, first, count); {$endregion 10.4 - Drawing Commands Using Vertex Arrays} {$region 10.5 - Vertex Array and Vertex Array Object Queries} - static procedure GetVertexArrayiv(vaobj: VertexArrayName; pname: VertexAttribInfoType; var param: BufferName); - external 'opengl32.dll' name 'glGetVertexArrayiv'; - static procedure GetVertexArrayiv(vaobj: VertexArrayName; pname: VertexAttribInfoType; var param: Int32); - external 'opengl32.dll' name 'glGetVertexArrayiv'; - static procedure GetVertexArrayiv(vaobj: VertexArrayName; pname: VertexAttribInfoType; param: pointer); - external 'opengl32.dll' name 'glGetVertexArrayiv'; + public z_GetVertexAttribPointerv: procedure(index: UInt32; pname: UInt32; _pointer: pointer) := GetGLFuncOrNil&('glGetVertexAttribPointerv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; _pointer: array of IntPtr) := GetVertexAttribPointerv(index, pname, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; var _pointer: IntPtr) := GetVertexAttribPointerv(index, pname, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; var _pointer: ^IntPtr) := GetVertexAttribPointerv(index, pname, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; _pointer: pointer) := z_GetVertexAttribPointerv(index, pname, _pointer); - static procedure GetVertexArrayIndexediv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; var param: Int32); - external 'opengl32.dll' name 'glGetVertexArrayIndexediv'; - static procedure GetVertexArrayIndexediv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; var param: DataType); - external 'opengl32.dll' name 'glGetVertexArrayIndexediv'; - static procedure GetVertexArrayIndexediv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; param: pointer); - external 'opengl32.dll' name 'glGetVertexArrayIndexediv'; + public z_GetVertexAttribLdv: procedure(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribLdv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; ¶ms: array of double) := GetVertexAttribLdv(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: double) := GetVertexAttribLdv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4d) := GetVertexAttribLdv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := z_GetVertexAttribLdv(index, pname, ¶ms); - static procedure GetVertexArrayIndexed64iv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; var param: Int64); - external 'opengl32.dll' name 'glGetVertexArrayIndexed64iv'; - static procedure GetVertexArrayIndexed64iv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; param: pointer); - external 'opengl32.dll' name 'glGetVertexArrayIndexed64iv'; + public z_GetVertexAttribiv: procedure(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: array of Int32) := GetVertexAttribiv(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Int32) := GetVertexAttribiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: BufferName) := GetVertexAttribiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: DataType) := GetVertexAttribiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4i) := GetVertexAttribiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := z_GetVertexAttribiv(index, pname, ¶ms); - static procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of double); - external 'opengl32.dll' name 'glGetVertexAttribdv'; - static procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: double); - external 'opengl32.dll' name 'glGetVertexAttribdv'; - static procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4d); - external 'opengl32.dll' name 'glGetVertexAttribdv'; - static procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetVertexAttribdv'; + public z_GetVertexAttribIuiv: procedure(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribIuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: array of UInt32) := GetVertexAttribIuiv(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: UInt32) := GetVertexAttribIuiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: DataType) := GetVertexAttribIuiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4ui) := GetVertexAttribIuiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := z_GetVertexAttribIuiv(index, pname, ¶ms); - static procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of single); - external 'opengl32.dll' name 'glGetVertexAttribfv'; - static procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glGetVertexAttribfv'; - static procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4f); - external 'opengl32.dll' name 'glGetVertexAttribfv'; - static procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetVertexAttribfv'; + public z_GetVertexAttribIiv: procedure(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribIiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: array of Int32) := GetVertexAttribIiv(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Int32) := GetVertexAttribIiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: BufferName) := GetVertexAttribIiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: DataType) := GetVertexAttribIiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4i) := GetVertexAttribIiv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := z_GetVertexAttribIiv(index, pname, ¶ms); - static procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: BufferName); - external 'opengl32.dll' name 'glGetVertexAttribiv'; - static procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetVertexAttribiv'; - static procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetVertexAttribiv'; - static procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetVertexAttribiv'; - static procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4i); - external 'opengl32.dll' name 'glGetVertexAttribiv'; - static procedure GetVertexAttribiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetVertexAttribiv'; + public z_GetVertexAttribfv: procedure(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; ¶ms: array of single) := GetVertexAttribfv(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: single) := GetVertexAttribfv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4f) := GetVertexAttribfv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := z_GetVertexAttribfv(index, pname, ¶ms); - static procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: BufferName); - external 'opengl32.dll' name 'glGetVertexAttribIiv'; - static procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetVertexAttribIiv'; - static procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetVertexAttribIiv'; - static procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetVertexAttribIiv'; - static procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4i); - external 'opengl32.dll' name 'glGetVertexAttribIiv'; - static procedure GetVertexAttribIiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetVertexAttribIiv'; + public z_GetVertexAttribdv: procedure(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribdv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; ¶ms: array of double) := GetVertexAttribdv(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: double) := GetVertexAttribdv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4d) := GetVertexAttribdv(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer) := z_GetVertexAttribdv(index, pname, ¶ms); - static procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetVertexAttribIuiv'; - static procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of UInt32); - external 'opengl32.dll' name 'glGetVertexAttribIuiv'; - static procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: UInt32); - external 'opengl32.dll' name 'glGetVertexAttribIuiv'; - static procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4ui); - external 'opengl32.dll' name 'glGetVertexAttribIuiv'; - static procedure GetVertexAttribIuiv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetVertexAttribIuiv'; + public z_GetVertexArrayiv: procedure(vaobj: VertexArrayName; pname: VertexAttribInfoType; param: pointer) := GetGLFuncOrNil&('glGetVertexArrayiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayiv(vaobj: VertexArrayName; pname: VertexAttribInfoType; var param: Int32) := GetVertexArrayiv(vaobj, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayiv(vaobj: VertexArrayName; pname: VertexAttribInfoType; var param: BufferName) := GetVertexArrayiv(vaobj, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayiv(vaobj: VertexArrayName; pname: VertexAttribInfoType; param: pointer) := z_GetVertexArrayiv(vaobj, pname, param); - static procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of double); - external 'opengl32.dll' name 'glGetVertexAttribLdv'; - static procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: double); - external 'opengl32.dll' name 'glGetVertexAttribLdv'; - static procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; var ¶ms: Vec4d); - external 'opengl32.dll' name 'glGetVertexAttribLdv'; - static procedure GetVertexAttribLdv(index: UInt32; pname: VertexAttribInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glGetVertexAttribLdv'; + public z_GetVertexArrayIndexediv: procedure(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; param: pointer) := GetGLFuncOrNil&('glGetVertexArrayIndexediv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayIndexediv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; var param: Int32) := GetVertexArrayIndexediv(vaobj, index, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayIndexediv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; var param: DataType) := GetVertexArrayIndexediv(vaobj, index, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayIndexediv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; param: pointer) := z_GetVertexArrayIndexediv(vaobj, index, pname, param); - static procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; [MarshalAs(UnmanagedType.LPArray)] _pointer: array of IntPtr); - external 'opengl32.dll' name 'glGetVertexAttribPointerv'; - static procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; var _pointer: IntPtr); - external 'opengl32.dll' name 'glGetVertexAttribPointerv'; - static procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; var _pointer: pointer); - external 'opengl32.dll' name 'glGetVertexAttribPointerv'; - static procedure GetVertexAttribPointerv(index: UInt32; pname: UInt32; _pointer: ^IntPtr); - external 'opengl32.dll' name 'glGetVertexAttribPointerv'; + public z_GetVertexArrayIndexed64iv: procedure(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; param: pointer) := GetGLFuncOrNil&('glGetVertexArrayIndexed64iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayIndexed64iv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; var param: Int64) := GetVertexArrayIndexed64iv(vaobj, index, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexArrayIndexed64iv(vaobj: VertexArrayName; index: UInt32; pname: VertexAttribInfoType; param: pointer) := z_GetVertexArrayIndexed64iv(vaobj, index, pname, param); {$endregion 10.5 - Vertex Array and Vertex Array Object Queries} {$region 10.9 - Conditional Rendering} - static procedure BeginConditionalRender(id: UInt32; mode: ConditionalRenderingMode); - external 'opengl32.dll' name 'glBeginConditionalRender'; + public z_EndConditionalRender: procedure := GetGLFuncOrNil&('glEndConditionalRender'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndConditionalRender := z_EndConditionalRender; - static procedure EndConditionalRender; - external 'opengl32.dll' name 'glEndConditionalRender'; + public z_BeginConditionalRender: procedure(id: UInt32; mode: ConditionalRenderingMode) := GetGLFuncOrNil&('glBeginConditionalRender'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginConditionalRender(id: UInt32; mode: ConditionalRenderingMode) := z_BeginConditionalRender(id, mode); {$endregion 10.9 - Conditional Rendering} - {$endregion 10.0 - Vertex Specification and Drawing Commands} + {$endregion 10 - Vertex Specification and Drawing Commands} - {$region 11.0 - Programmable Vertex Processing} + {$region 11 - Programmable Vertex Processing} {$region 11.1 - Vertex Shaders} - // 11.1.1 + {$region 11.1.1 - Vertex Attributes} - static procedure BindAttribLocation(&program: ProgramName; index: UInt32; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glBindAttribLocation'; - static procedure BindAttribLocation(&program: ProgramName; index: UInt32; name: IntPtr); - external 'opengl32.dll' name 'glBindAttribLocation'; + public z_GetAttribLocation: function(&program: ProgramName; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetAttribLocation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetAttribLocation(&program: ProgramName; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetAttribLocation(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetAttribLocation(&program: ProgramName; name: IntPtr): Int32 := z_GetAttribLocation(&program, name); - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveAttrib'; - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveAttrib'; - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveAttrib'; - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveAttrib'; - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveAttrib'; - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveAttrib'; - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetActiveAttrib'; - static procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetActiveAttrib'; + public z_GetActiveAttrib: procedure(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetActiveAttrib'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttrib(&program, index, bufSize, @length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; name: IntPtr) := GetActiveAttrib(&program, index, bufSize, @length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttrib(&program, index, bufSize, @length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr) := GetActiveAttrib(&program, index, bufSize, @length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttrib(&program, index, bufSize, length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; name: IntPtr) := GetActiveAttrib(&program, index, bufSize, length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttrib(&program, index, bufSize, length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttrib(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := z_GetActiveAttrib(&program, index, bufSize, length, size, &type, name); - static function GetAttribLocation(&program: ProgramName; [MarshalAs(UnmanagedType.LPStr)] name: string): Int32; - external 'opengl32.dll' name 'glGetAttribLocation'; - static function GetAttribLocation(&program: ProgramName; name: IntPtr): Int32; - external 'opengl32.dll' name 'glGetAttribLocation'; + public z_BindAttribLocation: procedure(&program: ProgramName; index: UInt32; name: IntPtr) := GetGLFuncOrNil&('glBindAttribLocation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindAttribLocation(&program: ProgramName; index: UInt32; name: string); begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); BindAttribLocation(&program, index, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindAttribLocation(&program: ProgramName; index: UInt32; name: IntPtr) := z_BindAttribLocation(&program, index, name); - //11.1.2 + {$endregion 11.1.1 - Vertex Attributes} - //11.1.2.1 + {$region 11.1.2 - Vertex Shader Variables} - static procedure TransformFeedbackVaryings(&program: ProgramName; count: Int32; [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] varyings: array of string; bufferMode: TransformFeedbackBufferMode); - external 'opengl32.dll' name 'glTransformFeedbackVaryings'; - static procedure TransformFeedbackVaryings(&program: ProgramName; count: Int32; [MarshalAs(UnmanagedType.SysInt, ArraySubType = UnmanagedType.LPStr)] var varyings: string; bufferMode: TransformFeedbackBufferMode); - external 'opengl32.dll' name 'glTransformFeedbackVaryings'; - static procedure TransformFeedbackVaryings(&program: ProgramName; count: Int32; var varyings: IntPtr; bufferMode: TransformFeedbackBufferMode); - external 'opengl32.dll' name 'glTransformFeedbackVaryings'; - static procedure TransformFeedbackVaryings(&program: ProgramName; count: Int32; varyings: pointer; bufferMode: TransformFeedbackBufferMode); - external 'opengl32.dll' name 'glTransformFeedbackVaryings'; + public z_TransformFeedbackVaryings: procedure(&program: ProgramName; count: Int32; varyings: pointer; bufferMode: TransformFeedbackBufferMode) := GetGLFuncOrNil&('glTransformFeedbackVaryings'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryings(&program: ProgramName; count: Int32; var varyings: IntPtr; bufferMode: TransformFeedbackBufferMode) := TransformFeedbackVaryings(&program, count, @varyings, bufferMode); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryings(&program: ProgramName; count: Int32; varyings: pointer; bufferMode: TransformFeedbackBufferMode) := z_TransformFeedbackVaryings(&program, count, varyings, bufferMode); - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; name: IntPtr); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; name: IntPtr); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; - static procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr); - external 'opengl32.dll' name 'glGetTransformFeedbackVarying'; + public z_GetTransformFeedbackVarying: procedure(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetTransformFeedbackVarying'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVarying(&program, index, bufSize, @length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: ProgramVarType; name: IntPtr) := GetTransformFeedbackVarying(&program, index, bufSize, @length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVarying(&program, index, bufSize, @length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr) := GetTransformFeedbackVarying(&program, index, bufSize, @length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVarying(&program, index, bufSize, length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: ProgramVarType; name: IntPtr) := GetTransformFeedbackVarying(&program, index, bufSize, length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVarying(&program, index, bufSize, length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVarying(&program: ProgramName; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := z_GetTransformFeedbackVarying(&program, index, bufSize, length, size, &type, name); - //11.1.3 + {$endregion 11.1.2 - Vertex Shader Variables} - //11.1.3.11 + {$region 11.1.3 - Shader Execution} - static procedure ValidateProgram(&program: ProgramName); - external 'opengl32.dll' name 'glValidateProgram'; + public z_ValidateProgramPipeline: procedure(pipeline: ProgramPipelineName) := GetGLFuncOrNil&('glValidateProgramPipeline'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ValidateProgramPipeline(pipeline: ProgramPipelineName) := z_ValidateProgramPipeline(pipeline); - static procedure ValidateProgramPipeline(pipeline: ProgramPipelineName); - external 'opengl32.dll' name 'glValidateProgramPipeline'; + public z_ValidateProgram: procedure(&program: ProgramName) := GetGLFuncOrNil&('glValidateProgram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ValidateProgram(&program: ProgramName) := z_ValidateProgram(&program); + + {$endregion 11.1.3 - Shader Execution} {$endregion 11.1 - Vertex Shaders} {$region 11.2 - Tessellation} - // 11.2.2 + {$region 11.2.2 - Tessellation Primitive Generation} - static procedure PatchParameterfv(pname: PatchMode; var values: Vec2f); - external 'opengl32.dll' name 'glPatchParameterfv'; - static procedure PatchParameterfv(pname: PatchMode; var values: Vec4f); - external 'opengl32.dll' name 'glPatchParameterfv'; - static procedure PatchParameterfv(pname: PatchMode; [MarshalAs(UnmanagedType.LPArray)] values: array of single); - external 'opengl32.dll' name 'glPatchParameterfv'; - static procedure PatchParameterfv(pname: PatchMode; var values: single); - external 'opengl32.dll' name 'glPatchParameterfv'; - static procedure PatchParameterfv(pname: PatchMode; values: pointer); - external 'opengl32.dll' name 'glPatchParameterfv'; + public z_PatchParameterfv: procedure(pname: PatchMode; values: pointer) := GetGLFuncOrNil&('glPatchParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameterfv(pname: PatchMode; values: array of single) := PatchParameterfv(pname, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameterfv(pname: PatchMode; var values: single) := PatchParameterfv(pname, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameterfv(pname: PatchMode; var values: Vec2f) := PatchParameterfv(pname, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameterfv(pname: PatchMode; var values: Vec4f) := PatchParameterfv(pname, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameterfv(pname: PatchMode; values: pointer) := z_PatchParameterfv(pname, values); + + {$endregion 11.2.2 - Tessellation Primitive Generation} {$endregion 11.2 - Tessellation} - {$endregion 11.0 - Programmable Vertex Processing} + {$endregion 11 - Programmable Vertex Processing} - {$region 13.0 - Fixed-Function Vertex Post-Processing} + {$region 13 - Fixed-Function Vertex Post-Processing} {$region 13.3 - Transform Feedback} - // 13.3.1 + {$region 13.3.1 - Transform Feedback Objects} - static procedure GenTransformFeedbacks(n: Int32; [MarshalAs(UnmanagedType.LPArray)] ids: array of TransformFeedbackName); - external 'opengl32.dll' name 'glGenTransformFeedbacks'; - static procedure GenTransformFeedbacks(n: Int32; var ids: TransformFeedbackName); - external 'opengl32.dll' name 'glGenTransformFeedbacks'; - static procedure GenTransformFeedbacks(n: Int32; ids: pointer); - external 'opengl32.dll' name 'glGenTransformFeedbacks'; + public z_IsTransformFeedback: function(id: TransformFeedbackName): boolean := GetGLFuncOrNil&('glIsTransformFeedback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsTransformFeedback(id: TransformFeedbackName): boolean := z_IsTransformFeedback(id); - static procedure DeleteTransformFeedbacks(n: Int32; [MarshalAs(UnmanagedType.LPArray)] ids: array of TransformFeedbackName); - external 'opengl32.dll' name 'glDeleteTransformFeedbacks'; - static procedure DeleteTransformFeedbacks(n: Int32; var ids: TransformFeedbackName); - external 'opengl32.dll' name 'glDeleteTransformFeedbacks'; - static procedure DeleteTransformFeedbacks(n: Int32; ids: pointer); - external 'opengl32.dll' name 'glDeleteTransformFeedbacks'; + public z_GenTransformFeedbacks: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glGenTransformFeedbacks'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTransformFeedbacks(n: Int32; ids: array of TransformFeedbackName) := GenTransformFeedbacks(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTransformFeedbacks(n: Int32; var ids: TransformFeedbackName) := GenTransformFeedbacks(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTransformFeedbacks(n: Int32; ids: pointer) := z_GenTransformFeedbacks(n, ids); - static function IsTransformFeedback(id: TransformFeedbackName): boolean; - external 'opengl32.dll' name 'glIsTransformFeedback'; + public z_DeleteTransformFeedbacks: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glDeleteTransformFeedbacks'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTransformFeedbacks(n: Int32; ids: array of TransformFeedbackName) := DeleteTransformFeedbacks(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTransformFeedbacks(n: Int32; var ids: TransformFeedbackName) := DeleteTransformFeedbacks(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTransformFeedbacks(n: Int32; ids: pointer) := z_DeleteTransformFeedbacks(n, ids); - static procedure BindTransformFeedback(target: TransformFeedbackBindTarget; id: TransformFeedbackName); - external 'opengl32.dll' name 'glBindTransformFeedback'; + public z_CreateTransformFeedbacks: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glCreateTransformFeedbacks'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateTransformFeedbacks(n: Int32; ids: array of TransformFeedbackName) := CreateTransformFeedbacks(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateTransformFeedbacks(n: Int32; var ids: TransformFeedbackName) := CreateTransformFeedbacks(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateTransformFeedbacks(n: Int32; ids: pointer) := z_CreateTransformFeedbacks(n, ids); - static procedure CreateTransformFeedbacks(n: Int32; [MarshalAs(UnmanagedType.LPArray)] ids: array of TransformFeedbackName); - external 'opengl32.dll' name 'glCreateTransformFeedbacks'; - static procedure CreateTransformFeedbacks(n: Int32; var ids: TransformFeedbackName); - external 'opengl32.dll' name 'glCreateTransformFeedbacks'; - static procedure CreateTransformFeedbacks(n: Int32; ids: pointer); - external 'opengl32.dll' name 'glCreateTransformFeedbacks'; + public z_BindTransformFeedback: procedure(target: TransformFeedbackBindTarget; id: TransformFeedbackName) := GetGLFuncOrNil&('glBindTransformFeedback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTransformFeedback(target: TransformFeedbackBindTarget; id: TransformFeedbackName) := z_BindTransformFeedback(target, id); - // 13.3.2 + {$endregion 13.3.1 - Transform Feedback Objects} - static procedure BeginTransformFeedback(primitiveMode: PrimitiveType); - external 'opengl32.dll' name 'glBeginTransformFeedback'; + {$region 13.3.2 - Transform Feedback Primitive Capture} - static procedure EndTransformFeedback; - external 'opengl32.dll' name 'glEndTransformFeedback'; + public z_TransformFeedbackBufferRange: procedure(xfb: TransformFeedbackName; index: UInt32; buffer: BufferName; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glTransformFeedbackBufferRange'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackBufferRange(xfb: TransformFeedbackName; index: UInt32; buffer: BufferName; offset: IntPtr; size: UIntPtr) := z_TransformFeedbackBufferRange(xfb, index, buffer, offset, size); - static procedure PauseTransformFeedback; - external 'opengl32.dll' name 'glPauseTransformFeedback'; + public z_TransformFeedbackBufferBase: procedure(xfb: TransformFeedbackName; index: UInt32; buffer: BufferName) := GetGLFuncOrNil&('glTransformFeedbackBufferBase'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackBufferBase(xfb: TransformFeedbackName; index: UInt32; buffer: BufferName) := z_TransformFeedbackBufferBase(xfb, index, buffer); - static procedure ResumeTransformFeedback; - external 'opengl32.dll' name 'glResumeTransformFeedback'; + public z_ResumeTransformFeedback: procedure := GetGLFuncOrNil&('glResumeTransformFeedback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResumeTransformFeedback := z_ResumeTransformFeedback; - static procedure TransformFeedbackBufferRange(xfb: TransformFeedbackName; index: UInt32; buffer: BufferName; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glTransformFeedbackBufferRange'; + public z_PauseTransformFeedback: procedure := GetGLFuncOrNil&('glPauseTransformFeedback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PauseTransformFeedback := z_PauseTransformFeedback; - static procedure TransformFeedbackBufferBase(xfb: TransformFeedbackName; index: UInt32; buffer: BufferName); - external 'opengl32.dll' name 'glTransformFeedbackBufferBase'; + public z_EndTransformFeedback: procedure := GetGLFuncOrNil&('glEndTransformFeedback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndTransformFeedback := z_EndTransformFeedback; - // 13.3.3 + public z_BeginTransformFeedback: procedure(primitiveMode: PrimitiveType) := GetGLFuncOrNil&('glBeginTransformFeedback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginTransformFeedback(primitiveMode: PrimitiveType) := z_BeginTransformFeedback(primitiveMode); - static procedure DrawTransformFeedback(mode: PrimitiveType; id: TransformFeedbackName); - external 'opengl32.dll' name 'glDrawTransformFeedback'; + {$endregion 13.3.2 - Transform Feedback Primitive Capture} - static procedure DrawTransformFeedbackInstanced(mode: PrimitiveType; id: TransformFeedbackName; instancecount: Int32); - external 'opengl32.dll' name 'glDrawTransformFeedbackInstanced'; + {$region 13.3.3 - Transform Feedback Draw Operations} - static procedure DrawTransformFeedbackStream(mode: PrimitiveType; id: TransformFeedbackName; stream: UInt32); - external 'opengl32.dll' name 'glDrawTransformFeedbackStream'; + public z_DrawTransformFeedbackStreamInstanced: procedure(mode: PrimitiveType; id: TransformFeedbackName; stream: UInt32; instancecount: Int32) := GetGLFuncOrNil&('glDrawTransformFeedbackStreamInstanced'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTransformFeedbackStreamInstanced(mode: PrimitiveType; id: TransformFeedbackName; stream: UInt32; instancecount: Int32) := z_DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); - static procedure DrawTransformFeedbackStreamInstanced(mode: PrimitiveType; id: TransformFeedbackName; stream: UInt32; instancecount: Int32); - external 'opengl32.dll' name 'glDrawTransformFeedbackStreamInstanced'; + public z_DrawTransformFeedbackStream: procedure(mode: PrimitiveType; id: TransformFeedbackName; stream: UInt32) := GetGLFuncOrNil&('glDrawTransformFeedbackStream'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTransformFeedbackStream(mode: PrimitiveType; id: TransformFeedbackName; stream: UInt32) := z_DrawTransformFeedbackStream(mode, id, stream); + + public z_DrawTransformFeedbackInstanced: procedure(mode: PrimitiveType; id: TransformFeedbackName; instancecount: Int32) := GetGLFuncOrNil&('glDrawTransformFeedbackInstanced'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTransformFeedbackInstanced(mode: PrimitiveType; id: TransformFeedbackName; instancecount: Int32) := z_DrawTransformFeedbackInstanced(mode, id, instancecount); + + public z_DrawTransformFeedback: procedure(mode: PrimitiveType; id: TransformFeedbackName) := GetGLFuncOrNil&('glDrawTransformFeedback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTransformFeedback(mode: PrimitiveType; id: TransformFeedbackName) := z_DrawTransformFeedback(mode, id); + + {$endregion 13.3.3 - Transform Feedback Draw Operations} {$endregion 13.3 - Transform Feedback} {$region 13.6 - Flatshading} - static procedure ProvokingVertex(mode: VertexProvokingMode); - external 'opengl32.dll' name 'glProvokingVertex'; + public z_ProvokingVertex: procedure(mode: VertexProvokingMode) := GetGLFuncOrNil&('glProvokingVertex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProvokingVertex(mode: VertexProvokingMode) := z_ProvokingVertex(mode); {$endregion 13.6 - Flatshading} {$region 13.7 - Primitive Clipping} - static procedure ClipControl(origin: ClipOriginMode; depth: ClipDepthMode); - external 'opengl32.dll' name 'glClipControl'; + public z_ClipControl: procedure(origin: ClipOriginMode; depth: ClipDepthMode) := GetGLFuncOrNil&('glClipControl'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipControl(origin: ClipOriginMode; depth: ClipDepthMode) := z_ClipControl(origin, depth); {$endregion 13.7 - Primitive Clipping} {$region 13.8 - Coordinate Transformations} - // 13.8.1 + {$region 13.8.1 - Controlling the Viewport} - static procedure DepthRangeArrayv(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] v: array of Vec2d); - external 'opengl32.dll' name 'glDepthRangeArrayv'; - static procedure DepthRangeArrayv(first: UInt32; count: Int32; var v: Vec2d); - external 'opengl32.dll' name 'glDepthRangeArrayv'; - static procedure DepthRangeArrayv(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] v: array of double); - external 'opengl32.dll' name 'glDepthRangeArrayv'; - static procedure DepthRangeArrayv(first: UInt32; count: Int32; var v: double); - external 'opengl32.dll' name 'glDepthRangeArrayv'; - static procedure DepthRangeArrayv(first: UInt32; count: Int32; v: pointer); - external 'opengl32.dll' name 'glDepthRangeArrayv'; + public z_ViewportIndexedfv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glViewportIndexedfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfv(index: UInt32; v: array of single) := ViewportIndexedfv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfv(index: UInt32; var v: single) := ViewportIndexedfv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfv(index: UInt32; var v: Vec4f) := ViewportIndexedfv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfv(index: UInt32; v: pointer) := z_ViewportIndexedfv(index, v); - static procedure DepthRangeIndexed(index: UInt32; nearVal: double; farVal: double); - external 'opengl32.dll' name 'glDepthRangeIndexed'; + public z_ViewportIndexedf: procedure(index: UInt32; x: single; y: single; w: single; h: single) := GetGLFuncOrNil&('glViewportIndexedf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedf(index: UInt32; x: single; y: single; w: single; h: single) := z_ViewportIndexedf(index, x, y, w, h); - static procedure DepthRange(nearVal: double; farVal: double); - external 'opengl32.dll' name 'glDepthRange'; + public z_ViewportArrayv: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glViewportArrayv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayv(first: UInt32; count: Int32; v: array of single) := ViewportArrayv(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayv(first: UInt32; count: Int32; var v: single) := ViewportArrayv(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayv(first: UInt32; count: Int32; v: array of Vec4f) := ViewportArrayv(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayv(first: UInt32; count: Int32; var v: Vec4f) := ViewportArrayv(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayv(first: UInt32; count: Int32; v: pointer) := z_ViewportArrayv(first, count, v); - static procedure DepthRangef(nearVal: single; farVal: single); - external 'opengl32.dll' name 'glDepthRangef'; + private static procedure _Viewport(x: Int32; y: Int32; width: Int32; height: Int32); external 'opengl32.dll' name 'glViewport'; + public static z_Viewport: procedure(x: Int32; y: Int32; width: Int32; height: Int32) := _Viewport; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Viewport(x: Int32; y: Int32; width: Int32; height: Int32) := z_Viewport(x, y, width, height); - static procedure ViewportArrayv(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] v: array of Vec4f); - external 'opengl32.dll' name 'glViewportArrayv'; - static procedure ViewportArrayv(first: UInt32; count: Int32; var v: Vec4f); - external 'opengl32.dll' name 'glViewportArrayv'; - static procedure ViewportArrayv(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] v: array of single); - external 'opengl32.dll' name 'glViewportArrayv'; - static procedure ViewportArrayv(first: UInt32; count: Int32; var v: single); - external 'opengl32.dll' name 'glViewportArrayv'; - static procedure ViewportArrayv(first: UInt32; count: Int32; v: pointer); - external 'opengl32.dll' name 'glViewportArrayv'; + public z_DepthRangeIndexed: procedure(index: UInt32; n: double; f: double) := GetGLFuncOrNil&('glDepthRangeIndexed'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeIndexed(index: UInt32; n: double; f: double) := z_DepthRangeIndexed(index, n, f); - static procedure ViewportIndexedf(index: UInt32; x: single; y: single; w: single; h: single); - external 'opengl32.dll' name 'glViewportIndexedf'; + public z_DepthRangef: procedure(n: single; f: single) := GetGLFuncOrNil&('glDepthRangef'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangef(n: single; f: single) := z_DepthRangef(n, f); - static procedure ViewportIndexedfv(index: UInt32; var v: Vec4f); - external 'opengl32.dll' name 'glViewportIndexedfv'; - static procedure ViewportIndexedfv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of single); - external 'opengl32.dll' name 'glViewportIndexedfv'; - static procedure ViewportIndexedfv(index: UInt32; var v: single); - external 'opengl32.dll' name 'glViewportIndexedfv'; - static procedure ViewportIndexedfv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glViewportIndexedfv'; + public z_DepthRangeArrayv: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glDepthRangeArrayv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayv(first: UInt32; count: Int32; v: array of double) := DepthRangeArrayv(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayv(first: UInt32; count: Int32; var v: double) := DepthRangeArrayv(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayv(first: UInt32; count: Int32; v: array of Vec2d) := DepthRangeArrayv(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayv(first: UInt32; count: Int32; var v: Vec2d) := DepthRangeArrayv(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayv(first: UInt32; count: Int32; v: pointer) := z_DepthRangeArrayv(first, count, v); - static procedure Viewport(x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glViewport'; + private static procedure _DepthRange(n: double; f: double); external 'opengl32.dll' name 'glDepthRange'; + public static z_DepthRange: procedure(n: double; f: double) := _DepthRange; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRange(n: double; f: double) := z_DepthRange(n, f); + + {$endregion 13.8.1 - Controlling the Viewport} {$endregion 13.8 - Coordinate Transformations} - {$endregion 13.0 - Fixed-Function Vertex Post-Processing} + {$endregion 13 - Fixed-Function Vertex Post-Processing} - {$region 14.0 - Fixed-Function Primitive Assembly and Rasterization} + {$region 14 - Fixed-Function Primitive Assembly and Rasterization} {$region 14.3 - Antialiasing} - // 14.3.1 + {$region 14.3.1 - Multisampling} - static procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; var val: Vec2f); - external 'opengl32.dll' name 'glGetMultisamplefv'; - static procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; [MarshalAs(UnmanagedType.LPArray)] val: array of single); - external 'opengl32.dll' name 'glGetMultisamplefv'; - static procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; var val: single); - external 'opengl32.dll' name 'glGetMultisamplefv'; - static procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; val: pointer); - external 'opengl32.dll' name 'glGetMultisamplefv'; + public z_MinSampleShading: procedure(value: single) := GetGLFuncOrNil&('glMinSampleShading'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MinSampleShading(value: single) := z_MinSampleShading(value); - // 14.3.1.1 + public z_GetMultisamplefv: procedure(pname: MultisampleInfoType; index: UInt32; val: pointer) := GetGLFuncOrNil&('glGetMultisamplefv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; val: array of single) := GetMultisamplefv(pname, index, val[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; var val: single) := GetMultisamplefv(pname, index, @val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; var val: Vec2f) := GetMultisamplefv(pname, index, @val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMultisamplefv(pname: MultisampleInfoType; index: UInt32; val: pointer) := z_GetMultisamplefv(pname, index, val); - static procedure MinSampleShading(value: single); - external 'opengl32.dll' name 'glMinSampleShading'; + {$endregion 14.3.1 - Multisampling} {$endregion 14.3 - Antialiasing} {$region 14.4 - Points} - static procedure PointSize(size: single); - external 'opengl32.dll' name 'glPointSize'; + private static procedure _PointSize(size: single); external 'opengl32.dll' name 'glPointSize'; + public static z_PointSize: procedure(size: single) := _PointSize; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointSize(size: single) := z_PointSize(size); - static procedure PointParameteri(pname: PointInfoType; param: Int32); - external 'opengl32.dll' name 'glPointParameteri'; - static procedure PointParameteri(pname: PointInfoType; param: ClipOriginMode); - external 'opengl32.dll' name 'glPointParameteri'; + public z_PointParameteriv: procedure(pname: PointInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glPointParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameteriv(pname: PointInfoType; var ¶ms: Int32) := PointParameteriv(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameteriv(pname: PointInfoType; ¶ms: pointer) := z_PointParameteriv(pname, ¶ms); - static procedure PointParameterf(pname: PointInfoType; param: single); - external 'opengl32.dll' name 'glPointParameterf'; + public z_PointParameteri: procedure(pname: PointInfoType; param: Int32) := GetGLFuncOrNil&('glPointParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameteri(pname: PointInfoType; param: ClipOriginMode) := PointParameteri(pname, param.val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameteri(pname: PointInfoType; param: Int32) := z_PointParameteri(pname, param); - static procedure PointParameteriv(pname: PointInfoType; var ¶ms: Int32); - external 'opengl32.dll' name 'glPointParameteriv'; - static procedure PointParameteriv(pname: PointInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glPointParameteriv'; + public z_PointParameterfv: procedure(pname: PointInfoType; ¶ms: pointer) := GetGLFuncOrNil&('glPointParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfv(pname: PointInfoType; var ¶ms: single) := PointParameterfv(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfv(pname: PointInfoType; ¶ms: pointer) := z_PointParameterfv(pname, ¶ms); - static procedure PointParameterfv(pname: PointInfoType; var ¶ms: single); - external 'opengl32.dll' name 'glPointParameterfv'; - static procedure PointParameterfv(pname: PointInfoType; ¶ms: pointer); - external 'opengl32.dll' name 'glPointParameterfv'; + public z_PointParameterf: procedure(pname: PointInfoType; param: single) := GetGLFuncOrNil&('glPointParameterf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterf(pname: PointInfoType; param: single) := z_PointParameterf(pname, param); {$endregion 14.4 - Points} {$region 14.5 - Line Segments} - static procedure LineWidth(width: single); - external 'opengl32.dll' name 'glLineWidth'; + private static procedure _LineWidth(width: single); external 'opengl32.dll' name 'glLineWidth'; + public static z_LineWidth: procedure(width: single) := _LineWidth; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LineWidth(width: single) := z_LineWidth(width); {$endregion 14.5 - Line Segments} {$region 14.6 - Polygons} - // 14.6.1 + {$region 14.6.1 - Basic Polygon Rasterization} - static procedure FrontFace(mode: FrontFaceDirection); - external 'opengl32.dll' name 'glFrontFace'; + private static procedure _FrontFace(mode: FrontFaceDirection); external 'opengl32.dll' name 'glFrontFace'; + public static z_FrontFace: procedure(mode: FrontFaceDirection) := _FrontFace; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FrontFace(mode: FrontFaceDirection) := z_FrontFace(mode); - static procedure CullFace(mode: PolygonFace); - external 'opengl32.dll' name 'glCullFace'; + private static procedure _CullFace(mode: PolygonFace); external 'opengl32.dll' name 'glCullFace'; + public static z_CullFace: procedure(mode: PolygonFace) := _CullFace; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CullFace(mode: PolygonFace) := z_CullFace(mode); - // 14.6.4 + {$endregion 14.6.1 - Basic Polygon Rasterization} - static procedure PolygonMode(face: PolygonFace; mode: PolygonRasterizationMode); - external 'opengl32.dll' name 'glPolygonMode'; + {$region 14.6.4 - Options Controlling Polygon Rasterization} - // 14.6.5 + private static procedure _PolygonMode(face: PolygonFace; mode: PolygonRasterizationMode); external 'opengl32.dll' name 'glPolygonMode'; + public static z_PolygonMode: procedure(face: PolygonFace; mode: PolygonRasterizationMode) := _PolygonMode; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonMode(face: PolygonFace; mode: PolygonRasterizationMode) := z_PolygonMode(face, mode); - static procedure PolygonOffsetClamp(factor: single; units: single; clamp: single); - external 'opengl32.dll' name 'glPolygonOffsetClamp'; + {$endregion 14.6.4 - Options Controlling Polygon Rasterization} - static procedure PolygonOffset(factor: single; units: single); - external 'opengl32.dll' name 'glPolygonOffset'; + {$region 14.6.5 - Depth Offset} + + public z_PolygonOffsetClamp: procedure(factor: single; units: single; clamp: single) := GetGLFuncOrNil&('glPolygonOffsetClamp'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonOffsetClamp(factor: single; units: single; clamp: single) := z_PolygonOffsetClamp(factor, units, clamp); + + private static procedure _PolygonOffset(factor: single; units: single); external 'opengl32.dll' name 'glPolygonOffset'; + public static z_PolygonOffset: procedure(factor: single; units: single) := _PolygonOffset; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonOffset(factor: single; units: single) := z_PolygonOffset(factor, units); + + {$endregion 14.6.5 - Depth Offset} {$endregion 14.6 - Polygons} {$region 14.9 - Early Per-Fragment Tests} - // 14.9.2 + {$region 14.9.2 - Scissor Test} - static procedure ScissorArrayv(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] v: array of Vec4i); - external 'opengl32.dll' name 'glScissorArrayv'; - static procedure ScissorArrayv(first: UInt32; count: Int32; var v: Vec4i); - external 'opengl32.dll' name 'glScissorArrayv'; - static procedure ScissorArrayv(first: UInt32; count: Int32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glScissorArrayv'; - static procedure ScissorArrayv(first: UInt32; count: Int32; var v: Int32); - external 'opengl32.dll' name 'glScissorArrayv'; - static procedure ScissorArrayv(first: UInt32; count: Int32; v: pointer); - external 'opengl32.dll' name 'glScissorArrayv'; + public z_ScissorIndexedv: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glScissorIndexedv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedv(index: UInt32; v: array of Int32) := ScissorIndexedv(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedv(index: UInt32; var v: Int32) := ScissorIndexedv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedv(index: UInt32; var v: Vec4i) := ScissorIndexedv(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedv(index: UInt32; v: pointer) := z_ScissorIndexedv(index, v); - static procedure ScissorIndexed(index: UInt32; left: Int32; bottom: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glScissorIndexed'; + public z_ScissorIndexed: procedure(index: UInt32; left: Int32; bottom: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glScissorIndexed'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexed(index: UInt32; left: Int32; bottom: Int32; width: Int32; height: Int32) := z_ScissorIndexed(index, left, bottom, width, height); - static procedure ScissorIndexedv(index: UInt32; var v: Vec4i); - external 'opengl32.dll' name 'glScissorIndexedv'; - static procedure ScissorIndexedv(index: UInt32; [MarshalAs(UnmanagedType.LPArray)] v: array of Int32); - external 'opengl32.dll' name 'glScissorIndexedv'; - static procedure ScissorIndexedv(index: UInt32; var v: Int32); - external 'opengl32.dll' name 'glScissorIndexedv'; - static procedure ScissorIndexedv(index: UInt32; v: pointer); - external 'opengl32.dll' name 'glScissorIndexedv'; + public z_ScissorArrayv: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glScissorArrayv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayv(first: UInt32; count: Int32; v: array of Int32) := ScissorArrayv(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayv(first: UInt32; count: Int32; var v: Int32) := ScissorArrayv(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayv(first: UInt32; count: Int32; v: array of Vec4i) := ScissorArrayv(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayv(first: UInt32; count: Int32; var v: Vec4i) := ScissorArrayv(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayv(first: UInt32; count: Int32; v: pointer) := z_ScissorArrayv(first, count, v); - static procedure Scissor(x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glScissor'; + private static procedure _Scissor(x: Int32; y: Int32; width: Int32; height: Int32); external 'opengl32.dll' name 'glScissor'; + public static z_Scissor: procedure(x: Int32; y: Int32; width: Int32; height: Int32) := _Scissor; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Scissor(x: Int32; y: Int32; width: Int32; height: Int32) := z_Scissor(x, y, width, height); - // 14.9.3 + {$endregion 14.9.2 - Scissor Test} - static procedure SampleCoverage(value: single; invert: boolean); - external 'opengl32.dll' name 'glSampleCoverage'; + {$region 14.9.3 - Multisample Fragment Operations} - static procedure SampleMaski(maskNumber: UInt32; mask: UInt32); - external 'opengl32.dll' name 'glSampleMaski'; + public z_SampleMaski: procedure(maskNumber: UInt32; mask: UInt32) := GetGLFuncOrNil&('glSampleMaski'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleMaski(maskNumber: UInt32; mask: UInt32) := z_SampleMaski(maskNumber, mask); + + public z_SampleCoverage: procedure(value: single; invert: boolean) := GetGLFuncOrNil&('glSampleCoverage'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleCoverage(value: single; invert: boolean) := z_SampleCoverage(value, invert); + + {$endregion 14.9.3 - Multisample Fragment Operations} {$endregion 14.9 - Early Per-Fragment Tests} - {$endregion 14.0 - Fixed-Function Primitive Assembly and Rasterization} + {$endregion 14 - Fixed-Function Primitive Assembly and Rasterization} - {$region 15.0 - Programmable Fragment Processing} + {$region 15 - Programmable Fragment Processing} {$region 15.2 - Shader Execution} - // 15.2.3 + {$region 15.2.3 - Shader Outputs} - static procedure BindFragDataLocationIndexed(&program: ProgramName; colorNumber: UInt32; index: UInt32; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glBindFragDataLocationIndexed'; - static procedure BindFragDataLocationIndexed(&program: ProgramName; colorNumber: UInt32; index: UInt32; name: IntPtr); - external 'opengl32.dll' name 'glBindFragDataLocationIndexed'; + public z_GetFragDataLocation: function(&program: ProgramName; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetFragDataLocation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataLocation(&program: ProgramName; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetFragDataLocation(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataLocation(&program: ProgramName; name: IntPtr): Int32 := z_GetFragDataLocation(&program, name); - static procedure BindFragDataLocation(&program: ProgramName; colorNumber: UInt32; [MarshalAs(UnmanagedType.LPStr)] name: string); - external 'opengl32.dll' name 'glBindFragDataLocation'; - static procedure BindFragDataLocation(&program: ProgramName; colorNumber: UInt32; name: IntPtr); - external 'opengl32.dll' name 'glBindFragDataLocation'; + public z_GetFragDataIndex: function(&program: ProgramName; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetFragDataIndex'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataIndex(&program: ProgramName; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetFragDataIndex(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataIndex(&program: ProgramName; name: IntPtr): Int32 := z_GetFragDataIndex(&program, name); - static function GetFragDataLocation(&program: ProgramName; [MarshalAs(UnmanagedType.LPStr)] name: string): Int32; - external 'opengl32.dll' name 'glGetFragDataLocation'; - static function GetFragDataLocation(&program: ProgramName; name: IntPtr): Int32; - external 'opengl32.dll' name 'glGetFragDataLocation'; + public z_BindFragDataLocationIndexed: procedure(&program: ProgramName; colorNumber: UInt32; index: UInt32; name: IntPtr) := GetGLFuncOrNil&('glBindFragDataLocationIndexed'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocationIndexed(&program: ProgramName; colorNumber: UInt32; index: UInt32; name: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(name); BindFragDataLocationIndexed(&program, colorNumber, index, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocationIndexed(&program: ProgramName; colorNumber: UInt32; index: UInt32; name: IntPtr) := z_BindFragDataLocationIndexed(&program, colorNumber, index, name); - static function GetFragDataIndex(&program: ProgramName; [MarshalAs(UnmanagedType.LPStr)] name: string): Int32; - external 'opengl32.dll' name 'glGetFragDataIndex'; - static function GetFragDataIndex(&program: ProgramName; name: IntPtr): Int32; - external 'opengl32.dll' name 'glGetFragDataIndex'; + public z_BindFragDataLocation: procedure(&program: ProgramName; color: UInt32; name: IntPtr) := GetGLFuncOrNil&('glBindFragDataLocation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocation(&program: ProgramName; color: UInt32; name: string); begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); BindFragDataLocation(&program, color, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocation(&program: ProgramName; color: UInt32; name: IntPtr) := z_BindFragDataLocation(&program, color, name); + + {$endregion 15.2.3 - Shader Outputs} {$endregion 15.2 - Shader Execution} - {$endregion 15.0 - Programmable Fragment Processing} + {$endregion 15 - Programmable Fragment Processing} - {$region 17.0 - Writing Fragments and Samples to the Framebuffer} + {$region 17 - Writing Fragments and Samples to the Framebuffer} {$region 17.3 - Per-Fragment Operations} - // 17.3.3 + {$region 17.3.3 - Stencil Test} - static procedure StencilFunc(func: ActivationFunc; ref: Int32; mask: UInt32); - external 'opengl32.dll' name 'glStencilFunc'; + public z_StencilOpSeparate: procedure(face: PolygonFace; sfail: StencilOpFailMode; dpfail: StencilOpFailMode; dppass: StencilOpFailMode) := GetGLFuncOrNil&('glStencilOpSeparate'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilOpSeparate(face: PolygonFace; sfail: StencilOpFailMode; dpfail: StencilOpFailMode; dppass: StencilOpFailMode) := z_StencilOpSeparate(face, sfail, dpfail, dppass); - static procedure StencilFuncSeparate(face: PolygonFace; func: ActivationFunc; ref: Int32; mask: UInt32); - external 'opengl32.dll' name 'glStencilFuncSeparate'; + private static procedure _StencilOp(fail: StencilOpFailMode; zfail: StencilOpFailMode; zpass: StencilOpFailMode); external 'opengl32.dll' name 'glStencilOp'; + public static z_StencilOp: procedure(fail: StencilOpFailMode; zfail: StencilOpFailMode; zpass: StencilOpFailMode) := _StencilOp; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilOp(fail: StencilOpFailMode; zfail: StencilOpFailMode; zpass: StencilOpFailMode) := z_StencilOp(fail, zfail, zpass); - static procedure StencilOp(fail: StencilOpFailMode; zfail: StencilOpFailMode; zpass: StencilOpFailMode); - external 'opengl32.dll' name 'glStencilOp'; + public z_StencilFuncSeparate: procedure(face: PolygonFace; func: ActivationFunc; ref: Int32; mask: UInt32) := GetGLFuncOrNil&('glStencilFuncSeparate'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilFuncSeparate(face: PolygonFace; func: ActivationFunc; ref: Int32; mask: UInt32) := z_StencilFuncSeparate(face, func, ref, mask); - static procedure StencilOpSeparate(face: PolygonFace; sfail: StencilOpFailMode; dpfail: StencilOpFailMode; dppass: StencilOpFailMode); - external 'opengl32.dll' name 'glStencilOpSeparate'; + private static procedure _StencilFunc(func: ActivationFunc; ref: Int32; mask: UInt32); external 'opengl32.dll' name 'glStencilFunc'; + public static z_StencilFunc: procedure(func: ActivationFunc; ref: Int32; mask: UInt32) := _StencilFunc; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilFunc(func: ActivationFunc; ref: Int32; mask: UInt32) := z_StencilFunc(func, ref, mask); - // 17.3.4 + {$endregion 17.3.3 - Stencil Test} - static procedure DepthFunc(func: ActivationFunc); - external 'opengl32.dll' name 'glDepthFunc'; + {$region 17.3.4 - Depth Buffer Test} - // 17.3.6 + private static procedure _DepthFunc(func: ActivationFunc); external 'opengl32.dll' name 'glDepthFunc'; + public static z_DepthFunc: procedure(func: ActivationFunc) := _DepthFunc; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthFunc(func: ActivationFunc) := z_DepthFunc(func); - static procedure Enablei(target: EnablableName; index: UInt32); - external 'opengl32.dll' name 'glEnablei'; + {$endregion 17.3.4 - Depth Buffer Test} - static procedure Disablei(target: EnablableName; index: UInt32); - external 'opengl32.dll' name 'glDisablei'; + {$region 17.3.6 - Blending} - // 17.3.6.1 + public z_Enablei: procedure(target: EnablableName; index: UInt32) := GetGLFuncOrNil&('glEnablei'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Enablei(target: EnablableName; index: UInt32) := z_Enablei(target, index); - static procedure BlendEquation(mode: BlendEquationMode); - external 'opengl32.dll' name 'glBlendEquation'; + public z_Disablei: procedure(target: EnablableName; index: UInt32) := GetGLFuncOrNil&('glDisablei'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Disablei(target: EnablableName; index: UInt32) := z_Disablei(target, index); - static procedure BlendEquationSeparate(modeRGB: BlendEquationMode; modeAlpha: BlendEquationMode); - external 'opengl32.dll' name 'glBlendEquationSeparate'; + public z_BlendFuncSeparatei: procedure(buf: UInt32; srcRGB: BlendFuncMode; dstRGB: BlendFuncMode; srcAlpha: BlendFuncMode; dstAlpha: BlendFuncMode) := GetGLFuncOrNil&('glBlendFuncSeparatei'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparatei(buf: UInt32; srcRGB: BlendFuncMode; dstRGB: BlendFuncMode; srcAlpha: BlendFuncMode; dstAlpha: BlendFuncMode) := z_BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); - static procedure BlendEquationi(buf: UInt32; mode: BlendEquationMode); - external 'opengl32.dll' name 'glBlendEquationi'; + public z_BlendFuncSeparate: procedure(sfactorRGB: BlendFuncMode; dfactorRGB: BlendFuncMode; sfactorAlpha: BlendFuncMode; dfactorAlpha: BlendFuncMode) := GetGLFuncOrNil&('glBlendFuncSeparate'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparate(sfactorRGB: BlendFuncMode; dfactorRGB: BlendFuncMode; sfactorAlpha: BlendFuncMode; dfactorAlpha: BlendFuncMode) := z_BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); - static procedure BlendEquationSeparatei(buf: UInt32; modeRGB: BlendEquationMode; modeAlpha: BlendEquationMode); - external 'opengl32.dll' name 'glBlendEquationSeparatei'; + public z_BlendFunci: procedure(buf: UInt32; src: BlendFuncMode; dst: BlendFuncMode) := GetGLFuncOrNil&('glBlendFunci'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFunci(buf: UInt32; src: BlendFuncMode; dst: BlendFuncMode) := z_BlendFunci(buf, src, dst); - // 17.3.6.2 + private static procedure _BlendFunc(sfactor: BlendFuncMode; dfactor: BlendFuncMode); external 'opengl32.dll' name 'glBlendFunc'; + public static z_BlendFunc: procedure(sfactor: BlendFuncMode; dfactor: BlendFuncMode) := _BlendFunc; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFunc(sfactor: BlendFuncMode; dfactor: BlendFuncMode) := z_BlendFunc(sfactor, dfactor); - static procedure BlendFunc(sfactor: BlendFuncMode; dfactor: BlendFuncMode); - external 'opengl32.dll' name 'glBlendFunc'; + public z_BlendEquationSeparatei: procedure(buf: UInt32; modeRGB: BlendEquationMode; modeAlpha: BlendEquationMode) := GetGLFuncOrNil&('glBlendEquationSeparatei'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparatei(buf: UInt32; modeRGB: BlendEquationMode; modeAlpha: BlendEquationMode) := z_BlendEquationSeparatei(buf, modeRGB, modeAlpha); - static procedure BlendFuncSeparate(sfactorRGB: BlendFuncMode; dfactorRGB: BlendFuncMode; sfactorAlpha: BlendFuncMode; dfactorAlpha: BlendFuncMode); - external 'opengl32.dll' name 'glBlendFuncSeparate'; + public z_BlendEquationSeparate: procedure(modeRGB: BlendEquationMode; modeAlpha: BlendEquationMode) := GetGLFuncOrNil&('glBlendEquationSeparate'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparate(modeRGB: BlendEquationMode; modeAlpha: BlendEquationMode) := z_BlendEquationSeparate(modeRGB, modeAlpha); - static procedure BlendFunci(buf: UInt32; src: BlendFuncMode; dst: BlendFuncMode); - external 'opengl32.dll' name 'glBlendFunci'; + public z_BlendEquationi: procedure(buf: UInt32; mode: BlendEquationMode) := GetGLFuncOrNil&('glBlendEquationi'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationi(buf: UInt32; mode: BlendEquationMode) := z_BlendEquationi(buf, mode); - static procedure BlendFuncSeparatei(buf: UInt32; srcRGB: BlendFuncMode; dstRGB: BlendFuncMode; srcAlpha: BlendFuncMode; dstAlpha: BlendFuncMode); - external 'opengl32.dll' name 'glBlendFuncSeparatei'; + public z_BlendEquation: procedure(mode: BlendEquationMode) := GetGLFuncOrNil&('glBlendEquation'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquation(mode: BlendEquationMode) := z_BlendEquation(mode); - // 17.3.6.5 + public z_BlendColor: procedure(red: single; green: single; blue: single; alpha: single) := GetGLFuncOrNil&('glBlendColor'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendColor(red: single; green: single; blue: single; alpha: single) := z_BlendColor(red, green, blue, alpha); - static procedure BlendColor(red: single; green: single; blue: single; alpha: single); - external 'opengl32.dll' name 'glBlendColor'; + {$endregion 17.3.6 - Blending} - // 17.3.9 + {$region 17.3.9 - Logical Operation} - static procedure LogicOp(opcode: LogicOpCode); - external 'opengl32.dll' name 'glLogicOp'; + private static procedure _LogicOp(opcode: LogicOpCode); external 'opengl32.dll' name 'glLogicOp'; + public static z_LogicOp: procedure(opcode: LogicOpCode) := _LogicOp; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LogicOp(opcode: LogicOpCode) := z_LogicOp(opcode); + + {$endregion 17.3.9 - Logical Operation} {$endregion 17.3 - Per-Fragment Operations} {$region 17.4 - Whole Framebuffer Operations} - // 17.4.1 + {$region 17.4.1 - Selecting Buffers for Writing} - static procedure DrawBuffer(buf: FrameBufferPart); - external 'opengl32.dll' name 'glDrawBuffer'; + public z_NamedFramebufferDrawBuffers: procedure(framebuffer: FramebufferName; n: Int32; bufs: pointer) := GetGLFuncOrNil&('glNamedFramebufferDrawBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferDrawBuffers(framebuffer: FramebufferName; n: Int32; bufs: array of FrameBufferPart) := NamedFramebufferDrawBuffers(framebuffer, n, bufs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferDrawBuffers(framebuffer: FramebufferName; n: Int32; var bufs: FrameBufferPart) := NamedFramebufferDrawBuffers(framebuffer, n, @bufs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferDrawBuffers(framebuffer: FramebufferName; n: Int32; bufs: pointer) := z_NamedFramebufferDrawBuffers(framebuffer, n, bufs); - static procedure NamedFramebufferDrawBuffer(framebuffer: FramebufferName; buf: FrameBufferPart); - external 'opengl32.dll' name 'glNamedFramebufferDrawBuffer'; + public z_NamedFramebufferDrawBuffer: procedure(framebuffer: FramebufferName; buf: FrameBufferPart) := GetGLFuncOrNil&('glNamedFramebufferDrawBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferDrawBuffer(framebuffer: FramebufferName; buf: FrameBufferPart) := z_NamedFramebufferDrawBuffer(framebuffer, buf); - static procedure DrawBuffers(n: Int32; [MarshalAs(UnmanagedType.LPArray)] bufs: array of FrameBufferPart); - external 'opengl32.dll' name 'glDrawBuffers'; - static procedure DrawBuffers(n: Int32; var bufs: FrameBufferPart); - external 'opengl32.dll' name 'glDrawBuffers'; - static procedure DrawBuffers(n: Int32; bufs: pointer); - external 'opengl32.dll' name 'glDrawBuffers'; + public z_DrawBuffers: procedure(n: Int32; bufs: pointer) := GetGLFuncOrNil&('glDrawBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffers(n: Int32; bufs: array of FrameBufferPart) := DrawBuffers(n, bufs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffers(n: Int32; var bufs: FrameBufferPart) := DrawBuffers(n, @bufs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffers(n: Int32; bufs: pointer) := z_DrawBuffers(n, bufs); - static procedure NamedFramebufferDrawBuffers(framebuffer: FramebufferName; n: Int32; [MarshalAs(UnmanagedType.LPArray)] bufs: array of FrameBufferPart); - external 'opengl32.dll' name 'glNamedFramebufferDrawBuffers'; - static procedure NamedFramebufferDrawBuffers(framebuffer: FramebufferName; n: Int32; var bufs: FrameBufferPart); - external 'opengl32.dll' name 'glNamedFramebufferDrawBuffers'; - static procedure NamedFramebufferDrawBuffers(framebuffer: FramebufferName; n: Int32; bufs: pointer); - external 'opengl32.dll' name 'glNamedFramebufferDrawBuffers'; + private static procedure _DrawBuffer(buf: FrameBufferPart); external 'opengl32.dll' name 'glDrawBuffer'; + public static z_DrawBuffer: procedure(buf: FrameBufferPart) := _DrawBuffer; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffer(buf: FrameBufferPart) := z_DrawBuffer(buf); - // 17.4.2 + {$endregion 17.4.1 - Selecting Buffers for Writing} - static procedure ColorMask(red: boolean; green: boolean; blue: boolean; alpha: boolean); - external 'opengl32.dll' name 'glColorMask'; + {$region 17.4.2 - Fine Control of Buffer Updates} - static procedure ColorMaski(index: UInt32; r: boolean; g: boolean; b: boolean; a: boolean); - external 'opengl32.dll' name 'glColorMaski'; + public z_StencilMaskSeparate: procedure(face: PolygonFace; mask: UInt32) := GetGLFuncOrNil&('glStencilMaskSeparate'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilMaskSeparate(face: PolygonFace; mask: UInt32) := z_StencilMaskSeparate(face, mask); - static procedure DepthMask(flag: boolean); - external 'opengl32.dll' name 'glDepthMask'; + private static procedure _StencilMask(mask: UInt32); external 'opengl32.dll' name 'glStencilMask'; + public static z_StencilMask: procedure(mask: UInt32) := _StencilMask; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilMask(mask: UInt32) := z_StencilMask(mask); - static procedure StencilMask(mask: UInt32); - external 'opengl32.dll' name 'glStencilMask'; + private static procedure _DepthMask(flag: boolean); external 'opengl32.dll' name 'glDepthMask'; + public static z_DepthMask: procedure(flag: boolean) := _DepthMask; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthMask(flag: boolean) := z_DepthMask(flag); - static procedure StencilMaskSeparate(face: PolygonFace; mask: UInt32); - external 'opengl32.dll' name 'glStencilMaskSeparate'; + public z_ColorMaski: procedure(index: UInt32; r: boolean; g: boolean; b: boolean; a: boolean) := GetGLFuncOrNil&('glColorMaski'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorMaski(index: UInt32; r: boolean; g: boolean; b: boolean; a: boolean) := z_ColorMaski(index, r, g, b, a); - // 17.4.3 + private static procedure _ColorMask(red: boolean; green: boolean; blue: boolean; alpha: boolean); external 'opengl32.dll' name 'glColorMask'; + public static z_ColorMask: procedure(red: boolean; green: boolean; blue: boolean; alpha: boolean) := _ColorMask; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorMask(red: boolean; green: boolean; blue: boolean; alpha: boolean) := z_ColorMask(red, green, blue, alpha); - static procedure Clear(mask: BufferTypeFlags); - external 'opengl32.dll' name 'glClear'; + {$endregion 17.4.2 - Fine Control of Buffer Updates} - static procedure ClearColor(red: single; green: single; blue: single; alpha: single); - external 'opengl32.dll' name 'glClearColor'; + {$region 17.4.3 - Clearing the Buffers} - static procedure ClearDepth(depth: double); - external 'opengl32.dll' name 'glClearDepth'; + private static procedure _ClearStencil(s: Int32); external 'opengl32.dll' name 'glClearStencil'; + public static z_ClearStencil: procedure(s: Int32) := _ClearStencil; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearStencil(s: Int32) := z_ClearStencil(s); - static procedure ClearDepthf(depth: single); - external 'opengl32.dll' name 'glClearDepthf'; + public z_ClearNamedFramebufferuiv: procedure(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := GetGLFuncOrNil&('glClearNamedFramebufferuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of UInt32) := ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: UInt32) := ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Vec4ui) := ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4ui) := ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := z_ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); - static procedure ClearStencil(s: Int32); - external 'opengl32.dll' name 'glClearStencil'; + public z_ClearNamedFramebufferiv: procedure(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := GetGLFuncOrNil&('glClearNamedFramebufferiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Int32) := ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Int32) := ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Vec4i) := ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4i) := ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := z_ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); - // 17.4.3.1 + public z_ClearNamedFramebufferfv: procedure(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := GetGLFuncOrNil&('glClearNamedFramebufferfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of single) := ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: single) := ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Vec4f) := ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4f) := ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := z_ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); - static procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Vec4i); - external 'opengl32.dll' name 'glClearBufferiv'; - static procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4i); - external 'opengl32.dll' name 'glClearBufferiv'; - static procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glClearBufferiv'; - static procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Int32); - external 'opengl32.dll' name 'glClearBufferiv'; - static procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer); - external 'opengl32.dll' name 'glClearBufferiv'; + public z_ClearNamedFramebufferfi: procedure(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; depth: single; stencil: Int32) := GetGLFuncOrNil&('glClearNamedFramebufferfi'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedFramebufferfi(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; depth: single; stencil: Int32) := z_ClearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil); - static procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Vec4f); - external 'opengl32.dll' name 'glClearBufferfv'; - static procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4f); - external 'opengl32.dll' name 'glClearBufferfv'; - static procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glClearBufferfv'; - static procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: single); - external 'opengl32.dll' name 'glClearBufferfv'; - static procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer); - external 'opengl32.dll' name 'glClearBufferfv'; + public z_ClearDepthf: procedure(d: single) := GetGLFuncOrNil&('glClearDepthf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearDepthf(d: single) := z_ClearDepthf(d); - static procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Vec4ui); - external 'opengl32.dll' name 'glClearBufferuiv'; - static procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4ui); - external 'opengl32.dll' name 'glClearBufferuiv'; - static procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glClearBufferuiv'; - static procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: UInt32); - external 'opengl32.dll' name 'glClearBufferuiv'; - static procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer); - external 'opengl32.dll' name 'glClearBufferuiv'; + private static procedure _ClearDepth(depth: double); external 'opengl32.dll' name 'glClearDepth'; + public static z_ClearDepth: procedure(depth: double) := _ClearDepth; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearDepth(depth: double) := z_ClearDepth(depth); - static procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Vec4i); - external 'opengl32.dll' name 'glClearNamedFramebufferiv'; - static procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4i); - external 'opengl32.dll' name 'glClearNamedFramebufferiv'; - static procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Int32); - external 'opengl32.dll' name 'glClearNamedFramebufferiv'; - static procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Int32); - external 'opengl32.dll' name 'glClearNamedFramebufferiv'; - static procedure ClearNamedFramebufferiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer); - external 'opengl32.dll' name 'glClearNamedFramebufferiv'; + private static procedure _ClearColor(red: single; green: single; blue: single; alpha: single); external 'opengl32.dll' name 'glClearColor'; + public static z_ClearColor: procedure(red: single; green: single; blue: single; alpha: single) := _ClearColor; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearColor(red: single; green: single; blue: single; alpha: single) := z_ClearColor(red, green, blue, alpha); - static procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Vec4f); - external 'opengl32.dll' name 'glClearNamedFramebufferfv'; - static procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4f); - external 'opengl32.dll' name 'glClearNamedFramebufferfv'; - static procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of single); - external 'opengl32.dll' name 'glClearNamedFramebufferfv'; - static procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: single); - external 'opengl32.dll' name 'glClearNamedFramebufferfv'; - static procedure ClearNamedFramebufferfv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer); - external 'opengl32.dll' name 'glClearNamedFramebufferfv'; + public z_ClearBufferuiv: procedure(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := GetGLFuncOrNil&('glClearBufferuiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of UInt32) := ClearBufferuiv(buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: UInt32) := ClearBufferuiv(buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Vec4ui) := ClearBufferuiv(buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4ui) := ClearBufferuiv(buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferuiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := z_ClearBufferuiv(buffer, drawbuffer, value); - static procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of Vec4ui); - external 'opengl32.dll' name 'glClearNamedFramebufferuiv'; - static procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4ui); - external 'opengl32.dll' name 'glClearNamedFramebufferuiv'; - static procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; [MarshalAs(UnmanagedType.LPArray)] value: array of UInt32); - external 'opengl32.dll' name 'glClearNamedFramebufferuiv'; - static procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: UInt32); - external 'opengl32.dll' name 'glClearNamedFramebufferuiv'; - static procedure ClearNamedFramebufferuiv(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer); - external 'opengl32.dll' name 'glClearNamedFramebufferuiv'; + public z_ClearBufferiv: procedure(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := GetGLFuncOrNil&('glClearBufferiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Int32) := ClearBufferiv(buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Int32) := ClearBufferiv(buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Vec4i) := ClearBufferiv(buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4i) := ClearBufferiv(buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferiv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := z_ClearBufferiv(buffer, drawbuffer, value); - static procedure ClearBufferfi(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; depth: single; stencil: Int32); - external 'opengl32.dll' name 'glClearBufferfi'; + public z_ClearBufferfv: procedure(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := GetGLFuncOrNil&('glClearBufferfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of single) := ClearBufferfv(buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: single) := ClearBufferfv(buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: array of Vec4f) := ClearBufferfv(buffer, drawbuffer, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; var value: Vec4f) := ClearBufferfv(buffer, drawbuffer, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferfv(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; value: pointer) := z_ClearBufferfv(buffer, drawbuffer, value); - static procedure ClearNamedFramebufferfi(framebuffer: FramebufferName; buffer: FramebufferAttachmentPoint; drawbuffer: Int32; depth: single; stencil: Int32); - external 'opengl32.dll' name 'glClearNamedFramebufferfi'; + public z_ClearBufferfi: procedure(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; depth: single; stencil: Int32) := GetGLFuncOrNil&('glClearBufferfi'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearBufferfi(buffer: FramebufferAttachmentPoint; drawbuffer: Int32; depth: single; stencil: Int32) := z_ClearBufferfi(buffer, drawbuffer, depth, stencil); - // 17.4.4 + private static procedure _Clear(mask: BufferTypeFlags); external 'opengl32.dll' name 'glClear'; + public static z_Clear: procedure(mask: BufferTypeFlags) := _Clear; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Clear(mask: BufferTypeFlags) := z_Clear(mask); - static procedure InvalidateSubFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; [MarshalAs(UnmanagedType.LPArray)] attachments: array of FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateSubFramebuffer'; - static procedure InvalidateSubFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; var attachments: FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateSubFramebuffer'; - static procedure InvalidateSubFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; attachments: pointer); - external 'opengl32.dll' name 'glInvalidateSubFramebuffer'; + {$endregion 17.4.3 - Clearing the Buffers} - static procedure InvalidateNamedFramebufferSubData(framebuffer: FramebufferName; numAttachments: Int32; [MarshalAs(UnmanagedType.LPArray)] attachments: array of FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateNamedFramebufferSubData'; - static procedure InvalidateNamedFramebufferSubData(framebuffer: FramebufferName; numAttachments: Int32; var attachments: FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateNamedFramebufferSubData'; - static procedure InvalidateNamedFramebufferSubData(framebuffer: FramebufferName; numAttachments: Int32; attachments: pointer); - external 'opengl32.dll' name 'glInvalidateNamedFramebufferSubData'; + {$region 17.4.4 - Invalidating Framebuffer Contents} - static procedure InvalidateFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; [MarshalAs(UnmanagedType.LPArray)] attachments: array of FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateFramebuffer'; - static procedure InvalidateFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; var attachments: FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateFramebuffer'; - static procedure InvalidateFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; attachments: pointer); - external 'opengl32.dll' name 'glInvalidateFramebuffer'; + public z_InvalidateSubFramebuffer: procedure(target: DummyEnum; numAttachments: Int32; attachments: pointer; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glInvalidateSubFramebuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateSubFramebuffer(target: DummyEnum; numAttachments: Int32; attachments: array of DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := InvalidateSubFramebuffer(target, numAttachments, attachments[0], x, y, width, height); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateSubFramebuffer(target: DummyEnum; numAttachments: Int32; var attachments: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := InvalidateSubFramebuffer(target, numAttachments, @attachments, x, y, width, height); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateSubFramebuffer(target: DummyEnum; numAttachments: Int32; attachments: pointer; x: Int32; y: Int32; width: Int32; height: Int32) := z_InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); - static procedure InvalidateNamedFramebufferData(framebuffer: FramebufferName; numAttachments: Int32; [MarshalAs(UnmanagedType.LPArray)] attachments: array of FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateNamedFramebufferData'; - static procedure InvalidateNamedFramebufferData(framebuffer: FramebufferName; numAttachments: Int32; var attachments: FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glInvalidateNamedFramebufferData'; - static procedure InvalidateNamedFramebufferData(framebuffer: FramebufferName; numAttachments: Int32; attachments: pointer); - external 'opengl32.dll' name 'glInvalidateNamedFramebufferData'; + public z_InvalidateNamedFramebufferSubData: procedure(framebuffer: UInt32; numAttachments: Int32; attachments: pointer; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glInvalidateNamedFramebufferSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateNamedFramebufferSubData(framebuffer: UInt32; numAttachments: Int32; attachments: array of DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := InvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments[0], x, y, width, height); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateNamedFramebufferSubData(framebuffer: UInt32; numAttachments: Int32; var attachments: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := InvalidateNamedFramebufferSubData(framebuffer, numAttachments, @attachments, x, y, width, height); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateNamedFramebufferSubData(framebuffer: UInt32; numAttachments: Int32; attachments: pointer; x: Int32; y: Int32; width: Int32; height: Int32) := z_InvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); + + public z_InvalidateNamedFramebufferData: procedure(framebuffer: FramebufferName; numAttachments: Int32; attachments: pointer) := GetGLFuncOrNil&('glInvalidateNamedFramebufferData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateNamedFramebufferData(framebuffer: FramebufferName; numAttachments: Int32; attachments: array of FramebufferAttachmentPoint) := InvalidateNamedFramebufferData(framebuffer, numAttachments, attachments[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateNamedFramebufferData(framebuffer: FramebufferName; numAttachments: Int32; var attachments: FramebufferAttachmentPoint) := InvalidateNamedFramebufferData(framebuffer, numAttachments, @attachments); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateNamedFramebufferData(framebuffer: FramebufferName; numAttachments: Int32; attachments: pointer) := z_InvalidateNamedFramebufferData(framebuffer, numAttachments, attachments); + + public z_InvalidateFramebuffer: procedure(target: FramebufferBindTarget; numAttachments: Int32; attachments: pointer) := GetGLFuncOrNil&('glInvalidateFramebuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; attachments: array of FramebufferAttachmentPoint) := InvalidateFramebuffer(target, numAttachments, attachments[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; var attachments: FramebufferAttachmentPoint) := InvalidateFramebuffer(target, numAttachments, @attachments); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InvalidateFramebuffer(target: FramebufferBindTarget; numAttachments: Int32; attachments: pointer) := z_InvalidateFramebuffer(target, numAttachments, attachments); + + {$endregion 17.4.4 - Invalidating Framebuffer Contents} {$endregion 17.4 - Whole Framebuffer Operations} - {$endregion 17.0 - Writing Fragments and Samples to the Framebuffer} + {$endregion 17 - Writing Fragments and Samples to the Framebuffer} - {$region 18.0 - Reading and Copying Pixels} + {$region 18 - Reading and Copying Pixels} {$region 18.2 - Reading Pixels} - // 18.2.1 + {$region 18.2.1 - Selecting Buffers for Reading} - static procedure ReadBuffer(src: FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glReadBuffer'; + private static procedure _ReadBuffer(src: FramebufferAttachmentPoint); external 'opengl32.dll' name 'glReadBuffer'; + public static z_ReadBuffer: procedure(src: FramebufferAttachmentPoint) := _ReadBuffer; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadBuffer(src: FramebufferAttachmentPoint) := z_ReadBuffer(src); - static procedure NamedFramebufferReadBuffer(framebuffer: FramebufferName; src: FramebufferAttachmentPoint); - external 'opengl32.dll' name 'glNamedFramebufferReadBuffer'; + public z_NamedFramebufferReadBuffer: procedure(framebuffer: FramebufferName; src: FramebufferAttachmentPoint) := GetGLFuncOrNil&('glNamedFramebufferReadBuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferReadBuffer(framebuffer: FramebufferName; src: FramebufferAttachmentPoint) := z_NamedFramebufferReadBuffer(framebuffer, src); - // 18.2.2 + {$endregion 18.2.1 - Selecting Buffers for Reading} - static procedure ReadPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: IntPtr); - external 'opengl32.dll' name 'glReadPixels'; - static procedure ReadPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer); - external 'opengl32.dll' name 'glReadPixels'; + {$region 18.2.2 - ReadPixels} - static procedure ReadnPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; bufSize: Int32; data: IntPtr); - external 'opengl32.dll' name 'glReadnPixels'; - static procedure ReadnPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; bufSize: Int32; data: pointer); - external 'opengl32.dll' name 'glReadnPixels'; + private static procedure _ReadPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer); external 'opengl32.dll' name 'glReadPixels'; + public static z_ReadPixels: procedure(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer) := _ReadPixels; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: IntPtr) := ReadPixels(x, y, width, height, format, &type, pointer(pixels)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; pixels: pointer) := z_ReadPixels(x, y, width, height, format, &type, pixels); - // 18.2.8 + public z_ReadnPixels: procedure(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; bufSize: Int32; data: pointer) := GetGLFuncOrNil&('glReadnPixels'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadnPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; bufSize: Int32; data: IntPtr) := ReadnPixels(x, y, width, height, format, &type, bufSize, pointer(data)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadnPixels(x: Int32; y: Int32; width: Int32; height: Int32; format: DataFormat; &type: DataType; bufSize: Int32; data: pointer) := z_ReadnPixels(x, y, width, height, format, &type, bufSize, data); - static procedure ClampColor(target: ColorClampTarget; clamp: UInt32); - external 'opengl32.dll' name 'glClampColor'; + {$endregion 18.2.2 - ReadPixels} + + {$region 18.2.8 - Final Conversion} + + public z_ClampColor: procedure(target: ColorClampTarget; clamp: UInt32) := GetGLFuncOrNil&('glClampColor'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClampColor(target: ColorClampTarget; clamp: UInt32) := z_ClampColor(target, clamp); + + {$endregion 18.2.8 - Final Conversion} {$endregion 18.2 - Reading Pixels} {$region 18.3 - Copying Pixels} - // 18.3.1 + {$region 18.3.1 - Blitting Pixel Rectangles} - static procedure BlitFramebuffer(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: BufferTypeFlags; filter: PixelMagFilterMode); - external 'opengl32.dll' name 'glBlitFramebuffer'; + public z_BlitNamedFramebuffer: procedure(readFramebuffer: FramebufferName; drawFramebuffer: FramebufferName; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: BufferTypeFlags; filter: PixelFilterMode) := GetGLFuncOrNil&('glBlitNamedFramebuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlitNamedFramebuffer(readFramebuffer: FramebufferName; drawFramebuffer: FramebufferName; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: BufferTypeFlags; filter: PixelFilterMode) := z_BlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - static procedure BlitNamedFramebuffer(readFramebuffer: FramebufferName; drawFramebuffer: FramebufferName; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: BufferTypeFlags; filter: PixelMagFilterMode); - external 'opengl32.dll' name 'glBlitNamedFramebuffer'; + public z_BlitFramebuffer: procedure(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: BufferTypeFlags; filter: PixelFilterMode) := GetGLFuncOrNil&('glBlitFramebuffer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlitFramebuffer(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: BufferTypeFlags; filter: PixelFilterMode) := z_BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - // 18.3.2 + {$endregion 18.3.1 - Blitting Pixel Rectangles} - // BufferBindType автоматически конвертируется в CopyableImageType - static procedure CopyImageSubData(srcName: UInt32; srcTarget: CopyableImageType; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: CopyableImageType; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32); - external 'opengl32.dll' name 'glCopyImageSubData'; + {$region 18.3.2 - Copying Between Images} + + public z_CopyImageSubData: procedure(srcName: UInt32; srcTarget: CopyableImageType; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: CopyableImageType; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := GetGLFuncOrNil&('glCopyImageSubData'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyImageSubData(srcName: UInt32; srcTarget: CopyableImageType; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: CopyableImageType; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := z_CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + + {$endregion 18.3.2 - Copying Between Images} {$endregion 18.3 - Copying Pixels} - {$endregion 18.0 - Reading and Copying Pixels} + {$endregion 18 - Reading and Copying Pixels} - {$region 19.0 - Compute Shaders} + {$region 19 - Compute Shaders} - static procedure DispatchCompute(num_groups_x: UInt32; num_groups_y: UInt32; num_groups_z: UInt32); - external 'opengl32.dll' name 'glDispatchCompute'; + public z_DispatchComputeIndirect: procedure(indirect: IntPtr) := GetGLFuncOrNil&('glDispatchComputeIndirect'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DispatchComputeIndirect(indirect: IntPtr) := z_DispatchComputeIndirect(indirect); - static procedure DispatchComputeIndirect(indirect: IntPtr); - external 'opengl32.dll' name 'glDispatchComputeIndirect'; + public z_DispatchCompute: procedure(num_groups_x: UInt32; num_groups_y: UInt32; num_groups_z: UInt32) := GetGLFuncOrNil&('glDispatchCompute'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DispatchCompute(num_groups_x: UInt32; num_groups_y: UInt32; num_groups_z: UInt32) := z_DispatchCompute(num_groups_x, num_groups_y, num_groups_z); - {$endregion 19.0 - Compute Shaders} + {$endregion 19 - Compute Shaders} - {$region 20.0 - Debug Output} + {$region 20 - Debug Output} {$region 20.2 - Debug Message Callback} - static procedure DebugMessageCallback(callback: GLDEBUGPROC; userParam: IntPtr); - external 'opengl32.dll' name 'glDebugMessageCallback'; - static procedure DebugMessageCallback(callback: GLDEBUGPROC; userParam: pointer); - external 'opengl32.dll' name 'glDebugMessageCallback'; + public z_DebugMessageCallback: procedure(callback: GLDEBUGPROC; userParam: pointer) := GetGLFuncOrNil&('glDebugMessageCallback'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageCallback(callback: GLDEBUGPROC; userParam: IntPtr) := DebugMessageCallback(callback, pointer(userParam)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageCallback(callback: GLDEBUGPROC; userParam: pointer) := z_DebugMessageCallback(callback, userParam); {$endregion 20.2 - Debug Message Callback} {$region 20.4 - Controlling Debug Messages} - static procedure DebugMessageControl(source: DebugSourceType; &type: DebugMessageType; severity: DebugSeverityLevel; count: Int32; [MarshalAs(UnmanagedType.LPArray)] ids: array of UInt32; enabled: boolean); - external 'opengl32.dll' name 'glDebugMessageControl'; - static procedure DebugMessageControl(source: DebugSourceType; &type: DebugMessageType; severity: DebugSeverityLevel; count: Int32; var ids: UInt32; enabled: boolean); - external 'opengl32.dll' name 'glDebugMessageControl'; - static procedure DebugMessageControl(source: DebugSourceType; &type: DebugMessageType; severity: DebugSeverityLevel; count: Int32; ids: IntPtr; enabled: boolean); - external 'opengl32.dll' name 'glDebugMessageControl'; + public z_DebugMessageControl: procedure(source: DebugSourceType; &type: DebugMessageType; severity: DebugSeverityLevel; count: Int32; ids: pointer; enabled: boolean) := GetGLFuncOrNil&('glDebugMessageControl'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageControl(source: DebugSourceType; &type: DebugMessageType; severity: DebugSeverityLevel; count: Int32; ids: array of UInt32; enabled: boolean) := DebugMessageControl(source, &type, severity, count, ids[0], enabled); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageControl(source: DebugSourceType; &type: DebugMessageType; severity: DebugSeverityLevel; count: Int32; var ids: UInt32; enabled: boolean) := DebugMessageControl(source, &type, severity, count, @ids, enabled); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageControl(source: DebugSourceType; &type: DebugMessageType; severity: DebugSeverityLevel; count: Int32; ids: pointer; enabled: boolean) := z_DebugMessageControl(source, &type, severity, count, ids, enabled); {$endregion 20.4 - Controlling Debug Messages} {$region 20.5 - Externally Generated Messages} - static procedure DebugMessageInsert(source: DebugSourceType; &type: DebugMessageType; id: UInt32; severity: DebugSeverityLevel; length: Int32; [MarshalAs(UnmanagedType.LPStr)] buf: string); - external 'opengl32.dll' name 'glDebugMessageInsert'; - static procedure DebugMessageInsert(source: DebugSourceType; &type: DebugMessageType; id: UInt32; severity: DebugSeverityLevel; length: Int32; buf: IntPtr); - external 'opengl32.dll' name 'glDebugMessageInsert'; + public z_DebugMessageInsert: procedure(source: DebugSourceType; &type: DebugMessageType; id: UInt32; severity: DebugSeverityLevel; length: Int32; buf: IntPtr) := GetGLFuncOrNil&('glDebugMessageInsert'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageInsert(source: DebugSourceType; &type: DebugMessageType; id: UInt32; severity: DebugSeverityLevel; length: Int32; buf: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(buf); DebugMessageInsert(source, &type, id, severity, length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageInsert(source: DebugSourceType; &type: DebugMessageType; id: UInt32; severity: DebugSeverityLevel; length: Int32; buf: IntPtr) := z_DebugMessageInsert(source, &type, id, severity, length, buf); {$endregion 20.5 - Externally Generated Messages} {$region 20.6 - Debug Groups} - static procedure PushDebugGroup(source: DebugSourceType; id: UInt32; length: Int32; [MarshalAs(UnmanagedType.LPStr)] message: string); - external 'opengl32.dll' name 'glPushDebugGroup'; - static procedure PushDebugGroup(source: DebugSourceType; id: UInt32; length: Int32; message: IntPtr); - external 'opengl32.dll' name 'glPushDebugGroup'; + public z_PushDebugGroup: procedure(source: DebugSourceType; id: UInt32; length: Int32; message: IntPtr) := GetGLFuncOrNil&('glPushDebugGroup'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PushDebugGroup(source: DebugSourceType; id: UInt32; length: Int32; message: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(message); PushDebugGroup(source, id, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PushDebugGroup(source: DebugSourceType; id: UInt32; length: Int32; message: IntPtr) := z_PushDebugGroup(source, id, length, message); - static procedure PopDebugGroup; - external 'opengl32.dll' name 'glPopDebugGroup'; + public z_PopDebugGroup: procedure := GetGLFuncOrNil&('glPopDebugGroup'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PopDebugGroup := z_PopDebugGroup; {$endregion 20.6 - Debug Groups} {$region 20.7 - Debug Labels} - static procedure ObjectLabel(identifier: ObjectType; name: UInt32; length: Int32; [MarshalAs(UnmanagedType.LPStr)] &label: string); - external 'opengl32.dll' name 'glObjectLabel'; - static procedure ObjectLabel(identifier: ObjectType; name: UInt32; length: Int32; &label: IntPtr); - external 'opengl32.dll' name 'glObjectLabel'; + public z_ObjectPtrLabel: procedure(ptr: pointer; length: Int32; &label: IntPtr) := GetGLFuncOrNil&('glObjectPtrLabel'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ObjectPtrLabel(ptr: IntPtr; length: Int32; &label: string); begin var ptr_3 := Marshal.StringToHGlobalAnsi(&label); ObjectPtrLabel(pointer(ptr), length, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ObjectPtrLabel(ptr: IntPtr; length: Int32; &label: IntPtr) := ObjectPtrLabel(pointer(ptr), length, &label); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ObjectPtrLabel(ptr: pointer; length: Int32; &label: string); begin var ptr_3 := Marshal.StringToHGlobalAnsi(&label); ObjectPtrLabel(ptr, length, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ObjectPtrLabel(ptr: pointer; length: Int32; &label: IntPtr) := z_ObjectPtrLabel(ptr, length, &label); - static procedure ObjectPtrLabel(ptr: IntPtr; length: Int32; [MarshalAs(UnmanagedType.LPStr)] &label: string); - external 'opengl32.dll' name 'glObjectPtrLabel'; - static procedure ObjectPtrLabel(ptr: IntPtr; length: Int32; &label: IntPtr); - external 'opengl32.dll' name 'glObjectPtrLabel'; - static procedure ObjectPtrLabel(ptr: pointer; length: Int32; [MarshalAs(UnmanagedType.LPStr)] &label: string); - external 'opengl32.dll' name 'glObjectPtrLabel'; - static procedure ObjectPtrLabel(ptr: pointer; length: Int32; &label: IntPtr); - external 'opengl32.dll' name 'glObjectPtrLabel'; + public z_ObjectLabel: procedure(identifier: ObjectType; name: UInt32; length: Int32; &label: IntPtr) := GetGLFuncOrNil&('glObjectLabel'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ObjectLabel(identifier: ObjectType; name: UInt32; length: Int32; &label: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(&label); ObjectLabel(identifier, name, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ObjectLabel(identifier: ObjectType; name: UInt32; length: Int32; &label: IntPtr) := z_ObjectLabel(identifier, name, length, &label); {$endregion 20.7 - Debug Labels} {$region 20.9 - Debug Output Queries} - // ВНИМАНИЕ! messageLog является суммой count нуль-терминированных строк, то есть символ 0 будет после каждого сообщения. Обычные методы перевода тут не будут работать, надо ручками - static function GetDebugMessageLog(count: UInt32; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] sources: array of DebugSourceType; [MarshalAs(UnmanagedType.LPArray)] types: array of DebugMessageType; [MarshalAs(UnmanagedType.LPArray)] ids: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] severities: array of DebugSeverityLevel; [MarshalAs(UnmanagedType.LPArray)] lengths: array of Int32; [MarshalAs(UnmanagedType.HString)] &messageLog: string): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLog'; - static function GetDebugMessageLog(count: UInt32; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] sources: array of DebugSourceType; [MarshalAs(UnmanagedType.LPArray)] types: array of DebugMessageType; [MarshalAs(UnmanagedType.LPArray)] ids: array of UInt32; [MarshalAs(UnmanagedType.LPArray)] severities: array of DebugSeverityLevel; [MarshalAs(UnmanagedType.LPArray)] lengths: array of Int32; messageLog: IntPtr): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLog'; - static function GetDebugMessageLog(count: UInt32; bufSize: Int32; var sources: DebugSourceType; var types: DebugMessageType; var ids: UInt32; var severities: DebugSeverityLevel; var lengths: Int32; [MarshalAs(UnmanagedType.HString)] &messageLog: string): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLog'; - static function GetDebugMessageLog(count: UInt32; bufSize: Int32; var sources: DebugSourceType; var types: DebugMessageType; var ids: UInt32; var severities: DebugSeverityLevel; var lengths: Int32; messageLog: IntPtr): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLog'; - static function GetDebugMessageLog(count: UInt32; bufSize: Int32; sources: IntPtr; types: IntPtr; ids: IntPtr; severities: IntPtr; lengths: IntPtr; [MarshalAs(UnmanagedType.HString)] &messageLog: string): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLog'; - static function GetDebugMessageLog(count: UInt32; bufSize: Int32; sources: IntPtr; types: IntPtr; ids: IntPtr; severities: IntPtr; lengths: IntPtr; messageLog: IntPtr): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLog'; + public z_GetObjectPtrLabel: procedure(ptr: pointer; bufSize: Int32; length: pointer; &label: IntPtr) := GetGLFuncOrNil&('glGetObjectPtrLabel'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; var length: Int32; &label: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(&label); GetObjectPtrLabel(ptr, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; var length: Int32; &label: IntPtr) := GetObjectPtrLabel(ptr, bufSize, @length, &label); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; length: pointer; &label: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(&label); GetObjectPtrLabel(ptr, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; length: pointer; &label: IntPtr) := z_GetObjectPtrLabel(ptr, bufSize, length, &label); - static procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] &label: string); - external 'opengl32.dll' name 'glGetObjectLabel'; - static procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; var length: Int32; &label: IntPtr); - external 'opengl32.dll' name 'glGetObjectLabel'; - static procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] &label: string); - external 'opengl32.dll' name 'glGetObjectLabel'; - static procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; length: pointer; &label: IntPtr); - external 'opengl32.dll' name 'glGetObjectLabel'; + public z_GetObjectLabel: procedure(identifier: ObjectType; name: UInt32; bufSize: Int32; length: pointer; &label: IntPtr) := GetGLFuncOrNil&('glGetObjectLabel'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; var length: Int32; &label: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(&label); GetObjectLabel(identifier, name, bufSize, @length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; var length: Int32; &label: IntPtr) := GetObjectLabel(identifier, name, bufSize, @length, &label); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; length: pointer; &label: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(&label); GetObjectLabel(identifier, name, bufSize, length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabel(identifier: ObjectType; name: UInt32; bufSize: Int32; length: pointer; &label: IntPtr) := z_GetObjectLabel(identifier, name, bufSize, length, &label); - static procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; var length: Int32; [MarshalAs(UnmanagedType.LPStr)] &label: string); - external 'opengl32.dll' name 'glGetObjectPtrLabel'; - static procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; var length: Int32; &label: IntPtr); - external 'opengl32.dll' name 'glGetObjectPtrLabel'; - static procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; length: pointer; [MarshalAs(UnmanagedType.LPStr)] &label: string); - external 'opengl32.dll' name 'glGetObjectPtrLabel'; - static procedure GetObjectPtrLabel(ptr: pointer; bufSize: Int32; length: pointer; &label: IntPtr); - external 'opengl32.dll' name 'glGetObjectPtrLabel'; + public z_GetDebugMessageLog: function(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetGLFuncOrNil&('glGetDebugMessageLog'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLog(count: UInt32; bufSize: Int32; sources: array of DebugSourceType; types: array of DebugMessageType; ids: array of UInt32; severities: array of DebugSeverityLevel; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLog(count, bufSize, sources[0], types[0], ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLog(count: UInt32; bufSize: Int32; sources: array of DebugSourceType; types: array of DebugMessageType; ids: array of UInt32; severities: array of DebugSeverityLevel; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLog(count, bufSize, sources[0], types[0], ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLog(count: UInt32; bufSize: Int32; var sources: DebugSourceType; var types: DebugMessageType; var ids: UInt32; var severities: DebugSeverityLevel; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLog(count, bufSize, @sources, @types, @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLog(count: UInt32; bufSize: Int32; var sources: DebugSourceType; var types: DebugMessageType; var ids: UInt32; var severities: DebugSeverityLevel; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLog(count, bufSize, @sources, @types, @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLog(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLog(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := z_GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); {$endregion 20.9 - Debug Output Queries} - {$endregion 20.0 - Debug Output} + {$endregion 20 - Debug Output} - {$region 21.0 - Special Functions} + {$region 21 - Special Functions} {$region 21.5 - Hints} - static procedure Hint(target: HintType; mode: HintValue); - external 'opengl32.dll' name 'glHint'; + private static procedure _Hint(target: HintType; mode: HintValue); external 'opengl32.dll' name 'glHint'; + public static z_Hint: procedure(target: HintType; mode: HintValue) := _Hint; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Hint(target: HintType; mode: HintValue) := z_Hint(target, mode); {$endregion 21.5 - Hints} - {$endregion 21.0 - Special Functions} + {$endregion 21 - Special Functions} - {$region 22.0 - Context State Queries} + {$region 22 - Context State Queries} {$region 22.1 - Simple Queries} - static procedure GetBooleanv(pname: GLGetQueries; [MarshalAs(UnmanagedType.LPArray)] data: array of boolean); - external 'opengl32.dll' name 'glGetBooleanv'; - static procedure GetBooleanv(pname: GLGetQueries; var data: boolean); - external 'opengl32.dll' name 'glGetBooleanv'; - static procedure GetBooleanv(pname: GLGetQueries; data: pointer); - external 'opengl32.dll' name 'glGetBooleanv'; + public z_IsEnabledi: function(target: EnablableName; index: UInt32): boolean := GetGLFuncOrNil&('glIsEnabledi'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledi(target: EnablableName; index: UInt32): boolean := z_IsEnabledi(target, index); - static procedure GetIntegerv(pname: GLGetQueries; [MarshalAs(UnmanagedType.LPArray)] data: array of Int32); - external 'opengl32.dll' name 'glGetIntegerv'; - static procedure GetIntegerv(pname: GLGetQueries; var data: Int32); - external 'opengl32.dll' name 'glGetIntegerv'; - static procedure GetIntegerv(pname: GLGetQueries; data: pointer); - external 'opengl32.dll' name 'glGetIntegerv'; + private static function _IsEnabled(cap: EnablableName): boolean; external 'opengl32.dll' name 'glIsEnabled'; + public static z_IsEnabled: function(cap: EnablableName): boolean := _IsEnabled; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabled(cap: EnablableName): boolean := z_IsEnabled(cap); - static procedure GetInteger64v(pname: GLGetQueries; [MarshalAs(UnmanagedType.LPArray)] data: array of Int64); - external 'opengl32.dll' name 'glGetInteger64v'; - static procedure GetInteger64v(pname: GLGetQueries; var data: Int64); - external 'opengl32.dll' name 'glGetInteger64v'; - static procedure GetInteger64v(pname: GLGetQueries; data: pointer); - external 'opengl32.dll' name 'glGetInteger64v'; + private static procedure _GetIntegerv(pname: GLGetQueries; data: pointer); external 'opengl32.dll' name 'glGetIntegerv'; + public static z_GetIntegerv: procedure(pname: GLGetQueries; data: pointer) := _GetIntegerv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerv(pname: GLGetQueries; data: array of Int32) := GetIntegerv(pname, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerv(pname: GLGetQueries; var data: Int32) := GetIntegerv(pname, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerv(pname: GLGetQueries; data: pointer) := z_GetIntegerv(pname, data); - static procedure GetFloatv(pname: GLGetQueries; [MarshalAs(UnmanagedType.LPArray)] data: array of single); - external 'opengl32.dll' name 'glGetFloatv'; - static procedure GetFloatv(pname: GLGetQueries; var data: single); - external 'opengl32.dll' name 'glGetFloatv'; - static procedure GetFloatv(pname: GLGetQueries; data: pointer); - external 'opengl32.dll' name 'glGetFloatv'; + public z_GetIntegeri_v: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetIntegeri_v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegeri_v(target: GLGetQueries; index: UInt32; data: array of Int32) := GetIntegeri_v(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegeri_v(target: GLGetQueries; index: UInt32; var data: Int32) := GetIntegeri_v(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegeri_v(target: BufferBindType; index: UInt32; var data: BufferName) := GetIntegeri_v(new GLGetQueries(target.val), index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegeri_v(target: GLGetQueries; index: UInt32; data: pointer) := z_GetIntegeri_v(target, index, data); - static procedure GetDoublev(pname: GLGetQueries; [MarshalAs(UnmanagedType.LPArray)] data: array of double); - external 'opengl32.dll' name 'glGetDoublev'; - static procedure GetDoublev(pname: GLGetQueries; var data: double); - external 'opengl32.dll' name 'glGetDoublev'; - static procedure GetDoublev(pname: GLGetQueries; data: pointer); - external 'opengl32.dll' name 'glGetDoublev'; + public z_GetInteger64v: procedure(pname: GLGetQueries; data: pointer) := GetGLFuncOrNil&('glGetInteger64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64v(pname: GLGetQueries; data: array of Int64) := GetInteger64v(pname, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64v(pname: GLGetQueries; var data: Int64) := GetInteger64v(pname, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64v(pname: GLGetQueries; data: pointer) := z_GetInteger64v(pname, data); - static procedure GetBooleani_v(target: GLGetQueries; index: UInt32; [MarshalAs(UnmanagedType.LPArray)] data: array of boolean); - external 'opengl32.dll' name 'glGetBooleani_v'; - static procedure GetBooleani_v(target: GLGetQueries; index: UInt32; var data: boolean); - external 'opengl32.dll' name 'glGetBooleani_v'; - static procedure GetBooleani_v(target: GLGetQueries; index: UInt32; data: pointer); - external 'opengl32.dll' name 'glGetBooleani_v'; + public z_GetInteger64i_v: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetInteger64i_v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64i_v(target: GLGetQueries; index: UInt32; data: array of Int64) := GetInteger64i_v(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64i_v(target: GLGetQueries; index: UInt32; var data: Int64) := GetInteger64i_v(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64i_v(target: BufferBindType; index: UInt32; var data: Vec2i64) := GetInteger64i_v(new GLGetQueries(target.val), index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64i_v(target: GLGetQueries; index: UInt32; data: pointer) := z_GetInteger64i_v(target, index, data); - static procedure GetFloati_v(target: GLGetQueries; index: UInt32; [MarshalAs(UnmanagedType.LPArray)] data: array of single); - external 'opengl32.dll' name 'glGetFloati_v'; - static procedure GetFloati_v(target: GLGetQueries; index: UInt32; var data: single); - external 'opengl32.dll' name 'glGetFloati_v'; - static procedure GetFloati_v(target: GLGetQueries; index: UInt32; data: pointer); - external 'opengl32.dll' name 'glGetFloati_v'; + private static procedure _GetFloatv(pname: GLGetQueries; data: pointer); external 'opengl32.dll' name 'glGetFloatv'; + public static z_GetFloatv: procedure(pname: GLGetQueries; data: pointer) := _GetFloatv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloatv(pname: GLGetQueries; data: array of single) := GetFloatv(pname, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloatv(pname: GLGetQueries; var data: single) := GetFloatv(pname, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloatv(pname: GLGetQueries; data: pointer) := z_GetFloatv(pname, data); - static procedure GetIntegeri_v(target: GLGetQueries; index: UInt32; [MarshalAs(UnmanagedType.LPArray)] data: array of Int32); - external 'opengl32.dll' name 'glGetIntegeri_v'; - static procedure GetIntegeri_v(target: GLGetQueries; index: UInt32; var data: Int32); - external 'opengl32.dll' name 'glGetIntegeri_v'; - static procedure GetIntegeri_v(target: BufferBindType; index: UInt32; var data: BufferName); - external 'opengl32.dll' name 'glGetIntegeri_v'; - static procedure GetIntegeri_v(target: GLGetQueries; index: UInt32; data: pointer); - external 'opengl32.dll' name 'glGetIntegeri_v'; + public z_GetFloati_v: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetFloati_v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_v(target: GLGetQueries; index: UInt32; data: array of single) := GetFloati_v(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_v(target: GLGetQueries; index: UInt32; var data: single) := GetFloati_v(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_v(target: GLGetQueries; index: UInt32; data: pointer) := z_GetFloati_v(target, index, data); - static procedure GetInteger64i_v(target: GLGetQueries; index: UInt32; [MarshalAs(UnmanagedType.LPArray)] data: array of Int64); - external 'opengl32.dll' name 'glGetInteger64i_v'; - static procedure GetInteger64i_v(target: GLGetQueries; index: UInt32; var data: Int64); - external 'opengl32.dll' name 'glGetInteger64i_v'; - static procedure GetInteger64i_v(target: BufferBindType; index: UInt32; var data: Vec2i64); - external 'opengl32.dll' name 'glGetInteger64i_v'; - static procedure GetInteger64i_v(target: GLGetQueries; index: UInt32; data: pointer); - external 'opengl32.dll' name 'glGetInteger64i_v'; - - static procedure GetDoublei_v(target: GLGetQueries; index: UInt32; [MarshalAs(UnmanagedType.LPArray)] data: array of double); - external 'opengl32.dll' name 'glGetDoublei_v'; - static procedure GetDoublei_v(target: GLGetQueries; index: UInt32; var data: double); - external 'opengl32.dll' name 'glGetDoublei_v'; - static procedure GetDoublei_v(target: GLGetQueries; index: UInt32; data: pointer); - external 'opengl32.dll' name 'glGetDoublei_v'; + private static procedure _GetDoublev(pname: GLGetQueries; data: pointer); external 'opengl32.dll' name 'glGetDoublev'; + public static z_GetDoublev: procedure(pname: GLGetQueries; data: pointer) := _GetDoublev; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDoublev(pname: GLGetQueries; data: array of double) := GetDoublev(pname, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDoublev(pname: GLGetQueries; var data: double) := GetDoublev(pname, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDoublev(pname: GLGetQueries; data: pointer) := z_GetDoublev(pname, data); - static function IsEnabled(cap: EnablableName): boolean; - external 'opengl32.dll' name 'glIsEnabled'; + public z_GetDoublei_v: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetDoublei_v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDoublei_v(target: GLGetQueries; index: UInt32; data: array of double) := GetDoublei_v(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDoublei_v(target: GLGetQueries; index: UInt32; var data: double) := GetDoublei_v(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDoublei_v(target: GLGetQueries; index: UInt32; data: pointer) := z_GetDoublei_v(target, index, data); - static function IsEnabledi(target: EnablableName; index: UInt32): boolean; - external 'opengl32.dll' name 'glIsEnabledi'; + private static procedure _GetBooleanv(pname: GLGetQueries; data: pointer); external 'opengl32.dll' name 'glGetBooleanv'; + public static z_GetBooleanv: procedure(pname: GLGetQueries; data: pointer) := _GetBooleanv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleanv(pname: GLGetQueries; data: array of boolean) := GetBooleanv(pname, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleanv(pname: GLGetQueries; var data: boolean) := GetBooleanv(pname, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleanv(pname: GLGetQueries; data: pointer) := z_GetBooleanv(pname, data); + + public z_GetBooleani_v: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetBooleani_v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleani_v(target: GLGetQueries; index: UInt32; data: array of boolean) := GetBooleani_v(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleani_v(target: GLGetQueries; index: UInt32; var data: boolean) := GetBooleani_v(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleani_v(target: GLGetQueries; index: UInt32; data: pointer) := z_GetBooleani_v(target, index, data); {$endregion 22.1 - Simple Queries} {$region 22.2 - Pointer, String, and Related Context Queries} - static procedure GetPointerv(pname: GLGetQueries; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of IntPtr); - external 'opengl32.dll' name 'glGetPointerv'; - static procedure GetPointerv(pname: GLGetQueries; var ¶ms: IntPtr); - external 'opengl32.dll' name 'glGetPointerv'; - static procedure GetPointerv(pname: GLGetQueries; var ¶ms: pointer); - external 'opengl32.dll' name 'glGetPointerv'; - static procedure GetPointerv(pname: GLGetQueries; ¶ms: ^IntPtr); - external 'opengl32.dll' name 'glGetPointerv'; + public z_GetStringi: function(name: GLGetStringQueries; index: UInt32): IntPtr := GetGLFuncOrNil&('glGetStringi'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetStringi_Str(name: GLGetStringQueries; index: UInt32): string := Marshal.PtrToStringAnsi(GetStringi(name, index)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetStringi(name: GLGetStringQueries; index: UInt32): IntPtr := z_GetStringi(name, index); - static function GetString(name: GLGetStringQueries): string; //ToDo #2029 - external 'opengl32.dll' name 'glGetString'; - static function GetStringPtr(name: GLGetStringQueries): IntPtr; - external 'opengl32.dll' name 'glGetString'; + private static function _GetString(name: GLGetStringQueries): IntPtr; external 'opengl32.dll' name 'glGetString'; + public static z_GetString: function(name: GLGetStringQueries): IntPtr := _GetString; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetString_Str(name: GLGetStringQueries): string := Marshal.PtrToStringAnsi(GetString(name)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetString(name: GLGetStringQueries): IntPtr := z_GetString(name); - static function GetStringi(name: GLGetStringQueries; index: UInt32): string; //ToDo #2029 - external 'opengl32.dll' name 'glGetStringi'; - static function GetStringPtri(name: GLGetStringQueries; index: UInt32): IntPtr; - external 'opengl32.dll' name 'glGetStringi'; + private static procedure _GetPointerv(pname: GLGetQueries; ¶ms: pointer); external 'opengl32.dll' name 'glGetPointerv'; + public static z_GetPointerv: procedure(pname: GLGetQueries; ¶ms: pointer) := _GetPointerv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPointerv(pname: GLGetQueries; ¶ms: array of IntPtr) := GetPointerv(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPointerv(pname: GLGetQueries; var ¶ms: IntPtr) := GetPointerv(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPointerv(pname: GLGetQueries; var ¶ms: ^IntPtr) := GetPointerv(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPointerv(pname: GLGetQueries; ¶ms: pointer) := z_GetPointerv(pname, ¶ms); {$endregion 22.2 - Pointer, String, and Related Context Queries} {$region 22.3 - Internal Format Queries} - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: Int32); - external 'opengl32.dll' name 'glGetInternalformativ'; - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int32); - external 'opengl32.dll' name 'glGetInternalformativ'; - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: SupportLevel); - external 'opengl32.dll' name 'glGetInternalformativ'; - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: DataFormat); - external 'opengl32.dll' name 'glGetInternalformativ'; - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: DataType); - external 'opengl32.dll' name 'glGetInternalformativ'; - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: CompatibilityImageClassType); - external 'opengl32.dll' name 'glGetInternalformativ'; - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: ImageFormatCompatibilityMode); - external 'opengl32.dll' name 'glGetInternalformativ'; - static procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetInternalformativ'; + public z_GetInternalformativ: procedure(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetInternalformativ'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: array of Int32) := GetInternalformativ(target, internalformat, pname, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: Int32) := GetInternalformativ(target, internalformat, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: SupportLevel) := GetInternalformativ(target, internalformat, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: DataFormat) := GetInternalformativ(target, internalformat, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: DataType) := GetInternalformativ(target, internalformat, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: CompatibilityImageClassType) := GetInternalformativ(target, internalformat, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: ImageFormatCompatibilityMode) := GetInternalformativ(target, internalformat, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformativ(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: pointer) := z_GetInternalformativ(target, internalformat, pname, bufSize, ¶ms); - static procedure GetInternalformati64v(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; [MarshalAs(UnmanagedType.LPArray)] ¶ms: array of Int64); - external 'opengl32.dll' name 'glGetInternalformati64v'; - static procedure GetInternalformati64v(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: Int64); - external 'opengl32.dll' name 'glGetInternalformati64v'; - static procedure GetInternalformati64v(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: pointer); - external 'opengl32.dll' name 'glGetInternalformati64v'; + public z_GetInternalformati64v: procedure(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetInternalformati64v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformati64v(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: array of Int64) := GetInternalformati64v(target, internalformat, pname, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformati64v(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; var ¶ms: Int64) := GetInternalformati64v(target, internalformat, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformati64v(target: TextureBindTarget; internalformat: InternalDataFormat; pname: InternalFormatInfoType; bufSize: Int32; ¶ms: pointer) := z_GetInternalformati64v(target, internalformat, pname, bufSize, ¶ms); {$endregion 22.3 - Internal Format Queries} {$region 22.4 - Transform Feedback State Queries} - static procedure GetTransformFeedbackiv(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; var param: BufferName); - external 'opengl32.dll' name 'glGetTransformFeedbackiv'; - static procedure GetTransformFeedbackiv(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; var param: Int32); - external 'opengl32.dll' name 'glGetTransformFeedbackiv'; - static procedure GetTransformFeedbackiv(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; param: pointer); - external 'opengl32.dll' name 'glGetTransformFeedbackiv'; + public z_GetTransformFeedbackiv: procedure(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; param: pointer) := GetGLFuncOrNil&('glGetTransformFeedbackiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackiv(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; var param: Int32) := GetTransformFeedbackiv(xfb, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackiv(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; var param: BufferName) := GetTransformFeedbackiv(xfb, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackiv(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; param: pointer) := z_GetTransformFeedbackiv(xfb, pname, param); - static procedure GetTransformFeedbacki_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; var param: BufferName); - external 'opengl32.dll' name 'glGetTransformFeedbacki_v'; - static procedure GetTransformFeedbacki_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; var param: Int32); - external 'opengl32.dll' name 'glGetTransformFeedbacki_v'; - static procedure GetTransformFeedbacki_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; param: pointer); - external 'opengl32.dll' name 'glGetTransformFeedbacki_v'; + public z_GetTransformFeedbacki64_v: procedure(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; param: pointer) := GetGLFuncOrNil&('glGetTransformFeedbacki64_v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbacki64_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; var param: Int64) := GetTransformFeedbacki64_v(xfb, pname, index, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbacki64_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; param: pointer) := z_GetTransformFeedbacki64_v(xfb, pname, index, param); - static procedure GetTransformFeedbacki64_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; var param: Int64); - external 'opengl32.dll' name 'glGetTransformFeedbacki64_v'; - static procedure GetTransformFeedbacki64_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; param: pointer); - external 'opengl32.dll' name 'glGetTransformFeedbacki64_v'; + public z_GetTransformFeedbacki_v: procedure(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; param: pointer) := GetGLFuncOrNil&('glGetTransformFeedbacki_v'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbacki_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; var param: Int32) := GetTransformFeedbacki_v(xfb, pname, index, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbacki_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; var param: BufferName) := GetTransformFeedbacki_v(xfb, pname, index, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbacki_v(xfb: TransformFeedbackName; pname: TransformFeedbackInfoType; index: UInt32; param: pointer) := z_GetTransformFeedbacki_v(xfb, pname, index, param); {$endregion 22.4 - Transform Feedback State Queries} - {$endregion 22.0 - Context State Queries} + {$endregion 22.4 - Context State Queries} end; - //ToDo подчистить всё что дальше: - - //ToDo похоже в .h не хватает функций, констант и т.п. - // - пройтись по личным спецификациям каждого расширения - - /// Расширения, которые встречаются у всех видеокарт - gl_ARB = static class + glD = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + public z_MultiTexCoord4svARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4svARB(target: DummyEnum; v: array of Int16) := MultiTexCoord4svARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4svARB(target: DummyEnum; var v: Int16) := MultiTexCoord4svARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4svARB(target: DummyEnum; v: pointer) := z_MultiTexCoord4svARB(target, v); + + public z_MultiTexCoord4sARB: procedure(target: DummyEnum; s: Int16; t: Int16; r: Int16; q: Int16) := GetGLFuncOrNil&('glMultiTexCoord4sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4sARB(target: DummyEnum; s: Int16; t: Int16; r: Int16; q: Int16) := z_MultiTexCoord4sARB(target, s, t, r, q); + + public z_MultiTexCoord4ivARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4ivARB(target: DummyEnum; v: array of Int32) := MultiTexCoord4ivARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4ivARB(target: DummyEnum; var v: Int32) := MultiTexCoord4ivARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4ivARB(target: DummyEnum; v: pointer) := z_MultiTexCoord4ivARB(target, v); + + public z_MultiTexCoord4iARB: procedure(target: DummyEnum; s: Int32; t: Int32; r: Int32; q: Int32) := GetGLFuncOrNil&('glMultiTexCoord4iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4iARB(target: DummyEnum; s: Int32; t: Int32; r: Int32; q: Int32) := z_MultiTexCoord4iARB(target, s, t, r, q); + + public z_MultiTexCoord4fvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4fvARB(target: DummyEnum; v: array of single) := MultiTexCoord4fvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4fvARB(target: DummyEnum; var v: single) := MultiTexCoord4fvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4fvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord4fvARB(target, v); + + public z_MultiTexCoord4fARB: procedure(target: DummyEnum; s: single; t: single; r: single; q: single) := GetGLFuncOrNil&('glMultiTexCoord4fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4fARB(target: DummyEnum; s: single; t: single; r: single; q: single) := z_MultiTexCoord4fARB(target, s, t, r, q); + + public z_MultiTexCoord4dvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4dvARB(target: DummyEnum; v: array of double) := MultiTexCoord4dvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4dvARB(target: DummyEnum; var v: double) := MultiTexCoord4dvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4dvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord4dvARB(target, v); + + public z_MultiTexCoord4dARB: procedure(target: DummyEnum; s: double; t: double; r: double; q: double) := GetGLFuncOrNil&('glMultiTexCoord4dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4dARB(target: DummyEnum; s: double; t: double; r: double; q: double) := z_MultiTexCoord4dARB(target, s, t, r, q); + + public z_MultiTexCoord3svARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3svARB(target: DummyEnum; v: array of Int16) := MultiTexCoord3svARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3svARB(target: DummyEnum; var v: Int16) := MultiTexCoord3svARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3svARB(target: DummyEnum; v: pointer) := z_MultiTexCoord3svARB(target, v); + + public z_MultiTexCoord3sARB: procedure(target: DummyEnum; s: Int16; t: Int16; r: Int16) := GetGLFuncOrNil&('glMultiTexCoord3sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3sARB(target: DummyEnum; s: Int16; t: Int16; r: Int16) := z_MultiTexCoord3sARB(target, s, t, r); - {$region ARB} + public z_MultiTexCoord3ivARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3ivARB(target: DummyEnum; v: array of Int32) := MultiTexCoord3ivARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3ivARB(target: DummyEnum; var v: Int32) := MultiTexCoord3ivARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3ivARB(target: DummyEnum; v: pointer) := z_MultiTexCoord3ivARB(target, v); - static procedure PrimitiveBoundingBoxARB(minX: single; minY: single; minZ: single; minW: single; maxX: single; maxY: single; maxZ: single; maxW: single); - external 'opengl32.dll' name 'glPrimitiveBoundingBoxARB'; + public z_MultiTexCoord3iARB: procedure(target: DummyEnum; s: Int32; t: Int32; r: Int32) := GetGLFuncOrNil&('glMultiTexCoord3iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3iARB(target: DummyEnum; s: Int32; t: Int32; r: Int32) := z_MultiTexCoord3iARB(target, s, t, r); + + public z_MultiTexCoord3fvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3fvARB(target: DummyEnum; v: array of single) := MultiTexCoord3fvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3fvARB(target: DummyEnum; var v: single) := MultiTexCoord3fvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3fvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord3fvARB(target, v); - static function GetTextureHandleARB(texture: UInt32): UInt64; - external 'opengl32.dll' name 'glGetTextureHandleARB'; + public z_MultiTexCoord3fARB: procedure(target: DummyEnum; s: single; t: single; r: single) := GetGLFuncOrNil&('glMultiTexCoord3fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3fARB(target: DummyEnum; s: single; t: single; r: single) := z_MultiTexCoord3fARB(target, s, t, r); - static function GetTextureSamplerHandleARB(texture: UInt32; sampler: UInt32): UInt64; - external 'opengl32.dll' name 'glGetTextureSamplerHandleARB'; + public z_MultiTexCoord3dvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3dvARB(target: DummyEnum; v: array of double) := MultiTexCoord3dvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3dvARB(target: DummyEnum; var v: double) := MultiTexCoord3dvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3dvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord3dvARB(target, v); - static procedure MakeTextureHandleResidentARB(handle: UInt64); - external 'opengl32.dll' name 'glMakeTextureHandleResidentARB'; + public z_MultiTexCoord3dARB: procedure(target: DummyEnum; s: double; t: double; r: double) := GetGLFuncOrNil&('glMultiTexCoord3dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3dARB(target: DummyEnum; s: double; t: double; r: double) := z_MultiTexCoord3dARB(target, s, t, r); - static procedure MakeTextureHandleNonResidentARB(handle: UInt64); - external 'opengl32.dll' name 'glMakeTextureHandleNonResidentARB'; + public z_MultiTexCoord2svARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2svARB(target: DummyEnum; v: array of Int16) := MultiTexCoord2svARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2svARB(target: DummyEnum; var v: Int16) := MultiTexCoord2svARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2svARB(target: DummyEnum; v: pointer) := z_MultiTexCoord2svARB(target, v); - static function GetImageHandleARB(texture: UInt32; level: Int32; layered: boolean; layer: Int32; format: UInt32): UInt64; - external 'opengl32.dll' name 'glGetImageHandleARB'; + public z_MultiTexCoord2sARB: procedure(target: DummyEnum; s: Int16; t: Int16) := GetGLFuncOrNil&('glMultiTexCoord2sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2sARB(target: DummyEnum; s: Int16; t: Int16) := z_MultiTexCoord2sARB(target, s, t); + + public z_MultiTexCoord2ivARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2ivARB(target: DummyEnum; v: array of Int32) := MultiTexCoord2ivARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2ivARB(target: DummyEnum; var v: Int32) := MultiTexCoord2ivARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2ivARB(target: DummyEnum; v: pointer) := z_MultiTexCoord2ivARB(target, v); + + public z_MultiTexCoord2iARB: procedure(target: DummyEnum; s: Int32; t: Int32) := GetGLFuncOrNil&('glMultiTexCoord2iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2iARB(target: DummyEnum; s: Int32; t: Int32) := z_MultiTexCoord2iARB(target, s, t); + + public z_MultiTexCoord2fvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2fvARB(target: DummyEnum; v: array of single) := MultiTexCoord2fvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2fvARB(target: DummyEnum; var v: single) := MultiTexCoord2fvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2fvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord2fvARB(target, v); + + public z_MultiTexCoord2fARB: procedure(target: DummyEnum; s: single; t: single) := GetGLFuncOrNil&('glMultiTexCoord2fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2fARB(target: DummyEnum; s: single; t: single) := z_MultiTexCoord2fARB(target, s, t); + + public z_MultiTexCoord2dvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2dvARB(target: DummyEnum; v: array of double) := MultiTexCoord2dvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2dvARB(target: DummyEnum; var v: double) := MultiTexCoord2dvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2dvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord2dvARB(target, v); + + public z_MultiTexCoord2dARB: procedure(target: DummyEnum; s: double; t: double) := GetGLFuncOrNil&('glMultiTexCoord2dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2dARB(target: DummyEnum; s: double; t: double) := z_MultiTexCoord2dARB(target, s, t); - static procedure MakeImageHandleResidentARB(handle: UInt64; access: UInt32); - external 'opengl32.dll' name 'glMakeImageHandleResidentARB'; + public z_MultiTexCoord1svARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1svARB(target: DummyEnum; v: array of Int16) := MultiTexCoord1svARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1svARB(target: DummyEnum; var v: Int16) := MultiTexCoord1svARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1svARB(target: DummyEnum; v: pointer) := z_MultiTexCoord1svARB(target, v); - static procedure MakeImageHandleNonResidentARB(handle: UInt64); - external 'opengl32.dll' name 'glMakeImageHandleNonResidentARB'; + public z_MultiTexCoord1sARB: procedure(target: DummyEnum; s: Int16) := GetGLFuncOrNil&('glMultiTexCoord1sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1sARB(target: DummyEnum; s: Int16) := z_MultiTexCoord1sARB(target, s); - static procedure UniformHandleui64ARB(location: Int32; value: UInt64); - external 'opengl32.dll' name 'glUniformHandleui64ARB'; + public z_MultiTexCoord1ivARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1ivARB(target: DummyEnum; v: array of Int32) := MultiTexCoord1ivARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1ivARB(target: DummyEnum; var v: Int32) := MultiTexCoord1ivARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1ivARB(target: DummyEnum; v: pointer) := z_MultiTexCoord1ivARB(target, v); + + public z_MultiTexCoord1iARB: procedure(target: DummyEnum; s: Int32) := GetGLFuncOrNil&('glMultiTexCoord1iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1iARB(target: DummyEnum; s: Int32) := z_MultiTexCoord1iARB(target, s); - static procedure UniformHandleui64vARB(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniformHandleui64vARB'; + public z_MultiTexCoord1fvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1fvARB(target: DummyEnum; v: array of single) := MultiTexCoord1fvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1fvARB(target: DummyEnum; var v: single) := MultiTexCoord1fvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1fvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord1fvARB(target, v); + + public z_MultiTexCoord1fARB: procedure(target: DummyEnum; s: single) := GetGLFuncOrNil&('glMultiTexCoord1fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1fARB(target: DummyEnum; s: single) := z_MultiTexCoord1fARB(target, s); - static procedure ProgramUniformHandleui64ARB(&program: UInt32; location: Int32; value: UInt64); - external 'opengl32.dll' name 'glProgramUniformHandleui64ARB'; + public z_MultiTexCoord1dvARB: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1dvARB(target: DummyEnum; v: array of double) := MultiTexCoord1dvARB(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1dvARB(target: DummyEnum; var v: double) := MultiTexCoord1dvARB(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1dvARB(target: DummyEnum; v: pointer) := z_MultiTexCoord1dvARB(target, v); + + public z_MultiTexCoord1dARB: procedure(target: DummyEnum; s: double) := GetGLFuncOrNil&('glMultiTexCoord1dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1dARB(target: DummyEnum; s: double) := z_MultiTexCoord1dARB(target, s); + + public z_ClientActiveTextureARB: procedure(texture: DummyEnum) := GetGLFuncOrNil&('glClientActiveTextureARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientActiveTextureARB(texture: DummyEnum) := z_ClientActiveTextureARB(texture); + + public z_ActiveTextureARB: procedure(texture: DummyEnum) := GetGLFuncOrNil&('glActiveTextureARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveTextureARB(texture: DummyEnum) := z_ActiveTextureARB(texture); + + {$region 2 - OpenGL Operation} + + {$region 2.6 - Begin/End Paradigm} + + {$region 2.6.1 - Begin and End} + + private static procedure _End; external 'opengl32.dll' name 'glEnd'; + ///OpenGL 3.0 + public static z_End: procedure := _End; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure &End := z_End; + + private static procedure _Begin(mode: DummyEnum); external 'opengl32.dll' name 'glBegin'; + ///OpenGL 3.0 + public static z_Begin: procedure(mode: DummyEnum) := _Begin; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure &Begin(mode: DummyEnum) := z_Begin(mode); + + {$endregion 2.6.1 - Begin and End} + + {$endregion 2.6 - Begin/End Paradigm} + + {$region 2.7 - Vertex Specification} + + private static procedure _Vertex3fv(v: pointer); external 'opengl32.dll' name 'glVertex3fv'; + ///OpenGL 3.0 + public static z_Vertex3fv: procedure(v: pointer) := _Vertex3fv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3fv(v: array of single) := Vertex3fv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3fv(var v: single) := Vertex3fv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3fv(v: pointer) := z_Vertex3fv(v); + + private static procedure _Vertex3f(x: single; y: single; z: single); external 'opengl32.dll' name 'glVertex3f'; + ///OpenGL 3.0 + public static z_Vertex3f: procedure(x: single; y: single; z: single) := _Vertex3f; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3f(x: single; y: single; z: single) := z_Vertex3f(x, y, z); + + private static procedure _Vertex2fv(v: pointer); external 'opengl32.dll' name 'glVertex2fv'; + ///OpenGL 3.0 + public static z_Vertex2fv: procedure(v: pointer) := _Vertex2fv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2fv(v: array of single) := Vertex2fv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2fv(var v: single) := Vertex2fv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2fv(v: pointer) := z_Vertex2fv(v); + + private static procedure _Vertex2f(x: single; y: single); external 'opengl32.dll' name 'glVertex2f'; + ///OpenGL 3.0 + public static z_Vertex2f: procedure(x: single; y: single) := _Vertex2f; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2f(x: single; y: single) := z_Vertex2f(x, y); + + ///OpenGL 3.0 + public z_SecondaryColor3usv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3usv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3usv(v: array of UInt16) := SecondaryColor3usv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3usv(var v: UInt16) := SecondaryColor3usv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3usv(v: pointer) := z_SecondaryColor3usv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3us: procedure(red: UInt16; green: UInt16; blue: UInt16) := GetGLFuncOrNil&('glSecondaryColor3us'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3us(red: UInt16; green: UInt16; blue: UInt16) := z_SecondaryColor3us(red, green, blue); + + ///OpenGL 3.0 + public z_SecondaryColor3uiv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3uiv(v: array of UInt32) := SecondaryColor3uiv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3uiv(var v: UInt32) := SecondaryColor3uiv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3uiv(v: pointer) := z_SecondaryColor3uiv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3ui: procedure(red: UInt32; green: UInt32; blue: UInt32) := GetGLFuncOrNil&('glSecondaryColor3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ui(red: UInt32; green: UInt32; blue: UInt32) := z_SecondaryColor3ui(red, green, blue); + + ///OpenGL 3.0 + public z_SecondaryColor3ubv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3ubv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ubv(v: array of Byte) := SecondaryColor3ubv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ubv(var v: Byte) := SecondaryColor3ubv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ubv(v: pointer) := z_SecondaryColor3ubv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3ub: procedure(red: Byte; green: Byte; blue: Byte) := GetGLFuncOrNil&('glSecondaryColor3ub'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ub(red: Byte; green: Byte; blue: Byte) := z_SecondaryColor3ub(red, green, blue); + + ///OpenGL 3.0 + public z_SecondaryColor3sv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3sv(v: array of Int16) := SecondaryColor3sv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3sv(var v: Int16) := SecondaryColor3sv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3sv(v: pointer) := z_SecondaryColor3sv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3s: procedure(red: Int16; green: Int16; blue: Int16) := GetGLFuncOrNil&('glSecondaryColor3s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3s(red: Int16; green: Int16; blue: Int16) := z_SecondaryColor3s(red, green, blue); + + ///OpenGL 3.0 + public z_SecondaryColor3iv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3iv(v: array of Int32) := SecondaryColor3iv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3iv(var v: Int32) := SecondaryColor3iv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3iv(v: pointer) := z_SecondaryColor3iv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3i: procedure(red: Int32; green: Int32; blue: Int32) := GetGLFuncOrNil&('glSecondaryColor3i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3i(red: Int32; green: Int32; blue: Int32) := z_SecondaryColor3i(red, green, blue); + + ///OpenGL 3.0 + public z_SecondaryColor3fv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3fv(v: array of single) := SecondaryColor3fv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3fv(var v: single) := SecondaryColor3fv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3fv(v: pointer) := z_SecondaryColor3fv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3f: procedure(red: single; green: single; blue: single) := GetGLFuncOrNil&('glSecondaryColor3f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3f(red: single; green: single; blue: single) := z_SecondaryColor3f(red, green, blue); + + ///OpenGL 3.0 + public z_SecondaryColor3dv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3dv(v: array of double) := SecondaryColor3dv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3dv(var v: double) := SecondaryColor3dv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3dv(v: pointer) := z_SecondaryColor3dv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3d: procedure(red: double; green: double; blue: double) := GetGLFuncOrNil&('glSecondaryColor3d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3d(red: double; green: double; blue: double) := z_SecondaryColor3d(red, green, blue); + + ///OpenGL 3.0 + public z_SecondaryColor3bv: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3bv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3bv(v: array of SByte) := SecondaryColor3bv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3bv(var v: SByte) := SecondaryColor3bv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3bv(v: pointer) := z_SecondaryColor3bv(v); + + ///OpenGL 3.0 + public z_SecondaryColor3b: procedure(red: SByte; green: SByte; blue: SByte) := GetGLFuncOrNil&('glSecondaryColor3b'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3b(red: SByte; green: SByte; blue: SByte) := z_SecondaryColor3b(red, green, blue); + + private static procedure _Normal3fv(v: pointer); external 'opengl32.dll' name 'glNormal3fv'; + ///OpenGL 3.0 + public static z_Normal3fv: procedure(v: pointer) := _Normal3fv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fv(v: array of single) := Normal3fv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fv(var v: single) := Normal3fv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fv(v: pointer) := z_Normal3fv(v); + + private static procedure _Normal3f(nx: single; ny: single; nz: single); external 'opengl32.dll' name 'glNormal3f'; + ///OpenGL 3.0 + public static z_Normal3f: procedure(nx: single; ny: single; nz: single) := _Normal3f; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3f(nx: single; ny: single; nz: single) := z_Normal3f(nx, ny, nz); + + ///OpenGL 3.0 + public z_MultiTexCoord4sv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4sv(target: DummyEnum; v: array of Int16) := MultiTexCoord4sv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4sv(target: DummyEnum; var v: Int16) := MultiTexCoord4sv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4sv(target: DummyEnum; v: pointer) := z_MultiTexCoord4sv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord4s: procedure(target: DummyEnum; s: Int16; t: Int16; r: Int16; q: Int16) := GetGLFuncOrNil&('glMultiTexCoord4s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4s(target: DummyEnum; s: Int16; t: Int16; r: Int16; q: Int16) := z_MultiTexCoord4s(target, s, t, r, q); + + ///OpenGL 3.0 + public z_MultiTexCoord4iv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4iv(target: DummyEnum; v: array of Int32) := MultiTexCoord4iv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4iv(target: DummyEnum; var v: Int32) := MultiTexCoord4iv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4iv(target: DummyEnum; v: pointer) := z_MultiTexCoord4iv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord4i: procedure(target: DummyEnum; s: Int32; t: Int32; r: Int32; q: Int32) := GetGLFuncOrNil&('glMultiTexCoord4i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4i(target: DummyEnum; s: Int32; t: Int32; r: Int32; q: Int32) := z_MultiTexCoord4i(target, s, t, r, q); + + ///OpenGL 3.0 + public z_MultiTexCoord4fv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4fv(target: DummyEnum; v: array of single) := MultiTexCoord4fv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4fv(target: DummyEnum; var v: single) := MultiTexCoord4fv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4fv(target: DummyEnum; v: pointer) := z_MultiTexCoord4fv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord4f: procedure(target: DummyEnum; s: single; t: single; r: single; q: single) := GetGLFuncOrNil&('glMultiTexCoord4f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4f(target: DummyEnum; s: single; t: single; r: single; q: single) := z_MultiTexCoord4f(target, s, t, r, q); + + ///OpenGL 3.0 + public z_MultiTexCoord4dv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4dv(target: DummyEnum; v: array of double) := MultiTexCoord4dv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4dv(target: DummyEnum; var v: double) := MultiTexCoord4dv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4dv(target: DummyEnum; v: pointer) := z_MultiTexCoord4dv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord4d: procedure(target: DummyEnum; s: double; t: double; r: double; q: double) := GetGLFuncOrNil&('glMultiTexCoord4d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4d(target: DummyEnum; s: double; t: double; r: double; q: double) := z_MultiTexCoord4d(target, s, t, r, q); + + ///OpenGL 3.0 + public z_MultiTexCoord3sv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3sv(target: DummyEnum; v: array of Int16) := MultiTexCoord3sv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3sv(target: DummyEnum; var v: Int16) := MultiTexCoord3sv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3sv(target: DummyEnum; v: pointer) := z_MultiTexCoord3sv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord3s: procedure(target: DummyEnum; s: Int16; t: Int16; r: Int16) := GetGLFuncOrNil&('glMultiTexCoord3s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3s(target: DummyEnum; s: Int16; t: Int16; r: Int16) := z_MultiTexCoord3s(target, s, t, r); + + ///OpenGL 3.0 + public z_MultiTexCoord3iv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3iv(target: DummyEnum; v: array of Int32) := MultiTexCoord3iv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3iv(target: DummyEnum; var v: Int32) := MultiTexCoord3iv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3iv(target: DummyEnum; v: pointer) := z_MultiTexCoord3iv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord3i: procedure(target: DummyEnum; s: Int32; t: Int32; r: Int32) := GetGLFuncOrNil&('glMultiTexCoord3i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3i(target: DummyEnum; s: Int32; t: Int32; r: Int32) := z_MultiTexCoord3i(target, s, t, r); + + ///OpenGL 3.0 + public z_MultiTexCoord3fv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3fv(target: DummyEnum; v: array of single) := MultiTexCoord3fv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3fv(target: DummyEnum; var v: single) := MultiTexCoord3fv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3fv(target: DummyEnum; v: pointer) := z_MultiTexCoord3fv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord3f: procedure(target: DummyEnum; s: single; t: single; r: single) := GetGLFuncOrNil&('glMultiTexCoord3f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3f(target: DummyEnum; s: single; t: single; r: single) := z_MultiTexCoord3f(target, s, t, r); + + ///OpenGL 3.0 + public z_MultiTexCoord3dv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3dv(target: DummyEnum; v: array of double) := MultiTexCoord3dv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3dv(target: DummyEnum; var v: double) := MultiTexCoord3dv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3dv(target: DummyEnum; v: pointer) := z_MultiTexCoord3dv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord3d: procedure(target: DummyEnum; s: double; t: double; r: double) := GetGLFuncOrNil&('glMultiTexCoord3d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3d(target: DummyEnum; s: double; t: double; r: double) := z_MultiTexCoord3d(target, s, t, r); + + ///OpenGL 3.0 + public z_MultiTexCoord2sv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2sv(target: DummyEnum; v: array of Int16) := MultiTexCoord2sv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2sv(target: DummyEnum; var v: Int16) := MultiTexCoord2sv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2sv(target: DummyEnum; v: pointer) := z_MultiTexCoord2sv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord2s: procedure(target: DummyEnum; s: Int16; t: Int16) := GetGLFuncOrNil&('glMultiTexCoord2s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2s(target: DummyEnum; s: Int16; t: Int16) := z_MultiTexCoord2s(target, s, t); + + ///OpenGL 3.0 + public z_MultiTexCoord2iv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2iv(target: DummyEnum; v: array of Int32) := MultiTexCoord2iv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2iv(target: DummyEnum; var v: Int32) := MultiTexCoord2iv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2iv(target: DummyEnum; v: pointer) := z_MultiTexCoord2iv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord2i: procedure(target: DummyEnum; s: Int32; t: Int32) := GetGLFuncOrNil&('glMultiTexCoord2i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2i(target: DummyEnum; s: Int32; t: Int32) := z_MultiTexCoord2i(target, s, t); + + ///OpenGL 3.0 + public z_MultiTexCoord2fv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2fv(target: DummyEnum; v: array of single) := MultiTexCoord2fv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2fv(target: DummyEnum; var v: single) := MultiTexCoord2fv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2fv(target: DummyEnum; v: pointer) := z_MultiTexCoord2fv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord2f: procedure(target: DummyEnum; s: single; t: single) := GetGLFuncOrNil&('glMultiTexCoord2f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2f(target: DummyEnum; s: single; t: single) := z_MultiTexCoord2f(target, s, t); + + ///OpenGL 3.0 + public z_MultiTexCoord2dv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2dv(target: DummyEnum; v: array of double) := MultiTexCoord2dv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2dv(target: DummyEnum; var v: double) := MultiTexCoord2dv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2dv(target: DummyEnum; v: pointer) := z_MultiTexCoord2dv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord2d: procedure(target: DummyEnum; s: double; t: double) := GetGLFuncOrNil&('glMultiTexCoord2d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2d(target: DummyEnum; s: double; t: double) := z_MultiTexCoord2d(target, s, t); + + ///OpenGL 3.0 + public z_MultiTexCoord1sv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1sv(target: DummyEnum; v: array of Int16) := MultiTexCoord1sv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1sv(target: DummyEnum; var v: Int16) := MultiTexCoord1sv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1sv(target: DummyEnum; v: pointer) := z_MultiTexCoord1sv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord1s: procedure(target: DummyEnum; s: Int16) := GetGLFuncOrNil&('glMultiTexCoord1s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1s(target: DummyEnum; s: Int16) := z_MultiTexCoord1s(target, s); + + ///OpenGL 3.0 + public z_MultiTexCoord1iv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1iv(target: DummyEnum; v: array of Int32) := MultiTexCoord1iv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1iv(target: DummyEnum; var v: Int32) := MultiTexCoord1iv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1iv(target: DummyEnum; v: pointer) := z_MultiTexCoord1iv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord1i: procedure(target: DummyEnum; s: Int32) := GetGLFuncOrNil&('glMultiTexCoord1i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1i(target: DummyEnum; s: Int32) := z_MultiTexCoord1i(target, s); + + ///OpenGL 3.0 + public z_MultiTexCoord1fv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1fv(target: DummyEnum; v: array of single) := MultiTexCoord1fv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1fv(target: DummyEnum; var v: single) := MultiTexCoord1fv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1fv(target: DummyEnum; v: pointer) := z_MultiTexCoord1fv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord1f: procedure(target: DummyEnum; s: single) := GetGLFuncOrNil&('glMultiTexCoord1f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1f(target: DummyEnum; s: single) := z_MultiTexCoord1f(target, s); + + ///OpenGL 3.0 + public z_MultiTexCoord1dv: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1dv(target: DummyEnum; v: array of double) := MultiTexCoord1dv(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1dv(target: DummyEnum; var v: double) := MultiTexCoord1dv(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1dv(target: DummyEnum; v: pointer) := z_MultiTexCoord1dv(target, v); + + ///OpenGL 3.0 + public z_MultiTexCoord1d: procedure(target: DummyEnum; s: double) := GetGLFuncOrNil&('glMultiTexCoord1d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1d(target: DummyEnum; s: double) := z_MultiTexCoord1d(target, s); + + ///OpenGL 3.0 + public z_FogCoordfv: procedure(coord: pointer) := GetGLFuncOrNil&('glFogCoordfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordfv(coord: array of single) := FogCoordfv(coord[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordfv(var coord: single) := FogCoordfv(@coord); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordfv(coord: pointer) := z_FogCoordfv(coord); + + ///OpenGL 3.0 + public z_FogCoordf: procedure(coord: single) := GetGLFuncOrNil&('glFogCoordf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordf(coord: single) := z_FogCoordf(coord); + + ///OpenGL 3.0 + public z_FogCoorddv: procedure(coord: pointer) := GetGLFuncOrNil&('glFogCoorddv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoorddv(coord: array of double) := FogCoorddv(coord[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoorddv(var coord: double) := FogCoorddv(@coord); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoorddv(coord: pointer) := z_FogCoorddv(coord); + + ///OpenGL 3.0 + public z_FogCoordd: procedure(coord: double) := GetGLFuncOrNil&('glFogCoordd'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordd(coord: double) := z_FogCoordd(coord); + + private static procedure _Color4ub(red: Byte; green: Byte; blue: Byte; alpha: Byte); external 'opengl32.dll' name 'glColor4ub'; + ///OpenGL 3.0 + public static z_Color4ub: procedure(red: Byte; green: Byte; blue: Byte; alpha: Byte) := _Color4ub; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ub(red: Byte; green: Byte; blue: Byte; alpha: Byte) := z_Color4ub(red, green, blue, alpha); + + private static procedure _Color4fv(v: pointer); external 'opengl32.dll' name 'glColor4fv'; + ///OpenGL 3.0 + public static z_Color4fv: procedure(v: pointer) := _Color4fv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fv(v: array of single) := Color4fv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fv(var v: single) := Color4fv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fv(v: pointer) := z_Color4fv(v); + + private static procedure _Color4f(red: single; green: single; blue: single; alpha: single); external 'opengl32.dll' name 'glColor4f'; + ///OpenGL 3.0 + public static z_Color4f: procedure(red: single; green: single; blue: single; alpha: single) := _Color4f; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4f(red: single; green: single; blue: single; alpha: single) := z_Color4f(red, green, blue, alpha); + + {$endregion 2.7 - Vertex Specification} + + {$region 2.8 - Vertex Arrays} + + private static procedure _VertexPointer(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer); external 'opengl32.dll' name 'glVertexPointer'; + ///OpenGL 3.0 + public static z_VertexPointer: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := _VertexPointer; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointer(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_VertexPointer(size, &type, stride, _pointer); + + private static procedure _TexCoordPointer(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer); external 'opengl32.dll' name 'glTexCoordPointer'; + ///OpenGL 3.0 + public static z_TexCoordPointer: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := _TexCoordPointer; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointer(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_TexCoordPointer(size, &type, stride, _pointer); + + ///OpenGL 3.0 + public z_SecondaryColorPointer: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glSecondaryColorPointer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorPointer(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_SecondaryColorPointer(size, &type, stride, _pointer); + + private static procedure _NormalPointer(&type: DummyEnum; stride: Int32; _pointer: pointer); external 'opengl32.dll' name 'glNormalPointer'; + ///OpenGL 3.0 + public static z_NormalPointer: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer) := _NormalPointer; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointer(&type: DummyEnum; stride: Int32; _pointer: pointer) := z_NormalPointer(&type, stride, _pointer); + + ///OpenGL 3.0 + public z_FogCoordPointer: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glFogCoordPointer'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordPointer(&type: DummyEnum; stride: Int32; _pointer: pointer) := z_FogCoordPointer(&type, stride, _pointer); + + private static procedure _EnableClientState(&array: DummyEnum); external 'opengl32.dll' name 'glEnableClientState'; + ///OpenGL 3.0 + public static z_EnableClientState: procedure(&array: DummyEnum) := _EnableClientState; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableClientState(&array: DummyEnum) := z_EnableClientState(&array); + + private static procedure _DisableClientState(&array: DummyEnum); external 'opengl32.dll' name 'glDisableClientState'; + ///OpenGL 3.0 + public static z_DisableClientState: procedure(&array: DummyEnum) := _DisableClientState; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableClientState(&array: DummyEnum) := z_DisableClientState(&array); + + private static procedure _ColorPointer(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer); external 'opengl32.dll' name 'glColorPointer'; + ///OpenGL 3.0 + public static z_ColorPointer: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := _ColorPointer; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointer(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_ColorPointer(size, &type, stride, _pointer); + + ///OpenGL 3.0 + public z_ClientActiveTexture: procedure(texture: DummyEnum) := GetGLFuncOrNil&('glClientActiveTexture'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientActiveTexture(texture: DummyEnum) := z_ClientActiveTexture(texture); + + {$endregion 2.8 - Vertex Arrays} + + {$region 2.12 - Coordinate Transformations} + + {$region 2.12.2 - Matrices} + + private static procedure _Translatef(x: single; y: single; z: single); external 'opengl32.dll' name 'glTranslatef'; + ///OpenGL 3.0 + public static z_Translatef: procedure(x: single; y: single; z: single) := _Translatef; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Translatef(x: single; y: single; z: single) := z_Translatef(x, y, z); + + private static procedure _Scalef(x: single; y: single; z: single); external 'opengl32.dll' name 'glScalef'; + ///OpenGL 3.0 + public static z_Scalef: procedure(x: single; y: single; z: single) := _Scalef; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Scalef(x: single; y: single; z: single) := z_Scalef(x, y, z); + + private static procedure _Rotatef(angle: single; x: single; y: single; z: single); external 'opengl32.dll' name 'glRotatef'; + ///OpenGL 3.0 + public static z_Rotatef: procedure(angle: single; x: single; y: single; z: single) := _Rotatef; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Rotatef(angle: single; x: single; y: single; z: single) := z_Rotatef(angle, x, y, z); + + private static procedure _PushMatrix; external 'opengl32.dll' name 'glPushMatrix'; + ///OpenGL 3.0 + public static z_PushMatrix: procedure := _PushMatrix; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PushMatrix := z_PushMatrix; + + private static procedure _PopMatrix; external 'opengl32.dll' name 'glPopMatrix'; + ///OpenGL 3.0 + public static z_PopMatrix: procedure := _PopMatrix; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PopMatrix := z_PopMatrix; + + ///OpenGL 3.0 + public z_MultTransposeMatrixf: procedure(m: pointer) := GetGLFuncOrNil&('glMultTransposeMatrixf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixf(m: array of single) := MultTransposeMatrixf(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixf(var m: single) := MultTransposeMatrixf(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixf(m: pointer) := z_MultTransposeMatrixf(m); + + ///OpenGL 3.0 + public z_MultTransposeMatrixd: procedure(m: pointer) := GetGLFuncOrNil&('glMultTransposeMatrixd'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixd(m: array of double) := MultTransposeMatrixd(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixd(var m: double) := MultTransposeMatrixd(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixd(m: pointer) := z_MultTransposeMatrixd(m); + + private static procedure _MultMatrixf(m: pointer); external 'opengl32.dll' name 'glMultMatrixf'; + ///OpenGL 3.0 + public static z_MultMatrixf: procedure(m: pointer) := _MultMatrixf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultMatrixf(m: array of single) := MultMatrixf(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultMatrixf(var m: single) := MultMatrixf(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultMatrixf(m: pointer) := z_MultMatrixf(m); + + private static procedure _MatrixMode(mode: DummyEnum); external 'opengl32.dll' name 'glMatrixMode'; + ///OpenGL 3.0 + public static z_MatrixMode: procedure(mode: DummyEnum) := _MatrixMode; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixMode(mode: DummyEnum) := z_MatrixMode(mode); + + ///OpenGL 3.0 + public z_LoadTransposeMatrixf: procedure(m: pointer) := GetGLFuncOrNil&('glLoadTransposeMatrixf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixf(m: array of single) := LoadTransposeMatrixf(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixf(var m: single) := LoadTransposeMatrixf(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixf(m: pointer) := z_LoadTransposeMatrixf(m); + + ///OpenGL 3.0 + public z_LoadTransposeMatrixd: procedure(m: pointer) := GetGLFuncOrNil&('glLoadTransposeMatrixd'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixd(m: array of double) := LoadTransposeMatrixd(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixd(var m: double) := LoadTransposeMatrixd(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixd(m: pointer) := z_LoadTransposeMatrixd(m); + + private static procedure _LoadMatrixf(m: pointer); external 'opengl32.dll' name 'glLoadMatrixf'; + ///OpenGL 3.0 + public static z_LoadMatrixf: procedure(m: pointer) := _LoadMatrixf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadMatrixf(m: array of single) := LoadMatrixf(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadMatrixf(var m: single) := LoadMatrixf(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadMatrixf(m: pointer) := z_LoadMatrixf(m); + + private static procedure _LoadIdentity; external 'opengl32.dll' name 'glLoadIdentity'; + ///OpenGL 3.0 + public static z_LoadIdentity: procedure := _LoadIdentity; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadIdentity := z_LoadIdentity; + + {$endregion 2.12.2 - Matrices} + + {$endregion 2.12 - Coordinate Transformations} + + {$region 2.18 - Current Raster Position} + + ///OpenGL 3.0 + public z_WindowPos3sv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3sv(v: array of Int16) := WindowPos3sv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3sv(var v: Int16) := WindowPos3sv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3sv(v: pointer) := z_WindowPos3sv(v); + + ///OpenGL 3.0 + public z_WindowPos3s: procedure(x: Int16; y: Int16; z: Int16) := GetGLFuncOrNil&('glWindowPos3s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3s(x: Int16; y: Int16; z: Int16) := z_WindowPos3s(x, y, z); + + ///OpenGL 3.0 + public z_WindowPos3iv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3iv(v: array of Int32) := WindowPos3iv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3iv(var v: Int32) := WindowPos3iv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3iv(v: pointer) := z_WindowPos3iv(v); + + ///OpenGL 3.0 + public z_WindowPos3i: procedure(x: Int32; y: Int32; z: Int32) := GetGLFuncOrNil&('glWindowPos3i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3i(x: Int32; y: Int32; z: Int32) := z_WindowPos3i(x, y, z); + + ///OpenGL 3.0 + public z_WindowPos3fv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fv(v: array of single) := WindowPos3fv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fv(var v: single) := WindowPos3fv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fv(v: pointer) := z_WindowPos3fv(v); + + ///OpenGL 3.0 + public z_WindowPos3f: procedure(x: single; y: single; z: single) := GetGLFuncOrNil&('glWindowPos3f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3f(x: single; y: single; z: single) := z_WindowPos3f(x, y, z); + + ///OpenGL 3.0 + public z_WindowPos3dv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dv(v: array of double) := WindowPos3dv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dv(var v: double) := WindowPos3dv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dv(v: pointer) := z_WindowPos3dv(v); + + ///OpenGL 3.0 + public z_WindowPos3d: procedure(x: double; y: double; z: double) := GetGLFuncOrNil&('glWindowPos3d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3d(x: double; y: double; z: double) := z_WindowPos3d(x, y, z); + + ///OpenGL 3.0 + public z_WindowPos2sv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2sv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2sv(v: array of Int16) := WindowPos2sv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2sv(var v: Int16) := WindowPos2sv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2sv(v: pointer) := z_WindowPos2sv(v); + + ///OpenGL 3.0 + public z_WindowPos2s: procedure(x: Int16; y: Int16) := GetGLFuncOrNil&('glWindowPos2s'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2s(x: Int16; y: Int16) := z_WindowPos2s(x, y); + + ///OpenGL 3.0 + public z_WindowPos2iv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2iv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2iv(v: array of Int32) := WindowPos2iv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2iv(var v: Int32) := WindowPos2iv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2iv(v: pointer) := z_WindowPos2iv(v); + + ///OpenGL 3.0 + public z_WindowPos2i: procedure(x: Int32; y: Int32) := GetGLFuncOrNil&('glWindowPos2i'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2i(x: Int32; y: Int32) := z_WindowPos2i(x, y); + + ///OpenGL 3.0 + public z_WindowPos2fv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2fv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fv(v: array of single) := WindowPos2fv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fv(var v: single) := WindowPos2fv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fv(v: pointer) := z_WindowPos2fv(v); + + ///OpenGL 3.0 + public z_WindowPos2f: procedure(x: single; y: single) := GetGLFuncOrNil&('glWindowPos2f'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2f(x: single; y: single) := z_WindowPos2f(x, y); - static procedure ProgramUniformHandleui64vARB(&program: UInt32; location: Int32; count: Int32; values: ^UInt64); - external 'opengl32.dll' name 'glProgramUniformHandleui64vARB'; + ///OpenGL 3.0 + public z_WindowPos2dv: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2dv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dv(v: array of double) := WindowPos2dv(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dv(var v: double) := WindowPos2dv(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dv(v: pointer) := z_WindowPos2dv(v); - static function IsTextureHandleResidentARB(handle: UInt64): boolean; - external 'opengl32.dll' name 'glIsTextureHandleResidentARB'; + ///OpenGL 3.0 + public z_WindowPos2d: procedure(x: double; y: double) := GetGLFuncOrNil&('glWindowPos2d'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2d(x: double; y: double) := z_WindowPos2d(x, y); - static function IsImageHandleResidentARB(handle: UInt64): boolean; - external 'opengl32.dll' name 'glIsImageHandleResidentARB'; + private static procedure _RasterPos3f(x: single; y: single; z: single); external 'opengl32.dll' name 'glRasterPos3f'; + ///OpenGL 3.0 + public static z_RasterPos3f: procedure(x: single; y: single; z: single) := _RasterPos3f; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos3f(x: single; y: single; z: single) := z_RasterPos3f(x, y, z); - static function CreateSyncFromCLeventARB(context: cl_context; &event: cl_event; flags: UInt32): GLsync; - external 'opengl32.dll' name 'glCreateSyncFromCLeventARB'; + {$endregion 2.18 - Current Raster Position} - static procedure DispatchComputeGroupSizeARB(num_groups_x: UInt32; num_groups_y: UInt32; num_groups_z: UInt32; group_size_x: UInt32; group_size_y: UInt32; group_size_z: UInt32); - external 'opengl32.dll' name 'glDispatchComputeGroupSizeARB'; + {$region 2.19 - Colors and Coloring} - static procedure DebugMessageControlARB(source: UInt32; &type: UInt32; severity: UInt32; count: Int32; ids: ^UInt32; enabled: boolean); - external 'opengl32.dll' name 'glDebugMessageControlARB'; + {$region 2.19.2 - Lighting Parameter Specification} - static procedure DebugMessageInsertARB(source: UInt32; &type: UInt32; id: UInt32; severity: UInt32; length: Int32; buf: ^SByte); - external 'opengl32.dll' name 'glDebugMessageInsertARB'; + private static procedure _Materialfv(face: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glMaterialfv'; + ///OpenGL 3.0 + public static z_Materialfv: procedure(face: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _Materialfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Materialfv(face: DummyEnum; pname: DummyEnum; ¶ms: array of single) := Materialfv(face, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Materialfv(face: DummyEnum; pname: DummyEnum; var ¶ms: single) := Materialfv(face, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Materialfv(face: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_Materialfv(face, pname, ¶ms); - static procedure DebugMessageCallbackARB(callback: GLDEBUGPROC; userParam: pointer); - external 'opengl32.dll' name 'glDebugMessageCallbackARB'; + private static procedure _Materialf(face: DummyEnum; pname: DummyEnum; param: single); external 'opengl32.dll' name 'glMaterialf'; + ///OpenGL 3.0 + public static z_Materialf: procedure(face: DummyEnum; pname: DummyEnum; param: single) := _Materialf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Materialf(face: DummyEnum; pname: DummyEnum; param: single) := z_Materialf(face, pname, param); - static function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: ^UInt32; types: ^UInt32; ids: ^UInt32; severities: ^UInt32; lengths: ^Int32; messageLog: ^SByte): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLogARB'; + private static procedure _LightModelfv(pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glLightModelfv'; + ///OpenGL 3.0 + public static z_LightModelfv: procedure(pname: DummyEnum; ¶ms: pointer) := _LightModelfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelfv(pname: DummyEnum; ¶ms: array of single) := LightModelfv(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelfv(pname: DummyEnum; var ¶ms: single) := LightModelfv(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelfv(pname: DummyEnum; ¶ms: pointer) := z_LightModelfv(pname, ¶ms); - static procedure BlendEquationiARB(buf: UInt32; mode: UInt32); - external 'opengl32.dll' name 'glBlendEquationiARB'; + private static procedure _LightModelf(pname: DummyEnum; param: single); external 'opengl32.dll' name 'glLightModelf'; + ///OpenGL 3.0 + public static z_LightModelf: procedure(pname: DummyEnum; param: single) := _LightModelf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelf(pname: DummyEnum; param: single) := z_LightModelf(pname, param); - static procedure BlendEquationSeparateiARB(buf: UInt32; modeRGB: UInt32; modeAlpha: UInt32); - external 'opengl32.dll' name 'glBlendEquationSeparateiARB'; + private static procedure _Lightfv(light: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glLightfv'; + ///OpenGL 3.0 + public static z_Lightfv: procedure(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _Lightfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Lightfv(light: DummyEnum; pname: DummyEnum; ¶ms: array of single) := Lightfv(light, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Lightfv(light: DummyEnum; pname: DummyEnum; var ¶ms: single) := Lightfv(light, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Lightfv(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_Lightfv(light, pname, ¶ms); - static procedure BlendFunciARB(buf: UInt32; src: UInt32; dst: UInt32); - external 'opengl32.dll' name 'glBlendFunciARB'; + private static procedure _Lightf(light: DummyEnum; pname: DummyEnum; param: single); external 'opengl32.dll' name 'glLightf'; + ///OpenGL 3.0 + public static z_Lightf: procedure(light: DummyEnum; pname: DummyEnum; param: single) := _Lightf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Lightf(light: DummyEnum; pname: DummyEnum; param: single) := z_Lightf(light, pname, param); - static procedure BlendFuncSeparateiARB(buf: UInt32; srcRGB: UInt32; dstRGB: UInt32; srcAlpha: UInt32; dstAlpha: UInt32); - external 'opengl32.dll' name 'glBlendFuncSeparateiARB'; + {$endregion 2.19.2 - Lighting Parameter Specification} - static procedure DrawArraysInstancedARB(mode: UInt32; first: Int32; count: Int32; primcount: Int32); - external 'opengl32.dll' name 'glDrawArraysInstancedARB'; + {$region 2.19.7 - Flatshading} - static procedure DrawElementsInstancedARB(mode: UInt32; count: Int32; &type: UInt32; indices: pointer; primcount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedARB'; + private static procedure _ShadeModel(mode: DummyEnum); external 'opengl32.dll' name 'glShadeModel'; + ///OpenGL 3.0 + public static z_ShadeModel: procedure(mode: DummyEnum) := _ShadeModel; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadeModel(mode: DummyEnum) := z_ShadeModel(mode); - static procedure ProgramParameteriARB(&program: UInt32; pname: UInt32; value: Int32); - external 'opengl32.dll' name 'glProgramParameteriARB'; + {$endregion 2.19.7 - Flatshading} - static procedure FramebufferTextureARB(target: UInt32; attachment: UInt32; texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glFramebufferTextureARB'; + {$endregion 2.19 - Colors and Coloring} - static procedure FramebufferTextureLayerARB(target: UInt32; attachment: UInt32; texture: UInt32; level: Int32; layer: Int32); - external 'opengl32.dll' name 'glFramebufferTextureLayerARB'; + {$endregion 2 - OpenGL Operation} - static procedure FramebufferTextureFaceARB(target: UInt32; attachment: UInt32; texture: UInt32; level: Int32; face: UInt32); - external 'opengl32.dll' name 'glFramebufferTextureFaceARB'; + {$region 3 - Rasterization} - static procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: ^SByte; numSpecializationConstants: UInt32; pConstantIndex: ^UInt32; pConstantValue: ^UInt32); - external 'opengl32.dll' name 'glSpecializeShaderARB'; + {$region 3.5 - Line Segments} - static procedure Uniform1i64ARB(location: Int32; x: Int64); - external 'opengl32.dll' name 'glUniform1i64ARB'; + {$region 3.5.2 - Other Line Segment Features} - static procedure Uniform2i64ARB(location: Int32; x: Int64; y: Int64); - external 'opengl32.dll' name 'glUniform2i64ARB'; + private static procedure _LineStipple(factor: Int32; pattern: UInt16); external 'opengl32.dll' name 'glLineStipple'; + ///OpenGL 3.0 + public static z_LineStipple: procedure(factor: Int32; pattern: UInt16) := _LineStipple; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LineStipple(factor: Int32; pattern: UInt16) := z_LineStipple(factor, pattern); - static procedure Uniform3i64ARB(location: Int32; x: Int64; y: Int64; z: Int64); - external 'opengl32.dll' name 'glUniform3i64ARB'; + {$endregion 3.5.2 - Other Line Segment Features} - static procedure Uniform4i64ARB(location: Int32; x: Int64; y: Int64; z: Int64; w: Int64); - external 'opengl32.dll' name 'glUniform4i64ARB'; + {$endregion 3.5 - Line Segments} - static procedure Uniform1i64vARB(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform1i64vARB'; + {$region 3.6 - Polygons} - static procedure Uniform2i64vARB(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform2i64vARB'; + {$region 3.6.2 - Stippling} - static procedure Uniform3i64vARB(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform3i64vARB'; + private static procedure _PolygonStipple(mask: pointer); external 'opengl32.dll' name 'glPolygonStipple'; + ///OpenGL 3.0 + public static z_PolygonStipple: procedure(mask: pointer) := _PolygonStipple; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonStipple(mask: array of Byte) := PolygonStipple(mask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonStipple(var mask: Byte) := PolygonStipple(@mask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonStipple(mask: pointer) := z_PolygonStipple(mask); - static procedure Uniform4i64vARB(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform4i64vARB'; + {$endregion 3.6.2 - Stippling} - static procedure Uniform1ui64ARB(location: Int32; x: UInt64); - external 'opengl32.dll' name 'glUniform1ui64ARB'; + {$endregion 3.6 - Polygons} - static procedure Uniform2ui64ARB(location: Int32; x: UInt64; y: UInt64); - external 'opengl32.dll' name 'glUniform2ui64ARB'; + {$region 3.7 - Pixel Rectangles} - static procedure Uniform3ui64ARB(location: Int32; x: UInt64; y: UInt64; z: UInt64); - external 'opengl32.dll' name 'glUniform3ui64ARB'; + {$region 3.7.3 - Pixel Transfer Modes} - static procedure Uniform4ui64ARB(location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64); - external 'opengl32.dll' name 'glUniform4ui64ARB'; + ///OpenGL 3.0 + public z_SeparableFilter2D: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer) := GetGLFuncOrNil&('glSeparableFilter2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SeparableFilter2D(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer) := z_SeparableFilter2D(target, internalformat, width, height, format, &type, row, column); - static procedure Uniform1ui64vARB(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform1ui64vARB'; + ///OpenGL 3.0 + public z_Minmax: procedure(target: DummyEnum; internalformat: DummyEnum; sink: Byte) := GetGLFuncOrNil&('glMinmax'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Minmax(target: DummyEnum; internalformat: DummyEnum; sink: Byte) := z_Minmax(target, internalformat, sink); - static procedure Uniform2ui64vARB(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform2ui64vARB'; + ///OpenGL 3.0 + public z_Histogram: procedure(target: DummyEnum; width: Int32; internalformat: DummyEnum; sink: Byte) := GetGLFuncOrNil&('glHistogram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Histogram(target: DummyEnum; width: Int32; internalformat: DummyEnum; sink: Byte) := z_Histogram(target, width, internalformat, sink); - static procedure Uniform3ui64vARB(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform3ui64vARB'; + ///OpenGL 3.0 + public z_CopyConvolutionFilter2D: procedure(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyConvolutionFilter2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyConvolutionFilter2D(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyConvolutionFilter2D(target, internalformat, x, y, width, height); - static procedure Uniform4ui64vARB(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform4ui64vARB'; + ///OpenGL 3.0 + public z_CopyConvolutionFilter1D: procedure(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyConvolutionFilter1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyConvolutionFilter1D(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := z_CopyConvolutionFilter1D(target, internalformat, x, y, width); - static procedure GetUniformi64vARB(&program: UInt32; location: Int32; ¶ms: ^Int64); - external 'opengl32.dll' name 'glGetUniformi64vARB'; + ///OpenGL 3.0 + public z_CopyColorTable: procedure(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyColorTable'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyColorTable(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := z_CopyColorTable(target, internalformat, x, y, width); - static procedure GetUniformui64vARB(&program: UInt32; location: Int32; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetUniformui64vARB'; + ///OpenGL 3.0 + public z_CopyColorSubTable: procedure(target: DummyEnum; start: Int32; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyColorSubTable'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyColorSubTable(target: DummyEnum; start: Int32; x: Int32; y: Int32; width: Int32) := z_CopyColorSubTable(target, start, x, y, width); - static procedure GetnUniformi64vARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: ^Int64); - external 'opengl32.dll' name 'glGetnUniformi64vARB'; + ///OpenGL 3.0 + public z_ConvolutionParameteriv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glConvolutionParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := ConvolutionParameteriv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameteriv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := ConvolutionParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ConvolutionParameteriv(target, pname, ¶ms); - static procedure GetnUniformui64vARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetnUniformui64vARB'; + ///OpenGL 3.0 + public z_ConvolutionParameterfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glConvolutionParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := ConvolutionParameterfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := ConvolutionParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ConvolutionParameterfv(target, pname, ¶ms); - static procedure ProgramUniform1i64ARB(&program: UInt32; location: Int32; x: Int64); - external 'opengl32.dll' name 'glProgramUniform1i64ARB'; + ///OpenGL 3.0 + public z_ConvolutionFilter2D: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := GetGLFuncOrNil&('glConvolutionFilter2D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionFilter2D(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := z_ConvolutionFilter2D(target, internalformat, width, height, format, &type, image); - static procedure ProgramUniform2i64ARB(&program: UInt32; location: Int32; x: Int64; y: Int64); - external 'opengl32.dll' name 'glProgramUniform2i64ARB'; + ///OpenGL 3.0 + public z_ConvolutionFilter1D: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := GetGLFuncOrNil&('glConvolutionFilter1D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionFilter1D(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := z_ConvolutionFilter1D(target, internalformat, width, format, &type, image); - static procedure ProgramUniform3i64ARB(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64); - external 'opengl32.dll' name 'glProgramUniform3i64ARB'; + ///OpenGL 3.0 + public z_ColorTableParameteriv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glColorTableParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := ColorTableParameteriv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameteriv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := ColorTableParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ColorTableParameteriv(target, pname, ¶ms); - static procedure ProgramUniform4i64ARB(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64; w: Int64); - external 'opengl32.dll' name 'glProgramUniform4i64ARB'; + ///OpenGL 3.0 + public z_ColorTableParameterfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glColorTableParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := ColorTableParameterfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := ColorTableParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ColorTableParameterfv(target, pname, ¶ms); - static procedure ProgramUniform1i64vARB(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform1i64vARB'; + ///OpenGL 3.0 + public z_ColorTable: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; table: pointer) := GetGLFuncOrNil&('glColorTable'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTable(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; table: pointer) := z_ColorTable(target, internalformat, width, format, &type, table); - static procedure ProgramUniform2i64vARB(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform2i64vARB'; + ///OpenGL 3.0 + public z_ColorSubTable: procedure(target: DummyEnum; start: Int32; count: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := GetGLFuncOrNil&('glColorSubTable'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorSubTable(target: DummyEnum; start: Int32; count: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := z_ColorSubTable(target, start, count, format, &type, data); - static procedure ProgramUniform3i64vARB(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform3i64vARB'; + {$endregion 3.7.3 - Pixel Transfer Modes} - static procedure ProgramUniform4i64vARB(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform4i64vARB'; + {$region 3.7.4 - Rasterization of Pixel Rectangles} - static procedure ProgramUniform1ui64ARB(&program: UInt32; location: Int32; x: UInt64); - external 'opengl32.dll' name 'glProgramUniform1ui64ARB'; + private static procedure _DrawPixels(width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer); external 'opengl32.dll' name 'glDrawPixels'; + ///OpenGL 3.0 + public static z_DrawPixels: procedure(width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := _DrawPixels; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawPixels(width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := z_DrawPixels(width, height, format, &type, pixels); - static procedure ProgramUniform2ui64ARB(&program: UInt32; location: Int32; x: UInt64; y: UInt64); - external 'opengl32.dll' name 'glProgramUniform2ui64ARB'; + {$endregion 3.7.4 - Rasterization of Pixel Rectangles} - static procedure ProgramUniform3ui64ARB(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64); - external 'opengl32.dll' name 'glProgramUniform3ui64ARB'; + {$region 3.7.5 - Pixel Transfer Operations} - static procedure ProgramUniform4ui64ARB(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64); - external 'opengl32.dll' name 'glProgramUniform4ui64ARB'; + ///OpenGL 3.0 + public z_ConvolutionParameteri: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: Int32) := GetGLFuncOrNil&('glConvolutionParameteri'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameteri(target: DummyEnum; pname: DummyEnum; ¶ms: Int32) := z_ConvolutionParameteri(target, pname, ¶ms); - static procedure ProgramUniform1ui64vARB(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform1ui64vARB'; + ///OpenGL 3.0 + public z_ConvolutionParameterf: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: single) := GetGLFuncOrNil&('glConvolutionParameterf'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterf(target: DummyEnum; pname: DummyEnum; ¶ms: single) := z_ConvolutionParameterf(target, pname, ¶ms); - static procedure ProgramUniform2ui64vARB(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform2ui64vARB'; + {$endregion 3.7.5 - Pixel Transfer Operations} - static procedure ProgramUniform3ui64vARB(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform3ui64vARB'; + {$endregion 3.7 - Pixel Rectangles} - static procedure ProgramUniform4ui64vARB(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform4ui64vARB'; + {$region 3.8 - Bitmaps} - static procedure MultiDrawArraysIndirectCountARB(mode: UInt32; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirectCountARB'; + private static procedure _Bitmap(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; _bitmap: pointer); external 'opengl32.dll' name 'glBitmap'; + ///OpenGL 3.0 + public static z_Bitmap: procedure(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; _bitmap: pointer) := _Bitmap; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Bitmap(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; _bitmap: array of Byte) := Bitmap(width, height, xorig, yorig, xmove, ymove, _bitmap[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Bitmap(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; var _bitmap: Byte) := Bitmap(width, height, xorig, yorig, xmove, ymove, @_bitmap); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Bitmap(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; _bitmap: pointer) := z_Bitmap(width, height, xorig, yorig, xmove, ymove, _bitmap); - static procedure MultiDrawElementsIndirectCountARB(mode: UInt32; &type: UInt32; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirectCountARB'; + {$endregion 3.8 - Bitmaps} - static procedure MaxShaderCompilerThreadsARB(count: UInt32); - external 'opengl32.dll' name 'glMaxShaderCompilerThreadsARB'; + {$region 3.9 - Texturing} - static procedure GetnTexImageARB(target: UInt32; level: Int32; format: UInt32; &type: UInt32; bufSize: Int32; img: pointer); - external 'opengl32.dll' name 'glGetnTexImageARB'; + {$region 3.9.13 - Texture Environments and Texture Functions} - static procedure ReadnPixelsARB(x: Int32; y: Int32; width: Int32; height: Int32; format: UInt32; &type: UInt32; bufSize: Int32; data: pointer); - external 'opengl32.dll' name 'glReadnPixelsARB'; + private static procedure _TexEnviv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glTexEnviv'; + ///OpenGL 3.0 + public static z_TexEnviv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _TexEnviv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnviv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := TexEnviv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnviv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := TexEnviv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnviv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexEnviv(target, pname, ¶ms); - static procedure GetnCompressedTexImageARB(target: UInt32; lod: Int32; bufSize: Int32; img: pointer); - external 'opengl32.dll' name 'glGetnCompressedTexImageARB'; + private static procedure _TexEnvi(target: DummyEnum; pname: DummyEnum; param: Int32); external 'opengl32.dll' name 'glTexEnvi'; + ///OpenGL 3.0 + public static z_TexEnvi: procedure(target: DummyEnum; pname: DummyEnum; param: Int32) := _TexEnvi; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvi(target: DummyEnum; pname: DummyEnum; param: Int32) := z_TexEnvi(target, pname, param); - static procedure GetnUniformfvARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetnUniformfvARB'; + private static procedure _TexEnvfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glTexEnvfv'; + ///OpenGL 3.0 + public static z_TexEnvfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _TexEnvfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := TexEnvfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := TexEnvfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexEnvfv(target, pname, ¶ms); - static procedure GetnUniformivARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetnUniformivARB'; + private static procedure _TexEnvf(target: DummyEnum; pname: DummyEnum; param: single); external 'opengl32.dll' name 'glTexEnvf'; + ///OpenGL 3.0 + public static z_TexEnvf: procedure(target: DummyEnum; pname: DummyEnum; param: single) := _TexEnvf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvf(target: DummyEnum; pname: DummyEnum; param: single) := z_TexEnvf(target, pname, param); - static procedure GetnUniformuivARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetnUniformuivARB'; + {$endregion 3.9.13 - Texture Environments and Texture Functions} - static procedure GetnUniformdvARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: ^double); - external 'opengl32.dll' name 'glGetnUniformdvARB'; + {$endregion 3.9 - Texturing} - static procedure FramebufferSampleLocationsfvARB(target: UInt32; start: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glFramebufferSampleLocationsfvARB'; + {$region 3.11 - Fog} - static procedure NamedFramebufferSampleLocationsfvARB(framebuffer: UInt32; start: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glNamedFramebufferSampleLocationsfvARB'; + private static procedure _Fogfv(pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glFogfv'; + ///OpenGL 3.0 + public static z_Fogfv: procedure(pname: DummyEnum; ¶ms: pointer) := _Fogfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Fogfv(pname: DummyEnum; ¶ms: array of single) := Fogfv(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Fogfv(pname: DummyEnum; var ¶ms: single) := Fogfv(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Fogfv(pname: DummyEnum; ¶ms: pointer) := z_Fogfv(pname, ¶ms); - static procedure EvaluateDepthValuesARB; - external 'opengl32.dll' name 'glEvaluateDepthValuesARB'; + private static procedure _Fogf(pname: DummyEnum; param: single); external 'opengl32.dll' name 'glFogf'; + ///OpenGL 3.0 + public static z_Fogf: procedure(pname: DummyEnum; param: single) := _Fogf; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Fogf(pname: DummyEnum; param: single) := z_Fogf(pname, param); - static procedure MinSampleShadingARB(value: single); - external 'opengl32.dll' name 'glMinSampleShadingARB'; + {$endregion 3.11 - Fog} - static procedure NamedStringARB(&type: UInt32; namelen: Int32; name: ^SByte; stringlen: Int32; string: ^SByte); - external 'opengl32.dll' name 'glNamedStringARB'; + {$endregion 3 - Rasterization} - static procedure DeleteNamedStringARB(namelen: Int32; name: ^SByte); - external 'opengl32.dll' name 'glDeleteNamedStringARB'; + {$region 4 - Per-Fragment Operations and the Framebuffer} - static procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; path: ^IntPtr; length: ^Int32); - external 'opengl32.dll' name 'glCompileShaderIncludeARB'; + {$region 4.1 - Per-Fragment Operations} - static function IsNamedStringARB(namelen: Int32; name: ^SByte): boolean; - external 'opengl32.dll' name 'glIsNamedStringARB'; + {$region 4.1.4 - Alpha Test} - static procedure GetNamedStringARB(namelen: Int32; name: ^SByte; bufSize: Int32; stringlen: ^Int32; string: ^SByte); - external 'opengl32.dll' name 'glGetNamedStringARB'; + private static procedure _AlphaFunc(func: DummyEnum; ref: single); external 'opengl32.dll' name 'glAlphaFunc'; + ///OpenGL 3.0 + public static z_AlphaFunc: procedure(func: DummyEnum; ref: single) := _AlphaFunc; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AlphaFunc(func: DummyEnum; ref: single) := z_AlphaFunc(func, ref); - static procedure GetNamedStringivARB(namelen: Int32; name: ^SByte; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetNamedStringivARB'; + {$endregion 4.1.4 - Alpha Test} - static procedure BufferPageCommitmentARB(target: UInt32; offset: IntPtr; size: UIntPtr; commit: boolean); - external 'opengl32.dll' name 'glBufferPageCommitmentARB'; + {$endregion 4.1 - Per-Fragment Operations} - static procedure NamedBufferPageCommitmentARB(buffer: UInt32; offset: IntPtr; size: UIntPtr; commit: boolean); - external 'opengl32.dll' name 'glNamedBufferPageCommitmentARB'; + {$region 4.3 - Drawing, Reading, and Copying Pixels} - static procedure TexPageCommitmentARB(target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: boolean); - external 'opengl32.dll' name 'glTexPageCommitmentARB'; + {$region 4.3.3 - Copying Pixels} - static procedure TexBufferARB(target: UInt32; internalformat: UInt32; buffer: UInt32); - external 'opengl32.dll' name 'glTexBufferARB'; + private static procedure _CopyPixels(x: Int32; y: Int32; width: Int32; height: Int32; &type: DummyEnum); external 'opengl32.dll' name 'glCopyPixels'; + ///OpenGL 3.0 + public static z_CopyPixels: procedure(x: Int32; y: Int32; width: Int32; height: Int32; &type: DummyEnum) := _CopyPixels; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyPixels(x: Int32; y: Int32; width: Int32; height: Int32; &type: DummyEnum) := z_CopyPixels(x, y, width, height, &type); - static procedure VertexAttribDivisorARB(index: UInt32; divisor: UInt32); - external 'opengl32.dll' name 'glVertexAttribDivisorARB'; + {$endregion 4.3.3 - Copying Pixels} - static procedure GetVertexAttribLui64vARB(index: UInt32; pname: UInt32; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetVertexAttribLui64vARB'; + {$endregion 4.3 - Drawing, Reading, and Copying Pixels} - static procedure VertexAttribL1ui64ARB(index: UInt32; x: UInt64); - external 'opengl32.dll' name 'glVertexAttribL1ui64ARB'; + {$endregion 4 - Per-Fragment Operations and the Framebuffer} - static procedure VertexAttribL1ui64vARB(index: UInt32; v: ^UInt64); - external 'opengl32.dll' name 'glVertexAttribL1ui64vARB'; + {$region 5 - Special Functions} - static procedure ClampColorARB(target: ErrorCode; clamp: ErrorCode); - external 'opengl32.dll' name 'glClampColorARB'; + {$region 5.4 - Display Lists} - static procedure DrawBuffersARB(n: Int32; bufs: ^ErrorCode); - external 'opengl32.dll' name 'glDrawBuffersARB'; + private static procedure _NewList(list: UInt32; mode: DummyEnum); external 'opengl32.dll' name 'glNewList'; + ///OpenGL 3.0 + public static z_NewList: procedure(list: UInt32; mode: DummyEnum) := _NewList; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NewList(list: UInt32; mode: DummyEnum) := z_NewList(list, mode); - static procedure ProgramStringARB(target: ErrorCode; format: ErrorCode; len: Int32; string: pointer); - external 'opengl32.dll' name 'glProgramStringARB'; + private static procedure _ListBase(base: UInt32); external 'opengl32.dll' name 'glListBase'; + ///OpenGL 3.0 + public static z_ListBase: procedure(base: UInt32) := _ListBase; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListBase(base: UInt32) := z_ListBase(base); - static procedure BindProgramARB(target: ErrorCode; &program: UInt32); - external 'opengl32.dll' name 'glBindProgramARB'; + private static function _GenLists(range: Int32): UInt32; external 'opengl32.dll' name 'glGenLists'; + ///OpenGL 3.0 + public static z_GenLists: function(range: Int32): UInt32 := _GenLists; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenLists(range: Int32): UInt32 := z_GenLists(range); - static procedure DeleteProgramsARB(n: Int32; programs: ^UInt32); - external 'opengl32.dll' name 'glDeleteProgramsARB'; + private static procedure _EndList; external 'opengl32.dll' name 'glEndList'; + ///OpenGL 3.0 + public static z_EndList: procedure := _EndList; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndList := z_EndList; - static procedure GenProgramsARB(n: Int32; programs: ^UInt32); - external 'opengl32.dll' name 'glGenProgramsARB'; + private static procedure _CallLists(n: Int32; &type: DummyEnum; lists: pointer); external 'opengl32.dll' name 'glCallLists'; + ///OpenGL 3.0 + public static z_CallLists: procedure(n: Int32; &type: DummyEnum; lists: pointer) := _CallLists; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CallLists(n: Int32; &type: DummyEnum; lists: pointer) := z_CallLists(n, &type, lists); - static procedure ProgramEnvParameter4dARB(target: ErrorCode; index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glProgramEnvParameter4dARB'; + {$endregion 5.4 - Display Lists} - static procedure ProgramEnvParameter4dvARB(target: ErrorCode; index: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glProgramEnvParameter4dvARB'; + {$endregion 5 - Special Functions} - static procedure ProgramEnvParameter4fARB(target: ErrorCode; index: UInt32; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glProgramEnvParameter4fARB'; + {$region 6 - State and State Requests} - static procedure ProgramEnvParameter4fvARB(target: ErrorCode; index: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glProgramEnvParameter4fvARB'; + {$region 6.1 - Querying GL State} - static procedure ProgramLocalParameter4dARB(target: ErrorCode; index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glProgramLocalParameter4dARB'; + {$region 6.1.3 - Enumerated Queries} - static procedure ProgramLocalParameter4dvARB(target: ErrorCode; index: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glProgramLocalParameter4dvARB'; + private static procedure _GetTexEnviv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glGetTexEnviv'; + ///OpenGL 3.0 + public static z_GetTexEnviv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _GetTexEnviv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnviv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetTexEnviv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnviv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetTexEnviv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnviv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexEnviv(target, pname, ¶ms); - static procedure ProgramLocalParameter4fARB(target: ErrorCode; index: UInt32; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glProgramLocalParameter4fARB'; + private static procedure _GetTexEnvfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glGetTexEnvfv'; + ///OpenGL 3.0 + public static z_GetTexEnvfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _GetTexEnvfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnvfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetTexEnvfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnvfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetTexEnvfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnvfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexEnvfv(target, pname, ¶ms); - static procedure ProgramLocalParameter4fvARB(target: ErrorCode; index: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glProgramLocalParameter4fvARB'; + private static procedure _GetMaterialfv(face: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glGetMaterialfv'; + ///OpenGL 3.0 + public static z_GetMaterialfv: procedure(face: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _GetMaterialfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMaterialfv(face: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetMaterialfv(face, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMaterialfv(face: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetMaterialfv(face, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMaterialfv(face: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetMaterialfv(face, pname, ¶ms); - static procedure GetProgramEnvParameterdvARB(target: ErrorCode; index: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glGetProgramEnvParameterdvARB'; + private static procedure _GetLightfv(light: DummyEnum; pname: DummyEnum; ¶ms: pointer); external 'opengl32.dll' name 'glGetLightfv'; + ///OpenGL 3.0 + public static z_GetLightfv: procedure(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := _GetLightfv; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLightfv(light: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetLightfv(light, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLightfv(light: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetLightfv(light, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLightfv(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetLightfv(light, pname, ¶ms); - static procedure GetProgramEnvParameterfvARB(target: ErrorCode; index: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetProgramEnvParameterfvARB'; + {$endregion 6.1.3 - Enumerated Queries} - static procedure GetProgramLocalParameterdvARB(target: ErrorCode; index: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glGetProgramLocalParameterdvARB'; + {$region 6.1.5 - Stipple Query} - static procedure GetProgramLocalParameterfvARB(target: ErrorCode; index: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetProgramLocalParameterfvARB'; + private static procedure _GetPolygonStipple(mask: pointer); external 'opengl32.dll' name 'glGetPolygonStipple'; + ///OpenGL 3.0 + public static z_GetPolygonStipple: procedure(mask: pointer) := _GetPolygonStipple; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPolygonStipple(mask: array of Byte) := GetPolygonStipple(mask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPolygonStipple(var mask: Byte) := GetPolygonStipple(@mask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPolygonStipple(mask: pointer) := z_GetPolygonStipple(mask); - static procedure GetProgramivARB(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetProgramivARB'; + {$endregion 6.1.5 - Stipple Query} - static procedure GetProgramStringARB(target: ErrorCode; pname: ErrorCode; string: pointer); - external 'opengl32.dll' name 'glGetProgramStringARB'; + {$region 6.1.7 - Color Table Query} - static function IsProgramARB(&program: UInt32): Byte; - external 'opengl32.dll' name 'glIsProgramARB'; + ///OpenGL 3.0 + public z_GetColorTableParameteriv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetColorTableParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetColorTableParameteriv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameteriv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetColorTableParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetColorTableParameteriv(target, pname, ¶ms); - static procedure CurrentPaletteMatrixARB(index: Int32); - external 'opengl32.dll' name 'glCurrentPaletteMatrixARB'; + ///OpenGL 3.0 + public z_GetColorTableParameterfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetColorTableParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetColorTableParameterfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetColorTableParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetColorTableParameterfv(target, pname, ¶ms); - static procedure MatrixIndexubvARB(size: Int32; indices: ^Byte); - external 'opengl32.dll' name 'glMatrixIndexubvARB'; + ///OpenGL 3.0 + public z_GetColorTable: procedure(target: DummyEnum; format: DummyEnum; &type: DummyEnum; table: pointer) := GetGLFuncOrNil&('glGetColorTable'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTable(target: DummyEnum; format: DummyEnum; &type: DummyEnum; table: pointer) := z_GetColorTable(target, format, &type, table); - static procedure MatrixIndexusvARB(size: Int32; indices: ^UInt16); - external 'opengl32.dll' name 'glMatrixIndexusvARB'; + {$endregion 6.1.7 - Color Table Query} - static procedure MatrixIndexuivARB(size: Int32; indices: ^UInt32); - external 'opengl32.dll' name 'glMatrixIndexuivARB'; + {$region 6.1.8 - Convolution Query} - static procedure MatrixIndexPointerARB(size: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glMatrixIndexPointerARB'; + ///OpenGL 3.0 + public z_GetSeparableFilter: procedure(target: DummyEnum; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer; span: pointer) := GetGLFuncOrNil&('glGetSeparableFilter'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSeparableFilter(target: DummyEnum; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer; span: pointer) := z_GetSeparableFilter(target, format, &type, row, column, span); - static procedure SampleCoverageARB(value: single; invert: Byte); - external 'opengl32.dll' name 'glSampleCoverageARB'; + ///OpenGL 3.0 + public z_GetConvolutionParameteriv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetConvolutionParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetConvolutionParameteriv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameteriv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetConvolutionParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetConvolutionParameteriv(target, pname, ¶ms); - static procedure ActiveTextureARB(texture: ErrorCode); - external 'opengl32.dll' name 'glActiveTextureARB'; + ///OpenGL 3.0 + public z_GetConvolutionParameterfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetConvolutionParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetConvolutionParameterfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetConvolutionParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetConvolutionParameterfv(target, pname, ¶ms); - static procedure ClientActiveTextureARB(texture: ErrorCode); - external 'opengl32.dll' name 'glClientActiveTextureARB'; + ///OpenGL 3.0 + public z_GetConvolutionFilter: procedure(target: DummyEnum; format: DummyEnum; &type: DummyEnum; image: pointer) := GetGLFuncOrNil&('glGetConvolutionFilter'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionFilter(target: DummyEnum; format: DummyEnum; &type: DummyEnum; image: pointer) := z_GetConvolutionFilter(target, format, &type, image); - static procedure MultiTexCoord1dARB(target: ErrorCode; s: double); - external 'opengl32.dll' name 'glMultiTexCoord1dARB'; + {$endregion 6.1.8 - Convolution Query} - static procedure MultiTexCoord1dvARB(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord1dvARB'; + {$region 6.1.9 - Histogram Query} - static procedure MultiTexCoord1fARB(target: ErrorCode; s: single); - external 'opengl32.dll' name 'glMultiTexCoord1fARB'; + ///OpenGL 3.0 + public z_ResetHistogram: procedure(target: DummyEnum) := GetGLFuncOrNil&('glResetHistogram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResetHistogram(target: DummyEnum) := z_ResetHistogram(target); - static procedure MultiTexCoord1fvARB(target: ErrorCode; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord1fvARB'; + ///OpenGL 3.0 + public z_GetHistogramParameteriv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetHistogramParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetHistogramParameteriv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameteriv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetHistogramParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetHistogramParameteriv(target, pname, ¶ms); + + ///OpenGL 3.0 + public z_GetHistogramParameterfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetHistogramParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetHistogramParameterfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetHistogramParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetHistogramParameterfv(target, pname, ¶ms); + + ///OpenGL 3.0 + public z_GetHistogram: procedure(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := GetGLFuncOrNil&('glGetHistogram'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogram(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := z_GetHistogram(target, reset, format, &type, values); - static procedure MultiTexCoord1iARB(target: ErrorCode; s: Int32); - external 'opengl32.dll' name 'glMultiTexCoord1iARB'; + {$endregion 6.1.9 - Histogram Query} + + {$region 6.1.10 - Minmax Query} - static procedure MultiTexCoord1ivARB(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord1ivARB'; + ///OpenGL 3.0 + public z_ResetMinmax: procedure(target: DummyEnum) := GetGLFuncOrNil&('glResetMinmax'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResetMinmax(target: DummyEnum) := z_ResetMinmax(target); - static procedure MultiTexCoord1sARB(target: ErrorCode; s: Int16); - external 'opengl32.dll' name 'glMultiTexCoord1sARB'; + ///OpenGL 3.0 + public z_GetMinmaxParameteriv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMinmaxParameteriv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetMinmaxParameteriv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameteriv(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetMinmaxParameteriv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameteriv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetMinmaxParameteriv(target, pname, ¶ms); - static procedure MultiTexCoord1svARB(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord1svARB'; + ///OpenGL 3.0 + public z_GetMinmaxParameterfv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMinmaxParameterfv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetMinmaxParameterfv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterfv(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetMinmaxParameterfv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterfv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetMinmaxParameterfv(target, pname, ¶ms); - static procedure MultiTexCoord2dARB(target: ErrorCode; s: double; t: double); - external 'opengl32.dll' name 'glMultiTexCoord2dARB'; + ///OpenGL 3.0 + public z_GetMinmax: procedure(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := GetGLFuncOrNil&('glGetMinmax'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmax(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := z_GetMinmax(target, reset, format, &type, values); - static procedure MultiTexCoord2dvARB(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord2dvARB'; + {$endregion 6.1.10 - Minmax Query} - static procedure MultiTexCoord2fARB(target: ErrorCode; s: single; t: single); - external 'opengl32.dll' name 'glMultiTexCoord2fARB'; + {$endregion 6.1.10 - Querying GL State} - static procedure MultiTexCoord2fvARB(target: ErrorCode; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord2fvARB'; - - static procedure MultiTexCoord2iARB(target: ErrorCode; s: Int32; t: Int32); - external 'opengl32.dll' name 'glMultiTexCoord2iARB'; - - static procedure MultiTexCoord2ivARB(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord2ivARB'; - - static procedure MultiTexCoord2sARB(target: ErrorCode; s: Int16; t: Int16); - external 'opengl32.dll' name 'glMultiTexCoord2sARB'; - - static procedure MultiTexCoord2svARB(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord2svARB'; - - static procedure MultiTexCoord3dARB(target: ErrorCode; s: double; t: double; r: double); - external 'opengl32.dll' name 'glMultiTexCoord3dARB'; - - static procedure MultiTexCoord3dvARB(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord3dvARB'; - - static procedure MultiTexCoord3fARB(target: ErrorCode; s: single; t: single; r: single); - external 'opengl32.dll' name 'glMultiTexCoord3fARB'; - - static procedure MultiTexCoord3fvARB(target: ErrorCode; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord3fvARB'; - - static procedure MultiTexCoord3iARB(target: ErrorCode; s: Int32; t: Int32; r: Int32); - external 'opengl32.dll' name 'glMultiTexCoord3iARB'; - - static procedure MultiTexCoord3ivARB(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord3ivARB'; - - static procedure MultiTexCoord3sARB(target: ErrorCode; s: Int16; t: Int16; r: Int16); - external 'opengl32.dll' name 'glMultiTexCoord3sARB'; - - static procedure MultiTexCoord3svARB(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord3svARB'; - - static procedure MultiTexCoord4dARB(target: ErrorCode; s: double; t: double; r: double; q: double); - external 'opengl32.dll' name 'glMultiTexCoord4dARB'; - - static procedure MultiTexCoord4dvARB(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord4dvARB'; - - static procedure MultiTexCoord4fARB(target: ErrorCode; s: single; t: single; r: single; q: single); - external 'opengl32.dll' name 'glMultiTexCoord4fARB'; - - static procedure MultiTexCoord4fvARB(target: ErrorCode; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord4fvARB'; - - static procedure MultiTexCoord4iARB(target: ErrorCode; s: Int32; t: Int32; r: Int32; q: Int32); - external 'opengl32.dll' name 'glMultiTexCoord4iARB'; - - static procedure MultiTexCoord4ivARB(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord4ivARB'; - - static procedure MultiTexCoord4sARB(target: ErrorCode; s: Int16; t: Int16; r: Int16; q: Int16); - external 'opengl32.dll' name 'glMultiTexCoord4sARB'; - - static procedure MultiTexCoord4svARB(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord4svARB'; - - static procedure GenQueriesARB(n: Int32; ids: ^UInt32); - external 'opengl32.dll' name 'glGenQueriesARB'; - - static procedure DeleteQueriesARB(n: Int32; ids: ^UInt32); - external 'opengl32.dll' name 'glDeleteQueriesARB'; - - static function IsQueryARB(id: UInt32): Byte; - external 'opengl32.dll' name 'glIsQueryARB'; - - static procedure BeginQueryARB(target: ErrorCode; id: UInt32); - external 'opengl32.dll' name 'glBeginQueryARB'; - - static procedure EndQueryARB(target: ErrorCode); - external 'opengl32.dll' name 'glEndQueryARB'; - - static procedure GetQueryivARB(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetQueryivARB'; - - static procedure GetQueryObjectivARB(id: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetQueryObjectivARB'; - - static procedure GetQueryObjectuivARB(id: UInt32; pname: ErrorCode; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetQueryObjectuivARB'; - - static procedure PointParameterfARB(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glPointParameterfARB'; - - static procedure PointParameterfvARB(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glPointParameterfvARB'; - - static function GetGraphicsResetStatusARB: ErrorCode; - external 'opengl32.dll' name 'glGetGraphicsResetStatusARB'; - - static procedure GetnMapdvARB(target: ErrorCode; query: ErrorCode; bufSize: Int32; v: ^double); - external 'opengl32.dll' name 'glGetnMapdvARB'; - - static procedure GetnMapfvARB(target: ErrorCode; query: ErrorCode; bufSize: Int32; v: ^single); - external 'opengl32.dll' name 'glGetnMapfvARB'; - - static procedure GetnMapivARB(target: ErrorCode; query: ErrorCode; bufSize: Int32; v: ^Int32); - external 'opengl32.dll' name 'glGetnMapivARB'; - - static procedure GetnPixelMapfvARB(map: ErrorCode; bufSize: Int32; values: ^single); - external 'opengl32.dll' name 'glGetnPixelMapfvARB'; - - static procedure GetnPixelMapuivARB(map: ErrorCode; bufSize: Int32; values: ^UInt32); - external 'opengl32.dll' name 'glGetnPixelMapuivARB'; - - static procedure GetnPixelMapusvARB(map: ErrorCode; bufSize: Int32; values: ^UInt16); - external 'opengl32.dll' name 'glGetnPixelMapusvARB'; - - static procedure GetnPolygonStippleARB(bufSize: Int32; pattern: ^Byte); - external 'opengl32.dll' name 'glGetnPolygonStippleARB'; - - static procedure GetnColorTableARB(target: ErrorCode; format: ErrorCode; &type: ErrorCode; bufSize: Int32; table: pointer); - external 'opengl32.dll' name 'glGetnColorTableARB'; - - static procedure GetnConvolutionFilterARB(target: ErrorCode; format: ErrorCode; &type: ErrorCode; bufSize: Int32; image: pointer); - external 'opengl32.dll' name 'glGetnConvolutionFilterARB'; - - static procedure GetnSeparableFilterARB(target: ErrorCode; format: ErrorCode; &type: ErrorCode; rowBufSize: Int32; row: pointer; columnBufSize: Int32; column: pointer; span: pointer); - external 'opengl32.dll' name 'glGetnSeparableFilterARB'; - - static procedure GetnHistogramARB(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; bufSize: Int32; values: pointer); - external 'opengl32.dll' name 'glGetnHistogramARB'; - - static procedure GetnMinmaxARB(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; bufSize: Int32; values: pointer); - external 'opengl32.dll' name 'glGetnMinmaxARB'; - - static procedure DeleteObjectARB(obj: GLhandleARB); - external 'opengl32.dll' name 'glDeleteObjectARB'; - - static function GetHandleARB(pname: ErrorCode): GLhandleARB; - external 'opengl32.dll' name 'glGetHandleARB'; - - static procedure DetachObjectARB(containerObj: GLhandleARB; attachedObj: GLhandleARB); - external 'opengl32.dll' name 'glDetachObjectARB'; - - static function CreateShaderObjectARB(shaderType: ErrorCode): GLhandleARB; - external 'opengl32.dll' name 'glCreateShaderObjectARB'; - - static procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; string: ^^Byte; length: ^Int32); - external 'opengl32.dll' name 'glShaderSourceARB'; - - static procedure CompileShaderARB(shaderObj: GLhandleARB); - external 'opengl32.dll' name 'glCompileShaderARB'; - - static function CreateProgramObjectARB: GLhandleARB; - external 'opengl32.dll' name 'glCreateProgramObjectARB'; - - static procedure AttachObjectARB(containerObj: GLhandleARB; obj: GLhandleARB); - external 'opengl32.dll' name 'glAttachObjectARB'; - - static procedure LinkProgramARB(programObj: GLhandleARB); - external 'opengl32.dll' name 'glLinkProgramARB'; - - static procedure UseProgramObjectARB(programObj: GLhandleARB); - external 'opengl32.dll' name 'glUseProgramObjectARB'; - - static procedure ValidateProgramARB(programObj: GLhandleARB); - external 'opengl32.dll' name 'glValidateProgramARB'; - - static procedure Uniform1fARB(location: Int32; v0: single); - external 'opengl32.dll' name 'glUniform1fARB'; - - static procedure Uniform2fARB(location: Int32; v0: single; v1: single); - external 'opengl32.dll' name 'glUniform2fARB'; - - static procedure Uniform3fARB(location: Int32; v0: single; v1: single; v2: single); - external 'opengl32.dll' name 'glUniform3fARB'; - - static procedure Uniform4fARB(location: Int32; v0: single; v1: single; v2: single; v3: single); - external 'opengl32.dll' name 'glUniform4fARB'; - - static procedure Uniform1iARB(location: Int32; v0: Int32); - external 'opengl32.dll' name 'glUniform1iARB'; - - static procedure Uniform2iARB(location: Int32; v0: Int32; v1: Int32); - external 'opengl32.dll' name 'glUniform2iARB'; - - static procedure Uniform3iARB(location: Int32; v0: Int32; v1: Int32; v2: Int32); - external 'opengl32.dll' name 'glUniform3iARB'; - - static procedure Uniform4iARB(location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32); - external 'opengl32.dll' name 'glUniform4iARB'; - - static procedure Uniform1fvARB(location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glUniform1fvARB'; - - static procedure Uniform2fvARB(location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glUniform2fvARB'; - - static procedure Uniform3fvARB(location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glUniform3fvARB'; - - static procedure Uniform4fvARB(location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glUniform4fvARB'; - - static procedure Uniform1ivARB(location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glUniform1ivARB'; - - static procedure Uniform2ivARB(location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glUniform2ivARB'; - - static procedure Uniform3ivARB(location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glUniform3ivARB'; - - static procedure Uniform4ivARB(location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glUniform4ivARB'; - - static procedure UniformMatrix2fvARB(location: Int32; count: Int32; transpose: Byte; value: ^single); - external 'opengl32.dll' name 'glUniformMatrix2fvARB'; - - static procedure UniformMatrix3fvARB(location: Int32; count: Int32; transpose: Byte; value: ^single); - external 'opengl32.dll' name 'glUniformMatrix3fvARB'; - - static procedure UniformMatrix4fvARB(location: Int32; count: Int32; transpose: Byte; value: ^single); - external 'opengl32.dll' name 'glUniformMatrix4fvARB'; - - static procedure GetObjectParameterfvARB(obj: GLhandleARB; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetObjectParameterfvARB'; - - static procedure GetObjectParameterivARB(obj: GLhandleARB; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetObjectParameterivARB'; - - static procedure GetInfoLogARB(obj: GLhandleARB; maxLength: Int32; length: ^Int32; infoLog: ^Byte); - external 'opengl32.dll' name 'glGetInfoLogARB'; - - static procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; count: ^Int32; obj: ^GLhandleARB); - external 'opengl32.dll' name 'glGetAttachedObjectsARB'; - - static function GetUniformLocationARB(programObj: GLhandleARB; name: ^Byte): Int32; - external 'opengl32.dll' name 'glGetUniformLocationARB'; - - static procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: ^Int32; size: ^Int32; &type: ^ErrorCode; name: ^Byte); - external 'opengl32.dll' name 'glGetActiveUniformARB'; - - static procedure GetUniformfvARB(programObj: GLhandleARB; location: Int32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetUniformfvARB'; - - static procedure GetUniformivARB(programObj: GLhandleARB; location: Int32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetUniformivARB'; - - static procedure GetShaderSourceARB(obj: GLhandleARB; maxLength: Int32; length: ^Int32; source: ^Byte); - external 'opengl32.dll' name 'glGetShaderSourceARB'; - - static procedure CompressedTexImage3DARB(target: ErrorCode; level: Int32; internalformat: ErrorCode; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexImage3DARB'; - - static procedure CompressedTexImage2DARB(target: ErrorCode; level: Int32; internalformat: ErrorCode; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexImage2DARB'; - - static procedure CompressedTexImage1DARB(target: ErrorCode; level: Int32; internalformat: ErrorCode; width: Int32; border: Int32; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexImage1DARB'; - - static procedure CompressedTexSubImage3DARB(target: ErrorCode; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: ErrorCode; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexSubImage3DARB'; - - static procedure CompressedTexSubImage2DARB(target: ErrorCode; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: ErrorCode; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexSubImage2DARB'; - - static procedure CompressedTexSubImage1DARB(target: ErrorCode; level: Int32; xoffset: Int32; width: Int32; format: ErrorCode; imageSize: Int32; data: pointer); - external 'opengl32.dll' name 'glCompressedTexSubImage1DARB'; - - static procedure GetCompressedTexImageARB(target: ErrorCode; level: Int32; img: pointer); - external 'opengl32.dll' name 'glGetCompressedTexImageARB'; - - static procedure LoadTransposeMatrixfARB(m: ^single); - external 'opengl32.dll' name 'glLoadTransposeMatrixfARB'; - - static procedure LoadTransposeMatrixdARB(m: ^double); - external 'opengl32.dll' name 'glLoadTransposeMatrixdARB'; - - static procedure MultTransposeMatrixfARB(m: ^single); - external 'opengl32.dll' name 'glMultTransposeMatrixfARB'; - - static procedure MultTransposeMatrixdARB(m: ^double); - external 'opengl32.dll' name 'glMultTransposeMatrixdARB'; - - static procedure WeightbvARB(size: Int32; weights: ^SByte); - external 'opengl32.dll' name 'glWeightbvARB'; - - static procedure WeightsvARB(size: Int32; weights: ^Int16); - external 'opengl32.dll' name 'glWeightsvARB'; - - static procedure WeightivARB(size: Int32; weights: ^Int32); - external 'opengl32.dll' name 'glWeightivARB'; - - static procedure WeightfvARB(size: Int32; weights: ^single); - external 'opengl32.dll' name 'glWeightfvARB'; - - static procedure WeightdvARB(size: Int32; weights: ^double); - external 'opengl32.dll' name 'glWeightdvARB'; - - static procedure WeightubvARB(size: Int32; weights: ^Byte); - external 'opengl32.dll' name 'glWeightubvARB'; - - static procedure WeightusvARB(size: Int32; weights: ^UInt16); - external 'opengl32.dll' name 'glWeightusvARB'; - - static procedure WeightuivARB(size: Int32; weights: ^UInt32); - external 'opengl32.dll' name 'glWeightuivARB'; - - static procedure WeightPointerARB(size: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glWeightPointerARB'; - - static procedure VertexBlendARB(count: Int32); - external 'opengl32.dll' name 'glVertexBlendARB'; - - static procedure BindBufferARB(target: ErrorCode; buffer: UInt32); - external 'opengl32.dll' name 'glBindBufferARB'; - - static procedure DeleteBuffersARB(n: Int32; buffers: ^UInt32); - external 'opengl32.dll' name 'glDeleteBuffersARB'; - - static procedure GenBuffersARB(n: Int32; buffers: ^UInt32); - external 'opengl32.dll' name 'glGenBuffersARB'; - - static function IsBufferARB(buffer: UInt32): Byte; - external 'opengl32.dll' name 'glIsBufferARB'; - - static procedure BufferDataARB(target: ErrorCode; size: UIntPtr; data: pointer; usage: ErrorCode); - external 'opengl32.dll' name 'glBufferDataARB'; - - static procedure BufferSubDataARB(target: ErrorCode; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glBufferSubDataARB'; - - static procedure GetBufferSubDataARB(target: ErrorCode; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glGetBufferSubDataARB'; - - static function MapBufferARB(target: ErrorCode; access: ErrorCode): pointer; - external 'opengl32.dll' name 'glMapBufferARB'; - - static function UnmapBufferARB(target: ErrorCode): Byte; - external 'opengl32.dll' name 'glUnmapBufferARB'; - - static procedure GetBufferParameterivARB(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetBufferParameterivARB'; - - static procedure GetBufferPointervARB(target: ErrorCode; pname: ErrorCode; ¶ms: ^pointer); - external 'opengl32.dll' name 'glGetBufferPointervARB'; - - static procedure VertexAttrib1dARB(index: UInt32; x: double); - external 'opengl32.dll' name 'glVertexAttrib1dARB'; - - static procedure VertexAttrib1dvARB(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib1dvARB'; - - static procedure VertexAttrib1fARB(index: UInt32; x: single); - external 'opengl32.dll' name 'glVertexAttrib1fARB'; - - static procedure VertexAttrib1fvARB(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib1fvARB'; - - static procedure VertexAttrib1sARB(index: UInt32; x: Int16); - external 'opengl32.dll' name 'glVertexAttrib1sARB'; - - static procedure VertexAttrib1svARB(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib1svARB'; - - static procedure VertexAttrib2dARB(index: UInt32; x: double; y: double); - external 'opengl32.dll' name 'glVertexAttrib2dARB'; - - static procedure VertexAttrib2dvARB(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib2dvARB'; - - static procedure VertexAttrib2fARB(index: UInt32; x: single; y: single); - external 'opengl32.dll' name 'glVertexAttrib2fARB'; - - static procedure VertexAttrib2fvARB(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib2fvARB'; - - static procedure VertexAttrib2sARB(index: UInt32; x: Int16; y: Int16); - external 'opengl32.dll' name 'glVertexAttrib2sARB'; - - static procedure VertexAttrib2svARB(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib2svARB'; - - static procedure VertexAttrib3dARB(index: UInt32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glVertexAttrib3dARB'; - - static procedure VertexAttrib3dvARB(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib3dvARB'; - - static procedure VertexAttrib3fARB(index: UInt32; x: single; y: single; z: single); - external 'opengl32.dll' name 'glVertexAttrib3fARB'; - - static procedure VertexAttrib3fvARB(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib3fvARB'; - - static procedure VertexAttrib3sARB(index: UInt32; x: Int16; y: Int16; z: Int16); - external 'opengl32.dll' name 'glVertexAttrib3sARB'; - - static procedure VertexAttrib3svARB(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib3svARB'; - - static procedure VertexAttrib4NbvARB(index: UInt32; v: ^SByte); - external 'opengl32.dll' name 'glVertexAttrib4NbvARB'; - - static procedure VertexAttrib4NivARB(index: UInt32; v: ^Int32); - external 'opengl32.dll' name 'glVertexAttrib4NivARB'; - - static procedure VertexAttrib4NsvARB(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib4NsvARB'; - - static procedure VertexAttrib4NubARB(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte); - external 'opengl32.dll' name 'glVertexAttrib4NubARB'; - - static procedure VertexAttrib4NubvARB(index: UInt32; v: ^Byte); - external 'opengl32.dll' name 'glVertexAttrib4NubvARB'; - - static procedure VertexAttrib4NuivARB(index: UInt32; v: ^UInt32); - external 'opengl32.dll' name 'glVertexAttrib4NuivARB'; - - static procedure VertexAttrib4NusvARB(index: UInt32; v: ^UInt16); - external 'opengl32.dll' name 'glVertexAttrib4NusvARB'; - - static procedure VertexAttrib4bvARB(index: UInt32; v: ^SByte); - external 'opengl32.dll' name 'glVertexAttrib4bvARB'; - - static procedure VertexAttrib4dARB(index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glVertexAttrib4dARB'; - - static procedure VertexAttrib4dvARB(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib4dvARB'; - - static procedure VertexAttrib4fARB(index: UInt32; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glVertexAttrib4fARB'; - - static procedure VertexAttrib4fvARB(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib4fvARB'; - - static procedure VertexAttrib4ivARB(index: UInt32; v: ^Int32); - external 'opengl32.dll' name 'glVertexAttrib4ivARB'; - - static procedure VertexAttrib4sARB(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16); - external 'opengl32.dll' name 'glVertexAttrib4sARB'; - - static procedure VertexAttrib4svARB(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib4svARB'; - - static procedure VertexAttrib4ubvARB(index: UInt32; v: ^Byte); - external 'opengl32.dll' name 'glVertexAttrib4ubvARB'; - - static procedure VertexAttrib4uivARB(index: UInt32; v: ^UInt32); - external 'opengl32.dll' name 'glVertexAttrib4uivARB'; - - static procedure VertexAttrib4usvARB(index: UInt32; v: ^UInt16); - external 'opengl32.dll' name 'glVertexAttrib4usvARB'; - - static procedure VertexAttribPointerARB(index: UInt32; size: Int32; &type: ErrorCode; normalized: Byte; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexAttribPointerARB'; - - static procedure EnableVertexAttribArrayARB(index: UInt32); - external 'opengl32.dll' name 'glEnableVertexAttribArrayARB'; - - static procedure DisableVertexAttribArrayARB(index: UInt32); - external 'opengl32.dll' name 'glDisableVertexAttribArrayARB'; - - static procedure GetVertexAttribdvARB(index: UInt32; pname: ErrorCode; ¶ms: ^double); - external 'opengl32.dll' name 'glGetVertexAttribdvARB'; - - static procedure GetVertexAttribfvARB(index: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetVertexAttribfvARB'; - - static procedure GetVertexAttribivARB(index: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVertexAttribivARB'; - - static procedure GetVertexAttribPointervARB(index: UInt32; pname: ErrorCode; _pointer: ^pointer); - external 'opengl32.dll' name 'glGetVertexAttribPointervARB'; - - static procedure BindAttribLocationARB(programObj: GLhandleARB; index: UInt32; name: ^Byte); - external 'opengl32.dll' name 'glBindAttribLocationARB'; - - static procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: ^Int32; size: ^Int32; &type: ^ErrorCode; name: ^Byte); - external 'opengl32.dll' name 'glGetActiveAttribARB'; - - static function GetAttribLocationARB(programObj: GLhandleARB; name: ^Byte): Int32; - external 'opengl32.dll' name 'glGetAttribLocationARB'; - - static procedure WindowPos2dARB(x: double; y: double); - external 'opengl32.dll' name 'glWindowPos2dARB'; - - static procedure WindowPos2dvARB(v: ^double); - external 'opengl32.dll' name 'glWindowPos2dvARB'; - - static procedure WindowPos2fARB(x: single; y: single); - external 'opengl32.dll' name 'glWindowPos2fARB'; - - static procedure WindowPos2fvARB(v: ^single); - external 'opengl32.dll' name 'glWindowPos2fvARB'; - - static procedure WindowPos2iARB(x: Int32; y: Int32); - external 'opengl32.dll' name 'glWindowPos2iARB'; - - static procedure WindowPos2ivARB(v: ^Int32); - external 'opengl32.dll' name 'glWindowPos2ivARB'; - - static procedure WindowPos2sARB(x: Int16; y: Int16); - external 'opengl32.dll' name 'glWindowPos2sARB'; - - static procedure WindowPos2svARB(v: ^Int16); - external 'opengl32.dll' name 'glWindowPos2svARB'; - - static procedure WindowPos3dARB(x: double; y: double; z: double); - external 'opengl32.dll' name 'glWindowPos3dARB'; - - static procedure WindowPos3dvARB(v: ^double); - external 'opengl32.dll' name 'glWindowPos3dvARB'; - - static procedure WindowPos3fARB(x: single; y: single; z: single); - external 'opengl32.dll' name 'glWindowPos3fARB'; - - static procedure WindowPos3fvARB(v: ^single); - external 'opengl32.dll' name 'glWindowPos3fvARB'; - - static procedure WindowPos3iARB(x: Int32; y: Int32; z: Int32); - external 'opengl32.dll' name 'glWindowPos3iARB'; - - static procedure WindowPos3ivARB(v: ^Int32); - external 'opengl32.dll' name 'glWindowPos3ivARB'; - - static procedure WindowPos3sARB(x: Int16; y: Int16; z: Int16); - external 'opengl32.dll' name 'glWindowPos3sARB'; - - static procedure WindowPos3svARB(v: ^Int16); - external 'opengl32.dll' name 'glWindowPos3svARB'; - - {$endregion ARB} + {$endregion 6.1.10 - State and State Requests} end; - /// Расширения, которые встречаются у многих видеокарт - gl_EXT = static class + wgl = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; - {$region EXT} + public z_BindDisplayColorTableEXT: function(id: UInt16): Byte := GetGLFuncOrNil&('wglBindDisplayColorTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindDisplayColorTableEXT(id: UInt16): Byte := z_BindDisplayColorTableEXT(id); - static procedure NamedBufferPageCommitmentEXT(buffer: UInt32; offset: IntPtr; size: UIntPtr; commit: boolean); - external 'opengl32.dll' name 'glNamedBufferPageCommitmentEXT'; + public z_CopyContext: function(hglrcSrc: GLContext; hglrcDst: GLContext; mask: UInt32): UInt32 := GetGLFuncOrNil&('wglCopyContext'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CopyContext(hglrcSrc: GLContext; hglrcDst: GLContext; mask: UInt32): UInt32 := z_CopyContext(hglrcSrc, hglrcDst, mask); - static procedure EGLImageTargetTexStorageEXT(target: UInt32; image: GLeglImageOES; attrib_list: ^Int32); - external 'opengl32.dll' name 'glEGLImageTargetTexStorageEXT'; + public z_CopyImageSubDataNV: function(hSrcRC: GLContext; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; hDstRC: GLContext; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32): UInt32 := GetGLFuncOrNil&('wglCopyImageSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CopyImageSubDataNV(hSrcRC: GLContext; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; hDstRC: GLContext; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32): UInt32 := z_CopyImageSubDataNV(hSrcRC, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, hDstRC, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); - static procedure EGLImageTargetTextureStorageEXT(texture: UInt32; image: GLeglImageOES; attrib_list: ^Int32); - external 'opengl32.dll' name 'glEGLImageTargetTextureStorageEXT'; + private static function _CreateContext(hDc: GDI_DC): GLContext; external 'opengl32.dll' name 'wglCreateContext'; + public static z_CreateContext: function(hDc: GDI_DC): GLContext := _CreateContext; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContext(hDc: GDI_DC): GLContext := z_CreateContext(hDc); - static procedure LabelObjectEXT(&type: UInt32; object: UInt32; length: Int32; &label: ^SByte); - external 'opengl32.dll' name 'glLabelObjectEXT'; + public z_CreateDisplayColorTableEXT: function(id: UInt16): Byte := GetGLFuncOrNil&('wglCreateDisplayColorTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateDisplayColorTableEXT(id: UInt16): Byte := z_CreateDisplayColorTableEXT(id); - static procedure GetObjectLabelEXT(&type: UInt32; object: UInt32; bufSize: Int32; length: ^Int32; &label: ^SByte); - external 'opengl32.dll' name 'glGetObjectLabelEXT'; + public z_CreateLayerContext: function(hDc: GDI_DC; level: Int32): GLContext := GetGLFuncOrNil&('wglCreateLayerContext'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateLayerContext(hDc: GDI_DC; level: Int32): GLContext := z_CreateLayerContext(hDc, level); - static procedure InsertEventMarkerEXT(length: Int32; marker: ^SByte); - external 'opengl32.dll' name 'glInsertEventMarkerEXT'; + public z_DeleteContext: function(oldContext: GLContext): UInt32 := GetGLFuncOrNil&('wglDeleteContext'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DeleteContext(oldContext: GLContext): UInt32 := z_DeleteContext(oldContext); - static procedure PushGroupMarkerEXT(length: Int32; marker: ^SByte); - external 'opengl32.dll' name 'glPushGroupMarkerEXT'; + public z_DescribeLayerPlane: function(hDc: GDI_DC; pixelFormat: Int32; layerPlane: Int32; nBytes: UInt32; plpd: pointer): UInt32 := GetGLFuncOrNil&('wglDescribeLayerPlane'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DescribeLayerPlane(hDc: GDI_DC; pixelFormat: Int32; layerPlane: Int32; nBytes: UInt32; plpd: array of GDI_LayerPlaneDescriptor): UInt32 := DescribeLayerPlane(hDc, pixelFormat, layerPlane, nBytes, plpd[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DescribeLayerPlane(hDc: GDI_DC; pixelFormat: Int32; layerPlane: Int32; nBytes: UInt32; var plpd: GDI_LayerPlaneDescriptor): UInt32 := DescribeLayerPlane(hDc, pixelFormat, layerPlane, nBytes, @plpd); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DescribeLayerPlane(hDc: GDI_DC; pixelFormat: Int32; layerPlane: Int32; nBytes: UInt32; plpd: pointer): UInt32 := z_DescribeLayerPlane(hDc, pixelFormat, layerPlane, nBytes, plpd); - static procedure PopGroupMarkerEXT; - external 'opengl32.dll' name 'glPopGroupMarkerEXT'; + public z_DestroyDisplayColorTableEXT: procedure(id: UInt16) := GetGLFuncOrNil&('wglDestroyDisplayColorTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DestroyDisplayColorTableEXT(id: UInt16) := z_DestroyDisplayColorTableEXT(id); - static procedure MatrixLoadfEXT(mode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixLoadfEXT'; + public z_GetCurrentContext: function: GLContext := GetGLFuncOrNil&('wglGetCurrentContext'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentContext: GLContext := z_GetCurrentContext; + + public z_GetCurrentDC: function: GDI_DC := GetGLFuncOrNil&('wglGetCurrentDC'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentDC: GDI_DC := z_GetCurrentDC; + + public z_GetLayerPaletteEntries: function(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; pcr: pointer): Int32 := GetGLFuncOrNil&('wglGetLayerPaletteEntries'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetLayerPaletteEntries(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; pcr: array of GDI_COLORREF): Int32 := GetLayerPaletteEntries(hdc, iLayerPlane, iStart, cEntries, pcr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetLayerPaletteEntries(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; var pcr: GDI_COLORREF): Int32 := GetLayerPaletteEntries(hdc, iLayerPlane, iStart, cEntries, @pcr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetLayerPaletteEntries(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; pcr: pointer): Int32 := z_GetLayerPaletteEntries(hdc, iLayerPlane, iStart, cEntries, pcr); + + public z_GetProcAddress: function(lpszProc: IntPtr): IntPtr := GetGLFuncOrNil&('wglGetProcAddress'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProcAddress(lpszProc: string): IntPtr; begin var ptr_1 := Marshal.StringToHGlobalAnsi(lpszProc); Result := GetProcAddress(ptr_1); Marshal.FreeHGlobal(ptr_1); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProcAddress(lpszProc: IntPtr): IntPtr := z_GetProcAddress(lpszProc); + + public z_LoadDisplayColorTableEXT: function(table: pointer; length: UInt32): Byte := GetGLFuncOrNil&('wglLoadDisplayColorTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function LoadDisplayColorTableEXT(table: array of UInt16; length: UInt32): Byte := LoadDisplayColorTableEXT(table[0], length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function LoadDisplayColorTableEXT(var table: UInt16; length: UInt32): Byte := LoadDisplayColorTableEXT(@table, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function LoadDisplayColorTableEXT(table: pointer; length: UInt32): Byte := z_LoadDisplayColorTableEXT(table, length); + + private static function _MakeCurrent(hDc: GDI_DC; newContext: GLContext): UInt32; external 'opengl32.dll' name 'wglMakeCurrent'; + public static z_MakeCurrent: function(hDc: GDI_DC; newContext: GLContext): UInt32 := _MakeCurrent; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MakeCurrent(hDc: GDI_DC; newContext: GLContext): UInt32 := z_MakeCurrent(hDc, newContext); + + public z_RealizeLayerPalette: function(hdc: GDI_DC; iLayerPlane: Int32; bRealize: UInt32): UInt32 := GetGLFuncOrNil&('wglRealizeLayerPalette'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function RealizeLayerPalette(hdc: GDI_DC; iLayerPlane: Int32; bRealize: UInt32): UInt32 := z_RealizeLayerPalette(hdc, iLayerPlane, bRealize); + + public z_SetLayerPaletteEntries: function(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; pcr: pointer): Int32 := GetGLFuncOrNil&('wglSetLayerPaletteEntries'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetLayerPaletteEntries(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; pcr: array of GDI_COLORREF): Int32 := SetLayerPaletteEntries(hdc, iLayerPlane, iStart, cEntries, pcr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetLayerPaletteEntries(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; var pcr: GDI_COLORREF): Int32 := SetLayerPaletteEntries(hdc, iLayerPlane, iStart, cEntries, @pcr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetLayerPaletteEntries(hdc: GDI_DC; iLayerPlane: Int32; iStart: Int32; cEntries: Int32; pcr: pointer): Int32 := z_SetLayerPaletteEntries(hdc, iLayerPlane, iStart, cEntries, pcr); + + public z_ShareLists: function(hrcSrvShare: GLContext; hrcSrvSource: GLContext): UInt32 := GetGLFuncOrNil&('wglShareLists'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ShareLists(hrcSrvShare: GLContext; hrcSrvSource: GLContext): UInt32 := z_ShareLists(hrcSrvShare, hrcSrvSource); + + public z_SwapLayerBuffers: function(hdc: GDI_DC; fuFlags: UInt32): UInt32 := GetGLFuncOrNil&('wglSwapLayerBuffers'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffers(hdc: GDI_DC; fuFlags: UInt32): UInt32 := z_SwapLayerBuffers(hdc, fuFlags); + + public z_UseFontBitmaps: function(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32): UInt32 := GetGLFuncOrNil&('wglUseFontBitmaps'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontBitmaps(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32): UInt32 := z_UseFontBitmaps(hDC, first, count, listBase); + + public z_UseFontBitmapsA: function(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32): UInt32 := GetGLFuncOrNil&('wglUseFontBitmapsA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontBitmapsA(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32): UInt32 := z_UseFontBitmapsA(hDC, first, count, listBase); + + public z_UseFontBitmapsW: function(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32): UInt32 := GetGLFuncOrNil&('wglUseFontBitmapsW'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontBitmapsW(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32): UInt32 := z_UseFontBitmapsW(hDC, first, count, listBase); + + public z_UseFontOutlines: function(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: pointer): UInt32 := GetGLFuncOrNil&('wglUseFontOutlines'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlines(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: array of GDI_GlyphmetricsFloat): UInt32 := UseFontOutlines(hDC, first, count, listBase, deviation, extrusion, format, lpgmf[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlines(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; var lpgmf: GDI_GlyphmetricsFloat): UInt32 := UseFontOutlines(hDC, first, count, listBase, deviation, extrusion, format, @lpgmf); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlines(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: pointer): UInt32 := z_UseFontOutlines(hDC, first, count, listBase, deviation, extrusion, format, lpgmf); + + public z_UseFontOutlinesA: function(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: pointer): UInt32 := GetGLFuncOrNil&('wglUseFontOutlinesA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlinesA(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: array of GDI_GlyphmetricsFloat): UInt32 := UseFontOutlinesA(hDC, first, count, listBase, deviation, extrusion, format, lpgmf[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlinesA(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; var lpgmf: GDI_GlyphmetricsFloat): UInt32 := UseFontOutlinesA(hDC, first, count, listBase, deviation, extrusion, format, @lpgmf); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlinesA(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: pointer): UInt32 := z_UseFontOutlinesA(hDC, first, count, listBase, deviation, extrusion, format, lpgmf); + + public z_UseFontOutlinesW: function(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: pointer): UInt32 := GetGLFuncOrNil&('wglUseFontOutlinesW'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlinesW(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: array of GDI_GlyphmetricsFloat): UInt32 := UseFontOutlinesW(hDC, first, count, listBase, deviation, extrusion, format, lpgmf[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlinesW(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; var lpgmf: GDI_GlyphmetricsFloat): UInt32 := UseFontOutlinesW(hDC, first, count, listBase, deviation, extrusion, format, @lpgmf); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UseFontOutlinesW(hDC: GDI_DC; first: UInt32; count: UInt32; listBase: UInt32; deviation: single; extrusion: single; format: Int32; lpgmf: pointer): UInt32 := z_UseFontOutlinesW(hDC, first, count, listBase, deviation, extrusion, format, lpgmf); + + {$region NV_vertex_array_range} + + public z_VertexArrayRangeNV: procedure(length: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexArrayRangeNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayRangeNV(length: Int32; _pointer: pointer) := z_VertexArrayRangeNV(length, _pointer); + + public z_FlushVertexArrayRangeNV: procedure := GetGLFuncOrNil&('glFlushVertexArrayRangeNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushVertexArrayRangeNV := z_FlushVertexArrayRangeNV; + + public z_AllocateMemoryNV: function(size: Int32; readfreq: single; writefreq: single; priority: single): pointer := GetGLFuncOrNil&('wglAllocateMemoryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AllocateMemoryNV(size: Int32; readfreq: single; writefreq: single; priority: single): pointer := z_AllocateMemoryNV(size, readfreq, writefreq, priority); + + public z_FreeMemoryNV: procedure(_pointer: pointer) := GetGLFuncOrNil&('wglFreeMemoryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FreeMemoryNV(_pointer: pointer) := z_FreeMemoryNV(_pointer); + + {$endregion NV_vertex_array_range} + + {$region WGL_I3D_image_buffer} + + public z_CreateImageBufferI3D: function(hDC: GDI_DC; dwSize: UInt32; uFlags: UInt32): IntPtr := GetGLFuncOrNil&('wglCreateImageBufferI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateImageBufferI3D(hDC: GDI_DC; dwSize: UInt32; uFlags: UInt32): IntPtr := z_CreateImageBufferI3D(hDC, dwSize, uFlags); + + public z_DestroyImageBufferI3D: function(hDC: GDI_DC; pAddress: IntPtr): UInt32 := GetGLFuncOrNil&('wglDestroyImageBufferI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DestroyImageBufferI3D(hDC: GDI_DC; pAddress: IntPtr): UInt32 := z_DestroyImageBufferI3D(hDC, pAddress); + + public z_AssociateImageBufferEventsI3D: function(hDC: GDI_DC; pEvent: pointer; pAddress: pointer; pSize: pointer; count: UInt32): UInt32 := GetGLFuncOrNil&('wglAssociateImageBufferEventsI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; pAddress: array of IntPtr; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], pAddress[0], pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; pAddress: array of IntPtr; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], pAddress[0], @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; pAddress: array of IntPtr; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], pAddress[0], pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; var pAddress: IntPtr; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], @pAddress, pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; var pAddress: IntPtr; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], @pAddress, @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; var pAddress: IntPtr; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], @pAddress, pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; pAddress: pointer; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], pAddress, pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; pAddress: pointer; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], pAddress, @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: array of IntPtr; pAddress: pointer; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent[0], pAddress, pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; pAddress: array of IntPtr; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, pAddress[0], pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; pAddress: array of IntPtr; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, pAddress[0], @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; pAddress: array of IntPtr; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, pAddress[0], pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; var pAddress: IntPtr; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, @pAddress, pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; var pAddress: IntPtr; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, @pAddress, @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; var pAddress: IntPtr; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, @pAddress, pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; pAddress: pointer; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, pAddress, pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; pAddress: pointer; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, pAddress, @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; var pEvent: IntPtr; pAddress: pointer; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, @pEvent, pAddress, pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; pAddress: array of IntPtr; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, pAddress[0], pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; pAddress: array of IntPtr; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, pAddress[0], @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; pAddress: array of IntPtr; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, pAddress[0], pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; var pAddress: IntPtr; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, @pAddress, pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; var pAddress: IntPtr; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, @pAddress, @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; var pAddress: IntPtr; pSize: pointer; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, @pAddress, pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; pAddress: pointer; pSize: array of UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, pAddress, pSize[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; pAddress: pointer; var pSize: UInt32; count: UInt32): UInt32 := AssociateImageBufferEventsI3D(hDC, pEvent, pAddress, @pSize, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AssociateImageBufferEventsI3D(hDC: GDI_DC; pEvent: pointer; pAddress: pointer; pSize: pointer; count: UInt32): UInt32 := z_AssociateImageBufferEventsI3D(hDC, pEvent, pAddress, pSize, count); + + public z_ReleaseImageBufferEventsI3D: function(hDC: GDI_DC; pAddress: pointer; count: UInt32): UInt32 := GetGLFuncOrNil&('wglReleaseImageBufferEventsI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseImageBufferEventsI3D(hDC: GDI_DC; pAddress: array of IntPtr; count: UInt32): UInt32 := ReleaseImageBufferEventsI3D(hDC, pAddress[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseImageBufferEventsI3D(hDC: GDI_DC; var pAddress: IntPtr; count: UInt32): UInt32 := ReleaseImageBufferEventsI3D(hDC, @pAddress, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseImageBufferEventsI3D(hDC: GDI_DC; pAddress: pointer; count: UInt32): UInt32 := z_ReleaseImageBufferEventsI3D(hDC, pAddress, count); + + {$endregion WGL_I3D_image_buffer} + + {$region WGL_I3D_swap_frame_usage} + + public z_GetFrameUsageI3D: function(pUsage: pointer): UInt32 := GetGLFuncOrNil&('wglGetFrameUsageI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFrameUsageI3D(pUsage: array of single): UInt32 := GetFrameUsageI3D(pUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFrameUsageI3D(var pUsage: single): UInt32 := GetFrameUsageI3D(@pUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFrameUsageI3D(pUsage: pointer): UInt32 := z_GetFrameUsageI3D(pUsage); + + public z_BeginFrameTrackingI3D: function: UInt32 := GetGLFuncOrNil&('wglBeginFrameTrackingI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BeginFrameTrackingI3D: UInt32 := z_BeginFrameTrackingI3D; + + public z_EndFrameTrackingI3D: function: UInt32 := GetGLFuncOrNil&('wglEndFrameTrackingI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EndFrameTrackingI3D: UInt32 := z_EndFrameTrackingI3D; + + public z_QueryFrameTrackingI3D: function(pFrameCount: pointer; pMissedFrames: pointer; pLastMissedUsage: pointer): UInt32 := GetGLFuncOrNil&('wglQueryFrameTrackingI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; pMissedFrames: array of UInt32; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], pMissedFrames[0], pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; pMissedFrames: array of UInt32; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], pMissedFrames[0], @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; pMissedFrames: array of UInt32; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], pMissedFrames[0], pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; var pMissedFrames: UInt32; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], @pMissedFrames, pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; var pMissedFrames: UInt32; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], @pMissedFrames, @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; var pMissedFrames: UInt32; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], @pMissedFrames, pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; pMissedFrames: pointer; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], pMissedFrames, pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; pMissedFrames: pointer; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], pMissedFrames, @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: array of UInt32; pMissedFrames: pointer; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(pFrameCount[0], pMissedFrames, pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; pMissedFrames: array of UInt32; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(@pFrameCount, pMissedFrames[0], pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; pMissedFrames: array of UInt32; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(@pFrameCount, pMissedFrames[0], @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; pMissedFrames: array of UInt32; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(@pFrameCount, pMissedFrames[0], pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; var pMissedFrames: UInt32; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(@pFrameCount, @pMissedFrames, pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; var pMissedFrames: UInt32; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(@pFrameCount, @pMissedFrames, @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; var pMissedFrames: UInt32; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(@pFrameCount, @pMissedFrames, pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; pMissedFrames: pointer; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(@pFrameCount, pMissedFrames, pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; pMissedFrames: pointer; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(@pFrameCount, pMissedFrames, @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(var pFrameCount: UInt32; pMissedFrames: pointer; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(@pFrameCount, pMissedFrames, pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; pMissedFrames: array of UInt32; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(pFrameCount, pMissedFrames[0], pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; pMissedFrames: array of UInt32; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(pFrameCount, pMissedFrames[0], @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; pMissedFrames: array of UInt32; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(pFrameCount, pMissedFrames[0], pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; var pMissedFrames: UInt32; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(pFrameCount, @pMissedFrames, pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; var pMissedFrames: UInt32; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(pFrameCount, @pMissedFrames, @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; var pMissedFrames: UInt32; pLastMissedUsage: pointer): UInt32 := QueryFrameTrackingI3D(pFrameCount, @pMissedFrames, pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; pMissedFrames: pointer; pLastMissedUsage: array of single): UInt32 := QueryFrameTrackingI3D(pFrameCount, pMissedFrames, pLastMissedUsage[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; pMissedFrames: pointer; var pLastMissedUsage: single): UInt32 := QueryFrameTrackingI3D(pFrameCount, pMissedFrames, @pLastMissedUsage); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameTrackingI3D(pFrameCount: pointer; pMissedFrames: pointer; pLastMissedUsage: pointer): UInt32 := z_QueryFrameTrackingI3D(pFrameCount, pMissedFrames, pLastMissedUsage); + + {$endregion WGL_I3D_swap_frame_usage} + + {$region NV_video_capture} + + public z_BeginVideoCaptureNV: procedure(video_capture_slot: UInt32) := GetGLFuncOrNil&('glBeginVideoCaptureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginVideoCaptureNV(video_capture_slot: UInt32) := z_BeginVideoCaptureNV(video_capture_slot); + + public z_BindVideoCaptureStreamBufferNV: procedure(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; offset: IntPtr) := GetGLFuncOrNil&('glBindVideoCaptureStreamBufferNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVideoCaptureStreamBufferNV(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; offset: IntPtr) := z_BindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset); + + public z_BindVideoCaptureStreamTextureNV: procedure(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; target: DummyEnum; texture: UInt32) := GetGLFuncOrNil&('glBindVideoCaptureStreamTextureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVideoCaptureStreamTextureNV(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; target: DummyEnum; texture: UInt32) := z_BindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture); + + public z_EndVideoCaptureNV: procedure(video_capture_slot: UInt32) := GetGLFuncOrNil&('glEndVideoCaptureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndVideoCaptureNV(video_capture_slot: UInt32) := z_EndVideoCaptureNV(video_capture_slot); + + public z_GetVideoCaptureivNV: procedure(video_capture_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureivNV(video_capture_slot: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVideoCaptureivNV(video_capture_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureivNV(video_capture_slot: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVideoCaptureivNV(video_capture_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureivNV(video_capture_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureivNV(video_capture_slot, pname, ¶ms); + + public z_GetVideoCaptureStreamivNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureStreamivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVideoCaptureStreamivNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVideoCaptureStreamivNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureStreamivNV(video_capture_slot, stream, pname, ¶ms); + + public z_GetVideoCaptureStreamfvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureStreamfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of single) := GetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: single) := GetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, ¶ms); + + public z_GetVideoCaptureStreamdvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureStreamdvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of double) := GetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: double) := GetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, ¶ms); + + public z_VideoCaptureNV: function(video_capture_slot: UInt32; sequence_num: pointer; capture_time: pointer): DummyEnum := GetGLFuncOrNil&('glVideoCaptureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: array of UInt32; capture_time: array of UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num[0], capture_time[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: array of UInt32; var capture_time: UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num[0], @capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: array of UInt32; capture_time: pointer): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num[0], capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; var sequence_num: UInt32; capture_time: array of UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, @sequence_num, capture_time[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; var sequence_num: UInt32; var capture_time: UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, @sequence_num, @capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; var sequence_num: UInt32; capture_time: pointer): DummyEnum := VideoCaptureNV(video_capture_slot, @sequence_num, capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: pointer; capture_time: array of UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num, capture_time[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: pointer; var capture_time: UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num, @capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: pointer; capture_time: pointer): DummyEnum := z_VideoCaptureNV(video_capture_slot, sequence_num, capture_time); + + public z_VideoCaptureStreamParameterivNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glVideoCaptureStreamParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of Int32) := VideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: Int32) := VideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_VideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, ¶ms); + + public z_VideoCaptureStreamParameterfvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glVideoCaptureStreamParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of single) := VideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: single) := VideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_VideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, ¶ms); + + public z_VideoCaptureStreamParameterdvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glVideoCaptureStreamParameterdvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of double) := VideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: double) := VideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_VideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, ¶ms); + + public z_BindVideoCaptureDeviceNV: function(uVideoSlot: UInt32; hDevice: VideoInputDeviceHandleNV): UInt32 := GetGLFuncOrNil&('wglBindVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoCaptureDeviceNV(uVideoSlot: UInt32; hDevice: VideoInputDeviceHandleNV): UInt32 := z_BindVideoCaptureDeviceNV(uVideoSlot, hDevice); + + public z_EnumerateVideoCaptureDevicesNV: function(hDc: GDI_DC; phDeviceList: pointer): UInt32 := GetGLFuncOrNil&('wglEnumerateVideoCaptureDevicesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoCaptureDevicesNV(hDc: GDI_DC; phDeviceList: array of VideoInputDeviceHandleNV): UInt32 := EnumerateVideoCaptureDevicesNV(hDc, phDeviceList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoCaptureDevicesNV(hDc: GDI_DC; var phDeviceList: VideoInputDeviceHandleNV): UInt32 := EnumerateVideoCaptureDevicesNV(hDc, @phDeviceList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoCaptureDevicesNV(hDc: GDI_DC; phDeviceList: pointer): UInt32 := z_EnumerateVideoCaptureDevicesNV(hDc, phDeviceList); + + public z_LockVideoCaptureDeviceNV: function(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV): UInt32 := GetGLFuncOrNil&('wglLockVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function LockVideoCaptureDeviceNV(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV): UInt32 := z_LockVideoCaptureDeviceNV(hDc, hDevice); + + public z_QueryVideoCaptureDeviceNV: function(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV; iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglQueryVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryVideoCaptureDeviceNV(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV; iAttribute: Int32; piValue: array of Int32): UInt32 := QueryVideoCaptureDeviceNV(hDc, hDevice, iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryVideoCaptureDeviceNV(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV; iAttribute: Int32; var piValue: Int32): UInt32 := QueryVideoCaptureDeviceNV(hDc, hDevice, iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryVideoCaptureDeviceNV(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV; iAttribute: Int32; piValue: pointer): UInt32 := z_QueryVideoCaptureDeviceNV(hDc, hDevice, iAttribute, piValue); + + public z_ReleaseVideoCaptureDeviceNV: function(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV): UInt32 := GetGLFuncOrNil&('wglReleaseVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseVideoCaptureDeviceNV(hDc: GDI_DC; hDevice: VideoInputDeviceHandleNV): UInt32 := z_ReleaseVideoCaptureDeviceNV(hDc, hDevice); + + {$endregion NV_video_capture} + + {$region NV_swap_group} + + public z_JoinSwapGroupNV: function(hDC: GDI_DC; group: UInt32): UInt32 := GetGLFuncOrNil&('wglJoinSwapGroupNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function JoinSwapGroupNV(hDC: GDI_DC; group: UInt32): UInt32 := z_JoinSwapGroupNV(hDC, group); + + public z_BindSwapBarrierNV: function(group: UInt32; barrier: UInt32): UInt32 := GetGLFuncOrNil&('wglBindSwapBarrierNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindSwapBarrierNV(group: UInt32; barrier: UInt32): UInt32 := z_BindSwapBarrierNV(group, barrier); + + public z_QuerySwapGroupNV: function(hDC: GDI_DC; group: pointer; barrier: pointer): UInt32 := GetGLFuncOrNil&('wglQuerySwapGroupNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; group: array of UInt32; barrier: array of UInt32): UInt32 := QuerySwapGroupNV(hDC, group[0], barrier[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; group: array of UInt32; var barrier: UInt32): UInt32 := QuerySwapGroupNV(hDC, group[0], @barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; group: array of UInt32; barrier: pointer): UInt32 := QuerySwapGroupNV(hDC, group[0], barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; var group: UInt32; barrier: array of UInt32): UInt32 := QuerySwapGroupNV(hDC, @group, barrier[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; var group: UInt32; var barrier: UInt32): UInt32 := QuerySwapGroupNV(hDC, @group, @barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; var group: UInt32; barrier: pointer): UInt32 := QuerySwapGroupNV(hDC, @group, barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; group: pointer; barrier: array of UInt32): UInt32 := QuerySwapGroupNV(hDC, group, barrier[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; group: pointer; var barrier: UInt32): UInt32 := QuerySwapGroupNV(hDC, group, @barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(hDC: GDI_DC; group: pointer; barrier: pointer): UInt32 := z_QuerySwapGroupNV(hDC, group, barrier); + + public z_QueryMaxSwapGroupsNV: function(hDC: GDI_DC; maxGroups: pointer; maxBarriers: pointer): UInt32 := GetGLFuncOrNil&('wglQueryMaxSwapGroupsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; maxGroups: array of UInt32; maxBarriers: array of UInt32): UInt32 := QueryMaxSwapGroupsNV(hDC, maxGroups[0], maxBarriers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; maxGroups: array of UInt32; var maxBarriers: UInt32): UInt32 := QueryMaxSwapGroupsNV(hDC, maxGroups[0], @maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; maxGroups: array of UInt32; maxBarriers: pointer): UInt32 := QueryMaxSwapGroupsNV(hDC, maxGroups[0], maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; var maxGroups: UInt32; maxBarriers: array of UInt32): UInt32 := QueryMaxSwapGroupsNV(hDC, @maxGroups, maxBarriers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; var maxGroups: UInt32; var maxBarriers: UInt32): UInt32 := QueryMaxSwapGroupsNV(hDC, @maxGroups, @maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; var maxGroups: UInt32; maxBarriers: pointer): UInt32 := QueryMaxSwapGroupsNV(hDC, @maxGroups, maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; maxGroups: pointer; maxBarriers: array of UInt32): UInt32 := QueryMaxSwapGroupsNV(hDC, maxGroups, maxBarriers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; maxGroups: pointer; var maxBarriers: UInt32): UInt32 := QueryMaxSwapGroupsNV(hDC, maxGroups, @maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(hDC: GDI_DC; maxGroups: pointer; maxBarriers: pointer): UInt32 := z_QueryMaxSwapGroupsNV(hDC, maxGroups, maxBarriers); + + public z_QueryFrameCountNV: function(hDC: GDI_DC; count: pointer): UInt32 := GetGLFuncOrNil&('wglQueryFrameCountNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameCountNV(hDC: GDI_DC; count: array of UInt32): UInt32 := QueryFrameCountNV(hDC, count[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameCountNV(hDC: GDI_DC; var count: UInt32): UInt32 := QueryFrameCountNV(hDC, @count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameCountNV(hDC: GDI_DC; count: pointer): UInt32 := z_QueryFrameCountNV(hDC, count); + + public z_ResetFrameCountNV: function(hDC: GDI_DC): UInt32 := GetGLFuncOrNil&('wglResetFrameCountNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ResetFrameCountNV(hDC: GDI_DC): UInt32 := z_ResetFrameCountNV(hDC); + + {$endregion NV_swap_group} + + {$region ARB_render_texture} + + public z_BindTexImageARB: function(hPbuffer: PBufferName; iBuffer: Int32): UInt32 := GetGLFuncOrNil&('wglBindTexImageARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindTexImageARB(hPbuffer: PBufferName; iBuffer: Int32): UInt32 := z_BindTexImageARB(hPbuffer, iBuffer); + + public z_ReleaseTexImageARB: function(hPbuffer: PBufferName; iBuffer: Int32): UInt32 := GetGLFuncOrNil&('wglReleaseTexImageARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseTexImageARB(hPbuffer: PBufferName; iBuffer: Int32): UInt32 := z_ReleaseTexImageARB(hPbuffer, iBuffer); + + public z_SetPbufferAttribARB: function(hPbuffer: PBufferName; piAttribList: pointer): UInt32 := GetGLFuncOrNil&('wglSetPbufferAttribARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetPbufferAttribARB(hPbuffer: PBufferName; piAttribList: array of Int32): UInt32 := SetPbufferAttribARB(hPbuffer, piAttribList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetPbufferAttribARB(hPbuffer: PBufferName; var piAttribList: Int32): UInt32 := SetPbufferAttribARB(hPbuffer, @piAttribList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetPbufferAttribARB(hPbuffer: PBufferName; piAttribList: pointer): UInt32 := z_SetPbufferAttribARB(hPbuffer, piAttribList); + + {$endregion ARB_render_texture} + + {$region NV_present_video} + + public z_PresentFrameKeyedNV: procedure(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; key0: UInt32; target1: DummyEnum; fill1: UInt32; key1: UInt32) := GetGLFuncOrNil&('glPresentFrameKeyedNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PresentFrameKeyedNV(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; key0: UInt32; target1: DummyEnum; fill1: UInt32; key1: UInt32) := z_PresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, &type, target0, fill0, key0, target1, fill1, key1); + + public z_PresentFrameDualFillNV: procedure(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; target1: DummyEnum; fill1: UInt32; target2: DummyEnum; fill2: UInt32; target3: DummyEnum; fill3: UInt32) := GetGLFuncOrNil&('glPresentFrameDualFillNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PresentFrameDualFillNV(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; target1: DummyEnum; fill1: UInt32; target2: DummyEnum; fill2: UInt32; target3: DummyEnum; fill3: UInt32) := z_PresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, &type, target0, fill0, target1, fill1, target2, fill2, target3, fill3); - static procedure MatrixLoaddEXT(mode: UInt32; m: ^double); - external 'opengl32.dll' name 'glMatrixLoaddEXT'; + public z_GetVideoivNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVideoivNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoivNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVideoivNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoivNV(video_slot, pname, ¶ms); - static procedure MatrixMultfEXT(mode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixMultfEXT'; + public z_GetVideouivNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideouivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideouivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetVideouivNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideouivNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetVideouivNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideouivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideouivNV(video_slot, pname, ¶ms); - static procedure MatrixMultdEXT(mode: UInt32; m: ^double); - external 'opengl32.dll' name 'glMatrixMultdEXT'; + public z_GetVideoi64vNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoi64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoi64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of Int64) := GetVideoi64vNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoi64vNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: Int64) := GetVideoi64vNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoi64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoi64vNV(video_slot, pname, ¶ms); - static procedure MatrixLoadIdentityEXT(mode: UInt32); - external 'opengl32.dll' name 'glMatrixLoadIdentityEXT'; + public z_GetVideoui64vNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoui64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := GetVideoui64vNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoui64vNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: UInt64) := GetVideoui64vNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoui64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoui64vNV(video_slot, pname, ¶ms); - static procedure MatrixRotatefEXT(mode: UInt32; angle: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glMatrixRotatefEXT'; + public z_EnumerateVideoDevicesNV: function(hDc: GDI_DC; phDeviceList: pointer): Int32 := GetGLFuncOrNil&('wglEnumerateVideoDevicesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoDevicesNV(hDc: GDI_DC; phDeviceList: array of VideoOutputDeviceHandleNV): Int32 := EnumerateVideoDevicesNV(hDc, phDeviceList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoDevicesNV(hDc: GDI_DC; var phDeviceList: VideoOutputDeviceHandleNV): Int32 := EnumerateVideoDevicesNV(hDc, @phDeviceList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoDevicesNV(hDc: GDI_DC; phDeviceList: pointer): Int32 := z_EnumerateVideoDevicesNV(hDc, phDeviceList); + + public z_BindVideoDeviceNV: function(hDc: GDI_DC; uVideoSlot: UInt32; hVideoDevice: VideoOutputDeviceHandleNV; piAttribList: pointer): UInt32 := GetGLFuncOrNil&('wglBindVideoDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoDeviceNV(hDc: GDI_DC; uVideoSlot: UInt32; hVideoDevice: VideoOutputDeviceHandleNV; piAttribList: array of Int32): UInt32 := BindVideoDeviceNV(hDc, uVideoSlot, hVideoDevice, piAttribList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoDeviceNV(hDc: GDI_DC; uVideoSlot: UInt32; hVideoDevice: VideoOutputDeviceHandleNV; var piAttribList: Int32): UInt32 := BindVideoDeviceNV(hDc, uVideoSlot, hVideoDevice, @piAttribList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoDeviceNV(hDc: GDI_DC; uVideoSlot: UInt32; hVideoDevice: VideoOutputDeviceHandleNV; piAttribList: pointer): UInt32 := z_BindVideoDeviceNV(hDc, uVideoSlot, hVideoDevice, piAttribList); + + public z_QueryCurrentContextNV: function(iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglQueryCurrentContextNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentContextNV(iAttribute: Int32; piValue: array of Int32): UInt32 := QueryCurrentContextNV(iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentContextNV(iAttribute: Int32; var piValue: Int32): UInt32 := QueryCurrentContextNV(iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentContextNV(iAttribute: Int32; piValue: pointer): UInt32 := z_QueryCurrentContextNV(iAttribute, piValue); + + {$endregion NV_present_video} + + {$region NV_video_output} + + public z_GetVideoDeviceNV: function(hDC: GDI_DC; numDevices: Int32; hVideoDevice: pointer): UInt32 := GetGLFuncOrNil&('wglGetVideoDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoDeviceNV(hDC: GDI_DC; numDevices: Int32; hVideoDevice: array of VideoDeviceHandleNV): UInt32 := GetVideoDeviceNV(hDC, numDevices, hVideoDevice[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoDeviceNV(hDC: GDI_DC; numDevices: Int32; var hVideoDevice: VideoDeviceHandleNV): UInt32 := GetVideoDeviceNV(hDC, numDevices, @hVideoDevice); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoDeviceNV(hDC: GDI_DC; numDevices: Int32; hVideoDevice: pointer): UInt32 := z_GetVideoDeviceNV(hDC, numDevices, hVideoDevice); + + public z_ReleaseVideoDeviceNV: function(hVideoDevice: VideoDeviceHandleNV): UInt32 := GetGLFuncOrNil&('wglReleaseVideoDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseVideoDeviceNV(hVideoDevice: VideoDeviceHandleNV): UInt32 := z_ReleaseVideoDeviceNV(hVideoDevice); + + public z_BindVideoImageNV: function(hVideoDevice: VideoDeviceHandleNV; hPbuffer: PBufferName; iVideoBuffer: Int32): UInt32 := GetGLFuncOrNil&('wglBindVideoImageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoImageNV(hVideoDevice: VideoDeviceHandleNV; hPbuffer: PBufferName; iVideoBuffer: Int32): UInt32 := z_BindVideoImageNV(hVideoDevice, hPbuffer, iVideoBuffer); + + public z_ReleaseVideoImageNV: function(hPbuffer: PBufferName; iVideoBuffer: Int32): UInt32 := GetGLFuncOrNil&('wglReleaseVideoImageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseVideoImageNV(hPbuffer: PBufferName; iVideoBuffer: Int32): UInt32 := z_ReleaseVideoImageNV(hPbuffer, iVideoBuffer); + + public z_SendPbufferToVideoNV: function(hPbuffer: PBufferName; iBufferType: Int32; pulCounterPbuffer: pointer; bBlock: UInt32): UInt32 := GetGLFuncOrNil&('wglSendPbufferToVideoNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SendPbufferToVideoNV(hPbuffer: PBufferName; iBufferType: Int32; pulCounterPbuffer: array of UInt64; bBlock: UInt32): UInt32 := SendPbufferToVideoNV(hPbuffer, iBufferType, pulCounterPbuffer[0], bBlock); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SendPbufferToVideoNV(hPbuffer: PBufferName; iBufferType: Int32; var pulCounterPbuffer: UInt64; bBlock: UInt32): UInt32 := SendPbufferToVideoNV(hPbuffer, iBufferType, @pulCounterPbuffer, bBlock); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SendPbufferToVideoNV(hPbuffer: PBufferName; iBufferType: Int32; pulCounterPbuffer: pointer; bBlock: UInt32): UInt32 := z_SendPbufferToVideoNV(hPbuffer, iBufferType, pulCounterPbuffer, bBlock); + + public z_GetVideoInfoNV: function(hpVideoDevice: VideoDeviceHandleNV; pulCounterOutputPbuffer: pointer; pulCounterOutputVideo: pointer): UInt32 := GetGLFuncOrNil&('wglGetVideoInfoNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; pulCounterOutputPbuffer: array of UInt64; pulCounterOutputVideo: array of UInt64): UInt32 := GetVideoInfoNV(hpVideoDevice, pulCounterOutputPbuffer[0], pulCounterOutputVideo[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; pulCounterOutputPbuffer: array of UInt64; var pulCounterOutputVideo: UInt64): UInt32 := GetVideoInfoNV(hpVideoDevice, pulCounterOutputPbuffer[0], @pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; pulCounterOutputPbuffer: array of UInt64; pulCounterOutputVideo: pointer): UInt32 := GetVideoInfoNV(hpVideoDevice, pulCounterOutputPbuffer[0], pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; var pulCounterOutputPbuffer: UInt64; pulCounterOutputVideo: array of UInt64): UInt32 := GetVideoInfoNV(hpVideoDevice, @pulCounterOutputPbuffer, pulCounterOutputVideo[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; var pulCounterOutputPbuffer: UInt64; var pulCounterOutputVideo: UInt64): UInt32 := GetVideoInfoNV(hpVideoDevice, @pulCounterOutputPbuffer, @pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; var pulCounterOutputPbuffer: UInt64; pulCounterOutputVideo: pointer): UInt32 := GetVideoInfoNV(hpVideoDevice, @pulCounterOutputPbuffer, pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; pulCounterOutputPbuffer: pointer; pulCounterOutputVideo: array of UInt64): UInt32 := GetVideoInfoNV(hpVideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; pulCounterOutputPbuffer: pointer; var pulCounterOutputVideo: UInt64): UInt32 := GetVideoInfoNV(hpVideoDevice, pulCounterOutputPbuffer, @pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(hpVideoDevice: VideoDeviceHandleNV; pulCounterOutputPbuffer: pointer; pulCounterOutputVideo: pointer): UInt32 := z_GetVideoInfoNV(hpVideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo); + + {$endregion NV_video_output} + + {$region AMD_gpu_association} + + public z_GetGPUIDsAMD: function(maxCount: UInt32; ids: pointer): UInt32 := GetGLFuncOrNil&('wglGetGPUIDsAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUIDsAMD(maxCount: UInt32; ids: array of UInt32): UInt32 := GetGPUIDsAMD(maxCount, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUIDsAMD(maxCount: UInt32; var ids: UInt32): UInt32 := GetGPUIDsAMD(maxCount, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUIDsAMD(maxCount: UInt32; ids: pointer): UInt32 := z_GetGPUIDsAMD(maxCount, ids); + + public z_GetGPUInfoAMD: function(id: UInt32; &property: Int32; dataType: DummyEnum; size: UInt32; data: pointer): Int32 := GetGLFuncOrNil&('wglGetGPUInfoAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: Int32; dataType: DummyEnum; size: UInt32; data: pointer): Int32 := z_GetGPUInfoAMD(id, &property, dataType, size, data); + + public z_GetContextGPUIDAMD: function(hglrc: GLContext): UInt32 := GetGLFuncOrNil&('wglGetContextGPUIDAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetContextGPUIDAMD(hglrc: GLContext): UInt32 := z_GetContextGPUIDAMD(hglrc); + + public z_CreateAssociatedContextAMD: function(id: UInt32): GLContext := GetGLFuncOrNil&('wglCreateAssociatedContextAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAMD(id: UInt32): GLContext := z_CreateAssociatedContextAMD(id); + + public z_CreateAssociatedContextAttribsAMD: function(id: UInt32; hShareContext: GLContext; attribList: pointer): GLContext := GetGLFuncOrNil&('wglCreateAssociatedContextAttribsAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAttribsAMD(id: UInt32; hShareContext: GLContext; attribList: array of Int32): GLContext := CreateAssociatedContextAttribsAMD(id, hShareContext, attribList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAttribsAMD(id: UInt32; hShareContext: GLContext; var attribList: Int32): GLContext := CreateAssociatedContextAttribsAMD(id, hShareContext, @attribList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAttribsAMD(id: UInt32; hShareContext: GLContext; attribList: pointer): GLContext := z_CreateAssociatedContextAttribsAMD(id, hShareContext, attribList); + + public z_DeleteAssociatedContextAMD: function(hglrc: GLContext): UInt32 := GetGLFuncOrNil&('wglDeleteAssociatedContextAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DeleteAssociatedContextAMD(hglrc: GLContext): UInt32 := z_DeleteAssociatedContextAMD(hglrc); + + public z_MakeAssociatedContextCurrentAMD: function(hglrc: GLContext): UInt32 := GetGLFuncOrNil&('wglMakeAssociatedContextCurrentAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MakeAssociatedContextCurrentAMD(hglrc: GLContext): UInt32 := z_MakeAssociatedContextCurrentAMD(hglrc); + + public z_GetCurrentAssociatedContextAMD: function: GLContext := GetGLFuncOrNil&('wglGetCurrentAssociatedContextAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentAssociatedContextAMD: GLContext := z_GetCurrentAssociatedContextAMD; + + public z_BlitContextFramebufferAMD: procedure(dstCtx: GLContext; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := GetGLFuncOrNil&('wglBlitContextFramebufferAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlitContextFramebufferAMD(dstCtx: GLContext; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := z_BlitContextFramebufferAMD(dstCtx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + + {$endregion AMD_gpu_association} + + {$region WGL_ARB_pixel_format} + + public z_GetPixelFormatAttribivARB: function(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; piValues: pointer): UInt32 := GetGLFuncOrNil&('wglGetPixelFormatAttribivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; piValues: array of Int32): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var piValues: Int32): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], @piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; piValues: pointer): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: array of Int32): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, piValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, @piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: pointer): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; piValues: array of Int32): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; var piValues: Int32): UInt32 := GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, @piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; piValues: pointer): UInt32 := z_GetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); + + public z_GetPixelFormatAttribfvARB: function(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; pfValues: pointer): UInt32 := GetGLFuncOrNil&('wglGetPixelFormatAttribfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; pfValues: array of single): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var pfValues: single): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], @pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; pfValues: pointer): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: array of single): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, pfValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, @pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: pointer): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; pfValues: array of single): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; var pfValues: single): UInt32 := GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, @pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; pfValues: pointer): UInt32 := z_GetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); + + public z_ChoosePixelFormatARB: function(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := GetGLFuncOrNil&('wglChoosePixelFormatARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatARB(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := z_ChoosePixelFormatARB(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); + + {$endregion WGL_ARB_pixel_format} + + {$region EXT_pixel_format} + + public z_GetPixelFormatAttribivEXT: function(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; piValues: pointer): UInt32 := GetGLFuncOrNil&('wglGetPixelFormatAttribivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; piValues: array of Int32): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var piValues: Int32): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], @piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; piValues: pointer): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: array of Int32): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, piValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, @piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: pointer): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; piValues: array of Int32): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; var piValues: Int32): UInt32 := GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, @piValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; piValues: pointer): UInt32 := z_GetPixelFormatAttribivEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); + + public z_GetPixelFormatAttribfvEXT: function(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; pfValues: pointer): UInt32 := GetGLFuncOrNil&('wglGetPixelFormatAttribfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; pfValues: array of single): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var pfValues: single): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], @pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; pfValues: pointer): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: array of single): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, pfValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, @pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: pointer): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, @piAttributes, pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; pfValues: array of single): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; var pfValues: single): UInt32 := GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, @pfValues); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: GDI_DC; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: pointer; pfValues: pointer): UInt32 := z_GetPixelFormatAttribfvEXT(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); + + public z_ChoosePixelFormatEXT: function(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := GetGLFuncOrNil&('wglChoosePixelFormatEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList[0], nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], @pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: array of Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList[0], pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; var piAttribIList: Int32; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, @piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: array of single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList[0], nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; var pfAttribFList: single; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, @pfAttribFList, nMaxFormats, piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: array of Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats[0], nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, @piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; var piFormats: Int32; nNumFormats: pointer): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, @piFormats, nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: array of UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; var nNumFormats: UInt32): UInt32 := ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, @nNumFormats); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChoosePixelFormatEXT(hdc: GDI_DC; piAttribIList: pointer; pfAttribFList: pointer; nMaxFormats: UInt32; piFormats: pointer; nNumFormats: pointer): UInt32 := z_ChoosePixelFormatEXT(hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats); + + {$endregion EXT_pixel_format} + + {$region WGL_NV_gpu_affinity} + + public z_EnumGpusNV: function(iGpuIndex: UInt32; phGpu: pointer): UInt32 := GetGLFuncOrNil&('wglEnumGpusNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpusNV(iGpuIndex: UInt32; phGpu: array of GPUAffinityHandle): UInt32 := EnumGpusNV(iGpuIndex, phGpu[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpusNV(iGpuIndex: UInt32; var phGpu: GPUAffinityHandle): UInt32 := EnumGpusNV(iGpuIndex, @phGpu); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpusNV(iGpuIndex: UInt32; phGpu: pointer): UInt32 := z_EnumGpusNV(iGpuIndex, phGpu); + + public z_EnumGpuDevicesNV: function(hGpu: GPUAffinityHandle; iDeviceIndex: UInt32; lpGpuDevice: pointer): UInt32 := GetGLFuncOrNil&('wglEnumGpuDevicesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpuDevicesNV(hGpu: GPUAffinityHandle; iDeviceIndex: UInt32; lpGpuDevice: array of GPU_Device_Affinity_Info): UInt32 := EnumGpuDevicesNV(hGpu, iDeviceIndex, lpGpuDevice[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpuDevicesNV(hGpu: GPUAffinityHandle; iDeviceIndex: UInt32; var lpGpuDevice: GPU_Device_Affinity_Info): UInt32 := EnumGpuDevicesNV(hGpu, iDeviceIndex, @lpGpuDevice); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpuDevicesNV(hGpu: GPUAffinityHandle; iDeviceIndex: UInt32; lpGpuDevice: pointer): UInt32 := z_EnumGpuDevicesNV(hGpu, iDeviceIndex, lpGpuDevice); + + public z_CreateAffinityDCNV: function(phGpuList: pointer): GDI_DC := GetGLFuncOrNil&('wglCreateAffinityDCNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAffinityDCNV(phGpuList: array of GPUAffinityHandle): GDI_DC := CreateAffinityDCNV(phGpuList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAffinityDCNV(var phGpuList: GPUAffinityHandle): GDI_DC := CreateAffinityDCNV(@phGpuList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAffinityDCNV(phGpuList: pointer): GDI_DC := z_CreateAffinityDCNV(phGpuList); + + public z_EnumGpusFromAffinityDCNV: function(hAffinityDC: GDI_DC; iGpuIndex: UInt32; hGpu: pointer): UInt32 := GetGLFuncOrNil&('wglEnumGpusFromAffinityDCNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpusFromAffinityDCNV(hAffinityDC: GDI_DC; iGpuIndex: UInt32; hGpu: array of GPUAffinityHandle): UInt32 := EnumGpusFromAffinityDCNV(hAffinityDC, iGpuIndex, hGpu[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpusFromAffinityDCNV(hAffinityDC: GDI_DC; iGpuIndex: UInt32; var hGpu: GPUAffinityHandle): UInt32 := EnumGpusFromAffinityDCNV(hAffinityDC, iGpuIndex, @hGpu); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumGpusFromAffinityDCNV(hAffinityDC: GDI_DC; iGpuIndex: UInt32; hGpu: pointer): UInt32 := z_EnumGpusFromAffinityDCNV(hAffinityDC, iGpuIndex, hGpu); + + public z_DeleteDCNV: function(hdc: GDI_DC): UInt32 := GetGLFuncOrNil&('wglDeleteDCNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DeleteDCNV(hdc: GDI_DC): UInt32 := z_DeleteDCNV(hdc); + + {$endregion WGL_NV_gpu_affinity} + + {$region WGL_ARB_buffer_region} + + public z_CreateBufferRegionARB: function(hDC: GDI_DC; iLayerPlane: Int32; uType: UInt32): IntPtr := GetGLFuncOrNil&('wglCreateBufferRegionARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateBufferRegionARB(hDC: GDI_DC; iLayerPlane: Int32; uType: UInt32): IntPtr := z_CreateBufferRegionARB(hDC, iLayerPlane, uType); + + public z_DeleteBufferRegionARB: procedure(hRegion: IntPtr) := GetGLFuncOrNil&('wglDeleteBufferRegionARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteBufferRegionARB(hRegion: IntPtr) := z_DeleteBufferRegionARB(hRegion); + + public z_SaveBufferRegionARB: function(hRegion: IntPtr; x: Int32; y: Int32; width: Int32; height: Int32): UInt32 := GetGLFuncOrNil&('wglSaveBufferRegionARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SaveBufferRegionARB(hRegion: IntPtr; x: Int32; y: Int32; width: Int32; height: Int32): UInt32 := z_SaveBufferRegionARB(hRegion, x, y, width, height); + + public z_RestoreBufferRegionARB: function(hRegion: IntPtr; x: Int32; y: Int32; width: Int32; height: Int32; xSrc: Int32; ySrc: Int32): UInt32 := GetGLFuncOrNil&('wglRestoreBufferRegionARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function RestoreBufferRegionARB(hRegion: IntPtr; x: Int32; y: Int32; width: Int32; height: Int32; xSrc: Int32; ySrc: Int32): UInt32 := z_RestoreBufferRegionARB(hRegion, x, y, width, height, xSrc, ySrc); + + {$endregion WGL_ARB_buffer_region} + + {$region WGL_ARB_create_context WGL_ARB_create_context_profile} + + public z_CreateContextAttribsARB: function(hDC: GDI_DC; hShareContext: GLContext; attribList: pointer): GLContext := GetGLFuncOrNil&('wglCreateContextAttribsARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContextAttribsARB(hDC: GDI_DC; hShareContext: GLContext; attribList: array of Int32): GLContext := CreateContextAttribsARB(hDC, hShareContext, attribList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContextAttribsARB(hDC: GDI_DC; hShareContext: GLContext; var attribList: Int32): GLContext := CreateContextAttribsARB(hDC, hShareContext, @attribList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContextAttribsARB(hDC: GDI_DC; hShareContext: GLContext; attribList: pointer): GLContext := z_CreateContextAttribsARB(hDC, hShareContext, attribList); + + {$endregion WGL_ARB_create_context WGL_ARB_create_context_profile} + + {$region WGL_ARB_pbuffer} + + public z_CreatePbufferARB: function(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; piAttribList: pointer): PBufferName := GetGLFuncOrNil&('wglCreatePbufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreatePbufferARB(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; piAttribList: array of Int32): PBufferName := CreatePbufferARB(hDC, iPixelFormat, iWidth, iHeight, piAttribList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreatePbufferARB(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; var piAttribList: Int32): PBufferName := CreatePbufferARB(hDC, iPixelFormat, iWidth, iHeight, @piAttribList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreatePbufferARB(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; piAttribList: pointer): PBufferName := z_CreatePbufferARB(hDC, iPixelFormat, iWidth, iHeight, piAttribList); - static procedure MatrixRotatedEXT(mode: UInt32; angle: double; x: double; y: double; z: double); - external 'opengl32.dll' name 'glMatrixRotatedEXT'; + public z_GetPbufferDCARB: function(hPbuffer: PBufferName): GDI_DC := GetGLFuncOrNil&('wglGetPbufferDCARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPbufferDCARB(hPbuffer: PBufferName): GDI_DC := z_GetPbufferDCARB(hPbuffer); - static procedure MatrixScalefEXT(mode: UInt32; x: single; y: single; z: single); - external 'opengl32.dll' name 'glMatrixScalefEXT'; + public z_ReleasePbufferDCARB: function(hPbuffer: PBufferName; hDC: GDI_DC): Int32 := GetGLFuncOrNil&('wglReleasePbufferDCARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleasePbufferDCARB(hPbuffer: PBufferName; hDC: GDI_DC): Int32 := z_ReleasePbufferDCARB(hPbuffer, hDC); - static procedure MatrixScaledEXT(mode: UInt32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glMatrixScaledEXT'; + public z_DestroyPbufferARB: function(hPbuffer: PBufferName): UInt32 := GetGLFuncOrNil&('wglDestroyPbufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DestroyPbufferARB(hPbuffer: PBufferName): UInt32 := z_DestroyPbufferARB(hPbuffer); - static procedure MatrixTranslatefEXT(mode: UInt32; x: single; y: single; z: single); - external 'opengl32.dll' name 'glMatrixTranslatefEXT'; + public z_QueryPbufferARB: function(hPbuffer: PBufferName; iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglQueryPbufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryPbufferARB(hPbuffer: PBufferName; iAttribute: Int32; piValue: array of Int32): UInt32 := QueryPbufferARB(hPbuffer, iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryPbufferARB(hPbuffer: PBufferName; iAttribute: Int32; var piValue: Int32): UInt32 := QueryPbufferARB(hPbuffer, iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryPbufferARB(hPbuffer: PBufferName; iAttribute: Int32; piValue: pointer): UInt32 := z_QueryPbufferARB(hPbuffer, iAttribute, piValue); - static procedure MatrixTranslatedEXT(mode: UInt32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glMatrixTranslatedEXT'; + {$endregion WGL_ARB_pbuffer} - static procedure MatrixFrustumEXT(mode: UInt32; left: double; right: double; bottom: double; top: double; zNear: double; zFar: double); - external 'opengl32.dll' name 'glMatrixFrustumEXT'; + {$region EXT_pbuffer} - static procedure MatrixOrthoEXT(mode: UInt32; left: double; right: double; bottom: double; top: double; zNear: double; zFar: double); - external 'opengl32.dll' name 'glMatrixOrthoEXT'; + public z_CreatePbufferEXT: function(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; piAttribList: pointer): PBufferName := GetGLFuncOrNil&('wglCreatePbufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreatePbufferEXT(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; piAttribList: array of Int32): PBufferName := CreatePbufferEXT(hDC, iPixelFormat, iWidth, iHeight, piAttribList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreatePbufferEXT(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; var piAttribList: Int32): PBufferName := CreatePbufferEXT(hDC, iPixelFormat, iWidth, iHeight, @piAttribList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreatePbufferEXT(hDC: GDI_DC; iPixelFormat: Int32; iWidth: Int32; iHeight: Int32; piAttribList: pointer): PBufferName := z_CreatePbufferEXT(hDC, iPixelFormat, iWidth, iHeight, piAttribList); - static procedure MatrixPopEXT(mode: UInt32); - external 'opengl32.dll' name 'glMatrixPopEXT'; + public z_GetPbufferDCEXT: function(hPbuffer: PBufferName): GDI_DC := GetGLFuncOrNil&('wglGetPbufferDCEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPbufferDCEXT(hPbuffer: PBufferName): GDI_DC := z_GetPbufferDCEXT(hPbuffer); - static procedure MatrixPushEXT(mode: UInt32); - external 'opengl32.dll' name 'glMatrixPushEXT'; + public z_ReleasePbufferDCEXT: function(hPbuffer: PBufferName; hDC: GDI_DC): Int32 := GetGLFuncOrNil&('wglReleasePbufferDCEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleasePbufferDCEXT(hPbuffer: PBufferName; hDC: GDI_DC): Int32 := z_ReleasePbufferDCEXT(hPbuffer, hDC); - static procedure ClientAttribDefaultEXT(mask: UInt32); - external 'opengl32.dll' name 'glClientAttribDefaultEXT'; + public z_DestroyPbufferEXT: function(hPbuffer: PBufferName): UInt32 := GetGLFuncOrNil&('wglDestroyPbufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DestroyPbufferEXT(hPbuffer: PBufferName): UInt32 := z_DestroyPbufferEXT(hPbuffer); - static procedure PushClientAttribDefaultEXT(mask: UInt32); - external 'opengl32.dll' name 'glPushClientAttribDefaultEXT'; + public z_QueryPbufferEXT: function(hPbuffer: PBufferName; iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglQueryPbufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryPbufferEXT(hPbuffer: PBufferName; iAttribute: Int32; piValue: array of Int32): UInt32 := QueryPbufferEXT(hPbuffer, iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryPbufferEXT(hPbuffer: PBufferName; iAttribute: Int32; var piValue: Int32): UInt32 := QueryPbufferEXT(hPbuffer, iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryPbufferEXT(hPbuffer: PBufferName; iAttribute: Int32; piValue: pointer): UInt32 := z_QueryPbufferEXT(hPbuffer, iAttribute, piValue); - static procedure TextureParameterfEXT(texture: UInt32; target: UInt32; pname: UInt32; param: single); - external 'opengl32.dll' name 'glTextureParameterfEXT'; + {$endregion EXT_pbuffer} - static procedure TextureParameterfvEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glTextureParameterfvEXT'; + {$region NV_delay_before_swap} - static procedure TextureParameteriEXT(texture: UInt32; target: UInt32; pname: UInt32; param: Int32); - external 'opengl32.dll' name 'glTextureParameteriEXT'; + public z_DelayBeforeSwapNV: function(hDC: GDI_DC; seconds: single): UInt32 := GetGLFuncOrNil&('wglDelayBeforeSwapNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DelayBeforeSwapNV(hDC: GDI_DC; seconds: single): UInt32 := z_DelayBeforeSwapNV(hDC, seconds); - static procedure TextureParameterivEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glTextureParameterivEXT'; + {$endregion NV_delay_before_swap} - static procedure TextureImage1DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: Int32; width: Int32; border: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glTextureImage1DEXT'; + {$region WGL_I3D_swap_frame_lock} - static procedure TextureImage2DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: Int32; width: Int32; height: Int32; border: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glTextureImage2DEXT'; + public z_EnableFrameLockI3D: function: UInt32 := GetGLFuncOrNil&('wglEnableFrameLockI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnableFrameLockI3D: UInt32 := z_EnableFrameLockI3D; - static procedure TextureSubImage1DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; width: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glTextureSubImage1DEXT'; + public z_DisableFrameLockI3D: function: UInt32 := GetGLFuncOrNil&('wglDisableFrameLockI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DisableFrameLockI3D: UInt32 := z_DisableFrameLockI3D; - static procedure TextureSubImage2DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glTextureSubImage2DEXT'; + public z_IsEnabledFrameLockI3D: function(pFlag: pointer): UInt32 := GetGLFuncOrNil&('wglIsEnabledFrameLockI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledFrameLockI3D(pFlag: array of UInt32): UInt32 := IsEnabledFrameLockI3D(pFlag[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledFrameLockI3D(var pFlag: UInt32): UInt32 := IsEnabledFrameLockI3D(@pFlag); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledFrameLockI3D(pFlag: pointer): UInt32 := z_IsEnabledFrameLockI3D(pFlag); - static procedure CopyTextureImage1DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: UInt32; x: Int32; y: Int32; width: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyTextureImage1DEXT'; + public z_QueryFrameLockMasterI3D: function(pFlag: pointer): UInt32 := GetGLFuncOrNil&('wglQueryFrameLockMasterI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameLockMasterI3D(pFlag: array of UInt32): UInt32 := QueryFrameLockMasterI3D(pFlag[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameLockMasterI3D(var pFlag: UInt32): UInt32 := QueryFrameLockMasterI3D(@pFlag); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameLockMasterI3D(pFlag: pointer): UInt32 := z_QueryFrameLockMasterI3D(pFlag); - static procedure CopyTextureImage2DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: UInt32; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyTextureImage2DEXT'; + {$endregion WGL_I3D_swap_frame_lock} - static procedure CopyTextureSubImage1DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyTextureSubImage1DEXT'; + {$region WGL_I3D_genlock} - static procedure CopyTextureSubImage2DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTextureSubImage2DEXT'; + public z_EnableGenlockI3D: function(hDC: GDI_DC): UInt32 := GetGLFuncOrNil&('wglEnableGenlockI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnableGenlockI3D(hDC: GDI_DC): UInt32 := z_EnableGenlockI3D(hDC); - static procedure GetTextureImageEXT(texture: UInt32; target: UInt32; level: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glGetTextureImageEXT'; + public z_DisableGenlockI3D: function(hDC: GDI_DC): UInt32 := GetGLFuncOrNil&('wglDisableGenlockI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DisableGenlockI3D(hDC: GDI_DC): UInt32 := z_DisableGenlockI3D(hDC); - static procedure GetTextureParameterfvEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetTextureParameterfvEXT'; + public z_IsEnabledGenlockI3D: function(hDC: GDI_DC; pFlag: pointer): UInt32 := GetGLFuncOrNil&('wglIsEnabledGenlockI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledGenlockI3D(hDC: GDI_DC; pFlag: array of UInt32): UInt32 := IsEnabledGenlockI3D(hDC, pFlag[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledGenlockI3D(hDC: GDI_DC; var pFlag: UInt32): UInt32 := IsEnabledGenlockI3D(hDC, @pFlag); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledGenlockI3D(hDC: GDI_DC; pFlag: pointer): UInt32 := z_IsEnabledGenlockI3D(hDC, pFlag); - static procedure GetTextureParameterivEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetTextureParameterivEXT'; + public z_GenlockSourceI3D: function(hDC: GDI_DC; uSource: UInt32): UInt32 := GetGLFuncOrNil&('wglGenlockSourceI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenlockSourceI3D(hDC: GDI_DC; uSource: UInt32): UInt32 := z_GenlockSourceI3D(hDC, uSource); - static procedure GetTextureLevelParameterfvEXT(texture: UInt32; target: UInt32; level: Int32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetTextureLevelParameterfvEXT'; + public z_GetGenlockSourceI3D: function(hDC: GDI_DC; uSource: pointer): UInt32 := GetGLFuncOrNil&('wglGetGenlockSourceI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceI3D(hDC: GDI_DC; uSource: array of UInt32): UInt32 := GetGenlockSourceI3D(hDC, uSource[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceI3D(hDC: GDI_DC; var uSource: UInt32): UInt32 := GetGenlockSourceI3D(hDC, @uSource); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceI3D(hDC: GDI_DC; uSource: pointer): UInt32 := z_GetGenlockSourceI3D(hDC, uSource); - static procedure GetTextureLevelParameterivEXT(texture: UInt32; target: UInt32; level: Int32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetTextureLevelParameterivEXT'; + public z_GenlockSourceEdgeI3D: function(hDC: GDI_DC; uEdge: UInt32): UInt32 := GetGLFuncOrNil&('wglGenlockSourceEdgeI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenlockSourceEdgeI3D(hDC: GDI_DC; uEdge: UInt32): UInt32 := z_GenlockSourceEdgeI3D(hDC, uEdge); - static procedure TextureImage3DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: Int32; width: Int32; height: Int32; depth: Int32; border: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glTextureImage3DEXT'; + public z_GetGenlockSourceEdgeI3D: function(hDC: GDI_DC; uEdge: pointer): UInt32 := GetGLFuncOrNil&('wglGetGenlockSourceEdgeI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceEdgeI3D(hDC: GDI_DC; uEdge: array of UInt32): UInt32 := GetGenlockSourceEdgeI3D(hDC, uEdge[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceEdgeI3D(hDC: GDI_DC; var uEdge: UInt32): UInt32 := GetGenlockSourceEdgeI3D(hDC, @uEdge); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceEdgeI3D(hDC: GDI_DC; uEdge: pointer): UInt32 := z_GetGenlockSourceEdgeI3D(hDC, uEdge); - static procedure TextureSubImage3DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glTextureSubImage3DEXT'; + public z_GenlockSampleRateI3D: function(hDC: GDI_DC; uRate: UInt32): UInt32 := GetGLFuncOrNil&('wglGenlockSampleRateI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenlockSampleRateI3D(hDC: GDI_DC; uRate: UInt32): UInt32 := z_GenlockSampleRateI3D(hDC, uRate); - static procedure CopyTextureSubImage3DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTextureSubImage3DEXT'; + public z_GetGenlockSampleRateI3D: function(hDC: GDI_DC; uRate: pointer): UInt32 := GetGLFuncOrNil&('wglGetGenlockSampleRateI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSampleRateI3D(hDC: GDI_DC; uRate: array of UInt32): UInt32 := GetGenlockSampleRateI3D(hDC, uRate[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSampleRateI3D(hDC: GDI_DC; var uRate: UInt32): UInt32 := GetGenlockSampleRateI3D(hDC, @uRate); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSampleRateI3D(hDC: GDI_DC; uRate: pointer): UInt32 := z_GetGenlockSampleRateI3D(hDC, uRate); - static procedure BindMultiTextureEXT(texunit: UInt32; target: UInt32; texture: UInt32); - external 'opengl32.dll' name 'glBindMultiTextureEXT'; + public z_GenlockSourceDelayI3D: function(hDC: GDI_DC; uDelay: UInt32): UInt32 := GetGLFuncOrNil&('wglGenlockSourceDelayI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenlockSourceDelayI3D(hDC: GDI_DC; uDelay: UInt32): UInt32 := z_GenlockSourceDelayI3D(hDC, uDelay); - static procedure MultiTexCoordPointerEXT(texunit: UInt32; size: Int32; &type: UInt32; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glMultiTexCoordPointerEXT'; + public z_GetGenlockSourceDelayI3D: function(hDC: GDI_DC; uDelay: pointer): UInt32 := GetGLFuncOrNil&('wglGetGenlockSourceDelayI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceDelayI3D(hDC: GDI_DC; uDelay: array of UInt32): UInt32 := GetGenlockSourceDelayI3D(hDC, uDelay[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceDelayI3D(hDC: GDI_DC; var uDelay: UInt32): UInt32 := GetGenlockSourceDelayI3D(hDC, @uDelay); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGenlockSourceDelayI3D(hDC: GDI_DC; uDelay: pointer): UInt32 := z_GetGenlockSourceDelayI3D(hDC, uDelay); - static procedure MultiTexEnvfEXT(texunit: UInt32; target: UInt32; pname: UInt32; param: single); - external 'opengl32.dll' name 'glMultiTexEnvfEXT'; + public z_QueryGenlockMaxSourceDelayI3D: function(hDC: GDI_DC; uMaxLineDelay: pointer; uMaxPixelDelay: pointer): UInt32 := GetGLFuncOrNil&('wglQueryGenlockMaxSourceDelayI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; uMaxLineDelay: array of UInt32; uMaxPixelDelay: array of UInt32): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay[0], uMaxPixelDelay[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; uMaxLineDelay: array of UInt32; var uMaxPixelDelay: UInt32): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay[0], @uMaxPixelDelay); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; uMaxLineDelay: array of UInt32; uMaxPixelDelay: pointer): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay[0], uMaxPixelDelay); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; var uMaxLineDelay: UInt32; uMaxPixelDelay: array of UInt32): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, @uMaxLineDelay, uMaxPixelDelay[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; var uMaxLineDelay: UInt32; var uMaxPixelDelay: UInt32): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, @uMaxLineDelay, @uMaxPixelDelay); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; var uMaxLineDelay: UInt32; uMaxPixelDelay: pointer): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, @uMaxLineDelay, uMaxPixelDelay); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; uMaxLineDelay: pointer; uMaxPixelDelay: array of UInt32): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay, uMaxPixelDelay[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; uMaxLineDelay: pointer; var uMaxPixelDelay: UInt32): UInt32 := QueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay, @uMaxPixelDelay); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryGenlockMaxSourceDelayI3D(hDC: GDI_DC; uMaxLineDelay: pointer; uMaxPixelDelay: pointer): UInt32 := z_QueryGenlockMaxSourceDelayI3D(hDC, uMaxLineDelay, uMaxPixelDelay); - static procedure MultiTexEnvfvEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glMultiTexEnvfvEXT'; + {$endregion WGL_I3D_genlock} - static procedure MultiTexEnviEXT(texunit: UInt32; target: UInt32; pname: UInt32; param: Int32); - external 'opengl32.dll' name 'glMultiTexEnviEXT'; + {$region NV_DX_interop} - static procedure MultiTexEnvivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glMultiTexEnvivEXT'; + public z_DXSetResourceShareHandleNV: function(dxObject: pointer; shareHandle: IntPtr): UInt32 := GetGLFuncOrNil&('wglDXSetResourceShareHandleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXSetResourceShareHandleNV(dxObject: pointer; shareHandle: IntPtr): UInt32 := z_DXSetResourceShareHandleNV(dxObject, shareHandle); - static procedure MultiTexGendEXT(texunit: UInt32; coord: UInt32; pname: UInt32; param: double); - external 'opengl32.dll' name 'glMultiTexGendEXT'; + public z_DXOpenDeviceNV: function(dxDevice: pointer): IntPtr := GetGLFuncOrNil&('wglDXOpenDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXOpenDeviceNV(dxDevice: pointer): IntPtr := z_DXOpenDeviceNV(dxDevice); - static procedure MultiTexGendvEXT(texunit: UInt32; coord: UInt32; pname: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glMultiTexGendvEXT'; + public z_DXCloseDeviceNV: function(hDevice: IntPtr): UInt32 := GetGLFuncOrNil&('wglDXCloseDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXCloseDeviceNV(hDevice: IntPtr): UInt32 := z_DXCloseDeviceNV(hDevice); - static procedure MultiTexGenfEXT(texunit: UInt32; coord: UInt32; pname: UInt32; param: single); - external 'opengl32.dll' name 'glMultiTexGenfEXT'; + public z_DXRegisterObjectNV: function(hDevice: IntPtr; dxObject: pointer; name: UInt32; &type: DummyEnum; access: DummyEnum): IntPtr := GetGLFuncOrNil&('wglDXRegisterObjectNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXRegisterObjectNV(hDevice: IntPtr; dxObject: pointer; name: UInt32; &type: DummyEnum; access: DummyEnum): IntPtr := z_DXRegisterObjectNV(hDevice, dxObject, name, &type, access); - static procedure MultiTexGenfvEXT(texunit: UInt32; coord: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glMultiTexGenfvEXT'; + public z_DXUnregisterObjectNV: function(hDevice: IntPtr; hObject: IntPtr): UInt32 := GetGLFuncOrNil&('wglDXUnregisterObjectNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXUnregisterObjectNV(hDevice: IntPtr; hObject: IntPtr): UInt32 := z_DXUnregisterObjectNV(hDevice, hObject); - static procedure MultiTexGeniEXT(texunit: UInt32; coord: UInt32; pname: UInt32; param: Int32); - external 'opengl32.dll' name 'glMultiTexGeniEXT'; + public z_DXObjectAccessNV: function(hObject: IntPtr; access: DummyEnum): UInt32 := GetGLFuncOrNil&('wglDXObjectAccessNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXObjectAccessNV(hObject: IntPtr; access: DummyEnum): UInt32 := z_DXObjectAccessNV(hObject, access); - static procedure MultiTexGenivEXT(texunit: UInt32; coord: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glMultiTexGenivEXT'; + public z_DXLockObjectsNV: function(hDevice: IntPtr; count: Int32; hObjects: pointer): UInt32 := GetGLFuncOrNil&('wglDXLockObjectsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXLockObjectsNV(hDevice: IntPtr; count: Int32; hObjects: array of IntPtr): UInt32 := DXLockObjectsNV(hDevice, count, hObjects[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXLockObjectsNV(hDevice: IntPtr; count: Int32; var hObjects: IntPtr): UInt32 := DXLockObjectsNV(hDevice, count, @hObjects); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXLockObjectsNV(hDevice: IntPtr; count: Int32; hObjects: pointer): UInt32 := z_DXLockObjectsNV(hDevice, count, hObjects); - static procedure GetMultiTexEnvfvEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMultiTexEnvfvEXT'; + public z_DXUnlockObjectsNV: function(hDevice: IntPtr; count: Int32; hObjects: pointer): UInt32 := GetGLFuncOrNil&('wglDXUnlockObjectsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXUnlockObjectsNV(hDevice: IntPtr; count: Int32; hObjects: array of IntPtr): UInt32 := DXUnlockObjectsNV(hDevice, count, hObjects[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXUnlockObjectsNV(hDevice: IntPtr; count: Int32; var hObjects: IntPtr): UInt32 := DXUnlockObjectsNV(hDevice, count, @hObjects); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXUnlockObjectsNV(hDevice: IntPtr; count: Int32; hObjects: pointer): UInt32 := z_DXUnlockObjectsNV(hDevice, count, hObjects); - static procedure GetMultiTexEnvivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMultiTexEnvivEXT'; - - static procedure GetMultiTexGendvEXT(texunit: UInt32; coord: UInt32; pname: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glGetMultiTexGendvEXT'; - - static procedure GetMultiTexGenfvEXT(texunit: UInt32; coord: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMultiTexGenfvEXT'; - - static procedure GetMultiTexGenivEXT(texunit: UInt32; coord: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMultiTexGenivEXT'; - - static procedure MultiTexParameteriEXT(texunit: UInt32; target: UInt32; pname: UInt32; param: Int32); - external 'opengl32.dll' name 'glMultiTexParameteriEXT'; - - static procedure MultiTexParameterivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glMultiTexParameterivEXT'; - - static procedure MultiTexParameterfEXT(texunit: UInt32; target: UInt32; pname: UInt32; param: single); - external 'opengl32.dll' name 'glMultiTexParameterfEXT'; - - static procedure MultiTexParameterfvEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glMultiTexParameterfvEXT'; - - static procedure MultiTexImage1DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: Int32; width: Int32; border: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glMultiTexImage1DEXT'; - - static procedure MultiTexImage2DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: Int32; width: Int32; height: Int32; border: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glMultiTexImage2DEXT'; - - static procedure MultiTexSubImage1DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; width: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glMultiTexSubImage1DEXT'; - - static procedure MultiTexSubImage2DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glMultiTexSubImage2DEXT'; - - static procedure CopyMultiTexImage1DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: UInt32; x: Int32; y: Int32; width: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyMultiTexImage1DEXT'; - - static procedure CopyMultiTexImage2DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: UInt32; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyMultiTexImage2DEXT'; - - static procedure CopyMultiTexSubImage1DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyMultiTexSubImage1DEXT'; - - static procedure CopyMultiTexSubImage2DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyMultiTexSubImage2DEXT'; - - static procedure GetMultiTexImageEXT(texunit: UInt32; target: UInt32; level: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glGetMultiTexImageEXT'; - - static procedure GetMultiTexParameterfvEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMultiTexParameterfvEXT'; - - static procedure GetMultiTexParameterivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMultiTexParameterivEXT'; - - static procedure GetMultiTexLevelParameterfvEXT(texunit: UInt32; target: UInt32; level: Int32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMultiTexLevelParameterfvEXT'; - - static procedure GetMultiTexLevelParameterivEXT(texunit: UInt32; target: UInt32; level: Int32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMultiTexLevelParameterivEXT'; - - static procedure MultiTexImage3DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: Int32; width: Int32; height: Int32; depth: Int32; border: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glMultiTexImage3DEXT'; - - static procedure MultiTexSubImage3DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: UInt32; &type: UInt32; pixels: pointer); - external 'opengl32.dll' name 'glMultiTexSubImage3DEXT'; - - static procedure CopyMultiTexSubImage3DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyMultiTexSubImage3DEXT'; - - static procedure EnableClientStateIndexedEXT(&array: UInt32; index: UInt32); - external 'opengl32.dll' name 'glEnableClientStateIndexedEXT'; - - static procedure DisableClientStateIndexedEXT(&array: UInt32; index: UInt32); - external 'opengl32.dll' name 'glDisableClientStateIndexedEXT'; - - static procedure GetFloatIndexedvEXT(target: UInt32; index: UInt32; data: ^single); - external 'opengl32.dll' name 'glGetFloatIndexedvEXT'; - - static procedure GetDoubleIndexedvEXT(target: UInt32; index: UInt32; data: ^double); - external 'opengl32.dll' name 'glGetDoubleIndexedvEXT'; - - static procedure GetPointerIndexedvEXT(target: UInt32; index: UInt32; data: ^IntPtr); - external 'opengl32.dll' name 'glGetPointerIndexedvEXT'; - - static procedure EnableIndexedEXT(target: UInt32; index: UInt32); - external 'opengl32.dll' name 'glEnableIndexedEXT'; - - static procedure DisableIndexedEXT(target: UInt32; index: UInt32); - external 'opengl32.dll' name 'glDisableIndexedEXT'; - - static function IsEnabledIndexedEXT(target: UInt32; index: UInt32): boolean; - external 'opengl32.dll' name 'glIsEnabledIndexedEXT'; - - static procedure GetIntegerIndexedvEXT(target: UInt32; index: UInt32; data: ^Int32); - external 'opengl32.dll' name 'glGetIntegerIndexedvEXT'; - - static procedure GetBooleanIndexedvEXT(target: UInt32; index: UInt32; data: ^boolean); - external 'opengl32.dll' name 'glGetBooleanIndexedvEXT'; - - static procedure CompressedTextureImage3DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: UInt32; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedTextureImage3DEXT'; - - static procedure CompressedTextureImage2DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: UInt32; width: Int32; height: Int32; border: Int32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedTextureImage2DEXT'; - - static procedure CompressedTextureImage1DEXT(texture: UInt32; target: UInt32; level: Int32; internalformat: UInt32; width: Int32; border: Int32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedTextureImage1DEXT'; - - static procedure CompressedTextureSubImage3DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: UInt32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedTextureSubImage3DEXT'; - - static procedure CompressedTextureSubImage2DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: UInt32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedTextureSubImage2DEXT'; - - static procedure CompressedTextureSubImage1DEXT(texture: UInt32; target: UInt32; level: Int32; xoffset: Int32; width: Int32; format: UInt32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedTextureSubImage1DEXT'; - - static procedure GetCompressedTextureImageEXT(texture: UInt32; target: UInt32; lod: Int32; img: pointer); - external 'opengl32.dll' name 'glGetCompressedTextureImageEXT'; - - static procedure CompressedMultiTexImage3DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: UInt32; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedMultiTexImage3DEXT'; - - static procedure CompressedMultiTexImage2DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: UInt32; width: Int32; height: Int32; border: Int32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedMultiTexImage2DEXT'; - - static procedure CompressedMultiTexImage1DEXT(texunit: UInt32; target: UInt32; level: Int32; internalformat: UInt32; width: Int32; border: Int32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedMultiTexImage1DEXT'; - - static procedure CompressedMultiTexSubImage3DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: UInt32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedMultiTexSubImage3DEXT'; - - static procedure CompressedMultiTexSubImage2DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: UInt32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedMultiTexSubImage2DEXT'; - - static procedure CompressedMultiTexSubImage1DEXT(texunit: UInt32; target: UInt32; level: Int32; xoffset: Int32; width: Int32; format: UInt32; imageSize: Int32; bits: pointer); - external 'opengl32.dll' name 'glCompressedMultiTexSubImage1DEXT'; - - static procedure GetCompressedMultiTexImageEXT(texunit: UInt32; target: UInt32; lod: Int32; img: pointer); - external 'opengl32.dll' name 'glGetCompressedMultiTexImageEXT'; - - static procedure MatrixLoadTransposefEXT(mode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixLoadTransposefEXT'; - - static procedure MatrixLoadTransposedEXT(mode: UInt32; m: ^double); - external 'opengl32.dll' name 'glMatrixLoadTransposedEXT'; - - static procedure MatrixMultTransposefEXT(mode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixMultTransposefEXT'; - - static procedure MatrixMultTransposedEXT(mode: UInt32; m: ^double); - external 'opengl32.dll' name 'glMatrixMultTransposedEXT'; - - static procedure NamedBufferDataEXT(buffer: UInt32; size: UIntPtr; data: pointer; usage: UInt32); - external 'opengl32.dll' name 'glNamedBufferDataEXT'; - - static procedure NamedBufferSubDataEXT(buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glNamedBufferSubDataEXT'; - - static function MapNamedBufferEXT(buffer: UInt32; access: UInt32): pointer; - external 'opengl32.dll' name 'glMapNamedBufferEXT'; - - static function UnmapNamedBufferEXT(buffer: UInt32): boolean; - external 'opengl32.dll' name 'glUnmapNamedBufferEXT'; - - static procedure GetNamedBufferParameterivEXT(buffer: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetNamedBufferParameterivEXT'; - - static procedure GetNamedBufferPointervEXT(buffer: UInt32; pname: UInt32; ¶ms: ^IntPtr); - external 'opengl32.dll' name 'glGetNamedBufferPointervEXT'; - - static procedure GetNamedBufferSubDataEXT(buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glGetNamedBufferSubDataEXT'; - - static procedure ProgramUniform1fEXT(&program: UInt32; location: Int32; v0: single); - external 'opengl32.dll' name 'glProgramUniform1fEXT'; - - static procedure ProgramUniform2fEXT(&program: UInt32; location: Int32; v0: single; v1: single); - external 'opengl32.dll' name 'glProgramUniform2fEXT'; - - static procedure ProgramUniform3fEXT(&program: UInt32; location: Int32; v0: single; v1: single; v2: single); - external 'opengl32.dll' name 'glProgramUniform3fEXT'; - - static procedure ProgramUniform4fEXT(&program: UInt32; location: Int32; v0: single; v1: single; v2: single; v3: single); - external 'opengl32.dll' name 'glProgramUniform4fEXT'; - - static procedure ProgramUniform1iEXT(&program: UInt32; location: Int32; v0: Int32); - external 'opengl32.dll' name 'glProgramUniform1iEXT'; - - static procedure ProgramUniform2iEXT(&program: UInt32; location: Int32; v0: Int32; v1: Int32); - external 'opengl32.dll' name 'glProgramUniform2iEXT'; - - static procedure ProgramUniform3iEXT(&program: UInt32; location: Int32; v0: Int32; v1: Int32; v2: Int32); - external 'opengl32.dll' name 'glProgramUniform3iEXT'; - - static procedure ProgramUniform4iEXT(&program: UInt32; location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32); - external 'opengl32.dll' name 'glProgramUniform4iEXT'; - - static procedure ProgramUniform1fvEXT(&program: UInt32; location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glProgramUniform1fvEXT'; - - static procedure ProgramUniform2fvEXT(&program: UInt32; location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glProgramUniform2fvEXT'; - - static procedure ProgramUniform3fvEXT(&program: UInt32; location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glProgramUniform3fvEXT'; - - static procedure ProgramUniform4fvEXT(&program: UInt32; location: Int32; count: Int32; value: ^single); - external 'opengl32.dll' name 'glProgramUniform4fvEXT'; - - static procedure ProgramUniform1ivEXT(&program: UInt32; location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glProgramUniform1ivEXT'; - - static procedure ProgramUniform2ivEXT(&program: UInt32; location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glProgramUniform2ivEXT'; - - static procedure ProgramUniform3ivEXT(&program: UInt32; location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glProgramUniform3ivEXT'; - - static procedure ProgramUniform4ivEXT(&program: UInt32; location: Int32; count: Int32; value: ^Int32); - external 'opengl32.dll' name 'glProgramUniform4ivEXT'; - - static procedure ProgramUniformMatrix2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix2fvEXT'; - - static procedure ProgramUniformMatrix3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix3fvEXT'; - - static procedure ProgramUniformMatrix4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix4fvEXT'; - - static procedure ProgramUniformMatrix2x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3fvEXT'; - - static procedure ProgramUniformMatrix3x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2fvEXT'; - - static procedure ProgramUniformMatrix2x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4fvEXT'; - - static procedure ProgramUniformMatrix4x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2fvEXT'; - - static procedure ProgramUniformMatrix3x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4fvEXT'; - - static procedure ProgramUniformMatrix4x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^single); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3fvEXT'; - - static procedure TextureBufferEXT(texture: UInt32; target: UInt32; internalformat: UInt32; buffer: UInt32); - external 'opengl32.dll' name 'glTextureBufferEXT'; - - static procedure MultiTexBufferEXT(texunit: UInt32; target: UInt32; internalformat: UInt32; buffer: UInt32); - external 'opengl32.dll' name 'glMultiTexBufferEXT'; - - static procedure TextureParameterIivEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glTextureParameterIivEXT'; - - static procedure TextureParameterIuivEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glTextureParameterIuivEXT'; - - static procedure GetTextureParameterIivEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetTextureParameterIivEXT'; - - static procedure GetTextureParameterIuivEXT(texture: UInt32; target: UInt32; pname: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetTextureParameterIuivEXT'; - - static procedure MultiTexParameterIivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glMultiTexParameterIivEXT'; - - static procedure MultiTexParameterIuivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glMultiTexParameterIuivEXT'; - - static procedure GetMultiTexParameterIivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMultiTexParameterIivEXT'; - - static procedure GetMultiTexParameterIuivEXT(texunit: UInt32; target: UInt32; pname: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetMultiTexParameterIuivEXT'; - - static procedure ProgramUniform1uiEXT(&program: UInt32; location: Int32; v0: UInt32); - external 'opengl32.dll' name 'glProgramUniform1uiEXT'; - - static procedure ProgramUniform2uiEXT(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32); - external 'opengl32.dll' name 'glProgramUniform2uiEXT'; - - static procedure ProgramUniform3uiEXT(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32); - external 'opengl32.dll' name 'glProgramUniform3uiEXT'; - - static procedure ProgramUniform4uiEXT(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32); - external 'opengl32.dll' name 'glProgramUniform4uiEXT'; - - static procedure ProgramUniform1uivEXT(&program: UInt32; location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glProgramUniform1uivEXT'; - - static procedure ProgramUniform2uivEXT(&program: UInt32; location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glProgramUniform2uivEXT'; - - static procedure ProgramUniform3uivEXT(&program: UInt32; location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glProgramUniform3uivEXT'; - - static procedure ProgramUniform4uivEXT(&program: UInt32; location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glProgramUniform4uivEXT'; - - static procedure NamedProgramLocalParameters4fvEXT(&program: UInt32; target: UInt32; index: UInt32; count: Int32; ¶ms: ^single); - external 'opengl32.dll' name 'glNamedProgramLocalParameters4fvEXT'; - - static procedure NamedProgramLocalParameterI4iEXT(&program: UInt32; target: UInt32; index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32); - external 'opengl32.dll' name 'glNamedProgramLocalParameterI4iEXT'; - - static procedure NamedProgramLocalParameterI4ivEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glNamedProgramLocalParameterI4ivEXT'; - - static procedure NamedProgramLocalParametersI4ivEXT(&program: UInt32; target: UInt32; index: UInt32; count: Int32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glNamedProgramLocalParametersI4ivEXT'; - - static procedure NamedProgramLocalParameterI4uiEXT(&program: UInt32; target: UInt32; index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32); - external 'opengl32.dll' name 'glNamedProgramLocalParameterI4uiEXT'; - - static procedure NamedProgramLocalParameterI4uivEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glNamedProgramLocalParameterI4uivEXT'; - - static procedure NamedProgramLocalParametersI4uivEXT(&program: UInt32; target: UInt32; index: UInt32; count: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glNamedProgramLocalParametersI4uivEXT'; - - static procedure GetNamedProgramLocalParameterIivEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetNamedProgramLocalParameterIivEXT'; - - static procedure GetNamedProgramLocalParameterIuivEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetNamedProgramLocalParameterIuivEXT'; - - static procedure EnableClientStateiEXT(&array: UInt32; index: UInt32); - external 'opengl32.dll' name 'glEnableClientStateiEXT'; - - static procedure DisableClientStateiEXT(&array: UInt32; index: UInt32); - external 'opengl32.dll' name 'glDisableClientStateiEXT'; - - static procedure GetFloati_vEXT(pname: UInt32; index: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetFloati_vEXT'; - - static procedure GetDoublei_vEXT(pname: UInt32; index: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glGetDoublei_vEXT'; - - static procedure GetPointeri_vEXT(pname: UInt32; index: UInt32; ¶ms: ^IntPtr); - external 'opengl32.dll' name 'glGetPointeri_vEXT'; - - static procedure NamedProgramStringEXT(&program: UInt32; target: UInt32; format: UInt32; len: Int32; string: pointer); - external 'opengl32.dll' name 'glNamedProgramStringEXT'; - - static procedure NamedProgramLocalParameter4dEXT(&program: UInt32; target: UInt32; index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glNamedProgramLocalParameter4dEXT'; - - static procedure NamedProgramLocalParameter4dvEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glNamedProgramLocalParameter4dvEXT'; - - static procedure NamedProgramLocalParameter4fEXT(&program: UInt32; target: UInt32; index: UInt32; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glNamedProgramLocalParameter4fEXT'; - - static procedure NamedProgramLocalParameter4fvEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glNamedProgramLocalParameter4fvEXT'; - - static procedure GetNamedProgramLocalParameterdvEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^double); - external 'opengl32.dll' name 'glGetNamedProgramLocalParameterdvEXT'; - - static procedure GetNamedProgramLocalParameterfvEXT(&program: UInt32; target: UInt32; index: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetNamedProgramLocalParameterfvEXT'; - - static procedure GetNamedProgramivEXT(&program: UInt32; target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetNamedProgramivEXT'; - - static procedure GetNamedProgramStringEXT(&program: UInt32; target: UInt32; pname: UInt32; string: pointer); - external 'opengl32.dll' name 'glGetNamedProgramStringEXT'; - - static procedure NamedRenderbufferStorageEXT(renderbuffer: UInt32; internalformat: UInt32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glNamedRenderbufferStorageEXT'; - - static procedure GetNamedRenderbufferParameterivEXT(renderbuffer: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetNamedRenderbufferParameterivEXT'; - - static procedure NamedRenderbufferStorageMultisampleEXT(renderbuffer: UInt32; samples: Int32; internalformat: UInt32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glNamedRenderbufferStorageMultisampleEXT'; - - static procedure NamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer: UInt32; coverageSamples: Int32; colorSamples: Int32; internalformat: UInt32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glNamedRenderbufferStorageMultisampleCoverageEXT'; - - static function CheckNamedFramebufferStatusEXT(framebuffer: UInt32; target: UInt32): UInt32; - external 'opengl32.dll' name 'glCheckNamedFramebufferStatusEXT'; - - static procedure NamedFramebufferTexture1DEXT(framebuffer: UInt32; attachment: UInt32; textarget: UInt32; texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glNamedFramebufferTexture1DEXT'; - - static procedure NamedFramebufferTexture2DEXT(framebuffer: UInt32; attachment: UInt32; textarget: UInt32; texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glNamedFramebufferTexture2DEXT'; - - static procedure NamedFramebufferTexture3DEXT(framebuffer: UInt32; attachment: UInt32; textarget: UInt32; texture: UInt32; level: Int32; zoffset: Int32); - external 'opengl32.dll' name 'glNamedFramebufferTexture3DEXT'; - - static procedure NamedFramebufferRenderbufferEXT(framebuffer: UInt32; attachment: UInt32; renderbuffertarget: UInt32; renderbuffer: UInt32); - external 'opengl32.dll' name 'glNamedFramebufferRenderbufferEXT'; - - static procedure GetNamedFramebufferAttachmentParameterivEXT(framebuffer: UInt32; attachment: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetNamedFramebufferAttachmentParameterivEXT'; - - static procedure GenerateTextureMipmapEXT(texture: UInt32; target: UInt32); - external 'opengl32.dll' name 'glGenerateTextureMipmapEXT'; - - static procedure GenerateMultiTexMipmapEXT(texunit: UInt32; target: UInt32); - external 'opengl32.dll' name 'glGenerateMultiTexMipmapEXT'; - - static procedure FramebufferDrawBufferEXT(framebuffer: UInt32; mode: UInt32); - external 'opengl32.dll' name 'glFramebufferDrawBufferEXT'; - - static procedure FramebufferDrawBuffersEXT(framebuffer: UInt32; n: Int32; bufs: ^UInt32); - external 'opengl32.dll' name 'glFramebufferDrawBuffersEXT'; - - static procedure FramebufferReadBufferEXT(framebuffer: UInt32; mode: UInt32); - external 'opengl32.dll' name 'glFramebufferReadBufferEXT'; - - static procedure GetFramebufferParameterivEXT(framebuffer: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetFramebufferParameterivEXT'; - - static procedure NamedCopyBufferSubDataEXT(readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glNamedCopyBufferSubDataEXT'; - - static procedure NamedFramebufferTextureEXT(framebuffer: UInt32; attachment: UInt32; texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glNamedFramebufferTextureEXT'; - - static procedure NamedFramebufferTextureLayerEXT(framebuffer: UInt32; attachment: UInt32; texture: UInt32; level: Int32; layer: Int32); - external 'opengl32.dll' name 'glNamedFramebufferTextureLayerEXT'; - - static procedure NamedFramebufferTextureFaceEXT(framebuffer: UInt32; attachment: UInt32; texture: UInt32; level: Int32; face: UInt32); - external 'opengl32.dll' name 'glNamedFramebufferTextureFaceEXT'; - - static procedure TextureRenderbufferEXT(texture: UInt32; target: UInt32; renderbuffer: UInt32); - external 'opengl32.dll' name 'glTextureRenderbufferEXT'; - - static procedure MultiTexRenderbufferEXT(texunit: UInt32; target: UInt32; renderbuffer: UInt32); - external 'opengl32.dll' name 'glMultiTexRenderbufferEXT'; - - static procedure VertexArrayVertexOffsetEXT(vaobj: UInt32; buffer: UInt32; size: Int32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayVertexOffsetEXT'; - - static procedure VertexArrayColorOffsetEXT(vaobj: UInt32; buffer: UInt32; size: Int32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayColorOffsetEXT'; - - static procedure VertexArrayEdgeFlagOffsetEXT(vaobj: UInt32; buffer: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayEdgeFlagOffsetEXT'; - - static procedure VertexArrayIndexOffsetEXT(vaobj: UInt32; buffer: UInt32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayIndexOffsetEXT'; - - static procedure VertexArrayNormalOffsetEXT(vaobj: UInt32; buffer: UInt32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayNormalOffsetEXT'; - - static procedure VertexArrayTexCoordOffsetEXT(vaobj: UInt32; buffer: UInt32; size: Int32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayTexCoordOffsetEXT'; - - static procedure VertexArrayMultiTexCoordOffsetEXT(vaobj: UInt32; buffer: UInt32; texunit: UInt32; size: Int32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayMultiTexCoordOffsetEXT'; - - static procedure VertexArrayFogCoordOffsetEXT(vaobj: UInt32; buffer: UInt32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayFogCoordOffsetEXT'; - - static procedure VertexArraySecondaryColorOffsetEXT(vaobj: UInt32; buffer: UInt32; size: Int32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArraySecondaryColorOffsetEXT'; - - static procedure VertexArrayVertexAttribOffsetEXT(vaobj: UInt32; buffer: UInt32; index: UInt32; size: Int32; &type: UInt32; normalized: boolean; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayVertexAttribOffsetEXT'; - - static procedure VertexArrayVertexAttribIOffsetEXT(vaobj: UInt32; buffer: UInt32; index: UInt32; size: Int32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayVertexAttribIOffsetEXT'; - - static procedure EnableVertexArrayEXT(vaobj: UInt32; &array: UInt32); - external 'opengl32.dll' name 'glEnableVertexArrayEXT'; - - static procedure DisableVertexArrayEXT(vaobj: UInt32; &array: UInt32); - external 'opengl32.dll' name 'glDisableVertexArrayEXT'; - - static procedure EnableVertexArrayAttribEXT(vaobj: UInt32; index: UInt32); - external 'opengl32.dll' name 'glEnableVertexArrayAttribEXT'; - - static procedure DisableVertexArrayAttribEXT(vaobj: UInt32; index: UInt32); - external 'opengl32.dll' name 'glDisableVertexArrayAttribEXT'; - - static procedure GetVertexArrayIntegervEXT(vaobj: UInt32; pname: UInt32; param: ^Int32); - external 'opengl32.dll' name 'glGetVertexArrayIntegervEXT'; - - static procedure GetVertexArrayPointervEXT(vaobj: UInt32; pname: UInt32; param: ^IntPtr); - external 'opengl32.dll' name 'glGetVertexArrayPointervEXT'; - - static procedure GetVertexArrayIntegeri_vEXT(vaobj: UInt32; index: UInt32; pname: UInt32; param: ^Int32); - external 'opengl32.dll' name 'glGetVertexArrayIntegeri_vEXT'; - - static procedure GetVertexArrayPointeri_vEXT(vaobj: UInt32; index: UInt32; pname: UInt32; param: ^IntPtr); - external 'opengl32.dll' name 'glGetVertexArrayPointeri_vEXT'; - - static function MapNamedBufferRangeEXT(buffer: UInt32; offset: IntPtr; length: UIntPtr; access: UInt32): pointer; - external 'opengl32.dll' name 'glMapNamedBufferRangeEXT'; - - static procedure FlushMappedNamedBufferRangeEXT(buffer: UInt32; offset: IntPtr; length: UIntPtr); - external 'opengl32.dll' name 'glFlushMappedNamedBufferRangeEXT'; - - static procedure NamedBufferStorageEXT(buffer: UInt32; size: UIntPtr; data: pointer; flags: UInt32); - external 'opengl32.dll' name 'glNamedBufferStorageEXT'; - - static procedure ClearNamedBufferDataEXT(buffer: UInt32; internalformat: UInt32; format: UInt32; &type: UInt32; data: pointer); - external 'opengl32.dll' name 'glClearNamedBufferDataEXT'; - - static procedure ClearNamedBufferSubDataEXT(buffer: UInt32; internalformat: UInt32; offset: UIntPtr; size: UIntPtr; format: UInt32; &type: UInt32; data: pointer); - external 'opengl32.dll' name 'glClearNamedBufferSubDataEXT'; - - static procedure NamedFramebufferParameteriEXT(framebuffer: UInt32; pname: UInt32; param: Int32); - external 'opengl32.dll' name 'glNamedFramebufferParameteriEXT'; - - static procedure GetNamedFramebufferParameterivEXT(framebuffer: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetNamedFramebufferParameterivEXT'; - - static procedure ProgramUniform1dEXT(&program: UInt32; location: Int32; x: double); - external 'opengl32.dll' name 'glProgramUniform1dEXT'; - - static procedure ProgramUniform2dEXT(&program: UInt32; location: Int32; x: double; y: double); - external 'opengl32.dll' name 'glProgramUniform2dEXT'; - - static procedure ProgramUniform3dEXT(&program: UInt32; location: Int32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glProgramUniform3dEXT'; - - static procedure ProgramUniform4dEXT(&program: UInt32; location: Int32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glProgramUniform4dEXT'; - - static procedure ProgramUniform1dvEXT(&program: UInt32; location: Int32; count: Int32; value: ^double); - external 'opengl32.dll' name 'glProgramUniform1dvEXT'; - - static procedure ProgramUniform2dvEXT(&program: UInt32; location: Int32; count: Int32; value: ^double); - external 'opengl32.dll' name 'glProgramUniform2dvEXT'; - - static procedure ProgramUniform3dvEXT(&program: UInt32; location: Int32; count: Int32; value: ^double); - external 'opengl32.dll' name 'glProgramUniform3dvEXT'; - - static procedure ProgramUniform4dvEXT(&program: UInt32; location: Int32; count: Int32; value: ^double); - external 'opengl32.dll' name 'glProgramUniform4dvEXT'; - - static procedure ProgramUniformMatrix2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix2dvEXT'; - - static procedure ProgramUniformMatrix3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix3dvEXT'; - - static procedure ProgramUniformMatrix4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix4dvEXT'; - - static procedure ProgramUniformMatrix2x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix2x3dvEXT'; - - static procedure ProgramUniformMatrix2x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix2x4dvEXT'; - - static procedure ProgramUniformMatrix3x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix3x2dvEXT'; - - static procedure ProgramUniformMatrix3x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix3x4dvEXT'; - - static procedure ProgramUniformMatrix4x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix4x2dvEXT'; - - static procedure ProgramUniformMatrix4x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: boolean; value: ^double); - external 'opengl32.dll' name 'glProgramUniformMatrix4x3dvEXT'; - - static procedure TextureBufferRangeEXT(texture: UInt32; target: UInt32; internalformat: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glTextureBufferRangeEXT'; - - static procedure TextureStorage1DEXT(texture: UInt32; target: UInt32; levels: Int32; internalformat: UInt32; width: Int32); - external 'opengl32.dll' name 'glTextureStorage1DEXT'; - - static procedure TextureStorage2DEXT(texture: UInt32; target: UInt32; levels: Int32; internalformat: UInt32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glTextureStorage2DEXT'; - - static procedure TextureStorage3DEXT(texture: UInt32; target: UInt32; levels: Int32; internalformat: UInt32; width: Int32; height: Int32; depth: Int32); - external 'opengl32.dll' name 'glTextureStorage3DEXT'; - - static procedure TextureStorage2DMultisampleEXT(texture: UInt32; target: UInt32; samples: Int32; internalformat: UInt32; width: Int32; height: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTextureStorage2DMultisampleEXT'; - - static procedure TextureStorage3DMultisampleEXT(texture: UInt32; target: UInt32; samples: Int32; internalformat: UInt32; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glTextureStorage3DMultisampleEXT'; - - static procedure VertexArrayBindVertexBufferEXT(vaobj: UInt32; bindingindex: UInt32; buffer: UInt32; offset: IntPtr; stride: Int32); - external 'opengl32.dll' name 'glVertexArrayBindVertexBufferEXT'; - - static procedure VertexArrayVertexAttribFormatEXT(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: UInt32; normalized: boolean; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexArrayVertexAttribFormatEXT'; - - static procedure VertexArrayVertexAttribIFormatEXT(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: UInt32; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexArrayVertexAttribIFormatEXT'; - - static procedure VertexArrayVertexAttribLFormatEXT(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: UInt32; relativeoffset: UInt32); - external 'opengl32.dll' name 'glVertexArrayVertexAttribLFormatEXT'; - - static procedure VertexArrayVertexAttribBindingEXT(vaobj: UInt32; attribindex: UInt32; bindingindex: UInt32); - external 'opengl32.dll' name 'glVertexArrayVertexAttribBindingEXT'; - - static procedure VertexArrayVertexBindingDivisorEXT(vaobj: UInt32; bindingindex: UInt32; divisor: UInt32); - external 'opengl32.dll' name 'glVertexArrayVertexBindingDivisorEXT'; - - static procedure VertexArrayVertexAttribLOffsetEXT(vaobj: UInt32; buffer: UInt32; index: UInt32; size: Int32; &type: UInt32; stride: Int32; offset: IntPtr); - external 'opengl32.dll' name 'glVertexArrayVertexAttribLOffsetEXT'; - - static procedure TexturePageCommitmentEXT(texture: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: boolean); - external 'opengl32.dll' name 'glTexturePageCommitmentEXT'; - - static procedure VertexArrayVertexAttribDivisorEXT(vaobj: UInt32; index: UInt32; divisor: UInt32); - external 'opengl32.dll' name 'glVertexArrayVertexAttribDivisorEXT'; - - static procedure DrawArraysInstancedEXT(mode: UInt32; start: Int32; count: Int32; primcount: Int32); - external 'opengl32.dll' name 'glDrawArraysInstancedEXT'; - - static procedure DrawElementsInstancedEXT(mode: UInt32; count: Int32; &type: UInt32; indices: pointer; primcount: Int32); - external 'opengl32.dll' name 'glDrawElementsInstancedEXT'; - - static procedure PolygonOffsetClampEXT(factor: single; units: single; clamp: single); - external 'opengl32.dll' name 'glPolygonOffsetClampEXT'; - - static procedure RasterSamplesEXT(samples: UInt32; fixedsamplelocations: boolean); - external 'opengl32.dll' name 'glRasterSamplesEXT'; - - static procedure UseShaderProgramEXT(&type: UInt32; &program: UInt32); - external 'opengl32.dll' name 'glUseShaderProgramEXT'; - - static procedure ActiveProgramEXT(&program: UInt32); - external 'opengl32.dll' name 'glActiveProgramEXT'; - - static function CreateShaderProgramEXT(&type: UInt32; string: ^SByte): UInt32; - external 'opengl32.dll' name 'glCreateShaderProgramEXT'; - - static procedure FramebufferFetchBarrierEXT; - external 'opengl32.dll' name 'glFramebufferFetchBarrierEXT'; - - static procedure WindowRectanglesEXT(mode: UInt32; count: Int32; box: ^Int32); - external 'opengl32.dll' name 'glWindowRectanglesEXT'; - - static procedure ColorSubTableEXT(target: UInt32; start: Int32; count: Int32; format: UInt32; &type: UInt32; table: pointer); - external 'opengl32.dll' name 'glColorSubTableEXT'; - - static procedure ColorTableEXT(target: UInt32; internalformat: UInt32; width: Int32; format: UInt32; &type: UInt32; table: pointer); - external 'opengl32.dll' name 'glColorTableEXT'; - - static procedure GetColorTableEXT(target: UInt32; format: UInt32; &type: UInt32; table: pointer); - external 'opengl32.dll' name 'glGetColorTableEXT'; - - static procedure GetColorTableParameterivEXT(target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetColorTableParameterivEXT'; - - static procedure UniformBufferEXT(&program: UInt32; location: Int32; buffer: UInt32); - external 'opengl32.dll' name 'glUniformBufferEXT'; - - static function GetUniformBufferSizeEXT(&program: UInt32; location: Int32): Int32; - external 'opengl32.dll' name 'glGetUniformBufferSizeEXT'; - - static function GetUniformOffsetEXT(&program: UInt32; location: Int32): IntPtr; - external 'opengl32.dll' name 'glGetUniformOffsetEXT'; - - static procedure BlendColorEXT(red: single; green: single; blue: single; alpha: single); - external 'opengl32.dll' name 'glBlendColorEXT'; - - static procedure BlendEquationSeparateEXT(modeRGB: ErrorCode; modeAlpha: ErrorCode); - external 'opengl32.dll' name 'glBlendEquationSeparateEXT'; - - static procedure BlendFuncSeparateEXT(sfactorRGB: ErrorCode; dfactorRGB: ErrorCode; sfactorAlpha: ErrorCode; dfactorAlpha: ErrorCode); - external 'opengl32.dll' name 'glBlendFuncSeparateEXT'; - - static procedure BlendEquationEXT(mode: ErrorCode); - external 'opengl32.dll' name 'glBlendEquationEXT'; - - static procedure CopyColorSubTableEXT(target: ErrorCode; start: Int32; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyColorSubTableEXT'; - - static procedure LockArraysEXT(first: Int32; count: Int32); - external 'opengl32.dll' name 'glLockArraysEXT'; - - static procedure UnlockArraysEXT; - external 'opengl32.dll' name 'glUnlockArraysEXT'; - - static procedure ConvolutionFilter1DEXT(target: ErrorCode; internalformat: ErrorCode; width: Int32; format: ErrorCode; &type: ErrorCode; image: pointer); - external 'opengl32.dll' name 'glConvolutionFilter1DEXT'; - - static procedure ConvolutionFilter2DEXT(target: ErrorCode; internalformat: ErrorCode; width: Int32; height: Int32; format: ErrorCode; &type: ErrorCode; image: pointer); - external 'opengl32.dll' name 'glConvolutionFilter2DEXT'; - - static procedure ConvolutionParameterfEXT(target: ErrorCode; pname: ErrorCode; ¶ms: single); - external 'opengl32.dll' name 'glConvolutionParameterfEXT'; - - static procedure ConvolutionParameterfvEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glConvolutionParameterfvEXT'; - - static procedure ConvolutionParameteriEXT(target: ErrorCode; pname: ErrorCode; ¶ms: Int32); - external 'opengl32.dll' name 'glConvolutionParameteriEXT'; - - static procedure ConvolutionParameterivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glConvolutionParameterivEXT'; - - static procedure CopyConvolutionFilter1DEXT(target: ErrorCode; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyConvolutionFilter1DEXT'; - - static procedure CopyConvolutionFilter2DEXT(target: ErrorCode; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyConvolutionFilter2DEXT'; - - static procedure GetConvolutionFilterEXT(target: ErrorCode; format: ErrorCode; &type: ErrorCode; image: pointer); - external 'opengl32.dll' name 'glGetConvolutionFilterEXT'; - - static procedure GetConvolutionParameterfvEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetConvolutionParameterfvEXT'; - - static procedure GetConvolutionParameterivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetConvolutionParameterivEXT'; - - static procedure GetSeparableFilterEXT(target: ErrorCode; format: ErrorCode; &type: ErrorCode; row: pointer; column: pointer; span: pointer); - external 'opengl32.dll' name 'glGetSeparableFilterEXT'; - - static procedure SeparableFilter2DEXT(target: ErrorCode; internalformat: ErrorCode; width: Int32; height: Int32; format: ErrorCode; &type: ErrorCode; row: pointer; column: pointer); - external 'opengl32.dll' name 'glSeparableFilter2DEXT'; - - static procedure Tangent3bEXT(tx: SByte; ty: SByte; tz: SByte); - external 'opengl32.dll' name 'glTangent3bEXT'; - - static procedure Tangent3bvEXT(v: ^SByte); - external 'opengl32.dll' name 'glTangent3bvEXT'; - - static procedure Tangent3dEXT(tx: double; ty: double; tz: double); - external 'opengl32.dll' name 'glTangent3dEXT'; - - static procedure Tangent3dvEXT(v: ^double); - external 'opengl32.dll' name 'glTangent3dvEXT'; - - static procedure Tangent3fEXT(tx: single; ty: single; tz: single); - external 'opengl32.dll' name 'glTangent3fEXT'; - - static procedure Tangent3fvEXT(v: ^single); - external 'opengl32.dll' name 'glTangent3fvEXT'; - - static procedure Tangent3iEXT(tx: Int32; ty: Int32; tz: Int32); - external 'opengl32.dll' name 'glTangent3iEXT'; - - static procedure Tangent3ivEXT(v: ^Int32); - external 'opengl32.dll' name 'glTangent3ivEXT'; - - static procedure Tangent3sEXT(tx: Int16; ty: Int16; tz: Int16); - external 'opengl32.dll' name 'glTangent3sEXT'; - - static procedure Tangent3svEXT(v: ^Int16); - external 'opengl32.dll' name 'glTangent3svEXT'; - - static procedure Binormal3bEXT(bx: SByte; by: SByte; bz: SByte); - external 'opengl32.dll' name 'glBinormal3bEXT'; - - static procedure Binormal3bvEXT(v: ^SByte); - external 'opengl32.dll' name 'glBinormal3bvEXT'; - - static procedure Binormal3dEXT(bx: double; by: double; bz: double); - external 'opengl32.dll' name 'glBinormal3dEXT'; - - static procedure Binormal3dvEXT(v: ^double); - external 'opengl32.dll' name 'glBinormal3dvEXT'; - - static procedure Binormal3fEXT(bx: single; by: single; bz: single); - external 'opengl32.dll' name 'glBinormal3fEXT'; - - static procedure Binormal3fvEXT(v: ^single); - external 'opengl32.dll' name 'glBinormal3fvEXT'; - - static procedure Binormal3iEXT(bx: Int32; by: Int32; bz: Int32); - external 'opengl32.dll' name 'glBinormal3iEXT'; - - static procedure Binormal3ivEXT(v: ^Int32); - external 'opengl32.dll' name 'glBinormal3ivEXT'; - - static procedure Binormal3sEXT(bx: Int16; by: Int16; bz: Int16); - external 'opengl32.dll' name 'glBinormal3sEXT'; - - static procedure Binormal3svEXT(v: ^Int16); - external 'opengl32.dll' name 'glBinormal3svEXT'; - - static procedure TangentPointerEXT(&type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glTangentPointerEXT'; - - static procedure BinormalPointerEXT(&type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glBinormalPointerEXT'; - - static procedure CopyTexImage1DEXT(target: ErrorCode; level: Int32; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyTexImage1DEXT'; - - static procedure CopyTexImage2DEXT(target: ErrorCode; level: Int32; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32); - external 'opengl32.dll' name 'glCopyTexImage2DEXT'; - - static procedure CopyTexSubImage1DEXT(target: ErrorCode; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyTexSubImage1DEXT'; - - static procedure CopyTexSubImage2DEXT(target: ErrorCode; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTexSubImage2DEXT'; - - static procedure CopyTexSubImage3DEXT(target: ErrorCode; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyTexSubImage3DEXT'; - - static procedure CullParameterdvEXT(pname: ErrorCode; ¶ms: ^double); - external 'opengl32.dll' name 'glCullParameterdvEXT'; - - static procedure CullParameterfvEXT(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glCullParameterfvEXT'; - - static procedure DepthBoundsEXT(zmin: double; zmax: double); - external 'opengl32.dll' name 'glDepthBoundsEXT'; - - static procedure ColorMaskIndexedEXT(index: UInt32; r: Byte; g: Byte; b: Byte; a: Byte); - external 'opengl32.dll' name 'glColorMaskIndexedEXT'; - - static procedure DrawRangeElementsEXT(mode: ErrorCode; start: UInt32; &end: UInt32; count: Int32; &type: ErrorCode; indices: pointer); - external 'opengl32.dll' name 'glDrawRangeElementsEXT'; - - static procedure BufferStorageExternalEXT(target: ErrorCode; offset: IntPtr; size: UIntPtr; clientBuffer: GLeglClientBufferEXT; flags: UInt32); - external 'opengl32.dll' name 'glBufferStorageExternalEXT'; - - static procedure NamedBufferStorageExternalEXT(buffer: UInt32; offset: IntPtr; size: UIntPtr; clientBuffer: GLeglClientBufferEXT; flags: UInt32); - external 'opengl32.dll' name 'glNamedBufferStorageExternalEXT'; - - static procedure FogCoordfEXT(coord: single); - external 'opengl32.dll' name 'glFogCoordfEXT'; - - static procedure FogCoordfvEXT(coord: ^single); - external 'opengl32.dll' name 'glFogCoordfvEXT'; - - static procedure FogCoorddEXT(coord: double); - external 'opengl32.dll' name 'glFogCoorddEXT'; - - static procedure FogCoorddvEXT(coord: ^double); - external 'opengl32.dll' name 'glFogCoorddvEXT'; - - static procedure FogCoordPointerEXT(&type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glFogCoordPointerEXT'; - - static procedure BlitFramebufferEXT(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: UInt32; filter: ErrorCode); - external 'opengl32.dll' name 'glBlitFramebufferEXT'; - - static procedure RenderbufferStorageMultisampleEXT(target: ErrorCode; samples: Int32; internalformat: ErrorCode; width: Int32; height: Int32); - external 'opengl32.dll' name 'glRenderbufferStorageMultisampleEXT'; - - static function IsRenderbufferEXT(renderbuffer: UInt32): Byte; - external 'opengl32.dll' name 'glIsRenderbufferEXT'; - - static procedure BindRenderbufferEXT(target: ErrorCode; renderbuffer: UInt32); - external 'opengl32.dll' name 'glBindRenderbufferEXT'; - - static procedure DeleteRenderbuffersEXT(n: Int32; renderbuffers: ^UInt32); - external 'opengl32.dll' name 'glDeleteRenderbuffersEXT'; - - static procedure GenRenderbuffersEXT(n: Int32; renderbuffers: ^UInt32); - external 'opengl32.dll' name 'glGenRenderbuffersEXT'; - - static procedure RenderbufferStorageEXT(target: ErrorCode; internalformat: ErrorCode; width: Int32; height: Int32); - external 'opengl32.dll' name 'glRenderbufferStorageEXT'; - - static procedure GetRenderbufferParameterivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetRenderbufferParameterivEXT'; - - static function IsFramebufferEXT(framebuffer: UInt32): Byte; - external 'opengl32.dll' name 'glIsFramebufferEXT'; - - static procedure BindFramebufferEXT(target: ErrorCode; framebuffer: UInt32); - external 'opengl32.dll' name 'glBindFramebufferEXT'; - - static procedure DeleteFramebuffersEXT(n: Int32; framebuffers: ^UInt32); - external 'opengl32.dll' name 'glDeleteFramebuffersEXT'; - - static procedure GenFramebuffersEXT(n: Int32; framebuffers: ^UInt32); - external 'opengl32.dll' name 'glGenFramebuffersEXT'; - - static function CheckFramebufferStatusEXT(target: ErrorCode): ErrorCode; - external 'opengl32.dll' name 'glCheckFramebufferStatusEXT'; - - static procedure FramebufferTexture1DEXT(target: ErrorCode; attachment: ErrorCode; textarget: ErrorCode; texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glFramebufferTexture1DEXT'; - - static procedure FramebufferTexture2DEXT(target: ErrorCode; attachment: ErrorCode; textarget: ErrorCode; texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glFramebufferTexture2DEXT'; - - static procedure FramebufferTexture3DEXT(target: ErrorCode; attachment: ErrorCode; textarget: ErrorCode; texture: UInt32; level: Int32; zoffset: Int32); - external 'opengl32.dll' name 'glFramebufferTexture3DEXT'; - - static procedure FramebufferRenderbufferEXT(target: ErrorCode; attachment: ErrorCode; renderbuffertarget: ErrorCode; renderbuffer: UInt32); - external 'opengl32.dll' name 'glFramebufferRenderbufferEXT'; - - static procedure GetFramebufferAttachmentParameterivEXT(target: ErrorCode; attachment: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetFramebufferAttachmentParameterivEXT'; - - static procedure GenerateMipmapEXT(target: ErrorCode); - external 'opengl32.dll' name 'glGenerateMipmapEXT'; - - static procedure ProgramParameteriEXT(&program: UInt32; pname: ErrorCode; value: Int32); - external 'opengl32.dll' name 'glProgramParameteriEXT'; - - static procedure ProgramEnvParameters4fvEXT(target: ErrorCode; index: UInt32; count: Int32; ¶ms: ^single); - external 'opengl32.dll' name 'glProgramEnvParameters4fvEXT'; - - static procedure ProgramLocalParameters4fvEXT(target: ErrorCode; index: UInt32; count: Int32; ¶ms: ^single); - external 'opengl32.dll' name 'glProgramLocalParameters4fvEXT'; - - static procedure GetUniformuivEXT(&program: UInt32; location: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetUniformuivEXT'; - - static procedure BindFragDataLocationEXT(&program: UInt32; color: UInt32; name: ^Byte); - external 'opengl32.dll' name 'glBindFragDataLocationEXT'; - - static function GetFragDataLocationEXT(&program: UInt32; name: ^Byte): Int32; - external 'opengl32.dll' name 'glGetFragDataLocationEXT'; - - static procedure Uniform1uiEXT(location: Int32; v0: UInt32); - external 'opengl32.dll' name 'glUniform1uiEXT'; - - static procedure Uniform2uiEXT(location: Int32; v0: UInt32; v1: UInt32); - external 'opengl32.dll' name 'glUniform2uiEXT'; - - static procedure Uniform3uiEXT(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32); - external 'opengl32.dll' name 'glUniform3uiEXT'; - - static procedure Uniform4uiEXT(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32); - external 'opengl32.dll' name 'glUniform4uiEXT'; - - static procedure Uniform1uivEXT(location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glUniform1uivEXT'; - - static procedure Uniform2uivEXT(location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glUniform2uivEXT'; - - static procedure Uniform3uivEXT(location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glUniform3uivEXT'; - - static procedure Uniform4uivEXT(location: Int32; count: Int32; value: ^UInt32); - external 'opengl32.dll' name 'glUniform4uivEXT'; - - static procedure GetHistogramEXT(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; values: pointer); - external 'opengl32.dll' name 'glGetHistogramEXT'; - - static procedure GetHistogramParameterfvEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetHistogramParameterfvEXT'; - - static procedure GetHistogramParameterivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetHistogramParameterivEXT'; - - static procedure GetMinmaxEXT(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; values: pointer); - external 'opengl32.dll' name 'glGetMinmaxEXT'; - - static procedure GetMinmaxParameterfvEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMinmaxParameterfvEXT'; - - static procedure GetMinmaxParameterivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMinmaxParameterivEXT'; - - static procedure HistogramEXT(target: ErrorCode; width: Int32; internalformat: ErrorCode; sink: Byte); - external 'opengl32.dll' name 'glHistogramEXT'; - - static procedure MinmaxEXT(target: ErrorCode; internalformat: ErrorCode; sink: Byte); - external 'opengl32.dll' name 'glMinmaxEXT'; - - static procedure ResetHistogramEXT(target: ErrorCode); - external 'opengl32.dll' name 'glResetHistogramEXT'; - - static procedure ResetMinmaxEXT(target: ErrorCode); - external 'opengl32.dll' name 'glResetMinmaxEXT'; - - static procedure IndexFuncEXT(func: ErrorCode; ref: single); - external 'opengl32.dll' name 'glIndexFuncEXT'; - - static procedure IndexMaterialEXT(face: ErrorCode; mode: ErrorCode); - external 'opengl32.dll' name 'glIndexMaterialEXT'; - - static procedure ApplyTextureEXT(mode: ErrorCode); - external 'opengl32.dll' name 'glApplyTextureEXT'; - - static procedure TextureLightEXT(pname: ErrorCode); - external 'opengl32.dll' name 'glTextureLightEXT'; - - static procedure TextureMaterialEXT(face: ErrorCode; mode: ErrorCode); - external 'opengl32.dll' name 'glTextureMaterialEXT'; - - static procedure GetUnsignedBytevEXT(pname: ErrorCode; data: ^Byte); - external 'opengl32.dll' name 'glGetUnsignedBytevEXT'; - - static procedure GetUnsignedBytei_vEXT(target: ErrorCode; index: UInt32; data: ^Byte); - external 'opengl32.dll' name 'glGetUnsignedBytei_vEXT'; - - static procedure DeleteMemoryObjectsEXT(n: Int32; memoryObjects: ^UInt32); - external 'opengl32.dll' name 'glDeleteMemoryObjectsEXT'; - - static function IsMemoryObjectEXT(memoryObject: UInt32): Byte; - external 'opengl32.dll' name 'glIsMemoryObjectEXT'; - - static procedure CreateMemoryObjectsEXT(n: Int32; memoryObjects: ^UInt32); - external 'opengl32.dll' name 'glCreateMemoryObjectsEXT'; - - static procedure MemoryObjectParameterivEXT(memoryObject: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glMemoryObjectParameterivEXT'; - - static procedure GetMemoryObjectParameterivEXT(memoryObject: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMemoryObjectParameterivEXT'; - - static procedure TexStorageMem2DEXT(target: ErrorCode; levels: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTexStorageMem2DEXT'; - - static procedure TexStorageMem2DMultisampleEXT(target: ErrorCode; samples: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTexStorageMem2DMultisampleEXT'; - - static procedure TexStorageMem3DEXT(target: ErrorCode; levels: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; depth: Int32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTexStorageMem3DEXT'; - - static procedure TexStorageMem3DMultisampleEXT(target: ErrorCode; samples: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTexStorageMem3DMultisampleEXT'; - - static procedure BufferStorageMemEXT(target: ErrorCode; size: UIntPtr; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glBufferStorageMemEXT'; - - static procedure TextureStorageMem2DEXT(texture: UInt32; levels: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTextureStorageMem2DEXT'; - - static procedure TextureStorageMem2DMultisampleEXT(texture: UInt32; samples: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTextureStorageMem2DMultisampleEXT'; - - static procedure TextureStorageMem3DEXT(texture: UInt32; levels: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; depth: Int32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTextureStorageMem3DEXT'; - - static procedure TextureStorageMem3DMultisampleEXT(texture: UInt32; samples: Int32; internalFormat: ErrorCode; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTextureStorageMem3DMultisampleEXT'; - - static procedure NamedBufferStorageMemEXT(buffer: UInt32; size: UIntPtr; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glNamedBufferStorageMemEXT'; - - static procedure TexStorageMem1DEXT(target: ErrorCode; levels: Int32; internalFormat: ErrorCode; width: Int32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTexStorageMem1DEXT'; - - static procedure TextureStorageMem1DEXT(texture: UInt32; levels: Int32; internalFormat: ErrorCode; width: Int32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTextureStorageMem1DEXT'; - - static procedure ImportMemoryFdEXT(memory: UInt32; size: UInt64; handleType: ErrorCode; fd: Int32); - external 'opengl32.dll' name 'glImportMemoryFdEXT'; - - static procedure ImportMemoryWin32HandleEXT(memory: UInt32; size: UInt64; handleType: ErrorCode; handle: pointer); - external 'opengl32.dll' name 'glImportMemoryWin32HandleEXT'; - - static procedure ImportMemoryWin32NameEXT(memory: UInt32; size: UInt64; handleType: ErrorCode; name: pointer); - external 'opengl32.dll' name 'glImportMemoryWin32NameEXT'; - - static procedure MultiDrawArraysEXT(mode: ErrorCode; first: ^Int32; count: ^Int32; primcount: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysEXT'; - - static procedure MultiDrawElementsEXT(mode: ErrorCode; count: ^Int32; &type: ErrorCode; indices: ^pointer; primcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsEXT'; - - static procedure SampleMaskEXT(value: single; invert: Byte); - external 'opengl32.dll' name 'glSampleMaskEXT'; - - static procedure SamplePatternEXT(pattern: ErrorCode); - external 'opengl32.dll' name 'glSamplePatternEXT'; - - static procedure GetColorTableParameterfvEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetColorTableParameterfvEXT'; - - static procedure PixelTransformParameteriEXT(target: ErrorCode; pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glPixelTransformParameteriEXT'; - - static procedure PixelTransformParameterfEXT(target: ErrorCode; pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glPixelTransformParameterfEXT'; - - static procedure PixelTransformParameterivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glPixelTransformParameterivEXT'; - - static procedure PixelTransformParameterfvEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glPixelTransformParameterfvEXT'; - - static procedure GetPixelTransformParameterivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetPixelTransformParameterivEXT'; - - static procedure GetPixelTransformParameterfvEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetPixelTransformParameterfvEXT'; - - static procedure PointParameterfEXT(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glPointParameterfEXT'; - - static procedure PointParameterfvEXT(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glPointParameterfvEXT'; - - static procedure PolygonOffsetEXT(factor: single; bias: single); - external 'opengl32.dll' name 'glPolygonOffsetEXT'; - - static procedure ProvokingVertexEXT(mode: ErrorCode); - external 'opengl32.dll' name 'glProvokingVertexEXT'; - - static procedure SecondaryColor3bEXT(red: SByte; green: SByte; blue: SByte); - external 'opengl32.dll' name 'glSecondaryColor3bEXT'; - - static procedure SecondaryColor3bvEXT(v: ^SByte); - external 'opengl32.dll' name 'glSecondaryColor3bvEXT'; - - static procedure SecondaryColor3dEXT(red: double; green: double; blue: double); - external 'opengl32.dll' name 'glSecondaryColor3dEXT'; - - static procedure SecondaryColor3dvEXT(v: ^double); - external 'opengl32.dll' name 'glSecondaryColor3dvEXT'; - - static procedure SecondaryColor3fEXT(red: single; green: single; blue: single); - external 'opengl32.dll' name 'glSecondaryColor3fEXT'; - - static procedure SecondaryColor3fvEXT(v: ^single); - external 'opengl32.dll' name 'glSecondaryColor3fvEXT'; - - static procedure SecondaryColor3iEXT(red: Int32; green: Int32; blue: Int32); - external 'opengl32.dll' name 'glSecondaryColor3iEXT'; - - static procedure SecondaryColor3ivEXT(v: ^Int32); - external 'opengl32.dll' name 'glSecondaryColor3ivEXT'; - - static procedure SecondaryColor3sEXT(red: Int16; green: Int16; blue: Int16); - external 'opengl32.dll' name 'glSecondaryColor3sEXT'; - - static procedure SecondaryColor3svEXT(v: ^Int16); - external 'opengl32.dll' name 'glSecondaryColor3svEXT'; - - static procedure SecondaryColor3ubEXT(red: Byte; green: Byte; blue: Byte); - external 'opengl32.dll' name 'glSecondaryColor3ubEXT'; - - static procedure SecondaryColor3ubvEXT(v: ^Byte); - external 'opengl32.dll' name 'glSecondaryColor3ubvEXT'; - - static procedure SecondaryColor3uiEXT(red: UInt32; green: UInt32; blue: UInt32); - external 'opengl32.dll' name 'glSecondaryColor3uiEXT'; - - static procedure SecondaryColor3uivEXT(v: ^UInt32); - external 'opengl32.dll' name 'glSecondaryColor3uivEXT'; - - static procedure SecondaryColor3usEXT(red: UInt16; green: UInt16; blue: UInt16); - external 'opengl32.dll' name 'glSecondaryColor3usEXT'; - - static procedure SecondaryColor3usvEXT(v: ^UInt16); - external 'opengl32.dll' name 'glSecondaryColor3usvEXT'; - - static procedure SecondaryColorPointerEXT(size: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glSecondaryColorPointerEXT'; - - static procedure GenSemaphoresEXT(n: Int32; semaphores: ^UInt32); - external 'opengl32.dll' name 'glGenSemaphoresEXT'; - - static procedure DeleteSemaphoresEXT(n: Int32; semaphores: ^UInt32); - external 'opengl32.dll' name 'glDeleteSemaphoresEXT'; - - static function IsSemaphoreEXT(semaphore: UInt32): Byte; - external 'opengl32.dll' name 'glIsSemaphoreEXT'; - - static procedure SemaphoreParameterui64vEXT(semaphore: UInt32; pname: ErrorCode; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glSemaphoreParameterui64vEXT'; - - static procedure GetSemaphoreParameterui64vEXT(semaphore: UInt32; pname: ErrorCode; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetSemaphoreParameterui64vEXT'; - - static procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: ^UInt32; numTextureBarriers: UInt32; textures: ^UInt32; srcLayouts: ^ErrorCode); - external 'opengl32.dll' name 'glWaitSemaphoreEXT'; - - static procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: ^UInt32; numTextureBarriers: UInt32; textures: ^UInt32; dstLayouts: ^ErrorCode); - external 'opengl32.dll' name 'glSignalSemaphoreEXT'; - - static procedure ImportSemaphoreFdEXT(semaphore: UInt32; handleType: ErrorCode; fd: Int32); - external 'opengl32.dll' name 'glImportSemaphoreFdEXT'; - - static procedure ImportSemaphoreWin32HandleEXT(semaphore: UInt32; handleType: ErrorCode; handle: pointer); - external 'opengl32.dll' name 'glImportSemaphoreWin32HandleEXT'; - - static procedure ImportSemaphoreWin32NameEXT(semaphore: UInt32; handleType: ErrorCode; name: pointer); - external 'opengl32.dll' name 'glImportSemaphoreWin32NameEXT'; - - static procedure BindImageTextureEXT(index: UInt32; texture: UInt32; level: Int32; layered: Byte; layer: Int32; access: ErrorCode; format: Int32); - external 'opengl32.dll' name 'glBindImageTextureEXT'; - - static procedure MemoryBarrierEXT(barriers: UInt32); - external 'opengl32.dll' name 'glMemoryBarrierEXT'; - - static procedure StencilClearTagEXT(stencilTagBits: Int32; stencilClearTag: UInt32); - external 'opengl32.dll' name 'glStencilClearTagEXT'; - - static procedure ActiveStencilFaceEXT(face: ErrorCode); - external 'opengl32.dll' name 'glActiveStencilFaceEXT'; - - static procedure TexSubImage1DEXT(target: ErrorCode; level: Int32; xoffset: Int32; width: Int32; format: ErrorCode; &type: ErrorCode; pixels: pointer); - external 'opengl32.dll' name 'glTexSubImage1DEXT'; - - static procedure TexSubImage2DEXT(target: ErrorCode; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: ErrorCode; &type: ErrorCode; pixels: pointer); - external 'opengl32.dll' name 'glTexSubImage2DEXT'; - - static procedure TexImage3DEXT(target: ErrorCode; level: Int32; internalformat: ErrorCode; width: Int32; height: Int32; depth: Int32; border: Int32; format: ErrorCode; &type: ErrorCode; pixels: pointer); - external 'opengl32.dll' name 'glTexImage3DEXT'; - - static procedure TexSubImage3DEXT(target: ErrorCode; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: ErrorCode; &type: ErrorCode; pixels: pointer); - external 'opengl32.dll' name 'glTexSubImage3DEXT'; - - static procedure FramebufferTextureLayerEXT(target: ErrorCode; attachment: ErrorCode; texture: UInt32; level: Int32; layer: Int32); - external 'opengl32.dll' name 'glFramebufferTextureLayerEXT'; - - static procedure TexBufferEXT(target: ErrorCode; internalformat: ErrorCode; buffer: UInt32); - external 'opengl32.dll' name 'glTexBufferEXT'; - - static procedure TexParameterIivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glTexParameterIivEXT'; - - static procedure TexParameterIuivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glTexParameterIuivEXT'; - - static procedure GetTexParameterIivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetTexParameterIivEXT'; - - static procedure GetTexParameterIuivEXT(target: ErrorCode; pname: ErrorCode; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetTexParameterIuivEXT'; - - static procedure ClearColorIiEXT(red: Int32; green: Int32; blue: Int32; alpha: Int32); - external 'opengl32.dll' name 'glClearColorIiEXT'; - - static procedure ClearColorIuiEXT(red: UInt32; green: UInt32; blue: UInt32; alpha: UInt32); - external 'opengl32.dll' name 'glClearColorIuiEXT'; - - static function AreTexturesResidentEXT(n: Int32; textures: ^UInt32; residences: ^Byte): Byte; - external 'opengl32.dll' name 'glAreTexturesResidentEXT'; - - static procedure BindTextureEXT(target: ErrorCode; texture: UInt32); - external 'opengl32.dll' name 'glBindTextureEXT'; - - static procedure DeleteTexturesEXT(n: Int32; textures: ^UInt32); - external 'opengl32.dll' name 'glDeleteTexturesEXT'; - - static procedure GenTexturesEXT(n: Int32; textures: ^UInt32); - external 'opengl32.dll' name 'glGenTexturesEXT'; - - static function IsTextureEXT(texture: UInt32): Byte; - external 'opengl32.dll' name 'glIsTextureEXT'; - - static procedure PrioritizeTexturesEXT(n: Int32; textures: ^UInt32; priorities: ^single); - external 'opengl32.dll' name 'glPrioritizeTexturesEXT'; - - static procedure TextureNormalEXT(mode: ErrorCode); - external 'opengl32.dll' name 'glTextureNormalEXT'; - - static procedure GetQueryObjecti64vEXT(id: UInt32; pname: ErrorCode; ¶ms: ^Int64); - external 'opengl32.dll' name 'glGetQueryObjecti64vEXT'; - - static procedure GetQueryObjectui64vEXT(id: UInt32; pname: ErrorCode; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetQueryObjectui64vEXT'; - - static procedure BeginTransformFeedbackEXT(primitiveMode: ErrorCode); - external 'opengl32.dll' name 'glBeginTransformFeedbackEXT'; - - static procedure EndTransformFeedbackEXT; - external 'opengl32.dll' name 'glEndTransformFeedbackEXT'; - - static procedure BindBufferRangeEXT(target: ErrorCode; index: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glBindBufferRangeEXT'; - - static procedure BindBufferOffsetEXT(target: ErrorCode; index: UInt32; buffer: UInt32; offset: IntPtr); - external 'opengl32.dll' name 'glBindBufferOffsetEXT'; - - static procedure BindBufferBaseEXT(target: ErrorCode; index: UInt32; buffer: UInt32); - external 'opengl32.dll' name 'glBindBufferBaseEXT'; - - static procedure TransformFeedbackVaryingsEXT(&program: UInt32; count: Int32; varyings: ^^Byte; bufferMode: ErrorCode); - external 'opengl32.dll' name 'glTransformFeedbackVaryingsEXT'; - - static procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: ^Int32; size: ^Int32; &type: ^ErrorCode; name: ^Byte); - external 'opengl32.dll' name 'glGetTransformFeedbackVaryingEXT'; - - static procedure ArrayElementEXT(i: Int32); - external 'opengl32.dll' name 'glArrayElementEXT'; - - static procedure ColorPointerEXT(size: Int32; &type: ErrorCode; stride: Int32; count: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glColorPointerEXT'; - - static procedure DrawArraysEXT(mode: ErrorCode; first: Int32; count: Int32); - external 'opengl32.dll' name 'glDrawArraysEXT'; - - static procedure EdgeFlagPointerEXT(stride: Int32; count: Int32; _pointer: ^Byte); - external 'opengl32.dll' name 'glEdgeFlagPointerEXT'; - - static procedure GetPointervEXT(pname: ErrorCode; ¶ms: ^pointer); - external 'opengl32.dll' name 'glGetPointervEXT'; - - static procedure IndexPointerEXT(&type: ErrorCode; stride: Int32; count: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glIndexPointerEXT'; - - static procedure NormalPointerEXT(&type: ErrorCode; stride: Int32; count: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glNormalPointerEXT'; - - static procedure TexCoordPointerEXT(size: Int32; &type: ErrorCode; stride: Int32; count: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glTexCoordPointerEXT'; - - static procedure VertexPointerEXT(size: Int32; &type: ErrorCode; stride: Int32; count: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexPointerEXT'; - - static procedure VertexAttribL1dEXT(index: UInt32; x: double); - external 'opengl32.dll' name 'glVertexAttribL1dEXT'; - - static procedure VertexAttribL2dEXT(index: UInt32; x: double; y: double); - external 'opengl32.dll' name 'glVertexAttribL2dEXT'; - - static procedure VertexAttribL3dEXT(index: UInt32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glVertexAttribL3dEXT'; - - static procedure VertexAttribL4dEXT(index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glVertexAttribL4dEXT'; - - static procedure VertexAttribL1dvEXT(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribL1dvEXT'; - - static procedure VertexAttribL2dvEXT(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribL2dvEXT'; - - static procedure VertexAttribL3dvEXT(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribL3dvEXT'; - - static procedure VertexAttribL4dvEXT(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribL4dvEXT'; - - static procedure VertexAttribLPointerEXT(index: UInt32; size: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexAttribLPointerEXT'; - - static procedure GetVertexAttribLdvEXT(index: UInt32; pname: ErrorCode; ¶ms: ^double); - external 'opengl32.dll' name 'glGetVertexAttribLdvEXT'; - - static procedure BeginVertexShaderEXT; - external 'opengl32.dll' name 'glBeginVertexShaderEXT'; - - static procedure EndVertexShaderEXT; - external 'opengl32.dll' name 'glEndVertexShaderEXT'; - - static procedure BindVertexShaderEXT(id: UInt32); - external 'opengl32.dll' name 'glBindVertexShaderEXT'; - - static function GenVertexShadersEXT(range: UInt32): UInt32; - external 'opengl32.dll' name 'glGenVertexShadersEXT'; - - static procedure DeleteVertexShaderEXT(id: UInt32); - external 'opengl32.dll' name 'glDeleteVertexShaderEXT'; - - static procedure ShaderOp1EXT(op: ErrorCode; res: UInt32; arg1: UInt32); - external 'opengl32.dll' name 'glShaderOp1EXT'; - - static procedure ShaderOp2EXT(op: ErrorCode; res: UInt32; arg1: UInt32; arg2: UInt32); - external 'opengl32.dll' name 'glShaderOp2EXT'; - - static procedure ShaderOp3EXT(op: ErrorCode; res: UInt32; arg1: UInt32; arg2: UInt32; arg3: UInt32); - external 'opengl32.dll' name 'glShaderOp3EXT'; - - static procedure SwizzleEXT(res: UInt32; &in: UInt32; outX: ErrorCode; outY: ErrorCode; outZ: ErrorCode; outW: ErrorCode); - external 'opengl32.dll' name 'glSwizzleEXT'; - - static procedure WriteMaskEXT(res: UInt32; &in: UInt32; outX: ErrorCode; outY: ErrorCode; outZ: ErrorCode; outW: ErrorCode); - external 'opengl32.dll' name 'glWriteMaskEXT'; - - static procedure InsertComponentEXT(res: UInt32; src: UInt32; num: UInt32); - external 'opengl32.dll' name 'glInsertComponentEXT'; - - static procedure ExtractComponentEXT(res: UInt32; src: UInt32; num: UInt32); - external 'opengl32.dll' name 'glExtractComponentEXT'; - - static function GenSymbolsEXT(datatype: ErrorCode; storagetype: ErrorCode; range: ErrorCode; components: UInt32): UInt32; - external 'opengl32.dll' name 'glGenSymbolsEXT'; - - static procedure SetInvariantEXT(id: UInt32; &type: ErrorCode; addr: pointer); - external 'opengl32.dll' name 'glSetInvariantEXT'; - - static procedure SetLocalConstantEXT(id: UInt32; &type: ErrorCode; addr: pointer); - external 'opengl32.dll' name 'glSetLocalConstantEXT'; - - static procedure VariantbvEXT(id: UInt32; addr: ^SByte); - external 'opengl32.dll' name 'glVariantbvEXT'; - - static procedure VariantsvEXT(id: UInt32; addr: ^Int16); - external 'opengl32.dll' name 'glVariantsvEXT'; - - static procedure VariantivEXT(id: UInt32; addr: ^Int32); - external 'opengl32.dll' name 'glVariantivEXT'; - - static procedure VariantfvEXT(id: UInt32; addr: ^single); - external 'opengl32.dll' name 'glVariantfvEXT'; - - static procedure VariantdvEXT(id: UInt32; addr: ^double); - external 'opengl32.dll' name 'glVariantdvEXT'; - - static procedure VariantubvEXT(id: UInt32; addr: ^Byte); - external 'opengl32.dll' name 'glVariantubvEXT'; - - static procedure VariantusvEXT(id: UInt32; addr: ^UInt16); - external 'opengl32.dll' name 'glVariantusvEXT'; - - static procedure VariantuivEXT(id: UInt32; addr: ^UInt32); - external 'opengl32.dll' name 'glVariantuivEXT'; - - static procedure VariantPointerEXT(id: UInt32; &type: ErrorCode; stride: UInt32; addr: pointer); - external 'opengl32.dll' name 'glVariantPointerEXT'; - - static procedure EnableVariantClientStateEXT(id: UInt32); - external 'opengl32.dll' name 'glEnableVariantClientStateEXT'; - - static procedure DisableVariantClientStateEXT(id: UInt32); - external 'opengl32.dll' name 'glDisableVariantClientStateEXT'; - - static function BindLightParameterEXT(light: ErrorCode; value: ErrorCode): UInt32; - external 'opengl32.dll' name 'glBindLightParameterEXT'; - - static function BindMaterialParameterEXT(face: ErrorCode; value: ErrorCode): UInt32; - external 'opengl32.dll' name 'glBindMaterialParameterEXT'; - - static function BindTexGenParameterEXT(&unit: ErrorCode; coord: ErrorCode; value: ErrorCode): UInt32; - external 'opengl32.dll' name 'glBindTexGenParameterEXT'; - - static function BindTextureUnitParameterEXT(&unit: ErrorCode; value: ErrorCode): UInt32; - external 'opengl32.dll' name 'glBindTextureUnitParameterEXT'; - - static function BindParameterEXT(value: ErrorCode): UInt32; - external 'opengl32.dll' name 'glBindParameterEXT'; - - static function IsVariantEnabledEXT(id: UInt32; cap: ErrorCode): Byte; - external 'opengl32.dll' name 'glIsVariantEnabledEXT'; - - static procedure GetVariantBooleanvEXT(id: UInt32; value: ErrorCode; data: ^Byte); - external 'opengl32.dll' name 'glGetVariantBooleanvEXT'; - - static procedure GetVariantIntegervEXT(id: UInt32; value: ErrorCode; data: ^Int32); - external 'opengl32.dll' name 'glGetVariantIntegervEXT'; - - static procedure GetVariantFloatvEXT(id: UInt32; value: ErrorCode; data: ^single); - external 'opengl32.dll' name 'glGetVariantFloatvEXT'; - - static procedure GetVariantPointervEXT(id: UInt32; value: ErrorCode; data: ^pointer); - external 'opengl32.dll' name 'glGetVariantPointervEXT'; - - static procedure GetInvariantBooleanvEXT(id: UInt32; value: ErrorCode; data: ^Byte); - external 'opengl32.dll' name 'glGetInvariantBooleanvEXT'; - - static procedure GetInvariantIntegervEXT(id: UInt32; value: ErrorCode; data: ^Int32); - external 'opengl32.dll' name 'glGetInvariantIntegervEXT'; - - static procedure GetInvariantFloatvEXT(id: UInt32; value: ErrorCode; data: ^single); - external 'opengl32.dll' name 'glGetInvariantFloatvEXT'; - - static procedure GetLocalConstantBooleanvEXT(id: UInt32; value: ErrorCode; data: ^Byte); - external 'opengl32.dll' name 'glGetLocalConstantBooleanvEXT'; - - static procedure GetLocalConstantIntegervEXT(id: UInt32; value: ErrorCode; data: ^Int32); - external 'opengl32.dll' name 'glGetLocalConstantIntegervEXT'; - - static procedure GetLocalConstantFloatvEXT(id: UInt32; value: ErrorCode; data: ^single); - external 'opengl32.dll' name 'glGetLocalConstantFloatvEXT'; - - static procedure VertexWeightfEXT(weight: single); - external 'opengl32.dll' name 'glVertexWeightfEXT'; - - static procedure VertexWeightfvEXT(weight: ^single); - external 'opengl32.dll' name 'glVertexWeightfvEXT'; - - static procedure VertexWeightPointerEXT(size: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexWeightPointerEXT'; - - static function AcquireKeyedMutexWin32EXT(memory: UInt32; key: UInt64; timeout: UInt32): Byte; - external 'opengl32.dll' name 'glAcquireKeyedMutexWin32EXT'; - - static function ReleaseKeyedMutexWin32EXT(memory: UInt32; key: UInt64): Byte; - external 'opengl32.dll' name 'glReleaseKeyedMutexWin32EXT'; - - static function ImportSyncEXT(external_sync_type: ErrorCode; external_sync: IntPtr; flags: UInt32): GLsync; - external 'opengl32.dll' name 'glImportSyncEXT'; - - static procedure FramebufferTextureEXT(target: ErrorCode; attachment: ErrorCode; texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glFramebufferTextureEXT'; - - static procedure FramebufferTextureFaceEXT(target: ErrorCode; attachment: ErrorCode; texture: UInt32; level: Int32; face: ErrorCode); - external 'opengl32.dll' name 'glFramebufferTextureFaceEXT'; - - static procedure VertexAttribI1iEXT(index: UInt32; x: Int32); - external 'opengl32.dll' name 'glVertexAttribI1iEXT'; - - static procedure VertexAttribI2iEXT(index: UInt32; x: Int32; y: Int32); - external 'opengl32.dll' name 'glVertexAttribI2iEXT'; - - static procedure VertexAttribI3iEXT(index: UInt32; x: Int32; y: Int32; z: Int32); - external 'opengl32.dll' name 'glVertexAttribI3iEXT'; - - static procedure VertexAttribI4iEXT(index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32); - external 'opengl32.dll' name 'glVertexAttribI4iEXT'; - - static procedure VertexAttribI1uiEXT(index: UInt32; x: UInt32); - external 'opengl32.dll' name 'glVertexAttribI1uiEXT'; - - static procedure VertexAttribI2uiEXT(index: UInt32; x: UInt32; y: UInt32); - external 'opengl32.dll' name 'glVertexAttribI2uiEXT'; - - static procedure VertexAttribI3uiEXT(index: UInt32; x: UInt32; y: UInt32; z: UInt32); - external 'opengl32.dll' name 'glVertexAttribI3uiEXT'; - - static procedure VertexAttribI4uiEXT(index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32); - external 'opengl32.dll' name 'glVertexAttribI4uiEXT'; - - static procedure VertexAttribI1ivEXT(index: UInt32; v: ^Int32); - external 'opengl32.dll' name 'glVertexAttribI1ivEXT'; - - static procedure VertexAttribI2ivEXT(index: UInt32; v: ^Int32); - external 'opengl32.dll' name 'glVertexAttribI2ivEXT'; - - static procedure VertexAttribI3ivEXT(index: UInt32; v: ^Int32); - external 'opengl32.dll' name 'glVertexAttribI3ivEXT'; - - static procedure VertexAttribI4ivEXT(index: UInt32; v: ^Int32); - external 'opengl32.dll' name 'glVertexAttribI4ivEXT'; - - static procedure VertexAttribI1uivEXT(index: UInt32; v: ^UInt32); - external 'opengl32.dll' name 'glVertexAttribI1uivEXT'; - - static procedure VertexAttribI2uivEXT(index: UInt32; v: ^UInt32); - external 'opengl32.dll' name 'glVertexAttribI2uivEXT'; - - static procedure VertexAttribI3uivEXT(index: UInt32; v: ^UInt32); - external 'opengl32.dll' name 'glVertexAttribI3uivEXT'; - - static procedure VertexAttribI4uivEXT(index: UInt32; v: ^UInt32); - external 'opengl32.dll' name 'glVertexAttribI4uivEXT'; - - static procedure VertexAttribI4bvEXT(index: UInt32; v: ^SByte); - external 'opengl32.dll' name 'glVertexAttribI4bvEXT'; - - static procedure VertexAttribI4svEXT(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttribI4svEXT'; - - static procedure VertexAttribI4ubvEXT(index: UInt32; v: ^Byte); - external 'opengl32.dll' name 'glVertexAttribI4ubvEXT'; - - static procedure VertexAttribI4usvEXT(index: UInt32; v: ^UInt16); - external 'opengl32.dll' name 'glVertexAttribI4usvEXT'; - - static procedure VertexAttribIPointerEXT(index: UInt32; size: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexAttribIPointerEXT'; - - static procedure GetVertexAttribIivEXT(index: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVertexAttribIivEXT'; - - static procedure GetVertexAttribIuivEXT(index: UInt32; pname: ErrorCode; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetVertexAttribIuivEXT'; - - {$endregion EXT} + {$endregion NV_DX_interop} + + {$region WGL_ARB_make_current_read} + + public z_MakeContextCurrentARB: function(hDrawDC: GDI_DC; hReadDC: GDI_DC; hglrc: GLContext): UInt32 := GetGLFuncOrNil&('wglMakeContextCurrentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MakeContextCurrentARB(hDrawDC: GDI_DC; hReadDC: GDI_DC; hglrc: GLContext): UInt32 := z_MakeContextCurrentARB(hDrawDC, hReadDC, hglrc); + + public z_GetCurrentReadDCARB: function: GDI_DC := GetGLFuncOrNil&('wglGetCurrentReadDCARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentReadDCARB: GDI_DC := z_GetCurrentReadDCARB; + + {$endregion WGL_ARB_make_current_read} + + {$region EXT_make_current_read} + + public z_MakeContextCurrentEXT: function(hDrawDC: GDI_DC; hReadDC: GDI_DC; hglrc: GLContext): UInt32 := GetGLFuncOrNil&('wglMakeContextCurrentEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MakeContextCurrentEXT(hDrawDC: GDI_DC; hReadDC: GDI_DC; hglrc: GLContext): UInt32 := z_MakeContextCurrentEXT(hDrawDC, hReadDC, hglrc); + + public z_GetCurrentReadDCEXT: function: GDI_DC := GetGLFuncOrNil&('wglGetCurrentReadDCEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentReadDCEXT: GDI_DC := z_GetCurrentReadDCEXT; + + {$endregion EXT_make_current_read} + + {$region WGL_I3D_digital_video_control} + + public z_GetDigitalVideoParametersI3D: function(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglGetDigitalVideoParametersI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDigitalVideoParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: array of Int32): UInt32 := GetDigitalVideoParametersI3D(hDC, iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDigitalVideoParametersI3D(hDC: GDI_DC; iAttribute: Int32; var piValue: Int32): UInt32 := GetDigitalVideoParametersI3D(hDC, iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDigitalVideoParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := z_GetDigitalVideoParametersI3D(hDC, iAttribute, piValue); + + public z_SetDigitalVideoParametersI3D: function(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglSetDigitalVideoParametersI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetDigitalVideoParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: array of Int32): UInt32 := SetDigitalVideoParametersI3D(hDC, iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetDigitalVideoParametersI3D(hDC: GDI_DC; iAttribute: Int32; var piValue: Int32): UInt32 := SetDigitalVideoParametersI3D(hDC, iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetDigitalVideoParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := z_SetDigitalVideoParametersI3D(hDC, iAttribute, piValue); + + {$endregion WGL_I3D_digital_video_control} + + {$region WGL_ARB_extensions_string WGL_ARB_extensions_string} + + public z_GetExtensionsStringARB: function(hdc: GDI_DC): IntPtr := GetGLFuncOrNil&('wglGetExtensionsStringARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetExtensionsStringARB_Str(hdc: GDI_DC): string := Marshal.PtrToStringAnsi(GetExtensionsStringARB(hdc)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetExtensionsStringARB(hdc: GDI_DC): IntPtr := z_GetExtensionsStringARB(hdc); + + {$endregion WGL_ARB_extensions_string WGL_ARB_extensions_string} + + {$region EXT_extensions_string} + + public z_GetExtensionsStringEXT: function: IntPtr := GetGLFuncOrNil&('wglGetExtensionsStringEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetExtensionsStringEXT_Str: string := Marshal.PtrToStringAnsi(GetExtensionsStringEXT); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetExtensionsStringEXT: IntPtr := z_GetExtensionsStringEXT; + + {$endregion EXT_extensions_string} + + {$region WGL_I3D_gamma} + + public z_GetGammaTableParametersI3D: function(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglGetGammaTableParametersI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: array of Int32): UInt32 := GetGammaTableParametersI3D(hDC, iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableParametersI3D(hDC: GDI_DC; iAttribute: Int32; var piValue: Int32): UInt32 := GetGammaTableParametersI3D(hDC, iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := z_GetGammaTableParametersI3D(hDC, iAttribute, piValue); + + public z_SetGammaTableParametersI3D: function(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := GetGLFuncOrNil&('wglSetGammaTableParametersI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: array of Int32): UInt32 := SetGammaTableParametersI3D(hDC, iAttribute, piValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableParametersI3D(hDC: GDI_DC; iAttribute: Int32; var piValue: Int32): UInt32 := SetGammaTableParametersI3D(hDC, iAttribute, @piValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableParametersI3D(hDC: GDI_DC; iAttribute: Int32; piValue: pointer): UInt32 := z_SetGammaTableParametersI3D(hDC, iAttribute, piValue); + + public z_GetGammaTableI3D: function(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; puBlue: pointer): UInt32 := GetGLFuncOrNil&('wglGetGammaTableI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: array of UInt16; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], puGreen[0], puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: array of UInt16; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], puGreen[0], @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: array of UInt16; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], puGreen[0], puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; var puGreen: UInt16; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], @puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; var puGreen: UInt16; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], @puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; var puGreen: UInt16; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], @puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: pointer; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: pointer; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: pointer; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed[0], puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: array of UInt16; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, puGreen[0], puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: array of UInt16; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, puGreen[0], @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: array of UInt16; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, puGreen[0], puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; var puGreen: UInt16; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, @puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; var puGreen: UInt16; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, @puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; var puGreen: UInt16; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, @puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: pointer; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: pointer; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: pointer; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, @puRed, puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: array of UInt16; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, puGreen[0], puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: array of UInt16; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, puGreen[0], @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: array of UInt16; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, puGreen[0], puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; var puGreen: UInt16; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, @puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; var puGreen: UInt16; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, @puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; var puGreen: UInt16; puBlue: pointer): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, @puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; puBlue: array of UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; var puBlue: UInt16): UInt32 := GetGammaTableI3D(hDC, iEntries, puRed, puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; puBlue: pointer): UInt32 := z_GetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue); + + public z_SetGammaTableI3D: function(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; puBlue: pointer): UInt32 := GetGLFuncOrNil&('wglSetGammaTableI3D'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: array of UInt16; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], puGreen[0], puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: array of UInt16; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], puGreen[0], @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: array of UInt16; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], puGreen[0], puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; var puGreen: UInt16; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], @puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; var puGreen: UInt16; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], @puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; var puGreen: UInt16; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], @puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: pointer; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: pointer; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: array of UInt16; puGreen: pointer; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed[0], puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: array of UInt16; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, puGreen[0], puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: array of UInt16; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, puGreen[0], @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: array of UInt16; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, puGreen[0], puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; var puGreen: UInt16; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, @puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; var puGreen: UInt16; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, @puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; var puGreen: UInt16; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, @puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: pointer; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: pointer; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; var puRed: UInt16; puGreen: pointer; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, @puRed, puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: array of UInt16; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, puGreen[0], puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: array of UInt16; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, puGreen[0], @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: array of UInt16; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, puGreen[0], puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; var puGreen: UInt16; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, @puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; var puGreen: UInt16; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, @puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; var puGreen: UInt16; puBlue: pointer): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, @puGreen, puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; puBlue: array of UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; var puBlue: UInt16): UInt32 := SetGammaTableI3D(hDC, iEntries, puRed, puGreen, @puBlue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetGammaTableI3D(hDC: GDI_DC; iEntries: Int32; puRed: pointer; puGreen: pointer; puBlue: pointer): UInt32 := z_SetGammaTableI3D(hDC, iEntries, puRed, puGreen, puBlue); + + {$endregion WGL_I3D_gamma} + + {$region OML_sync_control} + + public z_GetSyncValuesOML: function(hdc: GDI_DC; ust: pointer; msc: pointer; sbc: pointer): UInt32 := GetGLFuncOrNil&('wglGetSyncValuesOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; msc: array of Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, ust[0], msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; msc: array of Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, ust[0], msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; msc: array of Int64; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, ust[0], msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; var msc: Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, ust[0], @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; var msc: Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, ust[0], @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; var msc: Int64; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, ust[0], @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; msc: pointer; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, ust[0], msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; msc: pointer; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, ust[0], msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: array of Int64; msc: pointer; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, ust[0], msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; msc: array of Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, @ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; msc: array of Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, @ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; msc: array of Int64; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, @ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; var msc: Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, @ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; var msc: Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, @ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; var msc: Int64; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, @ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; msc: pointer; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, @ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; msc: pointer; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, @ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; var ust: Int64; msc: pointer; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, @ust, msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; msc: array of Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; msc: array of Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; msc: array of Int64; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; var msc: Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; var msc: Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; var msc: Int64; sbc: pointer): UInt32 := GetSyncValuesOML(hdc, ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; msc: pointer; sbc: array of Int64): UInt32 := GetSyncValuesOML(hdc, ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; msc: pointer; var sbc: Int64): UInt32 := GetSyncValuesOML(hdc, ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(hdc: GDI_DC; ust: pointer; msc: pointer; sbc: pointer): UInt32 := z_GetSyncValuesOML(hdc, ust, msc, sbc); + + public z_GetMscRateOML: function(hdc: GDI_DC; numerator: pointer; denominator: pointer): UInt32 := GetGLFuncOrNil&('wglGetMscRateOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; numerator: array of Int32; denominator: array of Int32): UInt32 := GetMscRateOML(hdc, numerator[0], denominator[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; numerator: array of Int32; var denominator: Int32): UInt32 := GetMscRateOML(hdc, numerator[0], @denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; numerator: array of Int32; denominator: pointer): UInt32 := GetMscRateOML(hdc, numerator[0], denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; var numerator: Int32; denominator: array of Int32): UInt32 := GetMscRateOML(hdc, @numerator, denominator[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; var numerator: Int32; var denominator: Int32): UInt32 := GetMscRateOML(hdc, @numerator, @denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; var numerator: Int32; denominator: pointer): UInt32 := GetMscRateOML(hdc, @numerator, denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; numerator: pointer; denominator: array of Int32): UInt32 := GetMscRateOML(hdc, numerator, denominator[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; numerator: pointer; var denominator: Int32): UInt32 := GetMscRateOML(hdc, numerator, @denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(hdc: GDI_DC; numerator: pointer; denominator: pointer): UInt32 := z_GetMscRateOML(hdc, numerator, denominator); + + public z_SwapBuffersMscOML: function(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := GetGLFuncOrNil&('wglSwapBuffersMscOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapBuffersMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := z_SwapBuffersMscOML(hdc, target_msc, divisor, remainder); + + public z_SwapLayerBuffersMscOML: function(hdc: GDI_DC; fuPlanes: Int32; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := GetGLFuncOrNil&('wglSwapLayerBuffersMscOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffersMscOML(hdc: GDI_DC; fuPlanes: Int32; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := z_SwapLayerBuffersMscOML(hdc, fuPlanes, target_msc, divisor, remainder); + + public z_WaitForMscOML: function(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := GetGLFuncOrNil&('wglWaitForMscOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: pointer; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust[0], msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: pointer; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, @ust, msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: array of Int64; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: array of Int64; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; var msc: Int64; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; var msc: Int64; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; var msc: Int64; sbc: pointer): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; sbc: array of Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; var sbc: Int64): UInt32 := WaitForMscOML(hdc, target_msc, divisor, remainder, ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(hdc: GDI_DC; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := z_WaitForMscOML(hdc, target_msc, divisor, remainder, ust, msc, sbc); + + public z_WaitForSbcOML: function(hdc: GDI_DC; target_sbc: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := GetGLFuncOrNil&('wglWaitForSbcOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: array of Int64; msc: pointer; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, ust[0], msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; var ust: Int64; msc: pointer; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, @ust, msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; msc: array of Int64; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; msc: array of Int64; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; var msc: Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; var msc: Int64; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; var msc: Int64; sbc: pointer): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; msc: pointer; sbc: array of Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; msc: pointer; var sbc: Int64): UInt32 := WaitForSbcOML(hdc, target_sbc, ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(hdc: GDI_DC; target_sbc: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := z_WaitForSbcOML(hdc, target_sbc, ust, msc, sbc); + + {$endregion OML_sync_control} + + {$region EXT_swap_control} + + public z_SwapIntervalEXT: function(interval: Int32): UInt32 := GetGLFuncOrNil&('wglSwapIntervalEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapIntervalEXT(interval: Int32): UInt32 := z_SwapIntervalEXT(interval); + + public z_GetSwapIntervalEXT: function: Int32 := GetGLFuncOrNil&('wglGetSwapIntervalEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSwapIntervalEXT: Int32 := z_GetSwapIntervalEXT; + + {$endregion EXT_swap_control} + + {$region WGL_3DL_stereo_control} + + public z_SetStereoEmitterState3DL: function(hDC: GDI_DC; uState: UInt32): UInt32 := GetGLFuncOrNil&('wglSetStereoEmitterState3DL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetStereoEmitterState3DL(hDC: GDI_DC; uState: UInt32): UInt32 := z_SetStereoEmitterState3DL(hDC, uState); + + {$endregion WGL_3DL_stereo_control} end; - /// Расширения, которые встречаются только у видеокарт Intel - gl_Intel = static class + egl = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; - {$region INTEL} + {$region KHR_fence_sync} - static procedure ApplyFramebufferAttachmentCMAAINTEL; - external 'opengl32.dll' name 'glApplyFramebufferAttachmentCMAAINTEL'; + public z_CreateSyncKHR: function(dpy: EGLDisplay; &type: DummyEnum; attrib_list: pointer): EGLsync := GetGLFuncOrNil&('eglCreateSyncKHR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncKHR(dpy: EGLDisplay; &type: DummyEnum; attrib_list: array of Int32): EGLsync := CreateSyncKHR(dpy, &type, attrib_list[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncKHR(dpy: EGLDisplay; &type: DummyEnum; var attrib_list: Int32): EGLsync := CreateSyncKHR(dpy, &type, @attrib_list); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncKHR(dpy: EGLDisplay; &type: DummyEnum; attrib_list: pointer): EGLsync := z_CreateSyncKHR(dpy, &type, attrib_list); - static procedure BeginPerfQueryINTEL(queryHandle: UInt32); - external 'opengl32.dll' name 'glBeginPerfQueryINTEL'; + public z_DestroySyncKHR: function(dpy: EGLDisplay; sync: EGLsync): UInt32 := GetGLFuncOrNil&('eglDestroySyncKHR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DestroySyncKHR(dpy: EGLDisplay; sync: EGLsync): UInt32 := z_DestroySyncKHR(dpy, sync); - static procedure CreatePerfQueryINTEL(queryId: UInt32; queryHandle: ^UInt32); - external 'opengl32.dll' name 'glCreatePerfQueryINTEL'; + public z_ClientWaitSyncKHR: function(dpy: EGLDisplay; sync: EGLsync; flags: Int32; timeout: TimeSpan): Int32 := GetGLFuncOrNil&('eglClientWaitSyncKHR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ClientWaitSyncKHR(dpy: EGLDisplay; sync: EGLsync; flags: Int32; timeout: TimeSpan): Int32 := z_ClientWaitSyncKHR(dpy, sync, flags, timeout); - static procedure DeletePerfQueryINTEL(queryHandle: UInt32); - external 'opengl32.dll' name 'glDeletePerfQueryINTEL'; + public z_GetSyncAttribKHR: function(dpy: EGLDisplay; sync: EGLsync; attribute: Int32; value: pointer): UInt32 := GetGLFuncOrNil&('eglGetSyncAttribKHR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncAttribKHR(dpy: EGLDisplay; sync: EGLsync; attribute: Int32; value: array of Int32): UInt32 := GetSyncAttribKHR(dpy, sync, attribute, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncAttribKHR(dpy: EGLDisplay; sync: EGLsync; attribute: Int32; var value: Int32): UInt32 := GetSyncAttribKHR(dpy, sync, attribute, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncAttribKHR(dpy: EGLDisplay; sync: EGLsync; attribute: Int32; value: pointer): UInt32 := z_GetSyncAttribKHR(dpy, sync, attribute, value); - static procedure EndPerfQueryINTEL(queryHandle: UInt32); - external 'opengl32.dll' name 'glEndPerfQueryINTEL'; - - static procedure GetFirstPerfQueryIdINTEL(queryId: ^UInt32); - external 'opengl32.dll' name 'glGetFirstPerfQueryIdINTEL'; - - static procedure GetNextPerfQueryIdINTEL(queryId: UInt32; nextQueryId: ^UInt32); - external 'opengl32.dll' name 'glGetNextPerfQueryIdINTEL'; - - static procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: ^SByte; counterDescLength: UInt32; counterDesc: ^SByte; counterOffset: ^UInt32; counterDataSize: ^UInt32; counterTypeEnum: ^UInt32; counterDataTypeEnum: ^UInt32; rawCounterMaxValue: ^UInt64); - external 'opengl32.dll' name 'glGetPerfCounterInfoINTEL'; - - static procedure GetPerfQueryDataINTEL(queryHandle: UInt32; flags: UInt32; dataSize: Int32; data: pointer; bytesWritten: ^UInt32); - external 'opengl32.dll' name 'glGetPerfQueryDataINTEL'; - - static procedure GetPerfQueryIdByNameINTEL(queryName: ^SByte; queryId: ^UInt32); - external 'opengl32.dll' name 'glGetPerfQueryIdByNameINTEL'; - - static procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: ^SByte; dataSize: ^UInt32; noCounters: ^UInt32; noInstances: ^UInt32; capsMask: ^UInt32); - external 'opengl32.dll' name 'glGetPerfQueryInfoINTEL'; - - static procedure SyncTextureINTEL(texture: UInt32); - external 'opengl32.dll' name 'glSyncTextureINTEL'; - - static procedure UnmapTexture2DINTEL(texture: UInt32; level: Int32); - external 'opengl32.dll' name 'glUnmapTexture2DINTEL'; - - static function MapTexture2DINTEL(texture: UInt32; level: Int32; access: UInt32; stride: ^Int32; layout: ^ErrorCode): pointer; - external 'opengl32.dll' name 'glMapTexture2DINTEL'; - - static procedure VertexPointervINTEL(size: Int32; &type: ErrorCode; _pointer: ^pointer); - external 'opengl32.dll' name 'glVertexPointervINTEL'; - - static procedure NormalPointervINTEL(&type: ErrorCode; _pointer: ^pointer); - external 'opengl32.dll' name 'glNormalPointervINTEL'; - - static procedure ColorPointervINTEL(size: Int32; &type: ErrorCode; _pointer: ^pointer); - external 'opengl32.dll' name 'glColorPointervINTEL'; - - static procedure TexCoordPointervINTEL(size: Int32; &type: ErrorCode; _pointer: ^pointer); - external 'opengl32.dll' name 'glTexCoordPointervINTEL'; - - {$endregion INTEL} + {$endregion KHR_fence_sync} end; - /// Расширения, которые встречаются только у видеокарт NVidia - gl_NVidia = static class - - {$region NVIDIA} - - static procedure MultiDrawArraysIndirectBindlessNV(mode: UInt32; indirect: pointer; drawCount: Int32; stride: Int32; vertexBufferCount: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirectBindlessNV'; - - static procedure MultiDrawElementsIndirectBindlessNV(mode: UInt32; &type: UInt32; indirect: pointer; drawCount: Int32; stride: Int32; vertexBufferCount: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirectBindlessNV'; - - static procedure MultiDrawArraysIndirectBindlessCountNV(mode: UInt32; indirect: pointer; drawCount: Int32; maxDrawCount: Int32; stride: Int32; vertexBufferCount: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirectBindlessCountNV'; - - static procedure MultiDrawElementsIndirectBindlessCountNV(mode: UInt32; &type: UInt32; indirect: pointer; drawCount: Int32; maxDrawCount: Int32; stride: Int32; vertexBufferCount: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirectBindlessCountNV'; - - static function GetTextureHandleNV(texture: UInt32): UInt64; - external 'opengl32.dll' name 'glGetTextureHandleNV'; - - static function GetTextureSamplerHandleNV(texture: UInt32; sampler: UInt32): UInt64; - external 'opengl32.dll' name 'glGetTextureSamplerHandleNV'; - - static procedure MakeTextureHandleResidentNV(handle: UInt64); - external 'opengl32.dll' name 'glMakeTextureHandleResidentNV'; - - static procedure MakeTextureHandleNonResidentNV(handle: UInt64); - external 'opengl32.dll' name 'glMakeTextureHandleNonResidentNV'; - - static function GetImageHandleNV(texture: UInt32; level: Int32; layered: boolean; layer: Int32; format: UInt32): UInt64; - external 'opengl32.dll' name 'glGetImageHandleNV'; - - static procedure MakeImageHandleResidentNV(handle: UInt64; access: UInt32); - external 'opengl32.dll' name 'glMakeImageHandleResidentNV'; - - static procedure MakeImageHandleNonResidentNV(handle: UInt64); - external 'opengl32.dll' name 'glMakeImageHandleNonResidentNV'; - - static procedure UniformHandleui64NV(location: Int32; value: UInt64); - external 'opengl32.dll' name 'glUniformHandleui64NV'; - - static procedure UniformHandleui64vNV(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniformHandleui64vNV'; - - static procedure ProgramUniformHandleui64NV(&program: UInt32; location: Int32; value: UInt64); - external 'opengl32.dll' name 'glProgramUniformHandleui64NV'; - - static procedure ProgramUniformHandleui64vNV(&program: UInt32; location: Int32; count: Int32; values: ^UInt64); - external 'opengl32.dll' name 'glProgramUniformHandleui64vNV'; - - static function IsTextureHandleResidentNV(handle: UInt64): boolean; - external 'opengl32.dll' name 'glIsTextureHandleResidentNV'; - - static function IsImageHandleResidentNV(handle: UInt64): boolean; - external 'opengl32.dll' name 'glIsImageHandleResidentNV'; - - static procedure BlendParameteriNV(pname: UInt32; value: Int32); - external 'opengl32.dll' name 'glBlendParameteriNV'; - - static procedure BlendBarrierNV; - external 'opengl32.dll' name 'glBlendBarrierNV'; - - static procedure ViewportPositionWScaleNV(index: UInt32; xcoeff: single; ycoeff: single); - external 'opengl32.dll' name 'glViewportPositionWScaleNV'; - - static procedure CreateStatesNV(n: Int32; states: ^UInt32); - external 'opengl32.dll' name 'glCreateStatesNV'; - - static procedure DeleteStatesNV(n: Int32; states: ^UInt32); - external 'opengl32.dll' name 'glDeleteStatesNV'; - - static function IsStateNV(state: UInt32): boolean; - external 'opengl32.dll' name 'glIsStateNV'; - - static procedure StateCaptureNV(state: UInt32; mode: UInt32); - external 'opengl32.dll' name 'glStateCaptureNV'; - - static function GetCommandHeaderNV(tokenID: UInt32; size: UInt32): UInt32; - external 'opengl32.dll' name 'glGetCommandHeaderNV'; - - static function GetStageIndexNV(shadertype: UInt32): UInt16; - external 'opengl32.dll' name 'glGetStageIndexNV'; - - static procedure DrawCommandsNV(primitiveMode: UInt32; buffer: UInt32; indirects: ^IntPtr; sizes: ^Int32; count: UInt32); - external 'opengl32.dll' name 'glDrawCommandsNV'; - - static procedure DrawCommandsAddressNV(primitiveMode: UInt32; indirects: ^UInt64; sizes: ^Int32; count: UInt32); - external 'opengl32.dll' name 'glDrawCommandsAddressNV'; - - static procedure DrawCommandsStatesNV(buffer: UInt32; indirects: ^IntPtr; sizes: ^Int32; states: ^UInt32; fbos: ^UInt32; count: UInt32); - external 'opengl32.dll' name 'glDrawCommandsStatesNV'; - - static procedure DrawCommandsStatesAddressNV(indirects: ^UInt64; sizes: ^Int32; states: ^UInt32; fbos: ^UInt32; count: UInt32); - external 'opengl32.dll' name 'glDrawCommandsStatesAddressNV'; - - static procedure CreateCommandListsNV(n: Int32; lists: ^UInt32); - external 'opengl32.dll' name 'glCreateCommandListsNV'; - - static procedure DeleteCommandListsNV(n: Int32; lists: ^UInt32); - external 'opengl32.dll' name 'glDeleteCommandListsNV'; - - static function IsCommandListNV(list: UInt32): boolean; - external 'opengl32.dll' name 'glIsCommandListNV'; - - static procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: ^IntPtr; sizes: ^Int32; states: ^UInt32; fbos: ^UInt32; count: UInt32); - external 'opengl32.dll' name 'glListDrawCommandsStatesClientNV'; - - static procedure CommandListSegmentsNV(list: UInt32; segments: UInt32); - external 'opengl32.dll' name 'glCommandListSegmentsNV'; - - static procedure CompileCommandListNV(list: UInt32); - external 'opengl32.dll' name 'glCompileCommandListNV'; - - static procedure CallCommandListNV(list: UInt32); - external 'opengl32.dll' name 'glCallCommandListNV'; - - static procedure BeginConditionalRenderNV(id: UInt32; mode: UInt32); - external 'opengl32.dll' name 'glBeginConditionalRenderNV'; - - static procedure EndConditionalRenderNV; - external 'opengl32.dll' name 'glEndConditionalRenderNV'; - - static procedure SubpixelPrecisionBiasNV(xbits: UInt32; ybits: UInt32); - external 'opengl32.dll' name 'glSubpixelPrecisionBiasNV'; - - static procedure ConservativeRasterParameterfNV(pname: UInt32; value: single); - external 'opengl32.dll' name 'glConservativeRasterParameterfNV'; - - static procedure ConservativeRasterParameteriNV(pname: UInt32; param: Int32); - external 'opengl32.dll' name 'glConservativeRasterParameteriNV'; - - static procedure DrawVkImageNV(vkImage: UInt64; sampler: UInt32; x0: single; y0: single; x1: single; y1: single; z: single; s0: single; t0: single; s1: single; t1: single); - external 'opengl32.dll' name 'glDrawVkImageNV'; - - static function GetVkProcAddrNV(name: ^SByte): GLVULKANPROCNV; - external 'opengl32.dll' name 'glGetVkProcAddrNV'; - - static procedure WaitVkSemaphoreNV(vkSemaphore: UInt64); - external 'opengl32.dll' name 'glWaitVkSemaphoreNV'; - - static procedure SignalVkSemaphoreNV(vkSemaphore: UInt64); - external 'opengl32.dll' name 'glSignalVkSemaphoreNV'; - - static procedure SignalVkFenceNV(vkFence: UInt64); - external 'opengl32.dll' name 'glSignalVkFenceNV'; - - static procedure FragmentCoverageColorNV(color: UInt32); - external 'opengl32.dll' name 'glFragmentCoverageColorNV'; - - static procedure CoverageModulationTableNV(n: Int32; v: ^single); - external 'opengl32.dll' name 'glCoverageModulationTableNV'; - - static procedure GetCoverageModulationTableNV(bufsize: Int32; v: ^single); - external 'opengl32.dll' name 'glGetCoverageModulationTableNV'; - - static procedure CoverageModulationNV(components: UInt32); - external 'opengl32.dll' name 'glCoverageModulationNV'; - - static procedure RenderbufferStorageMultisampleCoverageNV(target: UInt32; coverageSamples: Int32; colorSamples: Int32; internalformat: UInt32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glRenderbufferStorageMultisampleCoverageNV'; - - static procedure Uniform1i64NV(location: Int32; x: Int64); - external 'opengl32.dll' name 'glUniform1i64NV'; - - static procedure Uniform2i64NV(location: Int32; x: Int64; y: Int64); - external 'opengl32.dll' name 'glUniform2i64NV'; - - static procedure Uniform3i64NV(location: Int32; x: Int64; y: Int64; z: Int64); - external 'opengl32.dll' name 'glUniform3i64NV'; - - static procedure Uniform4i64NV(location: Int32; x: Int64; y: Int64; z: Int64; w: Int64); - external 'opengl32.dll' name 'glUniform4i64NV'; - - static procedure Uniform1i64vNV(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform1i64vNV'; - - static procedure Uniform2i64vNV(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform2i64vNV'; - - static procedure Uniform3i64vNV(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform3i64vNV'; - - static procedure Uniform4i64vNV(location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glUniform4i64vNV'; - - static procedure Uniform1ui64NV(location: Int32; x: UInt64); - external 'opengl32.dll' name 'glUniform1ui64NV'; - - static procedure Uniform2ui64NV(location: Int32; x: UInt64; y: UInt64); - external 'opengl32.dll' name 'glUniform2ui64NV'; - - static procedure Uniform3ui64NV(location: Int32; x: UInt64; y: UInt64; z: UInt64); - external 'opengl32.dll' name 'glUniform3ui64NV'; - - static procedure Uniform4ui64NV(location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64); - external 'opengl32.dll' name 'glUniform4ui64NV'; - - static procedure Uniform1ui64vNV(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform1ui64vNV'; - - static procedure Uniform2ui64vNV(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform2ui64vNV'; - - static procedure Uniform3ui64vNV(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform3ui64vNV'; - - static procedure Uniform4ui64vNV(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniform4ui64vNV'; - - static procedure GetUniformi64vNV(&program: UInt32; location: Int32; ¶ms: ^Int64); - external 'opengl32.dll' name 'glGetUniformi64vNV'; - - static procedure ProgramUniform1i64NV(&program: UInt32; location: Int32; x: Int64); - external 'opengl32.dll' name 'glProgramUniform1i64NV'; - - static procedure ProgramUniform2i64NV(&program: UInt32; location: Int32; x: Int64; y: Int64); - external 'opengl32.dll' name 'glProgramUniform2i64NV'; - - static procedure ProgramUniform3i64NV(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64); - external 'opengl32.dll' name 'glProgramUniform3i64NV'; - - static procedure ProgramUniform4i64NV(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64; w: Int64); - external 'opengl32.dll' name 'glProgramUniform4i64NV'; - - static procedure ProgramUniform1i64vNV(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform1i64vNV'; - - static procedure ProgramUniform2i64vNV(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform2i64vNV'; - - static procedure ProgramUniform3i64vNV(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform3i64vNV'; - - static procedure ProgramUniform4i64vNV(&program: UInt32; location: Int32; count: Int32; value: ^Int64); - external 'opengl32.dll' name 'glProgramUniform4i64vNV'; - - static procedure ProgramUniform1ui64NV(&program: UInt32; location: Int32; x: UInt64); - external 'opengl32.dll' name 'glProgramUniform1ui64NV'; - - static procedure ProgramUniform2ui64NV(&program: UInt32; location: Int32; x: UInt64; y: UInt64); - external 'opengl32.dll' name 'glProgramUniform2ui64NV'; - - static procedure ProgramUniform3ui64NV(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64); - external 'opengl32.dll' name 'glProgramUniform3ui64NV'; - - static procedure ProgramUniform4ui64NV(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64); - external 'opengl32.dll' name 'glProgramUniform4ui64NV'; - - static procedure ProgramUniform1ui64vNV(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform1ui64vNV'; - - static procedure ProgramUniform2ui64vNV(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform2ui64vNV'; - - static procedure ProgramUniform3ui64vNV(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform3ui64vNV'; - - static procedure ProgramUniform4ui64vNV(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniform4ui64vNV'; - - static procedure GetInternalformatSampleivNV(target: UInt32; internalformat: UInt32; samples: Int32; pname: UInt32; bufSize: Int32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetInternalformatSampleivNV'; - - static procedure GetMemoryObjectDetachedResourcesuivNV(memory: UInt32; pname: UInt32; first: Int32; count: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetMemoryObjectDetachedResourcesuivNV'; - - static procedure ResetMemoryObjectParameterNV(memory: UInt32; pname: UInt32); - external 'opengl32.dll' name 'glResetMemoryObjectParameterNV'; - - static procedure TexAttachMemoryNV(target: UInt32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTexAttachMemoryNV'; - - static procedure BufferAttachMemoryNV(target: UInt32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glBufferAttachMemoryNV'; - - static procedure TextureAttachMemoryNV(texture: UInt32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glTextureAttachMemoryNV'; - - static procedure NamedBufferAttachMemoryNV(buffer: UInt32; memory: UInt32; offset: UInt64); - external 'opengl32.dll' name 'glNamedBufferAttachMemoryNV'; - - static procedure DrawMeshTasksNV(first: UInt32; count: UInt32); - external 'opengl32.dll' name 'glDrawMeshTasksNV'; - - static procedure DrawMeshTasksIndirectNV(indirect: IntPtr); - external 'opengl32.dll' name 'glDrawMeshTasksIndirectNV'; - - static procedure MultiDrawMeshTasksIndirectNV(indirect: IntPtr; drawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawMeshTasksIndirectNV'; - - static procedure MultiDrawMeshTasksIndirectCountNV(indirect: IntPtr; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawMeshTasksIndirectCountNV'; - - static function GenPathsNV(range: Int32): UInt32; - external 'opengl32.dll' name 'glGenPathsNV'; - - static procedure DeletePathsNV(path: UInt32; range: Int32); - external 'opengl32.dll' name 'glDeletePathsNV'; - - static function IsPathNV(path: UInt32): boolean; - external 'opengl32.dll' name 'glIsPathNV'; - - static procedure PathCommandsNV(path: UInt32; numCommands: Int32; commands: ^Byte; numCoords: Int32; coordType: UInt32; coords: pointer); - external 'opengl32.dll' name 'glPathCommandsNV'; - - static procedure PathCoordsNV(path: UInt32; numCoords: Int32; coordType: UInt32; coords: pointer); - external 'opengl32.dll' name 'glPathCoordsNV'; - - static procedure PathSubCommandsNV(path: UInt32; commandStart: Int32; commandsToDelete: Int32; numCommands: Int32; commands: ^Byte; numCoords: Int32; coordType: UInt32; coords: pointer); - external 'opengl32.dll' name 'glPathSubCommandsNV'; - - static procedure PathSubCoordsNV(path: UInt32; coordStart: Int32; numCoords: Int32; coordType: UInt32; coords: pointer); - external 'opengl32.dll' name 'glPathSubCoordsNV'; - - static procedure PathStringNV(path: UInt32; format: UInt32; length: Int32; pathString: pointer); - external 'opengl32.dll' name 'glPathStringNV'; - - static procedure PathGlyphsNV(firstPathName: UInt32; fontTarget: UInt32; fontName: pointer; fontStyle: UInt32; numGlyphs: Int32; &type: UInt32; charcodes: pointer; handleMissingGlyphs: UInt32; pathParameterTemplate: UInt32; emScale: single); - external 'opengl32.dll' name 'glPathGlyphsNV'; - - static procedure PathGlyphRangeNV(firstPathName: UInt32; fontTarget: UInt32; fontName: pointer; fontStyle: UInt32; firstGlyph: UInt32; numGlyphs: Int32; handleMissingGlyphs: UInt32; pathParameterTemplate: UInt32; emScale: single); - external 'opengl32.dll' name 'glPathGlyphRangeNV'; - - static procedure WeightPathsNV(resultPath: UInt32; numPaths: Int32; paths: ^UInt32; weights: ^single); - external 'opengl32.dll' name 'glWeightPathsNV'; - - static procedure CopyPathNV(resultPath: UInt32; srcPath: UInt32); - external 'opengl32.dll' name 'glCopyPathNV'; - - static procedure InterpolatePathsNV(resultPath: UInt32; pathA: UInt32; pathB: UInt32; weight: single); - external 'opengl32.dll' name 'glInterpolatePathsNV'; - - static procedure TransformPathNV(resultPath: UInt32; srcPath: UInt32; transformType: UInt32; transformValues: ^single); - external 'opengl32.dll' name 'glTransformPathNV'; - - static procedure PathParameterivNV(path: UInt32; pname: UInt32; value: ^Int32); - external 'opengl32.dll' name 'glPathParameterivNV'; - - static procedure PathParameteriNV(path: UInt32; pname: UInt32; value: Int32); - external 'opengl32.dll' name 'glPathParameteriNV'; - - static procedure PathParameterfvNV(path: UInt32; pname: UInt32; value: ^single); - external 'opengl32.dll' name 'glPathParameterfvNV'; - - static procedure PathParameterfNV(path: UInt32; pname: UInt32; value: single); - external 'opengl32.dll' name 'glPathParameterfNV'; - - static procedure PathDashArrayNV(path: UInt32; dashCount: Int32; dashArray: ^single); - external 'opengl32.dll' name 'glPathDashArrayNV'; - - static procedure PathStencilFuncNV(func: UInt32; ref: Int32; mask: UInt32); - external 'opengl32.dll' name 'glPathStencilFuncNV'; - - static procedure PathStencilDepthOffsetNV(factor: single; units: single); - external 'opengl32.dll' name 'glPathStencilDepthOffsetNV'; - - static procedure StencilFillPathNV(path: UInt32; fillMode: UInt32; mask: UInt32); - external 'opengl32.dll' name 'glStencilFillPathNV'; - - static procedure StencilStrokePathNV(path: UInt32; reference: Int32; mask: UInt32); - external 'opengl32.dll' name 'glStencilStrokePathNV'; - - static procedure StencilFillPathInstancedNV(numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; fillMode: UInt32; mask: UInt32; transformType: UInt32; transformValues: ^single); - external 'opengl32.dll' name 'glStencilFillPathInstancedNV'; - - static procedure StencilStrokePathInstancedNV(numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; reference: Int32; mask: UInt32; transformType: UInt32; transformValues: ^single); - external 'opengl32.dll' name 'glStencilStrokePathInstancedNV'; - - static procedure PathCoverDepthFuncNV(func: UInt32); - external 'opengl32.dll' name 'glPathCoverDepthFuncNV'; - - static procedure CoverFillPathNV(path: UInt32; coverMode: UInt32); - external 'opengl32.dll' name 'glCoverFillPathNV'; - - static procedure CoverStrokePathNV(path: UInt32; coverMode: UInt32); - external 'opengl32.dll' name 'glCoverStrokePathNV'; - - static procedure CoverFillPathInstancedNV(numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; coverMode: UInt32; transformType: UInt32; transformValues: ^single); - external 'opengl32.dll' name 'glCoverFillPathInstancedNV'; - - static procedure CoverStrokePathInstancedNV(numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; coverMode: UInt32; transformType: UInt32; transformValues: ^single); - external 'opengl32.dll' name 'glCoverStrokePathInstancedNV'; - - static procedure GetPathParameterivNV(path: UInt32; pname: UInt32; value: ^Int32); - external 'opengl32.dll' name 'glGetPathParameterivNV'; - - static procedure GetPathParameterfvNV(path: UInt32; pname: UInt32; value: ^single); - external 'opengl32.dll' name 'glGetPathParameterfvNV'; - - static procedure GetPathCommandsNV(path: UInt32; commands: ^Byte); - external 'opengl32.dll' name 'glGetPathCommandsNV'; - - static procedure GetPathCoordsNV(path: UInt32; coords: ^single); - external 'opengl32.dll' name 'glGetPathCoordsNV'; - - static procedure GetPathDashArrayNV(path: UInt32; dashArray: ^single); - external 'opengl32.dll' name 'glGetPathDashArrayNV'; - - static procedure GetPathMetricsNV(metricQueryMask: UInt32; numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; stride: Int32; metrics: ^single); - external 'opengl32.dll' name 'glGetPathMetricsNV'; - - static procedure GetPathMetricRangeNV(metricQueryMask: UInt32; firstPathName: UInt32; numPaths: Int32; stride: Int32; metrics: ^single); - external 'opengl32.dll' name 'glGetPathMetricRangeNV'; - - static procedure GetPathSpacingNV(pathListMode: UInt32; numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; advanceScale: single; kerningScale: single; transformType: UInt32; returnedSpacing: ^single); - external 'opengl32.dll' name 'glGetPathSpacingNV'; - - static function IsPointInFillPathNV(path: UInt32; mask: UInt32; x: single; y: single): boolean; - external 'opengl32.dll' name 'glIsPointInFillPathNV'; - - static function IsPointInStrokePathNV(path: UInt32; x: single; y: single): boolean; - external 'opengl32.dll' name 'glIsPointInStrokePathNV'; - - static function GetPathLengthNV(path: UInt32; startSegment: Int32; numSegments: Int32): single; - external 'opengl32.dll' name 'glGetPathLengthNV'; - - static function PointAlongPathNV(path: UInt32; startSegment: Int32; numSegments: Int32; distance: single; x: ^single; y: ^single; tangentX: ^single; tangentY: ^single): boolean; - external 'opengl32.dll' name 'glPointAlongPathNV'; - - static procedure MatrixLoad3x2fNV(matrixMode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixLoad3x2fNV'; - - static procedure MatrixLoad3x3fNV(matrixMode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixLoad3x3fNV'; - - static procedure MatrixLoadTranspose3x3fNV(matrixMode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixLoadTranspose3x3fNV'; - - static procedure MatrixMult3x2fNV(matrixMode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixMult3x2fNV'; - - static procedure MatrixMult3x3fNV(matrixMode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixMult3x3fNV'; - - static procedure MatrixMultTranspose3x3fNV(matrixMode: UInt32; m: ^single); - external 'opengl32.dll' name 'glMatrixMultTranspose3x3fNV'; - - static procedure StencilThenCoverFillPathNV(path: UInt32; fillMode: UInt32; mask: UInt32; coverMode: UInt32); - external 'opengl32.dll' name 'glStencilThenCoverFillPathNV'; - - static procedure StencilThenCoverStrokePathNV(path: UInt32; reference: Int32; mask: UInt32; coverMode: UInt32); - external 'opengl32.dll' name 'glStencilThenCoverStrokePathNV'; - - static procedure StencilThenCoverFillPathInstancedNV(numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; fillMode: UInt32; mask: UInt32; coverMode: UInt32; transformType: UInt32; transformValues: ^single); - external 'opengl32.dll' name 'glStencilThenCoverFillPathInstancedNV'; - - static procedure StencilThenCoverStrokePathInstancedNV(numPaths: Int32; pathNameType: UInt32; paths: pointer; pathBase: UInt32; reference: Int32; mask: UInt32; coverMode: UInt32; transformType: UInt32; transformValues: ^single); - external 'opengl32.dll' name 'glStencilThenCoverStrokePathInstancedNV'; - - static function PathGlyphIndexRangeNV(fontTarget: UInt32; fontName: pointer; fontStyle: UInt32; pathParameterTemplate: UInt32; emScale: single; baseAndCount: ^Vec2ui): UInt32; - external 'opengl32.dll' name 'glPathGlyphIndexRangeNV'; - - static function PathGlyphIndexArrayNV(firstPathName: UInt32; fontTarget: UInt32; fontName: pointer; fontStyle: UInt32; firstGlyphIndex: UInt32; numGlyphs: Int32; pathParameterTemplate: UInt32; emScale: single): UInt32; - external 'opengl32.dll' name 'glPathGlyphIndexArrayNV'; - - static function PathMemoryGlyphIndexArrayNV(firstPathName: UInt32; fontTarget: UInt32; fontSize: UIntPtr; fontData: pointer; faceIndex: Int32; firstGlyphIndex: UInt32; numGlyphs: Int32; pathParameterTemplate: UInt32; emScale: single): UInt32; - external 'opengl32.dll' name 'glPathMemoryGlyphIndexArrayNV'; - - static procedure ProgramPathFragmentInputGenNV(&program: UInt32; location: Int32; genMode: UInt32; components: Int32; coeffs: ^single); - external 'opengl32.dll' name 'glProgramPathFragmentInputGenNV'; - - static procedure GetProgramResourcefvNV(&program: UInt32; programInterface: UInt32; index: UInt32; propCount: Int32; props: ^UInt32; bufSize: Int32; length: ^Int32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetProgramResourcefvNV'; - - static procedure FramebufferSampleLocationsfvNV(target: UInt32; start: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glFramebufferSampleLocationsfvNV'; - - static procedure NamedFramebufferSampleLocationsfvNV(framebuffer: UInt32; start: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glNamedFramebufferSampleLocationsfvNV'; - - static procedure ResolveDepthValuesNV; - external 'opengl32.dll' name 'glResolveDepthValuesNV'; - - static procedure ScissorExclusiveNV(x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glScissorExclusiveNV'; - - static procedure ScissorExclusiveArrayvNV(first: UInt32; count: Int32; v: ^Int32); - external 'opengl32.dll' name 'glScissorExclusiveArrayvNV'; - - static procedure MakeBufferResidentNV(target: UInt32; access: UInt32); - external 'opengl32.dll' name 'glMakeBufferResidentNV'; - - static procedure MakeBufferNonResidentNV(target: UInt32); - external 'opengl32.dll' name 'glMakeBufferNonResidentNV'; - - static function IsBufferResidentNV(target: UInt32): boolean; - external 'opengl32.dll' name 'glIsBufferResidentNV'; - - static procedure MakeNamedBufferResidentNV(buffer: UInt32; access: UInt32); - external 'opengl32.dll' name 'glMakeNamedBufferResidentNV'; - - static procedure MakeNamedBufferNonResidentNV(buffer: UInt32); - external 'opengl32.dll' name 'glMakeNamedBufferNonResidentNV'; - - static function IsNamedBufferResidentNV(buffer: UInt32): boolean; - external 'opengl32.dll' name 'glIsNamedBufferResidentNV'; - - static procedure GetBufferParameterui64vNV(target: UInt32; pname: UInt32; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetBufferParameterui64vNV'; - - static procedure GetNamedBufferParameterui64vNV(buffer: UInt32; pname: UInt32; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetNamedBufferParameterui64vNV'; - - static procedure GetIntegerui64vNV(value: UInt32; result: ^UInt64); - external 'opengl32.dll' name 'glGetIntegerui64vNV'; - - static procedure Uniformui64NV(location: Int32; value: UInt64); - external 'opengl32.dll' name 'glUniformui64NV'; - - static procedure Uniformui64vNV(location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glUniformui64vNV'; - - static procedure GetUniformui64vNV(&program: UInt32; location: Int32; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetUniformui64vNV'; - - static procedure ProgramUniformui64NV(&program: UInt32; location: Int32; value: UInt64); - external 'opengl32.dll' name 'glProgramUniformui64NV'; - - static procedure ProgramUniformui64vNV(&program: UInt32; location: Int32; count: Int32; value: ^UInt64); - external 'opengl32.dll' name 'glProgramUniformui64vNV'; - - static procedure BindShadingRateImageNV(texture: UInt32); - external 'opengl32.dll' name 'glBindShadingRateImageNV'; - - static procedure GetShadingRateImagePaletteNV(viewport: UInt32; entry: UInt32; rate: ^UInt32); - external 'opengl32.dll' name 'glGetShadingRateImagePaletteNV'; - - static procedure GetShadingRateSampleLocationivNV(rate: UInt32; samples: UInt32; index: UInt32; location: ^Int32); - external 'opengl32.dll' name 'glGetShadingRateSampleLocationivNV'; - - static procedure ShadingRateImageBarrierNV(synchronize: boolean); - external 'opengl32.dll' name 'glShadingRateImageBarrierNV'; - - static procedure ShadingRateImagePaletteNV(viewport: UInt32; first: UInt32; count: Int32; rates: ^UInt32); - external 'opengl32.dll' name 'glShadingRateImagePaletteNV'; - - static procedure ShadingRateSampleOrderNV(order: UInt32); - external 'opengl32.dll' name 'glShadingRateSampleOrderNV'; - - static procedure ShadingRateSampleOrderCustomNV(rate: UInt32; samples: UInt32; locations: ^Int32); - external 'opengl32.dll' name 'glShadingRateSampleOrderCustomNV'; - - static procedure TextureBarrierNV; - external 'opengl32.dll' name 'glTextureBarrierNV'; - - static procedure GetVertexAttribLi64vNV(index: UInt32; pname: UInt32; ¶ms: ^Int64); - external 'opengl32.dll' name 'glGetVertexAttribLi64vNV'; - - static procedure GetVertexAttribLui64vNV(index: UInt32; pname: UInt32; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetVertexAttribLui64vNV'; - - static procedure BufferAddressRangeNV(pname: UInt32; index: UInt32; address: UInt64; length: UIntPtr); - external 'opengl32.dll' name 'glBufferAddressRangeNV'; - - static procedure VertexFormatNV(size: Int32; &type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glVertexFormatNV'; - - static procedure NormalFormatNV(&type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glNormalFormatNV'; - - static procedure ColorFormatNV(size: Int32; &type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glColorFormatNV'; - - static procedure IndexFormatNV(&type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glIndexFormatNV'; - - static procedure TexCoordFormatNV(size: Int32; &type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glTexCoordFormatNV'; - - static procedure EdgeFlagFormatNV(stride: Int32); - external 'opengl32.dll' name 'glEdgeFlagFormatNV'; - - static procedure SecondaryColorFormatNV(size: Int32; &type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glSecondaryColorFormatNV'; - - static procedure FogCoordFormatNV(&type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glFogCoordFormatNV'; - - static procedure GetIntegerui64i_vNV(value: UInt32; index: UInt32; result: ^UInt64); - external 'opengl32.dll' name 'glGetIntegerui64i_vNV'; - - static procedure ViewportSwizzleNV(index: UInt32; swizzlex: UInt32; swizzley: UInt32; swizzlez: UInt32; swizzlew: UInt32); - external 'opengl32.dll' name 'glViewportSwizzleNV'; - - static procedure VertexAttribFormatNV(index: UInt32; size: Int32; &type: UInt32; normalized: boolean; stride: Int32); - external 'opengl32.dll' name 'glVertexAttribFormatNV'; - - static procedure VertexAttribIFormatNV(index: UInt32; size: Int32; &type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glVertexAttribIFormatNV'; - - static procedure VertexAttribLFormatNV(index: UInt32; size: Int32; &type: UInt32; stride: Int32); - external 'opengl32.dll' name 'glVertexAttribLFormatNV'; - - static procedure VertexAttribL1i64NV(index: UInt32; x: Int64); - external 'opengl32.dll' name 'glVertexAttribL1i64NV'; - - static procedure VertexAttribL2i64NV(index: UInt32; x: Int64; y: Int64); - external 'opengl32.dll' name 'glVertexAttribL2i64NV'; - - static procedure VertexAttribL3i64NV(index: UInt32; x: Int64; y: Int64; z: Int64); - external 'opengl32.dll' name 'glVertexAttribL3i64NV'; - - static procedure VertexAttribL4i64NV(index: UInt32; x: Int64; y: Int64; z: Int64; w: Int64); - external 'opengl32.dll' name 'glVertexAttribL4i64NV'; - - static procedure VertexAttribL1i64vNV(index: UInt32; v: ^Int64); - external 'opengl32.dll' name 'glVertexAttribL1i64vNV'; - - static procedure VertexAttribL2i64vNV(index: UInt32; v: ^Int64); - external 'opengl32.dll' name 'glVertexAttribL2i64vNV'; - - static procedure VertexAttribL3i64vNV(index: UInt32; v: ^Int64); - external 'opengl32.dll' name 'glVertexAttribL3i64vNV'; - - static procedure VertexAttribL4i64vNV(index: UInt32; v: ^Int64); - external 'opengl32.dll' name 'glVertexAttribL4i64vNV'; - - static procedure VertexAttribL1ui64NV(index: UInt32; x: UInt64); - external 'opengl32.dll' name 'glVertexAttribL1ui64NV'; - - static procedure VertexAttribL2ui64NV(index: UInt32; x: UInt64; y: UInt64); - external 'opengl32.dll' name 'glVertexAttribL2ui64NV'; - - static procedure VertexAttribL3ui64NV(index: UInt32; x: UInt64; y: UInt64; z: UInt64); - external 'opengl32.dll' name 'glVertexAttribL3ui64NV'; - - static procedure VertexAttribL4ui64NV(index: UInt32; x: UInt64; y: UInt64; z: UInt64; w: UInt64); - external 'opengl32.dll' name 'glVertexAttribL4ui64NV'; - - static procedure VertexAttribL1ui64vNV(index: UInt32; v: ^UInt64); - external 'opengl32.dll' name 'glVertexAttribL1ui64vNV'; - - static procedure VertexAttribL2ui64vNV(index: UInt32; v: ^UInt64); - external 'opengl32.dll' name 'glVertexAttribL2ui64vNV'; - - static procedure VertexAttribL3ui64vNV(index: UInt32; v: ^UInt64); - external 'opengl32.dll' name 'glVertexAttribL3ui64vNV'; - - static procedure VertexAttribL4ui64vNV(index: UInt32; v: ^UInt64); - external 'opengl32.dll' name 'glVertexAttribL4ui64vNV'; - - static procedure BeginConditionalRenderNVX(id: UInt32); - external 'opengl32.dll' name 'glBeginConditionalRenderNVX'; - - static procedure EndConditionalRenderNVX; - external 'opengl32.dll' name 'glEndConditionalRenderNVX'; - - static procedure LGPUNamedBufferSubDataNVX(gpuMask: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glLGPUNamedBufferSubDataNVX'; - - static procedure LGPUCopyImageSubDataNVX(sourceGpu: UInt32; destinationGpuMask: UInt32; srcName: UInt32; srcTarget: ErrorCode; srcLevel: Int32; srcX: Int32; srxY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: ErrorCode; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32); - external 'opengl32.dll' name 'glLGPUCopyImageSubDataNVX'; - - static procedure LGPUInterlockNVX; - external 'opengl32.dll' name 'glLGPUInterlockNVX'; - - static procedure AlphaToCoverageDitherControlNV(mode: ErrorCode); - external 'opengl32.dll' name 'glAlphaToCoverageDitherControlNV'; - - static procedure CopyImageSubDataNV(srcName: UInt32; srcTarget: ErrorCode; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: ErrorCode; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32); - external 'opengl32.dll' name 'glCopyImageSubDataNV'; - - static procedure DepthRangedNV(zNear: double; zFar: double); - external 'opengl32.dll' name 'glDepthRangedNV'; - - static procedure ClearDepthdNV(depth: double); - external 'opengl32.dll' name 'glClearDepthdNV'; - - static procedure DepthBoundsdNV(zmin: double; zmax: double); - external 'opengl32.dll' name 'glDepthBoundsdNV'; - - static procedure DrawTextureNV(texture: UInt32; sampler: UInt32; x0: single; y0: single; x1: single; y1: single; z: single; s0: single; t0: single; s1: single; t1: single); - external 'opengl32.dll' name 'glDrawTextureNV'; - - static procedure MapControlPointsNV(target: ErrorCode; index: UInt32; &type: ErrorCode; ustride: Int32; vstride: Int32; uorder: Int32; vorder: Int32; &packed: Byte; points: pointer); - external 'opengl32.dll' name 'glMapControlPointsNV'; - - static procedure MapParameterivNV(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glMapParameterivNV'; - - static procedure MapParameterfvNV(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glMapParameterfvNV'; - - static procedure GetMapControlPointsNV(target: ErrorCode; index: UInt32; &type: ErrorCode; ustride: Int32; vstride: Int32; &packed: Byte; points: pointer); - external 'opengl32.dll' name 'glGetMapControlPointsNV'; - - static procedure GetMapParameterivNV(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMapParameterivNV'; - - static procedure GetMapParameterfvNV(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMapParameterfvNV'; - - static procedure GetMapAttribParameterivNV(target: ErrorCode; index: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMapAttribParameterivNV'; - - static procedure GetMapAttribParameterfvNV(target: ErrorCode; index: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMapAttribParameterfvNV'; - - static procedure EvalMapsNV(target: ErrorCode; mode: ErrorCode); - external 'opengl32.dll' name 'glEvalMapsNV'; - - static procedure GetMultisamplefvNV(pname: ErrorCode; index: UInt32; val: ^single); - external 'opengl32.dll' name 'glGetMultisamplefvNV'; - - static procedure SampleMaskIndexedNV(index: UInt32; mask: UInt32); - external 'opengl32.dll' name 'glSampleMaskIndexedNV'; - - static procedure TexRenderbufferNV(target: ErrorCode; renderbuffer: UInt32); - external 'opengl32.dll' name 'glTexRenderbufferNV'; - - static procedure DeleteFencesNV(n: Int32; fences: ^UInt32); - external 'opengl32.dll' name 'glDeleteFencesNV'; - - static procedure GenFencesNV(n: Int32; fences: ^UInt32); - external 'opengl32.dll' name 'glGenFencesNV'; - - static function IsFenceNV(fence: UInt32): Byte; - external 'opengl32.dll' name 'glIsFenceNV'; - - static function TestFenceNV(fence: UInt32): Byte; - external 'opengl32.dll' name 'glTestFenceNV'; - - static procedure GetFenceivNV(fence: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetFenceivNV'; - - static procedure FinishFenceNV(fence: UInt32); - external 'opengl32.dll' name 'glFinishFenceNV'; - - static procedure SetFenceNV(fence: UInt32; condition: ErrorCode); - external 'opengl32.dll' name 'glSetFenceNV'; - - static procedure ProgramNamedParameter4fNV(id: UInt32; len: Int32; name: ^Byte; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glProgramNamedParameter4fNV'; - - static procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; name: ^Byte; v: ^single); - external 'opengl32.dll' name 'glProgramNamedParameter4fvNV'; - - static procedure ProgramNamedParameter4dNV(id: UInt32; len: Int32; name: ^Byte; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glProgramNamedParameter4dNV'; - - static procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; name: ^Byte; v: ^double); - external 'opengl32.dll' name 'glProgramNamedParameter4dvNV'; - - static procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; name: ^Byte; ¶ms: ^single); - external 'opengl32.dll' name 'glGetProgramNamedParameterfvNV'; - - static procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; name: ^Byte; ¶ms: ^double); - external 'opengl32.dll' name 'glGetProgramNamedParameterdvNV'; - - static procedure ProgramVertexLimitNV(target: ErrorCode; limit: Int32); - external 'opengl32.dll' name 'glProgramVertexLimitNV'; - - static procedure RenderGpuMaskNV(mask: UInt32); - external 'opengl32.dll' name 'glRenderGpuMaskNV'; - - static procedure MulticastBufferSubDataNV(gpuMask: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer); - external 'opengl32.dll' name 'glMulticastBufferSubDataNV'; - - static procedure MulticastCopyBufferSubDataNV(readGpu: UInt32; writeGpuMask: UInt32; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glMulticastCopyBufferSubDataNV'; - - static procedure MulticastCopyImageSubDataNV(srcGpu: UInt32; dstGpuMask: UInt32; srcName: UInt32; srcTarget: ErrorCode; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: ErrorCode; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32); - external 'opengl32.dll' name 'glMulticastCopyImageSubDataNV'; - - static procedure MulticastBlitFramebufferNV(srcGpu: UInt32; dstGpu: UInt32; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: UInt32; filter: ErrorCode); - external 'opengl32.dll' name 'glMulticastBlitFramebufferNV'; - - static procedure MulticastFramebufferSampleLocationsfvNV(gpu: UInt32; framebuffer: UInt32; start: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glMulticastFramebufferSampleLocationsfvNV'; - - static procedure MulticastBarrierNV; - external 'opengl32.dll' name 'glMulticastBarrierNV'; - - static procedure MulticastWaitSyncNV(signalGpu: UInt32; waitGpuMask: UInt32); - external 'opengl32.dll' name 'glMulticastWaitSyncNV'; - - static procedure MulticastGetQueryObjectivNV(gpu: UInt32; id: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glMulticastGetQueryObjectivNV'; - - static procedure MulticastGetQueryObjectuivNV(gpu: UInt32; id: UInt32; pname: ErrorCode; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glMulticastGetQueryObjectuivNV'; - - static procedure MulticastGetQueryObjecti64vNV(gpu: UInt32; id: UInt32; pname: ErrorCode; ¶ms: ^Int64); - external 'opengl32.dll' name 'glMulticastGetQueryObjecti64vNV'; - - static procedure MulticastGetQueryObjectui64vNV(gpu: UInt32; id: UInt32; pname: ErrorCode; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glMulticastGetQueryObjectui64vNV'; - - static procedure ProgramLocalParameterI4iNV(target: ErrorCode; index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32); - external 'opengl32.dll' name 'glProgramLocalParameterI4iNV'; - - static procedure ProgramLocalParameterI4ivNV(target: ErrorCode; index: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glProgramLocalParameterI4ivNV'; - - static procedure ProgramLocalParametersI4ivNV(target: ErrorCode; index: UInt32; count: Int32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glProgramLocalParametersI4ivNV'; - - static procedure ProgramLocalParameterI4uiNV(target: ErrorCode; index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32); - external 'opengl32.dll' name 'glProgramLocalParameterI4uiNV'; - - static procedure ProgramLocalParameterI4uivNV(target: ErrorCode; index: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glProgramLocalParameterI4uivNV'; - - static procedure ProgramLocalParametersI4uivNV(target: ErrorCode; index: UInt32; count: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glProgramLocalParametersI4uivNV'; - - static procedure ProgramEnvParameterI4iNV(target: ErrorCode; index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32); - external 'opengl32.dll' name 'glProgramEnvParameterI4iNV'; - - static procedure ProgramEnvParameterI4ivNV(target: ErrorCode; index: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glProgramEnvParameterI4ivNV'; - - static procedure ProgramEnvParametersI4ivNV(target: ErrorCode; index: UInt32; count: Int32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glProgramEnvParametersI4ivNV'; - - static procedure ProgramEnvParameterI4uiNV(target: ErrorCode; index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32); - external 'opengl32.dll' name 'glProgramEnvParameterI4uiNV'; - - static procedure ProgramEnvParameterI4uivNV(target: ErrorCode; index: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glProgramEnvParameterI4uivNV'; - - static procedure ProgramEnvParametersI4uivNV(target: ErrorCode; index: UInt32; count: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glProgramEnvParametersI4uivNV'; - - static procedure GetProgramLocalParameterIivNV(target: ErrorCode; index: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetProgramLocalParameterIivNV'; - - static procedure GetProgramLocalParameterIuivNV(target: ErrorCode; index: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetProgramLocalParameterIuivNV'; - - static procedure GetProgramEnvParameterIivNV(target: ErrorCode; index: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetProgramEnvParameterIivNV'; - - static procedure GetProgramEnvParameterIuivNV(target: ErrorCode; index: UInt32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetProgramEnvParameterIuivNV'; - - static procedure ProgramSubroutineParametersuivNV(target: ErrorCode; count: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glProgramSubroutineParametersuivNV'; - - static procedure GetProgramSubroutineParameteruivNV(target: ErrorCode; index: UInt32; param: ^UInt32); - external 'opengl32.dll' name 'glGetProgramSubroutineParameteruivNV'; - - static procedure Vertex2hNV(x: half; y: half); - external 'opengl32.dll' name 'glVertex2hNV'; - - static procedure Vertex2hvNV(v: ^half); - external 'opengl32.dll' name 'glVertex2hvNV'; - - static procedure Vertex3hNV(x: half; y: half; z: half); - external 'opengl32.dll' name 'glVertex3hNV'; - - static procedure Vertex3hvNV(v: ^half); - external 'opengl32.dll' name 'glVertex3hvNV'; - - static procedure Vertex4hNV(x: half; y: half; z: half; w: half); - external 'opengl32.dll' name 'glVertex4hNV'; - - static procedure Vertex4hvNV(v: ^half); - external 'opengl32.dll' name 'glVertex4hvNV'; - - static procedure Normal3hNV(nx: half; ny: half; nz: half); - external 'opengl32.dll' name 'glNormal3hNV'; - - static procedure Normal3hvNV(v: ^half); - external 'opengl32.dll' name 'glNormal3hvNV'; - - static procedure Color3hNV(red: half; green: half; blue: half); - external 'opengl32.dll' name 'glColor3hNV'; - - static procedure Color3hvNV(v: ^half); - external 'opengl32.dll' name 'glColor3hvNV'; - - static procedure Color4hNV(red: half; green: half; blue: half; alpha: half); - external 'opengl32.dll' name 'glColor4hNV'; - - static procedure Color4hvNV(v: ^half); - external 'opengl32.dll' name 'glColor4hvNV'; - - static procedure TexCoord1hNV(s: half); - external 'opengl32.dll' name 'glTexCoord1hNV'; - - static procedure TexCoord1hvNV(v: ^half); - external 'opengl32.dll' name 'glTexCoord1hvNV'; - - static procedure TexCoord2hNV(s: half; t: half); - external 'opengl32.dll' name 'glTexCoord2hNV'; - - static procedure TexCoord2hvNV(v: ^half); - external 'opengl32.dll' name 'glTexCoord2hvNV'; - - static procedure TexCoord3hNV(s: half; t: half; r: half); - external 'opengl32.dll' name 'glTexCoord3hNV'; - - static procedure TexCoord3hvNV(v: ^half); - external 'opengl32.dll' name 'glTexCoord3hvNV'; - - static procedure TexCoord4hNV(s: half; t: half; r: half; q: half); - external 'opengl32.dll' name 'glTexCoord4hNV'; - - static procedure TexCoord4hvNV(v: ^half); - external 'opengl32.dll' name 'glTexCoord4hvNV'; - - static procedure MultiTexCoord1hNV(target: ErrorCode; s: half); - external 'opengl32.dll' name 'glMultiTexCoord1hNV'; - - static procedure MultiTexCoord1hvNV(target: ErrorCode; v: ^half); - external 'opengl32.dll' name 'glMultiTexCoord1hvNV'; - - static procedure MultiTexCoord2hNV(target: ErrorCode; s: half; t: half); - external 'opengl32.dll' name 'glMultiTexCoord2hNV'; - - static procedure MultiTexCoord2hvNV(target: ErrorCode; v: ^half); - external 'opengl32.dll' name 'glMultiTexCoord2hvNV'; - - static procedure MultiTexCoord3hNV(target: ErrorCode; s: half; t: half; r: half); - external 'opengl32.dll' name 'glMultiTexCoord3hNV'; - - static procedure MultiTexCoord3hvNV(target: ErrorCode; v: ^half); - external 'opengl32.dll' name 'glMultiTexCoord3hvNV'; - - static procedure MultiTexCoord4hNV(target: ErrorCode; s: half; t: half; r: half; q: half); - external 'opengl32.dll' name 'glMultiTexCoord4hNV'; - - static procedure MultiTexCoord4hvNV(target: ErrorCode; v: ^half); - external 'opengl32.dll' name 'glMultiTexCoord4hvNV'; - - static procedure FogCoordhNV(fog: half); - external 'opengl32.dll' name 'glFogCoordhNV'; - - static procedure FogCoordhvNV(fog: ^half); - external 'opengl32.dll' name 'glFogCoordhvNV'; - - static procedure SecondaryColor3hNV(red: half; green: half; blue: half); - external 'opengl32.dll' name 'glSecondaryColor3hNV'; - - static procedure SecondaryColor3hvNV(v: ^half); - external 'opengl32.dll' name 'glSecondaryColor3hvNV'; - - static procedure VertexWeighthNV(weight: half); - external 'opengl32.dll' name 'glVertexWeighthNV'; - - static procedure VertexWeighthvNV(weight: ^half); - external 'opengl32.dll' name 'glVertexWeighthvNV'; - - static procedure VertexAttrib1hNV(index: UInt32; x: half); - external 'opengl32.dll' name 'glVertexAttrib1hNV'; - - static procedure VertexAttrib1hvNV(index: UInt32; v: ^half); - external 'opengl32.dll' name 'glVertexAttrib1hvNV'; - - static procedure VertexAttrib2hNV(index: UInt32; x: half; y: half); - external 'opengl32.dll' name 'glVertexAttrib2hNV'; - - static procedure VertexAttrib2hvNV(index: UInt32; v: ^half); - external 'opengl32.dll' name 'glVertexAttrib2hvNV'; - - static procedure VertexAttrib3hNV(index: UInt32; x: half; y: half; z: half); - external 'opengl32.dll' name 'glVertexAttrib3hNV'; - - static procedure VertexAttrib3hvNV(index: UInt32; v: ^half); - external 'opengl32.dll' name 'glVertexAttrib3hvNV'; - - static procedure VertexAttrib4hNV(index: UInt32; x: half; y: half; z: half; w: half); - external 'opengl32.dll' name 'glVertexAttrib4hNV'; - - static procedure VertexAttrib4hvNV(index: UInt32; v: ^half); - external 'opengl32.dll' name 'glVertexAttrib4hvNV'; - - static procedure VertexAttribs1hvNV(index: UInt32; n: Int32; v: ^half); - external 'opengl32.dll' name 'glVertexAttribs1hvNV'; - - static procedure VertexAttribs2hvNV(index: UInt32; n: Int32; v: ^half); - external 'opengl32.dll' name 'glVertexAttribs2hvNV'; - - static procedure VertexAttribs3hvNV(index: UInt32; n: Int32; v: ^half); - external 'opengl32.dll' name 'glVertexAttribs3hvNV'; - - static procedure VertexAttribs4hvNV(index: UInt32; n: Int32; v: ^half); - external 'opengl32.dll' name 'glVertexAttribs4hvNV'; - - static procedure GenOcclusionQueriesNV(n: Int32; ids: ^UInt32); - external 'opengl32.dll' name 'glGenOcclusionQueriesNV'; - - static procedure DeleteOcclusionQueriesNV(n: Int32; ids: ^UInt32); - external 'opengl32.dll' name 'glDeleteOcclusionQueriesNV'; - - static function IsOcclusionQueryNV(id: UInt32): Byte; - external 'opengl32.dll' name 'glIsOcclusionQueryNV'; - - static procedure BeginOcclusionQueryNV(id: UInt32); - external 'opengl32.dll' name 'glBeginOcclusionQueryNV'; - - static procedure EndOcclusionQueryNV; - external 'opengl32.dll' name 'glEndOcclusionQueryNV'; - - static procedure GetOcclusionQueryivNV(id: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetOcclusionQueryivNV'; - - static procedure GetOcclusionQueryuivNV(id: UInt32; pname: ErrorCode; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetOcclusionQueryuivNV'; - - static procedure ProgramBufferParametersfvNV(target: ErrorCode; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: ^single); - external 'opengl32.dll' name 'glProgramBufferParametersfvNV'; - - static procedure ProgramBufferParametersIivNV(target: ErrorCode; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glProgramBufferParametersIivNV'; - - static procedure ProgramBufferParametersIuivNV(target: ErrorCode; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glProgramBufferParametersIuivNV'; - - static procedure PathColorGenNV(color: ErrorCode; genMode: ErrorCode; colorFormat: ErrorCode; coeffs: ^single); - external 'opengl32.dll' name 'glPathColorGenNV'; - - static procedure PathTexGenNV(texCoordSet: ErrorCode; genMode: ErrorCode; components: Int32; coeffs: ^single); - external 'opengl32.dll' name 'glPathTexGenNV'; - - static procedure PathFogGenNV(genMode: ErrorCode); - external 'opengl32.dll' name 'glPathFogGenNV'; - - static procedure GetPathColorGenivNV(color: ErrorCode; pname: ErrorCode; value: ^Int32); - external 'opengl32.dll' name 'glGetPathColorGenivNV'; - - static procedure GetPathColorGenfvNV(color: ErrorCode; pname: ErrorCode; value: ^single); - external 'opengl32.dll' name 'glGetPathColorGenfvNV'; - - static procedure GetPathTexGenivNV(texCoordSet: ErrorCode; pname: ErrorCode; value: ^Int32); - external 'opengl32.dll' name 'glGetPathTexGenivNV'; - - static procedure GetPathTexGenfvNV(texCoordSet: ErrorCode; pname: ErrorCode; value: ^single); - external 'opengl32.dll' name 'glGetPathTexGenfvNV'; - - static procedure PixelDataRangeNV(target: ErrorCode; length: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glPixelDataRangeNV'; - - static procedure FlushPixelDataRangeNV(target: ErrorCode); - external 'opengl32.dll' name 'glFlushPixelDataRangeNV'; - - static procedure PointParameteriNV(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glPointParameteriNV'; - - static procedure PointParameterivNV(pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glPointParameterivNV'; - - static procedure PresentFrameKeyedNV(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: ErrorCode; target0: ErrorCode; fill0: UInt32; key0: UInt32; target1: ErrorCode; fill1: UInt32; key1: UInt32); - external 'opengl32.dll' name 'glPresentFrameKeyedNV'; - - static procedure PresentFrameDualFillNV(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: ErrorCode; target0: ErrorCode; fill0: UInt32; target1: ErrorCode; fill1: UInt32; target2: ErrorCode; fill2: UInt32; target3: ErrorCode; fill3: UInt32); - external 'opengl32.dll' name 'glPresentFrameDualFillNV'; - - static procedure GetVideoivNV(video_slot: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVideoivNV'; - - static procedure GetVideouivNV(video_slot: UInt32; pname: ErrorCode; ¶ms: ^UInt32); - external 'opengl32.dll' name 'glGetVideouivNV'; - - static procedure GetVideoi64vNV(video_slot: UInt32; pname: ErrorCode; ¶ms: ^Int64); - external 'opengl32.dll' name 'glGetVideoi64vNV'; - - static procedure GetVideoui64vNV(video_slot: UInt32; pname: ErrorCode; ¶ms: ^UInt64); - external 'opengl32.dll' name 'glGetVideoui64vNV'; - - static procedure PrimitiveRestartNV; - external 'opengl32.dll' name 'glPrimitiveRestartNV'; - - static procedure PrimitiveRestartIndexNV(index: UInt32); - external 'opengl32.dll' name 'glPrimitiveRestartIndexNV'; - - static function QueryResourceNV(queryType: ErrorCode; tagId: Int32; bufSize: UInt32; buffer: ^Int32): Int32; - external 'opengl32.dll' name 'glQueryResourceNV'; - - static procedure GenQueryResourceTagNV(n: Int32; tagIds: ^Int32); - external 'opengl32.dll' name 'glGenQueryResourceTagNV'; - - static procedure DeleteQueryResourceTagNV(n: Int32; tagIds: ^Int32); - external 'opengl32.dll' name 'glDeleteQueryResourceTagNV'; - - static procedure QueryResourceTagNV(tagId: Int32; tagString: ^Byte); - external 'opengl32.dll' name 'glQueryResourceTagNV'; - - static procedure CombinerParameterfvNV(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glCombinerParameterfvNV'; - - static procedure CombinerParameterfNV(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glCombinerParameterfNV'; - - static procedure CombinerParameterivNV(pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glCombinerParameterivNV'; - - static procedure CombinerParameteriNV(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glCombinerParameteriNV'; - - static procedure CombinerInputNV(stage: ErrorCode; portion: ErrorCode; variable: ErrorCode; input: ErrorCode; mapping: ErrorCode; componentUsage: ErrorCode); - external 'opengl32.dll' name 'glCombinerInputNV'; - - static procedure CombinerOutputNV(stage: ErrorCode; portion: ErrorCode; abOutput: ErrorCode; cdOutput: ErrorCode; sumOutput: ErrorCode; scale: ErrorCode; bias: ErrorCode; abDotProduct: Byte; cdDotProduct: Byte; muxSum: Byte); - external 'opengl32.dll' name 'glCombinerOutputNV'; - - static procedure FinalCombinerInputNV(variable: ErrorCode; input: ErrorCode; mapping: ErrorCode; componentUsage: ErrorCode); - external 'opengl32.dll' name 'glFinalCombinerInputNV'; - - static procedure GetCombinerInputParameterfvNV(stage: ErrorCode; portion: ErrorCode; variable: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetCombinerInputParameterfvNV'; - - static procedure GetCombinerInputParameterivNV(stage: ErrorCode; portion: ErrorCode; variable: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetCombinerInputParameterivNV'; - - static procedure GetCombinerOutputParameterfvNV(stage: ErrorCode; portion: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetCombinerOutputParameterfvNV'; - - static procedure GetCombinerOutputParameterivNV(stage: ErrorCode; portion: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetCombinerOutputParameterivNV'; - - static procedure GetFinalCombinerInputParameterfvNV(variable: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetFinalCombinerInputParameterfvNV'; - - static procedure GetFinalCombinerInputParameterivNV(variable: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetFinalCombinerInputParameterivNV'; - - static procedure CombinerStageParameterfvNV(stage: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glCombinerStageParameterfvNV'; - - static procedure GetCombinerStageParameterfvNV(stage: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetCombinerStageParameterfvNV'; - - static procedure TexImage2DMultisampleCoverageNV(target: ErrorCode; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte); - external 'opengl32.dll' name 'glTexImage2DMultisampleCoverageNV'; - - static procedure TexImage3DMultisampleCoverageNV(target: ErrorCode; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte); - external 'opengl32.dll' name 'glTexImage3DMultisampleCoverageNV'; - - static procedure TextureImage2DMultisampleNV(texture: UInt32; target: ErrorCode; samples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte); - external 'opengl32.dll' name 'glTextureImage2DMultisampleNV'; - - static procedure TextureImage3DMultisampleNV(texture: UInt32; target: ErrorCode; samples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte); - external 'opengl32.dll' name 'glTextureImage3DMultisampleNV'; - - static procedure TextureImage2DMultisampleCoverageNV(texture: UInt32; target: ErrorCode; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte); - external 'opengl32.dll' name 'glTextureImage2DMultisampleCoverageNV'; - - static procedure TextureImage3DMultisampleCoverageNV(texture: UInt32; target: ErrorCode; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte); - external 'opengl32.dll' name 'glTextureImage3DMultisampleCoverageNV'; - - static procedure BeginTransformFeedbackNV(primitiveMode: ErrorCode); - external 'opengl32.dll' name 'glBeginTransformFeedbackNV'; - - static procedure EndTransformFeedbackNV; - external 'opengl32.dll' name 'glEndTransformFeedbackNV'; - - static procedure TransformFeedbackAttribsNV(count: Int32; attribs: ^Int32; bufferMode: ErrorCode); - external 'opengl32.dll' name 'glTransformFeedbackAttribsNV'; - - static procedure BindBufferRangeNV(target: ErrorCode; index: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glBindBufferRangeNV'; - - static procedure BindBufferOffsetNV(target: ErrorCode; index: UInt32; buffer: UInt32; offset: IntPtr); - external 'opengl32.dll' name 'glBindBufferOffsetNV'; - - static procedure BindBufferBaseNV(target: ErrorCode; index: UInt32; buffer: UInt32); - external 'opengl32.dll' name 'glBindBufferBaseNV'; - - static procedure TransformFeedbackVaryingsNV(&program: UInt32; count: Int32; locations: ^Int32; bufferMode: ErrorCode); - external 'opengl32.dll' name 'glTransformFeedbackVaryingsNV'; - - static procedure ActiveVaryingNV(&program: UInt32; name: ^Byte); - external 'opengl32.dll' name 'glActiveVaryingNV'; - - static function GetVaryingLocationNV(&program: UInt32; name: ^Byte): Int32; - external 'opengl32.dll' name 'glGetVaryingLocationNV'; - - static procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: ^Int32; size: ^Int32; &type: ^ErrorCode; name: ^Byte); - external 'opengl32.dll' name 'glGetActiveVaryingNV'; - - static procedure GetTransformFeedbackVaryingNV(&program: UInt32; index: UInt32; location: ^Int32); - external 'opengl32.dll' name 'glGetTransformFeedbackVaryingNV'; - - static procedure TransformFeedbackStreamAttribsNV(count: Int32; attribs: ^Int32; nbuffers: Int32; bufstreams: ^Int32; bufferMode: ErrorCode); - external 'opengl32.dll' name 'glTransformFeedbackStreamAttribsNV'; - - static procedure BindTransformFeedbackNV(target: ErrorCode; id: UInt32); - external 'opengl32.dll' name 'glBindTransformFeedbackNV'; - - static procedure DeleteTransformFeedbacksNV(n: Int32; ids: ^UInt32); - external 'opengl32.dll' name 'glDeleteTransformFeedbacksNV'; - - static procedure GenTransformFeedbacksNV(n: Int32; ids: ^UInt32); - external 'opengl32.dll' name 'glGenTransformFeedbacksNV'; - - static function IsTransformFeedbackNV(id: UInt32): Byte; - external 'opengl32.dll' name 'glIsTransformFeedbackNV'; - - static procedure PauseTransformFeedbackNV; - external 'opengl32.dll' name 'glPauseTransformFeedbackNV'; - - static procedure ResumeTransformFeedbackNV; - external 'opengl32.dll' name 'glResumeTransformFeedbackNV'; - - static procedure DrawTransformFeedbackNV(mode: ErrorCode; id: UInt32); - external 'opengl32.dll' name 'glDrawTransformFeedbackNV'; - - static procedure VDPAUInitNV(vdpDevice: pointer; getProcAddress: pointer); - external 'opengl32.dll' name 'glVDPAUInitNV'; - - static procedure VDPAUFiniNV; - external 'opengl32.dll' name 'glVDPAUFiniNV'; - - static function VDPAURegisterVideoSurfaceNV(vdpSurface: pointer; target: ErrorCode; numTextureNames: Int32; textureNames: ^UInt32): GLvdpauSurfaceNV; - external 'opengl32.dll' name 'glVDPAURegisterVideoSurfaceNV'; - - static function VDPAURegisterOutputSurfaceNV(vdpSurface: pointer; target: ErrorCode; numTextureNames: Int32; textureNames: ^UInt32): GLvdpauSurfaceNV; - external 'opengl32.dll' name 'glVDPAURegisterOutputSurfaceNV'; - - static function VDPAUIsSurfaceNV(surface: GLvdpauSurfaceNV): Byte; - external 'opengl32.dll' name 'glVDPAUIsSurfaceNV'; - - static procedure VDPAUUnregisterSurfaceNV(surface: GLvdpauSurfaceNV); - external 'opengl32.dll' name 'glVDPAUUnregisterSurfaceNV'; - - static procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: ErrorCode; bufSize: Int32; length: ^Int32; values: ^Int32); - external 'opengl32.dll' name 'glVDPAUGetSurfaceivNV'; - - static procedure VDPAUSurfaceAccessNV(surface: GLvdpauSurfaceNV; access: ErrorCode); - external 'opengl32.dll' name 'glVDPAUSurfaceAccessNV'; - - static procedure VDPAUMapSurfacesNV(numSurfaces: Int32; surfaces: ^GLvdpauSurfaceNV); - external 'opengl32.dll' name 'glVDPAUMapSurfacesNV'; - - static procedure VDPAUUnmapSurfacesNV(numSurface: Int32; surfaces: ^GLvdpauSurfaceNV); - external 'opengl32.dll' name 'glVDPAUUnmapSurfacesNV'; - - static function VDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface: pointer; target: ErrorCode; numTextureNames: Int32; textureNames: ^UInt32; isFrameStructure: Byte): GLvdpauSurfaceNV; - external 'opengl32.dll' name 'glVDPAURegisterVideoSurfaceWithPictureStructureNV'; - - static procedure FlushVertexArrayRangeNV; - external 'opengl32.dll' name 'glFlushVertexArrayRangeNV'; - - static procedure VertexArrayRangeNV(length: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexArrayRangeNV'; - - static function AreProgramsResidentNV(n: Int32; programs: ^UInt32; residences: ^Byte): Byte; - external 'opengl32.dll' name 'glAreProgramsResidentNV'; - - static procedure BindProgramNV(target: ErrorCode; id: UInt32); - external 'opengl32.dll' name 'glBindProgramNV'; - - static procedure DeleteProgramsNV(n: Int32; programs: ^UInt32); - external 'opengl32.dll' name 'glDeleteProgramsNV'; - - static procedure ExecuteProgramNV(target: ErrorCode; id: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glExecuteProgramNV'; - - static procedure GenProgramsNV(n: Int32; programs: ^UInt32); - external 'opengl32.dll' name 'glGenProgramsNV'; - - static procedure GetProgramParameterdvNV(target: ErrorCode; index: UInt32; pname: ErrorCode; ¶ms: ^double); - external 'opengl32.dll' name 'glGetProgramParameterdvNV'; - - static procedure GetProgramParameterfvNV(target: ErrorCode; index: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetProgramParameterfvNV'; - - static procedure GetProgramivNV(id: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetProgramivNV'; - - static procedure GetProgramStringNV(id: UInt32; pname: ErrorCode; &program: ^Byte); - external 'opengl32.dll' name 'glGetProgramStringNV'; - - static procedure GetTrackMatrixivNV(target: ErrorCode; address: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetTrackMatrixivNV'; - - static procedure GetVertexAttribdvNV(index: UInt32; pname: ErrorCode; ¶ms: ^double); - external 'opengl32.dll' name 'glGetVertexAttribdvNV'; - - static procedure GetVertexAttribfvNV(index: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetVertexAttribfvNV'; - - static procedure GetVertexAttribivNV(index: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVertexAttribivNV'; - - static procedure GetVertexAttribPointervNV(index: UInt32; pname: ErrorCode; _pointer: ^pointer); - external 'opengl32.dll' name 'glGetVertexAttribPointervNV'; - - static function IsProgramNV(id: UInt32): Byte; - external 'opengl32.dll' name 'glIsProgramNV'; - - static procedure LoadProgramNV(target: ErrorCode; id: UInt32; len: Int32; &program: ^Byte); - external 'opengl32.dll' name 'glLoadProgramNV'; - - static procedure ProgramParameter4dNV(target: ErrorCode; index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glProgramParameter4dNV'; - - static procedure ProgramParameter4dvNV(target: ErrorCode; index: UInt32; v: ^double); - external 'opengl32.dll' name 'glProgramParameter4dvNV'; - - static procedure ProgramParameter4fNV(target: ErrorCode; index: UInt32; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glProgramParameter4fNV'; - - static procedure ProgramParameter4fvNV(target: ErrorCode; index: UInt32; v: ^single); - external 'opengl32.dll' name 'glProgramParameter4fvNV'; - - static procedure ProgramParameters4dvNV(target: ErrorCode; index: UInt32; count: Int32; v: ^double); - external 'opengl32.dll' name 'glProgramParameters4dvNV'; - - static procedure ProgramParameters4fvNV(target: ErrorCode; index: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glProgramParameters4fvNV'; - - static procedure RequestResidentProgramsNV(n: Int32; programs: ^UInt32); - external 'opengl32.dll' name 'glRequestResidentProgramsNV'; - - static procedure TrackMatrixNV(target: ErrorCode; address: UInt32; matrix: ErrorCode; transform: ErrorCode); - external 'opengl32.dll' name 'glTrackMatrixNV'; - - static procedure VertexAttribPointerNV(index: UInt32; fsize: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexAttribPointerNV'; - - static procedure VertexAttrib1dNV(index: UInt32; x: double); - external 'opengl32.dll' name 'glVertexAttrib1dNV'; - - static procedure VertexAttrib1dvNV(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib1dvNV'; - - static procedure VertexAttrib1fNV(index: UInt32; x: single); - external 'opengl32.dll' name 'glVertexAttrib1fNV'; - - static procedure VertexAttrib1fvNV(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib1fvNV'; - - static procedure VertexAttrib1sNV(index: UInt32; x: Int16); - external 'opengl32.dll' name 'glVertexAttrib1sNV'; - - static procedure VertexAttrib1svNV(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib1svNV'; - - static procedure VertexAttrib2dNV(index: UInt32; x: double; y: double); - external 'opengl32.dll' name 'glVertexAttrib2dNV'; - - static procedure VertexAttrib2dvNV(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib2dvNV'; - - static procedure VertexAttrib2fNV(index: UInt32; x: single; y: single); - external 'opengl32.dll' name 'glVertexAttrib2fNV'; - - static procedure VertexAttrib2fvNV(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib2fvNV'; - - static procedure VertexAttrib2sNV(index: UInt32; x: Int16; y: Int16); - external 'opengl32.dll' name 'glVertexAttrib2sNV'; - - static procedure VertexAttrib2svNV(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib2svNV'; - - static procedure VertexAttrib3dNV(index: UInt32; x: double; y: double; z: double); - external 'opengl32.dll' name 'glVertexAttrib3dNV'; - - static procedure VertexAttrib3dvNV(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib3dvNV'; - - static procedure VertexAttrib3fNV(index: UInt32; x: single; y: single; z: single); - external 'opengl32.dll' name 'glVertexAttrib3fNV'; - - static procedure VertexAttrib3fvNV(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib3fvNV'; - - static procedure VertexAttrib3sNV(index: UInt32; x: Int16; y: Int16; z: Int16); - external 'opengl32.dll' name 'glVertexAttrib3sNV'; - - static procedure VertexAttrib3svNV(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib3svNV'; - - static procedure VertexAttrib4dNV(index: UInt32; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glVertexAttrib4dNV'; - - static procedure VertexAttrib4dvNV(index: UInt32; v: ^double); - external 'opengl32.dll' name 'glVertexAttrib4dvNV'; - - static procedure VertexAttrib4fNV(index: UInt32; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glVertexAttrib4fNV'; - - static procedure VertexAttrib4fvNV(index: UInt32; v: ^single); - external 'opengl32.dll' name 'glVertexAttrib4fvNV'; - - static procedure VertexAttrib4sNV(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16); - external 'opengl32.dll' name 'glVertexAttrib4sNV'; - - static procedure VertexAttrib4svNV(index: UInt32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttrib4svNV'; - - static procedure VertexAttrib4ubNV(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte); - external 'opengl32.dll' name 'glVertexAttrib4ubNV'; - - static procedure VertexAttrib4ubvNV(index: UInt32; v: ^Byte); - external 'opengl32.dll' name 'glVertexAttrib4ubvNV'; - - static procedure VertexAttribs1dvNV(index: UInt32; count: Int32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribs1dvNV'; - - static procedure VertexAttribs1fvNV(index: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glVertexAttribs1fvNV'; - - static procedure VertexAttribs1svNV(index: UInt32; count: Int32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttribs1svNV'; - - static procedure VertexAttribs2dvNV(index: UInt32; count: Int32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribs2dvNV'; - - static procedure VertexAttribs2fvNV(index: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glVertexAttribs2fvNV'; - - static procedure VertexAttribs2svNV(index: UInt32; count: Int32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttribs2svNV'; - - static procedure VertexAttribs3dvNV(index: UInt32; count: Int32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribs3dvNV'; - - static procedure VertexAttribs3fvNV(index: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glVertexAttribs3fvNV'; - - static procedure VertexAttribs3svNV(index: UInt32; count: Int32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttribs3svNV'; - - static procedure VertexAttribs4dvNV(index: UInt32; count: Int32; v: ^double); - external 'opengl32.dll' name 'glVertexAttribs4dvNV'; - - static procedure VertexAttribs4fvNV(index: UInt32; count: Int32; v: ^single); - external 'opengl32.dll' name 'glVertexAttribs4fvNV'; - - static procedure VertexAttribs4svNV(index: UInt32; count: Int32; v: ^Int16); - external 'opengl32.dll' name 'glVertexAttribs4svNV'; - - static procedure VertexAttribs4ubvNV(index: UInt32; count: Int32; v: ^Byte); - external 'opengl32.dll' name 'glVertexAttribs4ubvNV'; - - static procedure BeginVideoCaptureNV(video_capture_slot: UInt32); - external 'opengl32.dll' name 'glBeginVideoCaptureNV'; - - static procedure BindVideoCaptureStreamBufferNV(video_capture_slot: UInt32; stream: UInt32; frame_region: ErrorCode; offset: IntPtr); - external 'opengl32.dll' name 'glBindVideoCaptureStreamBufferNV'; - - static procedure BindVideoCaptureStreamTextureNV(video_capture_slot: UInt32; stream: UInt32; frame_region: ErrorCode; target: ErrorCode; texture: UInt32); - external 'opengl32.dll' name 'glBindVideoCaptureStreamTextureNV'; - - static procedure EndVideoCaptureNV(video_capture_slot: UInt32); - external 'opengl32.dll' name 'glEndVideoCaptureNV'; - - static procedure GetVideoCaptureivNV(video_capture_slot: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVideoCaptureivNV'; - - static procedure GetVideoCaptureStreamivNV(video_capture_slot: UInt32; stream: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVideoCaptureStreamivNV'; - - static procedure GetVideoCaptureStreamfvNV(video_capture_slot: UInt32; stream: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetVideoCaptureStreamfvNV'; - - static procedure GetVideoCaptureStreamdvNV(video_capture_slot: UInt32; stream: UInt32; pname: ErrorCode; ¶ms: ^double); - external 'opengl32.dll' name 'glGetVideoCaptureStreamdvNV'; - - static function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: ^UInt32; capture_time: ^UInt64): ErrorCode; - external 'opengl32.dll' name 'glVideoCaptureNV'; - - static procedure VideoCaptureStreamParameterivNV(video_capture_slot: UInt32; stream: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glVideoCaptureStreamParameterivNV'; - - static procedure VideoCaptureStreamParameterfvNV(video_capture_slot: UInt32; stream: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glVideoCaptureStreamParameterfvNV'; - - static procedure VideoCaptureStreamParameterdvNV(video_capture_slot: UInt32; stream: UInt32; pname: ErrorCode; ¶ms: ^double); - external 'opengl32.dll' name 'glVideoCaptureStreamParameterdvNV'; - - {$endregion NVIDIA} - - {$region PGI} - - static procedure HintPGI(target: ErrorCode; mode: Int32); - external 'opengl32.dll' name 'glHintPGI'; - - {$endregion PGI} + glu = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region EXT_nurbs_tessellator} + + public z_NurbsCallbackDataEXT: procedure(theNurb: pointer; userData: pointer) := GetGLFuncOrNil&('gluNurbsCallbackDataEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NurbsCallbackDataEXT(theNurb: array of GLUnurbs; userData: pointer) := NurbsCallbackDataEXT(theNurb[0], userData); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NurbsCallbackDataEXT(var theNurb: GLUnurbs; userData: pointer) := NurbsCallbackDataEXT(@theNurb, userData); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NurbsCallbackDataEXT(theNurb: pointer; userData: pointer) := z_NurbsCallbackDataEXT(theNurb, userData); + + {$endregion EXT_nurbs_tessellator} end; - /// Расширения, которые встречаются только у видеокарт Radeon - /// то есть AMD + ATI - gl_Radeon = static class + glX = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region NV_video_capture} + + public z_BeginVideoCaptureNV: procedure(video_capture_slot: UInt32) := GetGLFuncOrNil&('glBeginVideoCaptureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginVideoCaptureNV(video_capture_slot: UInt32) := z_BeginVideoCaptureNV(video_capture_slot); + + public z_BindVideoCaptureStreamBufferNV: procedure(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; offset: IntPtr) := GetGLFuncOrNil&('glBindVideoCaptureStreamBufferNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVideoCaptureStreamBufferNV(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; offset: IntPtr) := z_BindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset); + + public z_BindVideoCaptureStreamTextureNV: procedure(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; target: DummyEnum; texture: UInt32) := GetGLFuncOrNil&('glBindVideoCaptureStreamTextureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVideoCaptureStreamTextureNV(video_capture_slot: UInt32; stream: UInt32; frame_region: DummyEnum; target: DummyEnum; texture: UInt32) := z_BindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture); + + public z_EndVideoCaptureNV: procedure(video_capture_slot: UInt32) := GetGLFuncOrNil&('glEndVideoCaptureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndVideoCaptureNV(video_capture_slot: UInt32) := z_EndVideoCaptureNV(video_capture_slot); + + public z_GetVideoCaptureivNV: procedure(video_capture_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureivNV(video_capture_slot: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVideoCaptureivNV(video_capture_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureivNV(video_capture_slot: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVideoCaptureivNV(video_capture_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureivNV(video_capture_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureivNV(video_capture_slot, pname, ¶ms); + + public z_GetVideoCaptureStreamivNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureStreamivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVideoCaptureStreamivNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVideoCaptureStreamivNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureStreamivNV(video_capture_slot, stream, pname, ¶ms); + + public z_GetVideoCaptureStreamfvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureStreamfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of single) := GetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: single) := GetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, ¶ms); + + public z_GetVideoCaptureStreamdvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoCaptureStreamdvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of double) := GetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: double) := GetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoCaptureStreamdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, ¶ms); + + public z_VideoCaptureNV: function(video_capture_slot: UInt32; sequence_num: pointer; capture_time: pointer): DummyEnum := GetGLFuncOrNil&('glVideoCaptureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: array of UInt32; capture_time: array of UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num[0], capture_time[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: array of UInt32; var capture_time: UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num[0], @capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: array of UInt32; capture_time: pointer): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num[0], capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; var sequence_num: UInt32; capture_time: array of UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, @sequence_num, capture_time[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; var sequence_num: UInt32; var capture_time: UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, @sequence_num, @capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; var sequence_num: UInt32; capture_time: pointer): DummyEnum := VideoCaptureNV(video_capture_slot, @sequence_num, capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: pointer; capture_time: array of UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num, capture_time[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: pointer; var capture_time: UInt64): DummyEnum := VideoCaptureNV(video_capture_slot, sequence_num, @capture_time); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VideoCaptureNV(video_capture_slot: UInt32; sequence_num: pointer; capture_time: pointer): DummyEnum := z_VideoCaptureNV(video_capture_slot, sequence_num, capture_time); + + public z_VideoCaptureStreamParameterivNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glVideoCaptureStreamParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of Int32) := VideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: Int32) := VideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterivNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_VideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, ¶ms); + + public z_VideoCaptureStreamParameterfvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glVideoCaptureStreamParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of single) := VideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: single) := VideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterfvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_VideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, ¶ms); + + public z_VideoCaptureStreamParameterdvNV: procedure(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glVideoCaptureStreamParameterdvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: array of double) := VideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; var ¶ms: double) := VideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VideoCaptureStreamParameterdvNV(video_capture_slot: UInt32; stream: UInt32; pname: DummyEnum; ¶ms: pointer) := z_VideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, ¶ms); + + public z_BindVideoCaptureDeviceNV: function(dpy: PDisplay; video_capture_slot: UInt32; device: GLXVideoCaptureDeviceNV): Int32 := GetGLFuncOrNil&('glXBindVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoCaptureDeviceNV(dpy: PDisplay; video_capture_slot: UInt32; device: GLXVideoCaptureDeviceNV): Int32 := z_BindVideoCaptureDeviceNV(dpy, video_capture_slot, device); + + public z_EnumerateVideoCaptureDevicesNV: function(dpy: PDisplay; screen: Int32; nelements: pointer): pointer := GetGLFuncOrNil&('glXEnumerateVideoCaptureDevicesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoCaptureDevicesNV(dpy: PDisplay; screen: Int32; nelements: array of Int32): pointer := EnumerateVideoCaptureDevicesNV(dpy, screen, nelements[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoCaptureDevicesNV(dpy: PDisplay; screen: Int32; var nelements: Int32): pointer := EnumerateVideoCaptureDevicesNV(dpy, screen, @nelements); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoCaptureDevicesNV(dpy: PDisplay; screen: Int32; nelements: pointer): pointer := z_EnumerateVideoCaptureDevicesNV(dpy, screen, nelements); + + public z_LockVideoCaptureDeviceNV: procedure(dpy: PDisplay; device: GLXVideoCaptureDeviceNV) := GetGLFuncOrNil&('glXLockVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LockVideoCaptureDeviceNV(dpy: PDisplay; device: GLXVideoCaptureDeviceNV) := z_LockVideoCaptureDeviceNV(dpy, device); + + public z_QueryVideoCaptureDeviceNV: function(dpy: PDisplay; device: GLXVideoCaptureDeviceNV; attribute: Int32; value: pointer): Int32 := GetGLFuncOrNil&('glXQueryVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryVideoCaptureDeviceNV(dpy: PDisplay; device: GLXVideoCaptureDeviceNV; attribute: Int32; value: array of Int32): Int32 := QueryVideoCaptureDeviceNV(dpy, device, attribute, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryVideoCaptureDeviceNV(dpy: PDisplay; device: GLXVideoCaptureDeviceNV; attribute: Int32; var value: Int32): Int32 := QueryVideoCaptureDeviceNV(dpy, device, attribute, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryVideoCaptureDeviceNV(dpy: PDisplay; device: GLXVideoCaptureDeviceNV; attribute: Int32; value: pointer): Int32 := z_QueryVideoCaptureDeviceNV(dpy, device, attribute, value); + + public z_ReleaseVideoCaptureDeviceNV: procedure(dpy: PDisplay; device: GLXVideoCaptureDeviceNV) := GetGLFuncOrNil&('glXReleaseVideoCaptureDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReleaseVideoCaptureDeviceNV(dpy: PDisplay; device: GLXVideoCaptureDeviceNV) := z_ReleaseVideoCaptureDeviceNV(dpy, device); + + {$endregion NV_video_capture} + + {$region SGIX_video_resize} + + public z_BindChannelToWindowSGIX: function(display: PDisplay; screen: Int32; channel: Int32; window: GLXWindow): Int32 := GetGLFuncOrNil&('glXBindChannelToWindowSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindChannelToWindowSGIX(display: PDisplay; screen: Int32; channel: Int32; window: GLXWindow): Int32 := z_BindChannelToWindowSGIX(display, screen, channel, window); + + public z_ChannelRectSGIX: function(display: PDisplay; screen: Int32; channel: Int32; x: Int32; y: Int32; w: Int32; h: Int32): Int32 := GetGLFuncOrNil&('glXChannelRectSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; x: Int32; y: Int32; w: Int32; h: Int32): Int32 := z_ChannelRectSGIX(display, screen, channel, x, y, w, h); + + public z_QueryChannelRectSGIX: function(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; dw: pointer; dh: pointer): Int32 := GetGLFuncOrNil&('glXQueryChannelRectSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: array of Int32; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy[0], dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; var dy: Int32; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], @dy, dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: array of Int32; dy: pointer; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx[0], dy, dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: array of Int32; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy[0], dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; var dy: Int32; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, @dy, dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; var dx: Int32; dy: pointer; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, @dx, dy, dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: array of Int32; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy[0], dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; var dy: Int32; dw: pointer; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, @dy, dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; dw: array of Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, dw[0], dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; dw: array of Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, dw[0], @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; dw: array of Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, dw[0], dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; var dw: Int32; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, @dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; var dw: Int32; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, @dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; var dw: Int32; dh: pointer): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, @dw, dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; dw: pointer; dh: array of Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, dw, dh[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; dw: pointer; var dh: Int32): Int32 := QueryChannelRectSGIX(display, screen, channel, dx, dy, dw, @dh); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelRectSGIX(display: PDisplay; screen: Int32; channel: Int32; dx: pointer; dy: pointer; dw: pointer; dh: pointer): Int32 := z_QueryChannelRectSGIX(display, screen, channel, dx, dy, dw, dh); + + public z_QueryChannelDeltasSGIX: function(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; w: pointer; h: pointer): Int32 := GetGLFuncOrNil&('glXQueryChannelDeltasSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: array of Int32; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y[0], w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; var y: Int32; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], @y, w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: array of Int32; y: pointer; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x[0], y, w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: array of Int32; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y[0], w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; var y: Int32; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, @y, w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; var x: Int32; y: pointer; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, @x, y, w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: array of Int32; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y[0], w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; var y: Int32; w: pointer; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, @y, w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; w: array of Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, w[0], h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; w: array of Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, w[0], @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; w: array of Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, w[0], h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; var w: Int32; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, @w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; var w: Int32; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, @w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; var w: Int32; h: pointer): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, @w, h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; w: pointer; h: array of Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, w, h[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; w: pointer; var h: Int32): Int32 := QueryChannelDeltasSGIX(display, screen, channel, x, y, w, @h); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryChannelDeltasSGIX(display: PDisplay; screen: Int32; channel: Int32; x: pointer; y: pointer; w: pointer; h: pointer): Int32 := z_QueryChannelDeltasSGIX(display, screen, channel, x, y, w, h); + + public z_ChannelRectSyncSGIX: function(display: PDisplay; screen: Int32; channel: Int32; synctype: DummyEnum): Int32 := GetGLFuncOrNil&('glXChannelRectSyncSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChannelRectSyncSGIX(display: PDisplay; screen: Int32; channel: Int32; synctype: DummyEnum): Int32 := z_ChannelRectSyncSGIX(display, screen, channel, synctype); + + {$endregion SGIX_video_resize} + + {$region SGIX_hyperpipe} + + public z_QueryHyperpipeNetworkSGIX: function(dpy: PDisplay; npipes: pointer): pointer := GetGLFuncOrNil&('glXQueryHyperpipeNetworkSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeNetworkSGIX(dpy: PDisplay; npipes: array of Int32): pointer := QueryHyperpipeNetworkSGIX(dpy, npipes[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeNetworkSGIX(dpy: PDisplay; var npipes: Int32): pointer := QueryHyperpipeNetworkSGIX(dpy, @npipes); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeNetworkSGIX(dpy: PDisplay; npipes: pointer): pointer := z_QueryHyperpipeNetworkSGIX(dpy, npipes); + + public z_HyperpipeConfigSGIX: function(dpy: PDisplay; networkId: Int32; npipes: Int32; cfg: pointer; hpId: pointer): Int32 := GetGLFuncOrNil&('glXHyperpipeConfigSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; cfg: array of GLXHyperpipeConfigDataSGIX; hpId: array of Int32): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, cfg[0], hpId[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; cfg: array of GLXHyperpipeConfigDataSGIX; var hpId: Int32): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, cfg[0], @hpId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; cfg: array of GLXHyperpipeConfigDataSGIX; hpId: pointer): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, cfg[0], hpId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; var cfg: GLXHyperpipeConfigDataSGIX; hpId: array of Int32): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, @cfg, hpId[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; var cfg: GLXHyperpipeConfigDataSGIX; var hpId: Int32): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, @cfg, @hpId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; var cfg: GLXHyperpipeConfigDataSGIX; hpId: pointer): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, @cfg, hpId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; cfg: pointer; hpId: array of Int32): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; cfg: pointer; var hpId: Int32): Int32 := HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, @hpId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeConfigSGIX(dpy: PDisplay; networkId: Int32; npipes: Int32; cfg: pointer; hpId: pointer): Int32 := z_HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId); + + public z_QueryHyperpipeConfigSGIX: function(dpy: PDisplay; hpId: Int32; npipes: pointer): pointer := GetGLFuncOrNil&('glXQueryHyperpipeConfigSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeConfigSGIX(dpy: PDisplay; hpId: Int32; npipes: array of Int32): pointer := QueryHyperpipeConfigSGIX(dpy, hpId, npipes[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeConfigSGIX(dpy: PDisplay; hpId: Int32; var npipes: Int32): pointer := QueryHyperpipeConfigSGIX(dpy, hpId, @npipes); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeConfigSGIX(dpy: PDisplay; hpId: Int32; npipes: pointer): pointer := z_QueryHyperpipeConfigSGIX(dpy, hpId, npipes); + + public z_DestroyHyperpipeConfigSGIX: function(dpy: PDisplay; hpId: Int32): Int32 := GetGLFuncOrNil&('glXDestroyHyperpipeConfigSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DestroyHyperpipeConfigSGIX(dpy: PDisplay; hpId: Int32): Int32 := z_DestroyHyperpipeConfigSGIX(dpy, hpId); + + public z_BindHyperpipeSGIX: function(dpy: PDisplay; hpId: Int32): Int32 := GetGLFuncOrNil&('glXBindHyperpipeSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindHyperpipeSGIX(dpy: PDisplay; hpId: Int32): Int32 := z_BindHyperpipeSGIX(dpy, hpId); + + public z_QueryHyperpipeBestAttribSGIX: function(dpy: PDisplay; timeSlice: Int32; attrib: Int32; size: Int32; attribList: pointer; returnAttribList: pointer): Int32 := GetGLFuncOrNil&('glXQueryHyperpipeBestAttribSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeBestAttribSGIX(dpy: PDisplay; timeSlice: Int32; attrib: Int32; size: Int32; attribList: pointer; returnAttribList: pointer): Int32 := z_QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList); + + public z_HyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: Int32; attrib: Int32; size: Int32; attribList: pointer): Int32 := GetGLFuncOrNil&('glXHyperpipeAttribSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function HyperpipeAttribSGIX(dpy: PDisplay; timeSlice: Int32; attrib: Int32; size: Int32; attribList: pointer): Int32 := z_HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList); + + public z_QueryHyperpipeAttribSGIX: function(dpy: PDisplay; timeSlice: Int32; attrib: Int32; size: Int32; returnAttribList: pointer): Int32 := GetGLFuncOrNil&('glXQueryHyperpipeAttribSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryHyperpipeAttribSGIX(dpy: PDisplay; timeSlice: Int32; attrib: Int32; size: Int32; returnAttribList: pointer): Int32 := z_QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList); + + {$endregion SGIX_hyperpipe} + + {$region NV_swap_group} + + public z_JoinSwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: UInt32): UInt32 := GetGLFuncOrNil&('glXJoinSwapGroupNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function JoinSwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; group: UInt32): UInt32 := z_JoinSwapGroupNV(dpy, drawable, group); + + public z_BindSwapBarrierNV: function(dpy: PDisplay; group: UInt32; barrier: UInt32): UInt32 := GetGLFuncOrNil&('glXBindSwapBarrierNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindSwapBarrierNV(dpy: PDisplay; group: UInt32; barrier: UInt32): UInt32 := z_BindSwapBarrierNV(dpy, group, barrier); + + public z_QuerySwapGroupNV: function(dpy: PDisplay; drawable: GLXDrawable; group: pointer; barrier: pointer): UInt32 := GetGLFuncOrNil&('glXQuerySwapGroupNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; group: array of UInt32; barrier: array of UInt32): UInt32 := QuerySwapGroupNV(dpy, drawable, group[0], barrier[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; group: array of UInt32; var barrier: UInt32): UInt32 := QuerySwapGroupNV(dpy, drawable, group[0], @barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; group: array of UInt32; barrier: pointer): UInt32 := QuerySwapGroupNV(dpy, drawable, group[0], barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; var group: UInt32; barrier: array of UInt32): UInt32 := QuerySwapGroupNV(dpy, drawable, @group, barrier[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; var group: UInt32; var barrier: UInt32): UInt32 := QuerySwapGroupNV(dpy, drawable, @group, @barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; var group: UInt32; barrier: pointer): UInt32 := QuerySwapGroupNV(dpy, drawable, @group, barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; group: pointer; barrier: array of UInt32): UInt32 := QuerySwapGroupNV(dpy, drawable, group, barrier[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; group: pointer; var barrier: UInt32): UInt32 := QuerySwapGroupNV(dpy, drawable, group, @barrier); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QuerySwapGroupNV(dpy: PDisplay; drawable: GLXDrawable; group: pointer; barrier: pointer): UInt32 := z_QuerySwapGroupNV(dpy, drawable, group, barrier); + + public z_QueryMaxSwapGroupsNV: function(dpy: PDisplay; screen: Int32; maxGroups: pointer; maxBarriers: pointer): UInt32 := GetGLFuncOrNil&('glXQueryMaxSwapGroupsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; maxGroups: array of UInt32; maxBarriers: array of UInt32): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, maxGroups[0], maxBarriers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; maxGroups: array of UInt32; var maxBarriers: UInt32): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, maxGroups[0], @maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; maxGroups: array of UInt32; maxBarriers: pointer): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, maxGroups[0], maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; var maxGroups: UInt32; maxBarriers: array of UInt32): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, @maxGroups, maxBarriers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; var maxGroups: UInt32; var maxBarriers: UInt32): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, @maxGroups, @maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; var maxGroups: UInt32; maxBarriers: pointer): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, @maxGroups, maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; maxGroups: pointer; maxBarriers: array of UInt32): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, maxGroups, maxBarriers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; maxGroups: pointer; var maxBarriers: UInt32): UInt32 := QueryMaxSwapGroupsNV(dpy, screen, maxGroups, @maxBarriers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapGroupsNV(dpy: PDisplay; screen: Int32; maxGroups: pointer; maxBarriers: pointer): UInt32 := z_QueryMaxSwapGroupsNV(dpy, screen, maxGroups, maxBarriers); + + public z_QueryFrameCountNV: function(dpy: PDisplay; screen: Int32; count: pointer): UInt32 := GetGLFuncOrNil&('glXQueryFrameCountNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameCountNV(dpy: PDisplay; screen: Int32; count: array of UInt32): UInt32 := QueryFrameCountNV(dpy, screen, count[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameCountNV(dpy: PDisplay; screen: Int32; var count: UInt32): UInt32 := QueryFrameCountNV(dpy, screen, @count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryFrameCountNV(dpy: PDisplay; screen: Int32; count: pointer): UInt32 := z_QueryFrameCountNV(dpy, screen, count); + + public z_ResetFrameCountNV: function(dpy: PDisplay; screen: Int32): UInt32 := GetGLFuncOrNil&('glXResetFrameCountNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ResetFrameCountNV(dpy: PDisplay; screen: Int32): UInt32 := z_ResetFrameCountNV(dpy, screen); + + {$endregion NV_swap_group} + + {$region SGIX_swap_barrier} + + public z_BindSwapBarrierSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; barrier: Int32) := GetGLFuncOrNil&('glXBindSwapBarrierSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindSwapBarrierSGIX(dpy: PDisplay; drawable: GLXDrawable; barrier: Int32) := z_BindSwapBarrierSGIX(dpy, drawable, barrier); + + public z_QueryMaxSwapBarriersSGIX: function(dpy: PDisplay; screen: Int32; max: pointer): UInt32 := GetGLFuncOrNil&('glXQueryMaxSwapBarriersSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapBarriersSGIX(dpy: PDisplay; screen: Int32; max: array of Int32): UInt32 := QueryMaxSwapBarriersSGIX(dpy, screen, max[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapBarriersSGIX(dpy: PDisplay; screen: Int32; var max: Int32): UInt32 := QueryMaxSwapBarriersSGIX(dpy, screen, @max); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMaxSwapBarriersSGIX(dpy: PDisplay; screen: Int32; max: pointer): UInt32 := z_QueryMaxSwapBarriersSGIX(dpy, screen, max); - {$region AMD} + {$endregion SGIX_swap_barrier} - static procedure RenderbufferStorageMultisampleAdvancedAMD(target: UInt32; samples: Int32; storageSamples: Int32; internalformat: UInt32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glRenderbufferStorageMultisampleAdvancedAMD'; + {$region EXT_texture_from_pixmap} - static procedure NamedRenderbufferStorageMultisampleAdvancedAMD(renderbuffer: UInt32; samples: Int32; storageSamples: Int32; internalformat: UInt32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glNamedRenderbufferStorageMultisampleAdvancedAMD'; + public z_BindTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: Int32; attrib_list: pointer) := GetGLFuncOrNil&('glXBindTexImageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTexImageEXT(dpy: PDisplay; drawable: GLXDrawable; buffer: Int32; attrib_list: array of Int32) := BindTexImageEXT(dpy, drawable, buffer, attrib_list[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTexImageEXT(dpy: PDisplay; drawable: GLXDrawable; buffer: Int32; var attrib_list: Int32) := BindTexImageEXT(dpy, drawable, buffer, @attrib_list); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTexImageEXT(dpy: PDisplay; drawable: GLXDrawable; buffer: Int32; attrib_list: pointer) := z_BindTexImageEXT(dpy, drawable, buffer, attrib_list); - static procedure GetPerfMonitorGroupsAMD(numGroups: ^Int32; groupsSize: Int32; groups: ^UInt32); - external 'opengl32.dll' name 'glGetPerfMonitorGroupsAMD'; + public z_ReleaseTexImageEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; buffer: Int32) := GetGLFuncOrNil&('glXReleaseTexImageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReleaseTexImageEXT(dpy: PDisplay; drawable: GLXDrawable; buffer: Int32) := z_ReleaseTexImageEXT(dpy, drawable, buffer); - static procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: ^Int32; maxActiveCounters: ^Int32; counterSize: Int32; counters: ^UInt32); - external 'opengl32.dll' name 'glGetPerfMonitorCountersAMD'; + {$endregion EXT_texture_from_pixmap} - static procedure GetPerfMonitorGroupStringAMD(group: UInt32; bufSize: Int32; length: ^Int32; groupString: ^SByte); - external 'opengl32.dll' name 'glGetPerfMonitorGroupStringAMD'; + {$region NV_present_video} - static procedure GetPerfMonitorCounterStringAMD(group: UInt32; counter: UInt32; bufSize: Int32; length: ^Int32; counterString: ^SByte); - external 'opengl32.dll' name 'glGetPerfMonitorCounterStringAMD'; + public z_PresentFrameKeyedNV: procedure(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; key0: UInt32; target1: DummyEnum; fill1: UInt32; key1: UInt32) := GetGLFuncOrNil&('glPresentFrameKeyedNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PresentFrameKeyedNV(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; key0: UInt32; target1: DummyEnum; fill1: UInt32; key1: UInt32) := z_PresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, &type, target0, fill0, key0, target1, fill1, key1); - static procedure GetPerfMonitorCounterInfoAMD(group: UInt32; counter: UInt32; pname: UInt32; data: pointer); - external 'opengl32.dll' name 'glGetPerfMonitorCounterInfoAMD'; + public z_PresentFrameDualFillNV: procedure(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; target1: DummyEnum; fill1: UInt32; target2: DummyEnum; fill2: UInt32; target3: DummyEnum; fill3: UInt32) := GetGLFuncOrNil&('glPresentFrameDualFillNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PresentFrameDualFillNV(video_slot: UInt32; minPresentTime: UInt64; beginPresentTimeId: UInt32; presentDurationId: UInt32; &type: DummyEnum; target0: DummyEnum; fill0: UInt32; target1: DummyEnum; fill1: UInt32; target2: DummyEnum; fill2: UInt32; target3: DummyEnum; fill3: UInt32) := z_PresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, &type, target0, fill0, target1, fill1, target2, fill2, target3, fill3); - static procedure GenPerfMonitorsAMD(n: Int32; monitors: ^UInt32); - external 'opengl32.dll' name 'glGenPerfMonitorsAMD'; + public z_GetVideoivNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVideoivNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoivNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVideoivNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoivNV(video_slot, pname, ¶ms); - static procedure DeletePerfMonitorsAMD(n: Int32; monitors: ^UInt32); - external 'opengl32.dll' name 'glDeletePerfMonitorsAMD'; + public z_GetVideouivNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideouivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideouivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetVideouivNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideouivNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetVideouivNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideouivNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideouivNV(video_slot, pname, ¶ms); - static procedure SelectPerfMonitorCountersAMD(monitor: UInt32; enable: boolean; group: UInt32; numCounters: Int32; counterList: ^UInt32); - external 'opengl32.dll' name 'glSelectPerfMonitorCountersAMD'; + public z_GetVideoi64vNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoi64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoi64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of Int64) := GetVideoi64vNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoi64vNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: Int64) := GetVideoi64vNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoi64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoi64vNV(video_slot, pname, ¶ms); - static procedure BeginPerfMonitorAMD(monitor: UInt32); - external 'opengl32.dll' name 'glBeginPerfMonitorAMD'; + public z_GetVideoui64vNV: procedure(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVideoui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoui64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := GetVideoui64vNV(video_slot, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoui64vNV(video_slot: UInt32; pname: DummyEnum; var ¶ms: UInt64) := GetVideoui64vNV(video_slot, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVideoui64vNV(video_slot: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVideoui64vNV(video_slot, pname, ¶ms); - static procedure EndPerfMonitorAMD(monitor: UInt32); - external 'opengl32.dll' name 'glEndPerfMonitorAMD'; + public z_EnumerateVideoDevicesNV: function(dpy: PDisplay; screen: Int32; nelements: pointer): pointer := GetGLFuncOrNil&('glXEnumerateVideoDevicesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoDevicesNV(dpy: PDisplay; screen: Int32; nelements: array of Int32): pointer := EnumerateVideoDevicesNV(dpy, screen, nelements[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoDevicesNV(dpy: PDisplay; screen: Int32; var nelements: Int32): pointer := EnumerateVideoDevicesNV(dpy, screen, @nelements); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function EnumerateVideoDevicesNV(dpy: PDisplay; screen: Int32; nelements: pointer): pointer := z_EnumerateVideoDevicesNV(dpy, screen, nelements); - static procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: UInt32; dataSize: Int32; data: ^UInt32; bytesWritten: ^Int32); - external 'opengl32.dll' name 'glGetPerfMonitorCounterDataAMD'; + public z_BindVideoDeviceNV: function(dpy: PDisplay; video_slot: UInt32; video_device: UInt32; attrib_list: pointer): Int32 := GetGLFuncOrNil&('glXBindVideoDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoDeviceNV(dpy: PDisplay; video_slot: UInt32; video_device: UInt32; attrib_list: array of Int32): Int32 := BindVideoDeviceNV(dpy, video_slot, video_device, attrib_list[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoDeviceNV(dpy: PDisplay; video_slot: UInt32; video_device: UInt32; var attrib_list: Int32): Int32 := BindVideoDeviceNV(dpy, video_slot, video_device, @attrib_list); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoDeviceNV(dpy: PDisplay; video_slot: UInt32; video_device: UInt32; attrib_list: pointer): Int32 := z_BindVideoDeviceNV(dpy, video_slot, video_device, attrib_list); - static procedure DebugMessageEnableAMD(category: ErrorCode; severity: ErrorCode; count: Int32; ids: ^UInt32; enabled: Byte); - external 'opengl32.dll' name 'glDebugMessageEnableAMD'; + {$endregion NV_present_video} - static procedure DebugMessageInsertAMD(category: ErrorCode; severity: ErrorCode; id: UInt32; length: Int32; buf: ^Byte); - external 'opengl32.dll' name 'glDebugMessageInsertAMD'; + {$region NV_video_output} - static procedure DebugMessageCallbackAMD(callback: GLDEBUGPROCAMD; userParam: pointer); - external 'opengl32.dll' name 'glDebugMessageCallbackAMD'; + public z_GetVideoDeviceNV: function(dpy: PDisplay; screen: Int32; numVideoDevices: Int32; pVideoDevice: pointer): Int32 := GetGLFuncOrNil&('glXGetVideoDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoDeviceNV(dpy: PDisplay; screen: Int32; numVideoDevices: Int32; pVideoDevice: array of GLXVideoDeviceNV): Int32 := GetVideoDeviceNV(dpy, screen, numVideoDevices, pVideoDevice[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoDeviceNV(dpy: PDisplay; screen: Int32; numVideoDevices: Int32; var pVideoDevice: GLXVideoDeviceNV): Int32 := GetVideoDeviceNV(dpy, screen, numVideoDevices, @pVideoDevice); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoDeviceNV(dpy: PDisplay; screen: Int32; numVideoDevices: Int32; pVideoDevice: pointer): Int32 := z_GetVideoDeviceNV(dpy, screen, numVideoDevices, pVideoDevice); - static function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: ^ErrorCode; severities: ^UInt32; ids: ^UInt32; lengths: ^Int32; message: ^Byte): UInt32; - external 'opengl32.dll' name 'glGetDebugMessageLogAMD'; + public z_ReleaseVideoDeviceNV: function(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV): Int32 := GetGLFuncOrNil&('glXReleaseVideoDeviceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseVideoDeviceNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV): Int32 := z_ReleaseVideoDeviceNV(dpy, screen, VideoDevice); - static procedure BlendFuncIndexedAMD(buf: UInt32; src: ErrorCode; dst: ErrorCode); - external 'opengl32.dll' name 'glBlendFuncIndexedAMD'; + public z_BindVideoImageNV: function(dpy: PDisplay; VideoDevice: GLXVideoDeviceNV; pbuf: GLXPbuffer; iVideoBuffer: Int32): Int32 := GetGLFuncOrNil&('glXBindVideoImageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindVideoImageNV(dpy: PDisplay; VideoDevice: GLXVideoDeviceNV; pbuf: GLXPbuffer; iVideoBuffer: Int32): Int32 := z_BindVideoImageNV(dpy, VideoDevice, pbuf, iVideoBuffer); - static procedure BlendFuncSeparateIndexedAMD(buf: UInt32; srcRGB: ErrorCode; dstRGB: ErrorCode; srcAlpha: ErrorCode; dstAlpha: ErrorCode); - external 'opengl32.dll' name 'glBlendFuncSeparateIndexedAMD'; + public z_ReleaseVideoImageNV: function(dpy: PDisplay; pbuf: GLXPbuffer): Int32 := GetGLFuncOrNil&('glXReleaseVideoImageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseVideoImageNV(dpy: PDisplay; pbuf: GLXPbuffer): Int32 := z_ReleaseVideoImageNV(dpy, pbuf); - static procedure BlendEquationIndexedAMD(buf: UInt32; mode: ErrorCode); - external 'opengl32.dll' name 'glBlendEquationIndexedAMD'; + public z_SendPbufferToVideoNV: function(dpy: PDisplay; pbuf: GLXPbuffer; iBufferType: Int32; pulCounterPbuffer: pointer; bBlock: Byte): Int32 := GetGLFuncOrNil&('glXSendPbufferToVideoNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SendPbufferToVideoNV(dpy: PDisplay; pbuf: GLXPbuffer; iBufferType: Int32; pulCounterPbuffer: array of UInt64; bBlock: Byte): Int32 := SendPbufferToVideoNV(dpy, pbuf, iBufferType, pulCounterPbuffer[0], bBlock); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SendPbufferToVideoNV(dpy: PDisplay; pbuf: GLXPbuffer; iBufferType: Int32; var pulCounterPbuffer: UInt64; bBlock: Byte): Int32 := SendPbufferToVideoNV(dpy, pbuf, iBufferType, @pulCounterPbuffer, bBlock); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SendPbufferToVideoNV(dpy: PDisplay; pbuf: GLXPbuffer; iBufferType: Int32; pulCounterPbuffer: pointer; bBlock: Byte): Int32 := z_SendPbufferToVideoNV(dpy, pbuf, iBufferType, pulCounterPbuffer, bBlock); - static procedure BlendEquationSeparateIndexedAMD(buf: UInt32; modeRGB: ErrorCode; modeAlpha: ErrorCode); - external 'opengl32.dll' name 'glBlendEquationSeparateIndexedAMD'; + public z_GetVideoInfoNV: function(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: pointer; pulCounterOutputVideo: pointer): Int32 := GetGLFuncOrNil&('glXGetVideoInfoNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: array of UInt64; pulCounterOutputVideo: array of UInt64): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer[0], pulCounterOutputVideo[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: array of UInt64; var pulCounterOutputVideo: UInt64): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer[0], @pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: array of UInt64; pulCounterOutputVideo: pointer): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer[0], pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; var pulCounterOutputPbuffer: UInt64; pulCounterOutputVideo: array of UInt64): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, @pulCounterOutputPbuffer, pulCounterOutputVideo[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; var pulCounterOutputPbuffer: UInt64; var pulCounterOutputVideo: UInt64): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, @pulCounterOutputPbuffer, @pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; var pulCounterOutputPbuffer: UInt64; pulCounterOutputVideo: pointer): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, @pulCounterOutputPbuffer, pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: pointer; pulCounterOutputVideo: array of UInt64): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: pointer; var pulCounterOutputVideo: UInt64): Int32 := GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer, @pulCounterOutputVideo); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoInfoNV(dpy: PDisplay; screen: Int32; VideoDevice: GLXVideoDeviceNV; pulCounterOutputPbuffer: pointer; pulCounterOutputVideo: pointer): Int32 := z_GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo); - static procedure FramebufferSamplePositionsfvAMD(target: ErrorCode; numsamples: UInt32; pixelindex: UInt32; values: ^single); - external 'opengl32.dll' name 'glFramebufferSamplePositionsfvAMD'; + {$endregion NV_video_output} - static procedure NamedFramebufferSamplePositionsfvAMD(framebuffer: UInt32; numsamples: UInt32; pixelindex: UInt32; values: ^single); - external 'opengl32.dll' name 'glNamedFramebufferSamplePositionsfvAMD'; + {$region AMD_gpu_association} - static procedure GetFramebufferParameterfvAMD(target: ErrorCode; pname: ErrorCode; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: ^single); - external 'opengl32.dll' name 'glGetFramebufferParameterfvAMD'; + public z_GetGPUIDsAMD: function(maxCount: UInt32; ids: pointer): UInt32 := GetGLFuncOrNil&('glXGetGPUIDsAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUIDsAMD(maxCount: UInt32; ids: array of UInt32): UInt32 := GetGPUIDsAMD(maxCount, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUIDsAMD(maxCount: UInt32; var ids: UInt32): UInt32 := GetGPUIDsAMD(maxCount, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUIDsAMD(maxCount: UInt32; ids: pointer): UInt32 := z_GetGPUIDsAMD(maxCount, ids); - static procedure GetNamedFramebufferParameterfvAMD(framebuffer: UInt32; pname: ErrorCode; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: ^single); - external 'opengl32.dll' name 'glGetNamedFramebufferParameterfvAMD'; + public z_GetGPUInfoAMD: function(id: UInt32; &property: Int32; dataType: DummyEnum; size: UInt32; data: pointer): Int32 := GetGLFuncOrNil&('glXGetGPUInfoAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: Int32; dataType: DummyEnum; size: UInt32; data: pointer): Int32 := z_GetGPUInfoAMD(id, &property, dataType, size, data); - static procedure VertexAttribParameteriAMD(index: UInt32; pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glVertexAttribParameteriAMD'; + public z_GetContextGPUIDAMD: function(ctx: GLXContext): UInt32 := GetGLFuncOrNil&('glXGetContextGPUIDAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetContextGPUIDAMD(ctx: GLXContext): UInt32 := z_GetContextGPUIDAMD(ctx); - static procedure MultiDrawArraysIndirectAMD(mode: ErrorCode; indirect: pointer; primcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawArraysIndirectAMD'; + public z_CreateAssociatedContextAMD: function(id: UInt32; share_list: GLXContext): GLXContext := GetGLFuncOrNil&('glXCreateAssociatedContextAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAMD(id: UInt32; share_list: GLXContext): GLXContext := z_CreateAssociatedContextAMD(id, share_list); - static procedure MultiDrawElementsIndirectAMD(mode: ErrorCode; &type: ErrorCode; indirect: pointer; primcount: Int32; stride: Int32); - external 'opengl32.dll' name 'glMultiDrawElementsIndirectAMD'; + public z_CreateAssociatedContextAttribsAMD: function(id: UInt32; share_context: GLXContext; attribList: pointer): GLXContext := GetGLFuncOrNil&('glXCreateAssociatedContextAttribsAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAttribsAMD(id: UInt32; share_context: GLXContext; attribList: array of Int32): GLXContext := CreateAssociatedContextAttribsAMD(id, share_context, attribList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAttribsAMD(id: UInt32; share_context: GLXContext; var attribList: Int32): GLXContext := CreateAssociatedContextAttribsAMD(id, share_context, @attribList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateAssociatedContextAttribsAMD(id: UInt32; share_context: GLXContext; attribList: pointer): GLXContext := z_CreateAssociatedContextAttribsAMD(id, share_context, attribList); - static procedure GenNamesAMD(identifier: ErrorCode; num: UInt32; names: ^UInt32); - external 'opengl32.dll' name 'glGenNamesAMD'; + public z_DeleteAssociatedContextAMD: function(ctx: GLXContext): UInt32 := GetGLFuncOrNil&('glXDeleteAssociatedContextAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DeleteAssociatedContextAMD(ctx: GLXContext): UInt32 := z_DeleteAssociatedContextAMD(ctx); - static procedure DeleteNamesAMD(identifier: ErrorCode; num: UInt32; names: ^UInt32); - external 'opengl32.dll' name 'glDeleteNamesAMD'; + public z_MakeAssociatedContextCurrentAMD: function(ctx: GLXContext): UInt32 := GetGLFuncOrNil&('glXMakeAssociatedContextCurrentAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MakeAssociatedContextCurrentAMD(ctx: GLXContext): UInt32 := z_MakeAssociatedContextCurrentAMD(ctx); - static function IsNameAMD(identifier: ErrorCode; name: UInt32): Byte; - external 'opengl32.dll' name 'glIsNameAMD'; + public z_GetCurrentAssociatedContextAMD: function: GLXContext := GetGLFuncOrNil&('glXGetCurrentAssociatedContextAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentAssociatedContextAMD: GLXContext := z_GetCurrentAssociatedContextAMD; - static procedure QueryObjectParameteruiAMD(target: ErrorCode; id: UInt32; pname: ErrorCode; param: UInt32); - external 'opengl32.dll' name 'glQueryObjectParameteruiAMD'; + public z_BlitContextFramebufferAMD: procedure(dstCtx: GLXContext; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := GetGLFuncOrNil&('glXBlitContextFramebufferAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlitContextFramebufferAMD(dstCtx: GLXContext; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := z_BlitContextFramebufferAMD(dstCtx, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - static procedure SetMultisamplefvAMD(pname: ErrorCode; index: UInt32; val: ^single); - external 'opengl32.dll' name 'glSetMultisamplefvAMD'; + {$endregion AMD_gpu_association} - static procedure TexStorageSparseAMD(target: ErrorCode; internalFormat: ErrorCode; width: Int32; height: Int32; depth: Int32; layers: Int32; flags: UInt32); - external 'opengl32.dll' name 'glTexStorageSparseAMD'; + {$region SGIX_fbconfig} - static procedure TextureStorageSparseAMD(texture: UInt32; target: ErrorCode; internalFormat: ErrorCode; width: Int32; height: Int32; depth: Int32; layers: Int32; flags: UInt32); - external 'opengl32.dll' name 'glTextureStorageSparseAMD'; + public z_GetFBConfigAttribSGIX: function(dpy: PDisplay; config: GLXFBConfig; attribute: Int32; value: pointer): Int32 := GetGLFuncOrNil&('glXGetFBConfigAttribSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFBConfigAttribSGIX(dpy: PDisplay; config: GLXFBConfig; attribute: Int32; value: array of Int32): Int32 := GetFBConfigAttribSGIX(dpy, config, attribute, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFBConfigAttribSGIX(dpy: PDisplay; config: GLXFBConfig; attribute: Int32; var value: Int32): Int32 := GetFBConfigAttribSGIX(dpy, config, attribute, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFBConfigAttribSGIX(dpy: PDisplay; config: GLXFBConfig; attribute: Int32; value: pointer): Int32 := z_GetFBConfigAttribSGIX(dpy, config, attribute, value); - static procedure StencilOpValueAMD(face: ErrorCode; value: UInt32); - external 'opengl32.dll' name 'glStencilOpValueAMD'; + public z_ChooseFBConfigSGIX: function(dpy: PDisplay; screen: Int32; attrib_list: pointer; nelements: pointer): pointer := GetGLFuncOrNil&('glXChooseFBConfigSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; attrib_list: array of Int32; nelements: array of Int32): pointer := ChooseFBConfigSGIX(dpy, screen, attrib_list[0], nelements[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; attrib_list: array of Int32; var nelements: Int32): pointer := ChooseFBConfigSGIX(dpy, screen, attrib_list[0], @nelements); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; attrib_list: array of Int32; nelements: pointer): pointer := ChooseFBConfigSGIX(dpy, screen, attrib_list[0], nelements); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; var attrib_list: Int32; nelements: array of Int32): pointer := ChooseFBConfigSGIX(dpy, screen, @attrib_list, nelements[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; var attrib_list: Int32; var nelements: Int32): pointer := ChooseFBConfigSGIX(dpy, screen, @attrib_list, @nelements); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; var attrib_list: Int32; nelements: pointer): pointer := ChooseFBConfigSGIX(dpy, screen, @attrib_list, nelements); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; attrib_list: pointer; nelements: array of Int32): pointer := ChooseFBConfigSGIX(dpy, screen, attrib_list, nelements[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; attrib_list: pointer; var nelements: Int32): pointer := ChooseFBConfigSGIX(dpy, screen, attrib_list, @nelements); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ChooseFBConfigSGIX(dpy: PDisplay; screen: Int32; attrib_list: pointer; nelements: pointer): pointer := z_ChooseFBConfigSGIX(dpy, screen, attrib_list, nelements); - static procedure TessellationFactorAMD(factor: single); - external 'opengl32.dll' name 'glTessellationFactorAMD'; + public z_CreateGLXPixmapWithConfigSGIX: function(dpy: PDisplay; config: GLXFBConfig; pixmap: GLXPixmap): GLXPixmap := GetGLFuncOrNil&('glXCreateGLXPixmapWithConfigSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateGLXPixmapWithConfigSGIX(dpy: PDisplay; config: GLXFBConfig; pixmap: GLXPixmap): GLXPixmap := z_CreateGLXPixmapWithConfigSGIX(dpy, config, pixmap); - static procedure TessellationModeAMD(mode: ErrorCode); - external 'opengl32.dll' name 'glTessellationModeAMD'; + public z_CreateContextWithConfigSGIX: function(dpy: PDisplay; config: GLXFBConfig; render_type: Int32; share_list: GLXContext; direct: UInt32): GLXContext := GetGLFuncOrNil&('glXCreateContextWithConfigSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContextWithConfigSGIX(dpy: PDisplay; config: GLXFBConfig; render_type: Int32; share_list: GLXContext; direct: UInt32): GLXContext := z_CreateContextWithConfigSGIX(dpy, config, render_type, share_list, direct); - {$endregion AMD} + public z_GetVisualFromFBConfigSGIX: function(dpy: PDisplay; config: GLXFBConfig): PXVisualInfo := GetGLFuncOrNil&('glXGetVisualFromFBConfigSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVisualFromFBConfigSGIX(dpy: PDisplay; config: GLXFBConfig): PXVisualInfo := z_GetVisualFromFBConfigSGIX(dpy, config); - {$region ATI} + public z_GetFBConfigFromVisualSGIX: function(dpy: PDisplay; vis: PXVisualInfo): GLXFBConfig := GetGLFuncOrNil&('glXGetFBConfigFromVisualSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFBConfigFromVisualSGIX(dpy: PDisplay; vis: PXVisualInfo): GLXFBConfig := z_GetFBConfigFromVisualSGIX(dpy, vis); - static procedure DrawBuffersATI(n: Int32; bufs: ^ErrorCode); - external 'opengl32.dll' name 'glDrawBuffersATI'; + {$endregion SGIX_fbconfig} - static procedure ElementPointerATI(&type: ErrorCode; _pointer: pointer); - external 'opengl32.dll' name 'glElementPointerATI'; + {$region GLX_NV_copy_buffer} - static procedure DrawElementArrayATI(mode: ErrorCode; count: Int32); - external 'opengl32.dll' name 'glDrawElementArrayATI'; + public z_CopyBufferSubDataNV: procedure(dpy: PDisplay; readCtx: GLXContext; writeCtx: GLXContext; readTarget: DummyEnum; writeTarget: DummyEnum; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glXCopyBufferSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyBufferSubDataNV(dpy: PDisplay; readCtx: GLXContext; writeCtx: GLXContext; readTarget: DummyEnum; writeTarget: DummyEnum; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := z_CopyBufferSubDataNV(dpy, readCtx, writeCtx, readTarget, writeTarget, readOffset, writeOffset, size); - static procedure DrawRangeElementArrayATI(mode: ErrorCode; start: UInt32; &end: UInt32; count: Int32); - external 'opengl32.dll' name 'glDrawRangeElementArrayATI'; + public z_NamedCopyBufferSubDataNV: procedure(dpy: PDisplay; readCtx: GLXContext; writeCtx: GLXContext; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glXNamedCopyBufferSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedCopyBufferSubDataNV(dpy: PDisplay; readCtx: GLXContext; writeCtx: GLXContext; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := z_NamedCopyBufferSubDataNV(dpy, readCtx, writeCtx, readBuffer, writeBuffer, readOffset, writeOffset, size); - static procedure TexBumpParameterivATI(pname: ErrorCode; param: ^Int32); - external 'opengl32.dll' name 'glTexBumpParameterivATI'; + {$endregion GLX_NV_copy_buffer} - static procedure TexBumpParameterfvATI(pname: ErrorCode; param: ^single); - external 'opengl32.dll' name 'glTexBumpParameterfvATI'; + {$region MESA_copy_sub_buffer} - static procedure GetTexBumpParameterivATI(pname: ErrorCode; param: ^Int32); - external 'opengl32.dll' name 'glGetTexBumpParameterivATI'; + public z_CopySubBufferMESA: procedure(dpy: PDisplay; drawable: GLXDrawable; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glXCopySubBufferMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopySubBufferMESA(dpy: PDisplay; drawable: GLXDrawable; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopySubBufferMESA(dpy, drawable, x, y, width, height); - static procedure GetTexBumpParameterfvATI(pname: ErrorCode; param: ^single); - external 'opengl32.dll' name 'glGetTexBumpParameterfvATI'; + {$endregion MESA_copy_sub_buffer} - static function GenFragmentShadersATI(range: UInt32): UInt32; - external 'opengl32.dll' name 'glGenFragmentShadersATI'; + {$region ARB_create_context ARB_create_context_profile} - static procedure BindFragmentShaderATI(id: UInt32); - external 'opengl32.dll' name 'glBindFragmentShaderATI'; + public z_CreateContextAttribsARB: function(dpy: PDisplay; config: GLXFBConfig; share_context: GLXContext; direct: UInt32; attrib_list: pointer): GLXContext := GetGLFuncOrNil&('glXCreateContextAttribsARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContextAttribsARB(dpy: PDisplay; config: GLXFBConfig; share_context: GLXContext; direct: UInt32; attrib_list: array of Int32): GLXContext := CreateContextAttribsARB(dpy, config, share_context, direct, attrib_list[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContextAttribsARB(dpy: PDisplay; config: GLXFBConfig; share_context: GLXContext; direct: UInt32; var attrib_list: Int32): GLXContext := CreateContextAttribsARB(dpy, config, share_context, direct, @attrib_list); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateContextAttribsARB(dpy: PDisplay; config: GLXFBConfig; share_context: GLXContext; direct: UInt32; attrib_list: pointer): GLXContext := z_CreateContextAttribsARB(dpy, config, share_context, direct, attrib_list); - static procedure DeleteFragmentShaderATI(id: UInt32); - external 'opengl32.dll' name 'glDeleteFragmentShaderATI'; + {$endregion ARB_create_context ARB_create_context_profile} - static procedure BeginFragmentShaderATI; - external 'opengl32.dll' name 'glBeginFragmentShaderATI'; + {$region SGIX_pbuffer} - static procedure EndFragmentShaderATI; - external 'opengl32.dll' name 'glEndFragmentShaderATI'; + public z_CreateGLXPbufferSGIX: function(dpy: PDisplay; config: GLXFBConfig; width: UInt32; height: UInt32; attrib_list: pointer): GLXPbuffer := GetGLFuncOrNil&('glXCreateGLXPbufferSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateGLXPbufferSGIX(dpy: PDisplay; config: GLXFBConfig; width: UInt32; height: UInt32; attrib_list: array of Int32): GLXPbuffer := CreateGLXPbufferSGIX(dpy, config, width, height, attrib_list[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateGLXPbufferSGIX(dpy: PDisplay; config: GLXFBConfig; width: UInt32; height: UInt32; var attrib_list: Int32): GLXPbuffer := CreateGLXPbufferSGIX(dpy, config, width, height, @attrib_list); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateGLXPbufferSGIX(dpy: PDisplay; config: GLXFBConfig; width: UInt32; height: UInt32; attrib_list: pointer): GLXPbuffer := z_CreateGLXPbufferSGIX(dpy, config, width, height, attrib_list); - static procedure PassTexCoordATI(dst: UInt32; coord: UInt32; swizzle: ErrorCode); - external 'opengl32.dll' name 'glPassTexCoordATI'; + public z_DestroyGLXPbufferSGIX: procedure(dpy: PDisplay; pbuf: GLXPbuffer) := GetGLFuncOrNil&('glXDestroyGLXPbufferSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DestroyGLXPbufferSGIX(dpy: PDisplay; pbuf: GLXPbuffer) := z_DestroyGLXPbufferSGIX(dpy, pbuf); - static procedure SampleMapATI(dst: UInt32; interp: UInt32; swizzle: ErrorCode); - external 'opengl32.dll' name 'glSampleMapATI'; + public z_QueryGLXPbufferSGIX: procedure(dpy: PDisplay; pbuf: GLXPbuffer; attribute: Int32; value: pointer) := GetGLFuncOrNil&('glXQueryGLXPbufferSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryGLXPbufferSGIX(dpy: PDisplay; pbuf: GLXPbuffer; attribute: Int32; value: array of UInt32) := QueryGLXPbufferSGIX(dpy, pbuf, attribute, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryGLXPbufferSGIX(dpy: PDisplay; pbuf: GLXPbuffer; attribute: Int32; var value: UInt32) := QueryGLXPbufferSGIX(dpy, pbuf, attribute, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryGLXPbufferSGIX(dpy: PDisplay; pbuf: GLXPbuffer; attribute: Int32; value: pointer) := z_QueryGLXPbufferSGIX(dpy, pbuf, attribute, value); - static procedure ColorFragmentOp1ATI(op: ErrorCode; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32); - external 'opengl32.dll' name 'glColorFragmentOp1ATI'; + public z_SelectEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: UInt64) := GetGLFuncOrNil&('glXSelectEventSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SelectEventSGIX(dpy: PDisplay; drawable: GLXDrawable; mask: UInt64) := z_SelectEventSGIX(dpy, drawable, mask); - static procedure ColorFragmentOp2ATI(op: ErrorCode; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32); - external 'opengl32.dll' name 'glColorFragmentOp2ATI'; + public z_GetSelectedEventSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; mask: pointer) := GetGLFuncOrNil&('glXGetSelectedEventSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSelectedEventSGIX(dpy: PDisplay; drawable: GLXDrawable; mask: array of UInt64) := GetSelectedEventSGIX(dpy, drawable, mask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSelectedEventSGIX(dpy: PDisplay; drawable: GLXDrawable; var mask: UInt64) := GetSelectedEventSGIX(dpy, drawable, @mask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSelectedEventSGIX(dpy: PDisplay; drawable: GLXDrawable; mask: pointer) := z_GetSelectedEventSGIX(dpy, drawable, mask); - static procedure ColorFragmentOp3ATI(op: ErrorCode; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32; arg3: UInt32; arg3Rep: UInt32; arg3Mod: UInt32); - external 'opengl32.dll' name 'glColorFragmentOp3ATI'; + {$endregion SGIX_pbuffer} - static procedure AlphaFragmentOp1ATI(op: ErrorCode; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32); - external 'opengl32.dll' name 'glAlphaFragmentOp1ATI'; + {$region MESA_pixmap_colormap} - static procedure AlphaFragmentOp2ATI(op: ErrorCode; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32); - external 'opengl32.dll' name 'glAlphaFragmentOp2ATI'; + public z_CreateGLXPixmapMESA: function(dpy: PDisplay; visual: PXVisualInfo; pixmap: GLXPixmap; cmap: GLXColormap): GLXPixmap := GetGLFuncOrNil&('glXCreateGLXPixmapMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateGLXPixmapMESA(dpy: PDisplay; visual: PXVisualInfo; pixmap: GLXPixmap; cmap: GLXColormap): GLXPixmap := z_CreateGLXPixmapMESA(dpy, visual, pixmap, cmap); - static procedure AlphaFragmentOp3ATI(op: ErrorCode; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32; arg3: UInt32; arg3Rep: UInt32; arg3Mod: UInt32); - external 'opengl32.dll' name 'glAlphaFragmentOp3ATI'; + {$endregion MESA_pixmap_colormap} - static procedure SetFragmentShaderConstantATI(dst: UInt32; value: ^single); - external 'opengl32.dll' name 'glSetFragmentShaderConstantATI'; + {$region NV_delay_before_swap} - static function MapObjectBufferATI(buffer: UInt32): pointer; - external 'opengl32.dll' name 'glMapObjectBufferATI'; + public z_DelayBeforeSwapNV: function(dpy: PDisplay; drawable: GLXDrawable; seconds: single): UInt32 := GetGLFuncOrNil&('glXDelayBeforeSwapNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DelayBeforeSwapNV(dpy: PDisplay; drawable: GLXDrawable; seconds: single): UInt32 := z_DelayBeforeSwapNV(dpy, drawable, seconds); - static procedure UnmapObjectBufferATI(buffer: UInt32); - external 'opengl32.dll' name 'glUnmapObjectBufferATI'; + {$endregion NV_delay_before_swap} - static procedure PNTrianglesiATI(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glPNTrianglesiATI'; + {$region EXT_import_context} - static procedure PNTrianglesfATI(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glPNTrianglesfATI'; + public z_GetCurrentDisplayEXT: function: PDisplay := GetGLFuncOrNil&('glXGetCurrentDisplayEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentDisplayEXT: PDisplay := z_GetCurrentDisplayEXT; + + public z_QueryContextInfoEXT: function(dpy: PDisplay; context: GLXContext; attribute: Int32; value: pointer): Int32 := GetGLFuncOrNil&('glXQueryContextInfoEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryContextInfoEXT(dpy: PDisplay; context: GLXContext; attribute: Int32; value: array of Int32): Int32 := QueryContextInfoEXT(dpy, context, attribute, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryContextInfoEXT(dpy: PDisplay; context: GLXContext; attribute: Int32; var value: Int32): Int32 := QueryContextInfoEXT(dpy, context, attribute, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryContextInfoEXT(dpy: PDisplay; context: GLXContext; attribute: Int32; value: pointer): Int32 := z_QueryContextInfoEXT(dpy, context, attribute, value); + + public z_GetContextIDEXT: function(context: GLXContext): GLXContextID := GetGLFuncOrNil&('glXGetContextIDEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetContextIDEXT(context: GLXContext): GLXContextID := z_GetContextIDEXT(context); + + public z_ImportContextEXT: function(dpy: PDisplay; contextID: GLXContextID): GLXContext := GetGLFuncOrNil&('glXImportContextEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ImportContextEXT(dpy: PDisplay; contextID: GLXContextID): GLXContext := z_ImportContextEXT(dpy, contextID); + + public z_FreeContextEXT: procedure(dpy: PDisplay; context: GLXContext) := GetGLFuncOrNil&('glXFreeContextEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FreeContextEXT(dpy: PDisplay; context: GLXContext) := z_FreeContextEXT(dpy, context); + + {$endregion EXT_import_context} + + {$region MESA_agp_offset} + + public z_GetAGPOffsetMESA: function(_pointer: pointer): UInt32 := GetGLFuncOrNil&('glXGetAGPOffsetMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetAGPOffsetMESA(_pointer: pointer): UInt32 := z_GetAGPOffsetMESA(_pointer); + + {$endregion MESA_agp_offset} + + {$region SGI_make_current_read} + + public z_MakeCurrentReadSGI: function(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): UInt32 := GetGLFuncOrNil&('glXMakeCurrentReadSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MakeCurrentReadSGI(dpy: PDisplay; draw: GLXDrawable; read: GLXDrawable; ctx: GLXContext): UInt32 := z_MakeCurrentReadSGI(dpy, draw, read, ctx); + + public z_GetCurrentReadDrawableSGI: function: GLXDrawable := GetGLFuncOrNil&('glXGetCurrentReadDrawableSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCurrentReadDrawableSGI: GLXDrawable := z_GetCurrentReadDrawableSGI; + + {$endregion SGI_make_current_read} + + {$region OML_sync_control} + + public z_GetSyncValuesOML: function(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; msc: pointer; sbc: pointer): UInt32 := GetGLFuncOrNil&('glXGetSyncValuesOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; msc: array of Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; msc: array of Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; msc: array of Int64; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; var msc: Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; var msc: Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; var msc: Int64; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; msc: pointer; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; msc: pointer; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: array of Int64; msc: pointer; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, ust[0], msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; msc: array of Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; msc: array of Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; msc: array of Int64; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; var msc: Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; var msc: Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; var msc: Int64; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; msc: pointer; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; msc: pointer; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; var ust: Int64; msc: pointer; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, @ust, msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; msc: array of Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; msc: array of Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; msc: array of Int64; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; var msc: Int64; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; var msc: Int64; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; var msc: Int64; sbc: pointer): UInt32 := GetSyncValuesOML(dpy, drawable, ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; msc: pointer; sbc: array of Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; msc: pointer; var sbc: Int64): UInt32 := GetSyncValuesOML(dpy, drawable, ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSyncValuesOML(dpy: PDisplay; drawable: GLXDrawable; ust: pointer; msc: pointer; sbc: pointer): UInt32 := z_GetSyncValuesOML(dpy, drawable, ust, msc, sbc); + + public z_GetMscRateOML: function(dpy: PDisplay; drawable: GLXDrawable; numerator: pointer; denominator: pointer): UInt32 := GetGLFuncOrNil&('glXGetMscRateOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; numerator: array of Int32; denominator: array of Int32): UInt32 := GetMscRateOML(dpy, drawable, numerator[0], denominator[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; numerator: array of Int32; var denominator: Int32): UInt32 := GetMscRateOML(dpy, drawable, numerator[0], @denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; numerator: array of Int32; denominator: pointer): UInt32 := GetMscRateOML(dpy, drawable, numerator[0], denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; var numerator: Int32; denominator: array of Int32): UInt32 := GetMscRateOML(dpy, drawable, @numerator, denominator[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; var numerator: Int32; var denominator: Int32): UInt32 := GetMscRateOML(dpy, drawable, @numerator, @denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; var numerator: Int32; denominator: pointer): UInt32 := GetMscRateOML(dpy, drawable, @numerator, denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; numerator: pointer; denominator: array of Int32): UInt32 := GetMscRateOML(dpy, drawable, numerator, denominator[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; numerator: pointer; var denominator: Int32): UInt32 := GetMscRateOML(dpy, drawable, numerator, @denominator); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetMscRateOML(dpy: PDisplay; drawable: GLXDrawable; numerator: pointer; denominator: pointer): UInt32 := z_GetMscRateOML(dpy, drawable, numerator, denominator); + + public z_SwapBuffersMscOML: function(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := GetGLFuncOrNil&('glXSwapBuffersMscOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapBuffersMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := z_SwapBuffersMscOML(dpy, drawable, target_msc, divisor, remainder); + + public z_WaitForMscOML: function(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := GetGLFuncOrNil&('glXWaitForMscOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: array of Int64; msc: pointer; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust[0], msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; var ust: Int64; msc: pointer; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, @ust, msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: array of Int64; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: array of Int64; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; var msc: Int64; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; var msc: Int64; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; var msc: Int64; sbc: pointer): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; sbc: array of Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; var sbc: Int64): UInt32 := WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForMscOML(dpy: PDisplay; drawable: GLXDrawable; target_msc: Int64; divisor: Int64; remainder: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := z_WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc); + + public z_WaitForSbcOML: function(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := GetGLFuncOrNil&('glXWaitForSbcOML'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: array of Int64; msc: pointer; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust[0], msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; msc: array of Int64; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; msc: array of Int64; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; var msc: Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; var msc: Int64; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; var msc: Int64; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; msc: pointer; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; msc: pointer; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; var ust: Int64; msc: pointer; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, @ust, msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; msc: array of Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, msc[0], sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; msc: array of Int64; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, msc[0], @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; msc: array of Int64; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, msc[0], sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; var msc: Int64; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, @msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; var msc: Int64; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, @msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; var msc: Int64; sbc: pointer): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, @msc, sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; msc: pointer; sbc: array of Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, msc, sbc[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; msc: pointer; var sbc: Int64): UInt32 := WaitForSbcOML(dpy, drawable, target_sbc, ust, msc, @sbc); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitForSbcOML(dpy: PDisplay; drawable: GLXDrawable; target_sbc: Int64; ust: pointer; msc: pointer; sbc: pointer): UInt32 := z_WaitForSbcOML(dpy, drawable, target_sbc, ust, msc, sbc); + + {$endregion OML_sync_control} + + {$region EXT_swap_control} + + public z_SwapIntervalEXT: procedure(dpy: PDisplay; drawable: GLXDrawable; interval: Int32) := GetGLFuncOrNil&('glXSwapIntervalEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SwapIntervalEXT(dpy: PDisplay; drawable: GLXDrawable; interval: Int32) := z_SwapIntervalEXT(dpy, drawable, interval); + + {$endregion EXT_swap_control} + + {$region MESA_swap_control} + + public z_SwapIntervalMESA: function(interval: UInt32): Int32 := GetGLFuncOrNil&('glXSwapIntervalMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapIntervalMESA(interval: UInt32): Int32 := z_SwapIntervalMESA(interval); + + public z_GetSwapIntervalMESA: function: Int32 := GetGLFuncOrNil&('glXGetSwapIntervalMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetSwapIntervalMESA: Int32 := z_GetSwapIntervalMESA; + + {$endregion MESA_swap_control} + + {$region SUN_get_transparent_index} + + public z_GetTransparentIndexSUN: function(dpy: PDisplay; overlay: GLXWindow; underlay: GLXWindow; pTransparentIndex: pointer): GLXStatus := GetGLFuncOrNil&('glXGetTransparentIndexSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTransparentIndexSUN(dpy: PDisplay; overlay: GLXWindow; underlay: GLXWindow; pTransparentIndex: array of UInt64): GLXStatus := GetTransparentIndexSUN(dpy, overlay, underlay, pTransparentIndex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTransparentIndexSUN(dpy: PDisplay; overlay: GLXWindow; underlay: GLXWindow; var pTransparentIndex: UInt64): GLXStatus := GetTransparentIndexSUN(dpy, overlay, underlay, @pTransparentIndex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTransparentIndexSUN(dpy: PDisplay; overlay: GLXWindow; underlay: GLXWindow; pTransparentIndex: pointer): GLXStatus := z_GetTransparentIndexSUN(dpy, overlay, underlay, pTransparentIndex); + + {$endregion SUN_get_transparent_index} + + {$region SGI_video_sync} + + public z_GetVideoSyncSGI: function(count: pointer): Int32 := GetGLFuncOrNil&('glXGetVideoSyncSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoSyncSGI(count: array of UInt32): Int32 := GetVideoSyncSGI(count[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoSyncSGI(var count: UInt32): Int32 := GetVideoSyncSGI(@count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVideoSyncSGI(count: pointer): Int32 := z_GetVideoSyncSGI(count); + + public z_WaitVideoSyncSGI: function(divisor: Int32; remainder: Int32; count: pointer): Int32 := GetGLFuncOrNil&('glXWaitVideoSyncSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitVideoSyncSGI(divisor: Int32; remainder: Int32; count: array of UInt32): Int32 := WaitVideoSyncSGI(divisor, remainder, count[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitVideoSyncSGI(divisor: Int32; remainder: Int32; var count: UInt32): Int32 := WaitVideoSyncSGI(divisor, remainder, @count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function WaitVideoSyncSGI(divisor: Int32; remainder: Int32; count: pointer): Int32 := z_WaitVideoSyncSGI(divisor, remainder, count); + + {$endregion SGI_video_sync} + + {$region SGIX_swap_group} + + public z_JoinSwapGroupSGIX: procedure(dpy: PDisplay; drawable: GLXDrawable; member: GLXDrawable) := GetGLFuncOrNil&('glXJoinSwapGroupSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure JoinSwapGroupSGIX(dpy: PDisplay; drawable: GLXDrawable; member: GLXDrawable) := z_JoinSwapGroupSGIX(dpy, drawable, member); + + {$endregion SGIX_swap_group} + + {$region MESA_query_renderer} + + public z_QueryRendererIntegerMESA: function(dpy: PDisplay; screen: Int32; renderer: Int32; attribute: Int32; value: pointer): UInt32 := GetGLFuncOrNil&('glXQueryRendererIntegerMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryRendererIntegerMESA(dpy: PDisplay; screen: Int32; renderer: Int32; attribute: Int32; value: array of UInt32): UInt32 := QueryRendererIntegerMESA(dpy, screen, renderer, attribute, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryRendererIntegerMESA(dpy: PDisplay; screen: Int32; renderer: Int32; attribute: Int32; var value: UInt32): UInt32 := QueryRendererIntegerMESA(dpy, screen, renderer, attribute, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryRendererIntegerMESA(dpy: PDisplay; screen: Int32; renderer: Int32; attribute: Int32; value: pointer): UInt32 := z_QueryRendererIntegerMESA(dpy, screen, renderer, attribute, value); - static procedure StencilOpSeparateATI(face: ErrorCode; sfail: ErrorCode; dpfail: ErrorCode; dppass: ErrorCode); - external 'opengl32.dll' name 'glStencilOpSeparateATI'; + public z_QueryCurrentRendererIntegerMESA: function(attribute: Int32; value: pointer): UInt32 := GetGLFuncOrNil&('glXQueryCurrentRendererIntegerMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentRendererIntegerMESA(attribute: Int32; value: array of UInt32): UInt32 := QueryCurrentRendererIntegerMESA(attribute, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentRendererIntegerMESA(attribute: Int32; var value: UInt32): UInt32 := QueryCurrentRendererIntegerMESA(attribute, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentRendererIntegerMESA(attribute: Int32; value: pointer): UInt32 := z_QueryCurrentRendererIntegerMESA(attribute, value); - static procedure StencilFuncSeparateATI(frontfunc: ErrorCode; backfunc: ErrorCode; ref: Int32; mask: UInt32); - external 'opengl32.dll' name 'glStencilFuncSeparateATI'; + public z_QueryRendererStringMESA: function(dpy: PDisplay; screen: Int32; renderer: Int32; attribute: Int32): IntPtr := GetGLFuncOrNil&('glXQueryRendererStringMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryRendererStringMESA_Str(dpy: PDisplay; screen: Int32; renderer: Int32; attribute: Int32): string := Marshal.PtrToStringAnsi(QueryRendererStringMESA(dpy, screen, renderer, attribute)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryRendererStringMESA(dpy: PDisplay; screen: Int32; renderer: Int32; attribute: Int32): IntPtr := z_QueryRendererStringMESA(dpy, screen, renderer, attribute); - static function NewObjectBufferATI(size: Int32; _pointer: pointer; usage: ErrorCode): UInt32; - external 'opengl32.dll' name 'glNewObjectBufferATI'; + public z_QueryCurrentRendererStringMESA: function(attribute: Int32): IntPtr := GetGLFuncOrNil&('glXQueryCurrentRendererStringMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentRendererStringMESA_Str(attribute: Int32): string := Marshal.PtrToStringAnsi(QueryCurrentRendererStringMESA(attribute)); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryCurrentRendererStringMESA(attribute: Int32): IntPtr := z_QueryCurrentRendererStringMESA(attribute); - static function IsObjectBufferATI(buffer: UInt32): Byte; - external 'opengl32.dll' name 'glIsObjectBufferATI'; + {$endregion MESA_query_renderer} - static procedure UpdateObjectBufferATI(buffer: UInt32; offset: UInt32; size: Int32; _pointer: pointer; preserve: ErrorCode); - external 'opengl32.dll' name 'glUpdateObjectBufferATI'; + {$region MESA_release_buffers} - static procedure GetObjectBufferfvATI(buffer: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetObjectBufferfvATI'; + public z_ReleaseBuffersMESA: function(dpy: PDisplay; drawable: GLXDrawable): UInt32 := GetGLFuncOrNil&('glXReleaseBuffersMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseBuffersMESA(dpy: PDisplay; drawable: GLXDrawable): UInt32 := z_ReleaseBuffersMESA(dpy, drawable); - static procedure GetObjectBufferivATI(buffer: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetObjectBufferivATI'; + {$endregion MESA_release_buffers} - static procedure FreeObjectBufferATI(buffer: UInt32); - external 'opengl32.dll' name 'glFreeObjectBufferATI'; + {$region MESA_set_3dfx_mode} - static procedure ArrayObjectATI(&array: ErrorCode; size: Int32; &type: ErrorCode; stride: Int32; buffer: UInt32; offset: UInt32); - external 'opengl32.dll' name 'glArrayObjectATI'; + public z_Set3DfxModeMESA: function(mode: Int32): Byte := GetGLFuncOrNil&('glXSet3DfxModeMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function Set3DfxModeMESA(mode: Int32): Byte := z_Set3DfxModeMESA(mode); - static procedure GetArrayObjectfvATI(&array: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetArrayObjectfvATI'; + {$endregion MESA_set_3dfx_mode} - static procedure GetArrayObjectivATI(&array: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetArrayObjectivATI'; + {$region SGI_swap_control} - static procedure VariantArrayObjectATI(id: UInt32; &type: ErrorCode; stride: Int32; buffer: UInt32; offset: UInt32); - external 'opengl32.dll' name 'glVariantArrayObjectATI'; + public z_SwapIntervalSGI: function(interval: Int32): Int32 := GetGLFuncOrNil&('glXSwapIntervalSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapIntervalSGI(interval: Int32): Int32 := z_SwapIntervalSGI(interval); - static procedure GetVariantArrayObjectfvATI(id: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetVariantArrayObjectfvATI'; - - static procedure GetVariantArrayObjectivATI(id: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVariantArrayObjectivATI'; - - static procedure VertexAttribArrayObjectATI(index: UInt32; size: Int32; &type: ErrorCode; normalized: Byte; stride: Int32; buffer: UInt32; offset: UInt32); - external 'opengl32.dll' name 'glVertexAttribArrayObjectATI'; - - static procedure GetVertexAttribArrayObjectfvATI(index: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetVertexAttribArrayObjectfvATI'; - - static procedure GetVertexAttribArrayObjectivATI(index: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetVertexAttribArrayObjectivATI'; - - static procedure VertexStream1sATI(stream: ErrorCode; x: Int16); - external 'opengl32.dll' name 'glVertexStream1sATI'; - - static procedure VertexStream1svATI(stream: ErrorCode; coords: ^Int16); - external 'opengl32.dll' name 'glVertexStream1svATI'; - - static procedure VertexStream1iATI(stream: ErrorCode; x: Int32); - external 'opengl32.dll' name 'glVertexStream1iATI'; - - static procedure VertexStream1ivATI(stream: ErrorCode; coords: ^Int32); - external 'opengl32.dll' name 'glVertexStream1ivATI'; - - static procedure VertexStream1fATI(stream: ErrorCode; x: single); - external 'opengl32.dll' name 'glVertexStream1fATI'; - - static procedure VertexStream1fvATI(stream: ErrorCode; coords: ^single); - external 'opengl32.dll' name 'glVertexStream1fvATI'; - - static procedure VertexStream1dATI(stream: ErrorCode; x: double); - external 'opengl32.dll' name 'glVertexStream1dATI'; - - static procedure VertexStream1dvATI(stream: ErrorCode; coords: ^double); - external 'opengl32.dll' name 'glVertexStream1dvATI'; - - static procedure VertexStream2sATI(stream: ErrorCode; x: Int16; y: Int16); - external 'opengl32.dll' name 'glVertexStream2sATI'; - - static procedure VertexStream2svATI(stream: ErrorCode; coords: ^Int16); - external 'opengl32.dll' name 'glVertexStream2svATI'; - - static procedure VertexStream2iATI(stream: ErrorCode; x: Int32; y: Int32); - external 'opengl32.dll' name 'glVertexStream2iATI'; - - static procedure VertexStream2ivATI(stream: ErrorCode; coords: ^Int32); - external 'opengl32.dll' name 'glVertexStream2ivATI'; - - static procedure VertexStream2fATI(stream: ErrorCode; x: single; y: single); - external 'opengl32.dll' name 'glVertexStream2fATI'; - - static procedure VertexStream2fvATI(stream: ErrorCode; coords: ^single); - external 'opengl32.dll' name 'glVertexStream2fvATI'; - - static procedure VertexStream2dATI(stream: ErrorCode; x: double; y: double); - external 'opengl32.dll' name 'glVertexStream2dATI'; - - static procedure VertexStream2dvATI(stream: ErrorCode; coords: ^double); - external 'opengl32.dll' name 'glVertexStream2dvATI'; - - static procedure VertexStream3sATI(stream: ErrorCode; x: Int16; y: Int16; z: Int16); - external 'opengl32.dll' name 'glVertexStream3sATI'; - - static procedure VertexStream3svATI(stream: ErrorCode; coords: ^Int16); - external 'opengl32.dll' name 'glVertexStream3svATI'; - - static procedure VertexStream3iATI(stream: ErrorCode; x: Int32; y: Int32; z: Int32); - external 'opengl32.dll' name 'glVertexStream3iATI'; - - static procedure VertexStream3ivATI(stream: ErrorCode; coords: ^Int32); - external 'opengl32.dll' name 'glVertexStream3ivATI'; - - static procedure VertexStream3fATI(stream: ErrorCode; x: single; y: single; z: single); - external 'opengl32.dll' name 'glVertexStream3fATI'; - - static procedure VertexStream3fvATI(stream: ErrorCode; coords: ^single); - external 'opengl32.dll' name 'glVertexStream3fvATI'; - - static procedure VertexStream3dATI(stream: ErrorCode; x: double; y: double; z: double); - external 'opengl32.dll' name 'glVertexStream3dATI'; - - static procedure VertexStream3dvATI(stream: ErrorCode; coords: ^double); - external 'opengl32.dll' name 'glVertexStream3dvATI'; - - static procedure VertexStream4sATI(stream: ErrorCode; x: Int16; y: Int16; z: Int16; w: Int16); - external 'opengl32.dll' name 'glVertexStream4sATI'; - - static procedure VertexStream4svATI(stream: ErrorCode; coords: ^Int16); - external 'opengl32.dll' name 'glVertexStream4svATI'; - - static procedure VertexStream4iATI(stream: ErrorCode; x: Int32; y: Int32; z: Int32; w: Int32); - external 'opengl32.dll' name 'glVertexStream4iATI'; - - static procedure VertexStream4ivATI(stream: ErrorCode; coords: ^Int32); - external 'opengl32.dll' name 'glVertexStream4ivATI'; - - static procedure VertexStream4fATI(stream: ErrorCode; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glVertexStream4fATI'; - - static procedure VertexStream4fvATI(stream: ErrorCode; coords: ^single); - external 'opengl32.dll' name 'glVertexStream4fvATI'; - - static procedure VertexStream4dATI(stream: ErrorCode; x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glVertexStream4dATI'; - - static procedure VertexStream4dvATI(stream: ErrorCode; coords: ^double); - external 'opengl32.dll' name 'glVertexStream4dvATI'; - - static procedure NormalStream3bATI(stream: ErrorCode; nx: SByte; ny: SByte; nz: SByte); - external 'opengl32.dll' name 'glNormalStream3bATI'; - - static procedure NormalStream3bvATI(stream: ErrorCode; coords: ^SByte); - external 'opengl32.dll' name 'glNormalStream3bvATI'; - - static procedure NormalStream3sATI(stream: ErrorCode; nx: Int16; ny: Int16; nz: Int16); - external 'opengl32.dll' name 'glNormalStream3sATI'; - - static procedure NormalStream3svATI(stream: ErrorCode; coords: ^Int16); - external 'opengl32.dll' name 'glNormalStream3svATI'; - - static procedure NormalStream3iATI(stream: ErrorCode; nx: Int32; ny: Int32; nz: Int32); - external 'opengl32.dll' name 'glNormalStream3iATI'; - - static procedure NormalStream3ivATI(stream: ErrorCode; coords: ^Int32); - external 'opengl32.dll' name 'glNormalStream3ivATI'; - - static procedure NormalStream3fATI(stream: ErrorCode; nx: single; ny: single; nz: single); - external 'opengl32.dll' name 'glNormalStream3fATI'; - - static procedure NormalStream3fvATI(stream: ErrorCode; coords: ^single); - external 'opengl32.dll' name 'glNormalStream3fvATI'; - - static procedure NormalStream3dATI(stream: ErrorCode; nx: double; ny: double; nz: double); - external 'opengl32.dll' name 'glNormalStream3dATI'; - - static procedure NormalStream3dvATI(stream: ErrorCode; coords: ^double); - external 'opengl32.dll' name 'glNormalStream3dvATI'; - - static procedure ClientActiveVertexStreamATI(stream: ErrorCode); - external 'opengl32.dll' name 'glClientActiveVertexStreamATI'; - - static procedure VertexBlendEnviATI(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glVertexBlendEnviATI'; - - static procedure VertexBlendEnvfATI(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glVertexBlendEnvfATI'; - - {$endregion ATI} + {$endregion SGI_swap_control} end; - /// Расширения, которые встречаются только у железа от Sun Microsystems, Inc. - /// (Это та же компания которой пренадлежит Java) - gl_SUN = static class + gl_ARB = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; - {$region SUN} + {$region ARB_shader_objects} - static procedure FinishTextureSUNX; - external 'opengl32.dll' name 'glFinishTextureSUNX'; + public z_DeleteObjectARB: procedure(obj: GLhandleARB) := GetGLFuncOrNil&('glDeleteObjectARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteObjectARB(obj: GLhandleARB) := z_DeleteObjectARB(obj); - static procedure GlobalAlphaFactorbSUN(factor: SByte); - external 'opengl32.dll' name 'glGlobalAlphaFactorbSUN'; + public z_GetHandleARB: function(pname: DummyEnum): GLhandleARB := GetGLFuncOrNil&('glGetHandleARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetHandleARB(pname: DummyEnum): GLhandleARB := z_GetHandleARB(pname); - static procedure GlobalAlphaFactorsSUN(factor: Int16); - external 'opengl32.dll' name 'glGlobalAlphaFactorsSUN'; + public z_DetachObjectARB: procedure(containerObj: GLhandleARB; attachedObj: GLhandleARB) := GetGLFuncOrNil&('glDetachObjectARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DetachObjectARB(containerObj: GLhandleARB; attachedObj: GLhandleARB) := z_DetachObjectARB(containerObj, attachedObj); - static procedure GlobalAlphaFactoriSUN(factor: Int32); - external 'opengl32.dll' name 'glGlobalAlphaFactoriSUN'; + public z_CreateShaderObjectARB: function(shaderType: DummyEnum): GLhandleARB := GetGLFuncOrNil&('glCreateShaderObjectARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderObjectARB(shaderType: DummyEnum): GLhandleARB := z_CreateShaderObjectARB(shaderType); - static procedure GlobalAlphaFactorfSUN(factor: single); - external 'opengl32.dll' name 'glGlobalAlphaFactorfSUN'; + public z_ShaderSourceARB: procedure(shaderObj: GLhandleARB; count: Int32; string: pointer; length: pointer) := GetGLFuncOrNil&('glShaderSourceARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; string: array of IntPtr; length: array of Int32) := ShaderSourceARB(shaderObj, count, string[0], length[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; string: array of IntPtr; var length: Int32) := ShaderSourceARB(shaderObj, count, string[0], @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; string: array of IntPtr; length: pointer) := ShaderSourceARB(shaderObj, count, string[0], length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; var string: IntPtr; length: array of Int32) := ShaderSourceARB(shaderObj, count, @string, length[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; var string: IntPtr; var length: Int32) := ShaderSourceARB(shaderObj, count, @string, @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; var string: IntPtr; length: pointer) := ShaderSourceARB(shaderObj, count, @string, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; string: pointer; length: array of Int32) := ShaderSourceARB(shaderObj, count, string, length[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; string: pointer; var length: Int32) := ShaderSourceARB(shaderObj, count, string, @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderSourceARB(shaderObj: GLhandleARB; count: Int32; string: pointer; length: pointer) := z_ShaderSourceARB(shaderObj, count, string, length); - static procedure GlobalAlphaFactordSUN(factor: double); - external 'opengl32.dll' name 'glGlobalAlphaFactordSUN'; + public z_CompileShaderARB: procedure(shaderObj: GLhandleARB) := GetGLFuncOrNil&('glCompileShaderARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderARB(shaderObj: GLhandleARB) := z_CompileShaderARB(shaderObj); - static procedure GlobalAlphaFactorubSUN(factor: Byte); - external 'opengl32.dll' name 'glGlobalAlphaFactorubSUN'; + public z_CreateProgramObjectARB: function: GLhandleARB := GetGLFuncOrNil&('glCreateProgramObjectARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateProgramObjectARB: GLhandleARB := z_CreateProgramObjectARB; - static procedure GlobalAlphaFactorusSUN(factor: UInt16); - external 'opengl32.dll' name 'glGlobalAlphaFactorusSUN'; + public z_AttachObjectARB: procedure(containerObj: GLhandleARB; obj: GLhandleARB) := GetGLFuncOrNil&('glAttachObjectARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AttachObjectARB(containerObj: GLhandleARB; obj: GLhandleARB) := z_AttachObjectARB(containerObj, obj); - static procedure GlobalAlphaFactoruiSUN(factor: UInt32); - external 'opengl32.dll' name 'glGlobalAlphaFactoruiSUN'; + public z_LinkProgramARB: procedure(programObj: GLhandleARB) := GetGLFuncOrNil&('glLinkProgramARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LinkProgramARB(programObj: GLhandleARB) := z_LinkProgramARB(programObj); - static procedure DrawMeshArraysSUN(mode: ErrorCode; first: Int32; count: Int32; width: Int32); - external 'opengl32.dll' name 'glDrawMeshArraysSUN'; + public z_UseProgramObjectARB: procedure(programObj: GLhandleARB) := GetGLFuncOrNil&('glUseProgramObjectARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UseProgramObjectARB(programObj: GLhandleARB) := z_UseProgramObjectARB(programObj); - static procedure ReplacementCodeuiSUN(code: UInt32); - external 'opengl32.dll' name 'glReplacementCodeuiSUN'; + public z_ValidateProgramARB: procedure(programObj: GLhandleARB) := GetGLFuncOrNil&('glValidateProgramARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ValidateProgramARB(programObj: GLhandleARB) := z_ValidateProgramARB(programObj); - static procedure ReplacementCodeusSUN(code: UInt16); - external 'opengl32.dll' name 'glReplacementCodeusSUN'; + public z_Uniform1fARB: procedure(location: Int32; v0: single) := GetGLFuncOrNil&('glUniform1fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fARB(location: Int32; v0: single) := z_Uniform1fARB(location, v0); - static procedure ReplacementCodeubSUN(code: Byte); - external 'opengl32.dll' name 'glReplacementCodeubSUN'; + public z_Uniform2fARB: procedure(location: Int32; v0: single; v1: single) := GetGLFuncOrNil&('glUniform2fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fARB(location: Int32; v0: single; v1: single) := z_Uniform2fARB(location, v0, v1); - static procedure ReplacementCodeuivSUN(code: ^UInt32); - external 'opengl32.dll' name 'glReplacementCodeuivSUN'; + public z_Uniform3fARB: procedure(location: Int32; v0: single; v1: single; v2: single) := GetGLFuncOrNil&('glUniform3fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fARB(location: Int32; v0: single; v1: single; v2: single) := z_Uniform3fARB(location, v0, v1, v2); - static procedure ReplacementCodeusvSUN(code: ^UInt16); - external 'opengl32.dll' name 'glReplacementCodeusvSUN'; + public z_Uniform4fARB: procedure(location: Int32; v0: single; v1: single; v2: single; v3: single) := GetGLFuncOrNil&('glUniform4fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fARB(location: Int32; v0: single; v1: single; v2: single; v3: single) := z_Uniform4fARB(location, v0, v1, v2, v3); - static procedure ReplacementCodeubvSUN(code: ^Byte); - external 'opengl32.dll' name 'glReplacementCodeubvSUN'; + public z_Uniform1iARB: procedure(location: Int32; v0: Int32) := GetGLFuncOrNil&('glUniform1iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1iARB(location: Int32; v0: Int32) := z_Uniform1iARB(location, v0); - static procedure ReplacementCodePointerSUN(&type: ErrorCode; stride: Int32; _pointer: ^pointer); - external 'opengl32.dll' name 'glReplacementCodePointerSUN'; + public z_Uniform2iARB: procedure(location: Int32; v0: Int32; v1: Int32) := GetGLFuncOrNil&('glUniform2iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2iARB(location: Int32; v0: Int32; v1: Int32) := z_Uniform2iARB(location, v0, v1); - static procedure Color4ubVertex2fSUN(r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single); - external 'opengl32.dll' name 'glColor4ubVertex2fSUN'; + public z_Uniform3iARB: procedure(location: Int32; v0: Int32; v1: Int32; v2: Int32) := GetGLFuncOrNil&('glUniform3iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3iARB(location: Int32; v0: Int32; v1: Int32; v2: Int32) := z_Uniform3iARB(location, v0, v1, v2); - static procedure Color4ubVertex2fvSUN(c: ^Byte; v: ^single); - external 'opengl32.dll' name 'glColor4ubVertex2fvSUN'; + public z_Uniform4iARB: procedure(location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := GetGLFuncOrNil&('glUniform4iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4iARB(location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := z_Uniform4iARB(location, v0, v1, v2, v3); - static procedure Color4ubVertex3fSUN(r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single); - external 'opengl32.dll' name 'glColor4ubVertex3fSUN'; + public z_Uniform1fvARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fvARB(location: Int32; count: Int32; value: array of single) := Uniform1fvARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fvARB(location: Int32; count: Int32; var value: single) := Uniform1fvARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1fvARB(location: Int32; count: Int32; value: pointer) := z_Uniform1fvARB(location, count, value); - static procedure Color4ubVertex3fvSUN(c: ^Byte; v: ^single); - external 'opengl32.dll' name 'glColor4ubVertex3fvSUN'; + public z_Uniform2fvARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fvARB(location: Int32; count: Int32; value: array of single) := Uniform2fvARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fvARB(location: Int32; count: Int32; var value: single) := Uniform2fvARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2fvARB(location: Int32; count: Int32; value: pointer) := z_Uniform2fvARB(location, count, value); - static procedure Color3fVertex3fSUN(r: single; g: single; b: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glColor3fVertex3fSUN'; + public z_Uniform3fvARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fvARB(location: Int32; count: Int32; value: array of single) := Uniform3fvARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fvARB(location: Int32; count: Int32; var value: single) := Uniform3fvARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3fvARB(location: Int32; count: Int32; value: pointer) := z_Uniform3fvARB(location, count, value); - static procedure Color3fVertex3fvSUN(c: ^single; v: ^single); - external 'opengl32.dll' name 'glColor3fVertex3fvSUN'; + public z_Uniform4fvARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fvARB(location: Int32; count: Int32; value: array of single) := Uniform4fvARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fvARB(location: Int32; count: Int32; var value: single) := Uniform4fvARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4fvARB(location: Int32; count: Int32; value: pointer) := z_Uniform4fvARB(location, count, value); - static procedure Normal3fVertex3fSUN(nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glNormal3fVertex3fSUN'; + public z_Uniform1ivARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ivARB(location: Int32; count: Int32; value: array of Int32) := Uniform1ivARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ivARB(location: Int32; count: Int32; var value: Int32) := Uniform1ivARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ivARB(location: Int32; count: Int32; value: pointer) := z_Uniform1ivARB(location, count, value); - static procedure Normal3fVertex3fvSUN(n: ^single; v: ^single); - external 'opengl32.dll' name 'glNormal3fVertex3fvSUN'; + public z_Uniform2ivARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ivARB(location: Int32; count: Int32; value: array of Int32) := Uniform2ivARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ivARB(location: Int32; count: Int32; var value: Int32) := Uniform2ivARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ivARB(location: Int32; count: Int32; value: pointer) := z_Uniform2ivARB(location, count, value); - static procedure Color4fNormal3fVertex3fSUN(r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glColor4fNormal3fVertex3fSUN'; + public z_Uniform3ivARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ivARB(location: Int32; count: Int32; value: array of Int32) := Uniform3ivARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ivARB(location: Int32; count: Int32; var value: Int32) := Uniform3ivARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ivARB(location: Int32; count: Int32; value: pointer) := z_Uniform3ivARB(location, count, value); - static procedure Color4fNormal3fVertex3fvSUN(c: ^single; n: ^single; v: ^single); - external 'opengl32.dll' name 'glColor4fNormal3fVertex3fvSUN'; + public z_Uniform4ivARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ivARB(location: Int32; count: Int32; value: array of Int32) := Uniform4ivARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ivARB(location: Int32; count: Int32; var value: Int32) := Uniform4ivARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ivARB(location: Int32; count: Int32; value: pointer) := z_Uniform4ivARB(location, count, value); - static procedure TexCoord2fVertex3fSUN(s: single; t: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glTexCoord2fVertex3fSUN'; + public z_UniformMatrix2fvARB: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2fvARB(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix2fvARB(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2fvARB(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix2fvARB(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2fvARB(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix2fvARB(location, count, transpose, value); - static procedure TexCoord2fVertex3fvSUN(tc: ^single; v: ^single); - external 'opengl32.dll' name 'glTexCoord2fVertex3fvSUN'; + public z_UniformMatrix3fvARB: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3fvARB(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix3fvARB(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3fvARB(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix3fvARB(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3fvARB(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix3fvARB(location, count, transpose, value); - static procedure TexCoord4fVertex4fSUN(s: single; t: single; p: single; q: single; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glTexCoord4fVertex4fSUN'; + public z_UniformMatrix4fvARB: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4fvARB(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix4fvARB(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4fvARB(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix4fvARB(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4fvARB(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix4fvARB(location, count, transpose, value); - static procedure TexCoord4fVertex4fvSUN(tc: ^single; v: ^single); - external 'opengl32.dll' name 'glTexCoord4fVertex4fvSUN'; + public z_GetObjectParameterfvARB: procedure(obj: GLhandleARB; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetObjectParameterfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterfvARB(obj: GLhandleARB; pname: DummyEnum; ¶ms: array of single) := GetObjectParameterfvARB(obj, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterfvARB(obj: GLhandleARB; pname: DummyEnum; var ¶ms: single) := GetObjectParameterfvARB(obj, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterfvARB(obj: GLhandleARB; pname: DummyEnum; ¶ms: pointer) := z_GetObjectParameterfvARB(obj, pname, ¶ms); - static procedure TexCoord2fColor4ubVertex3fSUN(s: single; t: single; r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single); - external 'opengl32.dll' name 'glTexCoord2fColor4ubVertex3fSUN'; + public z_GetObjectParameterivARB: procedure(obj: GLhandleARB; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetObjectParameterivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterivARB(obj: GLhandleARB; pname: DummyEnum; ¶ms: array of Int32) := GetObjectParameterivARB(obj, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterivARB(obj: GLhandleARB; pname: DummyEnum; var ¶ms: Int32) := GetObjectParameterivARB(obj, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterivARB(obj: GLhandleARB; pname: DummyEnum; ¶ms: pointer) := z_GetObjectParameterivARB(obj, pname, ¶ms); - static procedure TexCoord2fColor4ubVertex3fvSUN(tc: ^single; c: ^Byte; v: ^single); - external 'opengl32.dll' name 'glTexCoord2fColor4ubVertex3fvSUN'; + public z_GetInfoLogARB: procedure(obj: GLhandleARB; maxLength: Int32; length: pointer; infoLog: IntPtr) := GetGLFuncOrNil&('glGetInfoLogARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInfoLogARB(obj: GLhandleARB; maxLength: Int32; length: array of Int32; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetInfoLogARB(obj, maxLength, length[0], ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInfoLogARB(obj: GLhandleARB; maxLength: Int32; length: array of Int32; infoLog: IntPtr) := GetInfoLogARB(obj, maxLength, length[0], infoLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInfoLogARB(obj: GLhandleARB; maxLength: Int32; var length: Int32; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetInfoLogARB(obj, maxLength, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInfoLogARB(obj: GLhandleARB; maxLength: Int32; var length: Int32; infoLog: IntPtr) := GetInfoLogARB(obj, maxLength, @length, infoLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInfoLogARB(obj: GLhandleARB; maxLength: Int32; length: pointer; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetInfoLogARB(obj, maxLength, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInfoLogARB(obj: GLhandleARB; maxLength: Int32; length: pointer; infoLog: IntPtr) := z_GetInfoLogARB(obj, maxLength, length, infoLog); - static procedure TexCoord2fColor3fVertex3fSUN(s: single; t: single; r: single; g: single; b: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glTexCoord2fColor3fVertex3fSUN'; + public z_GetAttachedObjectsARB: procedure(containerObj: GLhandleARB; maxCount: Int32; count: pointer; obj: pointer) := GetGLFuncOrNil&('glGetAttachedObjectsARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; count: array of Int32; obj: array of GLhandleARB) := GetAttachedObjectsARB(containerObj, maxCount, count[0], obj[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; count: array of Int32; var obj: GLhandleARB) := GetAttachedObjectsARB(containerObj, maxCount, count[0], @obj); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; count: array of Int32; obj: pointer) := GetAttachedObjectsARB(containerObj, maxCount, count[0], obj); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; var count: Int32; obj: array of GLhandleARB) := GetAttachedObjectsARB(containerObj, maxCount, @count, obj[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; var count: Int32; var obj: GLhandleARB) := GetAttachedObjectsARB(containerObj, maxCount, @count, @obj); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; var count: Int32; obj: pointer) := GetAttachedObjectsARB(containerObj, maxCount, @count, obj); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; count: pointer; obj: array of GLhandleARB) := GetAttachedObjectsARB(containerObj, maxCount, count, obj[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; count: pointer; var obj: GLhandleARB) := GetAttachedObjectsARB(containerObj, maxCount, count, @obj); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: Int32; count: pointer; obj: pointer) := z_GetAttachedObjectsARB(containerObj, maxCount, count, obj); - static procedure TexCoord2fColor3fVertex3fvSUN(tc: ^single; c: ^single; v: ^single); - external 'opengl32.dll' name 'glTexCoord2fColor3fVertex3fvSUN'; + public z_GetUniformLocationARB: function(programObj: GLhandleARB; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetUniformLocationARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformLocationARB(programObj: GLhandleARB; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetUniformLocationARB(programObj, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformLocationARB(programObj: GLhandleARB; name: IntPtr): Int32 := z_GetUniformLocationARB(programObj, name); - static procedure TexCoord2fNormal3fVertex3fSUN(s: single; t: single; nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glTexCoord2fNormal3fVertex3fSUN'; + public z_GetActiveUniformARB: procedure(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetActiveUniformARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length[0], size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length[0], size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, @length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, @length, size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: pointer; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveUniformARB(programObj, index, maxLength, length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveUniformARB(programObj, index, maxLength, length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveUniformARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := z_GetActiveUniformARB(programObj, index, maxLength, length, size, &type, name); - static procedure TexCoord2fNormal3fVertex3fvSUN(tc: ^single; n: ^single; v: ^single); - external 'opengl32.dll' name 'glTexCoord2fNormal3fVertex3fvSUN'; + public z_GetUniformfvARB: procedure(programObj: GLhandleARB; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformfvARB(programObj: GLhandleARB; location: Int32; ¶ms: array of single) := GetUniformfvARB(programObj, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformfvARB(programObj: GLhandleARB; location: Int32; var ¶ms: single) := GetUniformfvARB(programObj, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformfvARB(programObj: GLhandleARB; location: Int32; ¶ms: pointer) := z_GetUniformfvARB(programObj, location, ¶ms); - static procedure TexCoord2fColor4fNormal3fVertex3fSUN(s: single; t: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glTexCoord2fColor4fNormal3fVertex3fSUN'; + public z_GetUniformivARB: procedure(programObj: GLhandleARB; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformivARB(programObj: GLhandleARB; location: Int32; ¶ms: array of Int32) := GetUniformivARB(programObj, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformivARB(programObj: GLhandleARB; location: Int32; var ¶ms: Int32) := GetUniformivARB(programObj, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformivARB(programObj: GLhandleARB; location: Int32; ¶ms: pointer) := z_GetUniformivARB(programObj, location, ¶ms); - static procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: ^single; c: ^single; n: ^single; v: ^single); - external 'opengl32.dll' name 'glTexCoord2fColor4fNormal3fVertex3fvSUN'; + public z_GetShaderSourceARB: procedure(obj: GLhandleARB; maxLength: Int32; length: pointer; source: IntPtr) := GetGLFuncOrNil&('glGetShaderSourceARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSourceARB(obj: GLhandleARB; maxLength: Int32; length: array of Int32; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetShaderSourceARB(obj, maxLength, length[0], ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSourceARB(obj: GLhandleARB; maxLength: Int32; length: array of Int32; source: IntPtr) := GetShaderSourceARB(obj, maxLength, length[0], source); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSourceARB(obj: GLhandleARB; maxLength: Int32; var length: Int32; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetShaderSourceARB(obj, maxLength, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSourceARB(obj: GLhandleARB; maxLength: Int32; var length: Int32; source: IntPtr) := GetShaderSourceARB(obj, maxLength, @length, source); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSourceARB(obj: GLhandleARB; maxLength: Int32; length: pointer; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetShaderSourceARB(obj, maxLength, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShaderSourceARB(obj: GLhandleARB; maxLength: Int32; length: pointer; source: IntPtr) := z_GetShaderSourceARB(obj, maxLength, length, source); - static procedure TexCoord4fColor4fNormal3fVertex4fSUN(s: single; t: single; p: single; q: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glTexCoord4fColor4fNormal3fVertex4fSUN'; + {$endregion ARB_shader_objects} - static procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: ^single; c: ^single; n: ^single; v: ^single); - external 'opengl32.dll' name 'glTexCoord4fColor4fNormal3fVertex4fvSUN'; + {$region ARB_occlusion_query} - static procedure ReplacementCodeuiVertex3fSUN(rc: UInt32; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiVertex3fSUN'; + public z_GenQueriesARB: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glGenQueriesARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueriesARB(n: Int32; ids: array of UInt32) := GenQueriesARB(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueriesARB(n: Int32; var ids: UInt32) := GenQueriesARB(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueriesARB(n: Int32; ids: pointer) := z_GenQueriesARB(n, ids); - static procedure ReplacementCodeuiVertex3fvSUN(rc: ^UInt32; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiVertex3fvSUN'; + public z_DeleteQueriesARB: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glDeleteQueriesARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueriesARB(n: Int32; ids: array of UInt32) := DeleteQueriesARB(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueriesARB(n: Int32; var ids: UInt32) := DeleteQueriesARB(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueriesARB(n: Int32; ids: pointer) := z_DeleteQueriesARB(n, ids); - static procedure ReplacementCodeuiColor4ubVertex3fSUN(rc: UInt32; r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiColor4ubVertex3fSUN'; + public z_IsQueryARB: function(id: UInt32): Byte := GetGLFuncOrNil&('glIsQueryARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsQueryARB(id: UInt32): Byte := z_IsQueryARB(id); - static procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: ^UInt32; c: ^Byte; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiColor4ubVertex3fvSUN'; + public z_BeginQueryARB: procedure(target: DummyEnum; id: UInt32) := GetGLFuncOrNil&('glBeginQueryARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginQueryARB(target: DummyEnum; id: UInt32) := z_BeginQueryARB(target, id); - static procedure ReplacementCodeuiColor3fVertex3fSUN(rc: UInt32; r: single; g: single; b: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiColor3fVertex3fSUN'; + public z_EndQueryARB: procedure(target: DummyEnum) := GetGLFuncOrNil&('glEndQueryARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndQueryARB(target: DummyEnum) := z_EndQueryARB(target); - static procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: ^UInt32; c: ^single; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiColor3fVertex3fvSUN'; + public z_GetQueryivARB: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryivARB(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetQueryivARB(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryivARB(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetQueryivARB(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryivARB(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetQueryivARB(target, pname, ¶ms); - static procedure ReplacementCodeuiNormal3fVertex3fSUN(rc: UInt32; nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiNormal3fVertex3fSUN'; + public z_GetQueryObjectivARB: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectivARB(id: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetQueryObjectivARB(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectivARB(id: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetQueryObjectivARB(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectivARB(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetQueryObjectivARB(id, pname, ¶ms); - static procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: ^UInt32; n: ^single; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiNormal3fVertex3fvSUN'; + public z_GetQueryObjectuivARB: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectuivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuivARB(id: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetQueryObjectuivARB(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuivARB(id: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetQueryObjectuivARB(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuivARB(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetQueryObjectuivARB(id, pname, ¶ms); - static procedure ReplacementCodeuiColor4fNormal3fVertex3fSUN(rc: UInt32; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiColor4fNormal3fVertex3fSUN'; + {$endregion ARB_occlusion_query} - static procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: ^UInt32; c: ^single; n: ^single; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiColor4fNormal3fVertex3fvSUN'; + {$region ARB_vertex_shader} - static procedure ReplacementCodeuiTexCoord2fVertex3fSUN(rc: UInt32; s: single; t: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiTexCoord2fVertex3fSUN'; + public z_BindAttribLocationARB: procedure(programObj: GLhandleARB; index: UInt32; name: IntPtr) := GetGLFuncOrNil&('glBindAttribLocationARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindAttribLocationARB(programObj: GLhandleARB; index: UInt32; name: string); begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); BindAttribLocationARB(programObj, index, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindAttribLocationARB(programObj: GLhandleARB; index: UInt32; name: IntPtr) := z_BindAttribLocationARB(programObj, index, name); - static procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: ^UInt32; tc: ^single; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiTexCoord2fVertex3fvSUN'; + public z_GetActiveAttribARB: procedure(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetActiveAttribARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; var size: Int32; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length[0], size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: array of Int32; size: pointer; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length[0], size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, @length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; var length: Int32; size: pointer; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, @length, size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; var size: Int32; &type: pointer; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveAttribARB(programObj, index, maxLength, length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveAttribARB(programObj, index, maxLength, length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveAttribARB(programObj: GLhandleARB; index: UInt32; maxLength: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := z_GetActiveAttribARB(programObj, index, maxLength, length, size, &type, name); - static procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc: UInt32; s: single; t: single; nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN'; + public z_GetAttribLocationARB: function(programObj: GLhandleARB; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetAttribLocationARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetAttribLocationARB(programObj: GLhandleARB; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetAttribLocationARB(programObj, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetAttribLocationARB(programObj: GLhandleARB; name: IntPtr): Int32 := z_GetAttribLocationARB(programObj, name); - static procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: ^UInt32; tc: ^single; n: ^single; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN'; + {$endregion ARB_vertex_shader} - static procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc: UInt32; s: single; t: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN'; + {$region ARB_vertex_buffer_object} - static procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: ^UInt32; tc: ^single; c: ^single; n: ^single; v: ^single); - external 'opengl32.dll' name 'glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN'; + public z_BindBufferARB: procedure(target: DummyEnum; buffer: UInt32) := GetGLFuncOrNil&('glBindBufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferARB(target: DummyEnum; buffer: UInt32) := z_BindBufferARB(target, buffer); - {$endregion SUN} + public z_DeleteBuffersARB: procedure(n: Int32; buffers: pointer) := GetGLFuncOrNil&('glDeleteBuffersARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteBuffersARB(n: Int32; buffers: array of UInt32) := DeleteBuffersARB(n, buffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteBuffersARB(n: Int32; var buffers: UInt32) := DeleteBuffersARB(n, @buffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteBuffersARB(n: Int32; buffers: pointer) := z_DeleteBuffersARB(n, buffers); + + public z_GenBuffersARB: procedure(n: Int32; buffers: pointer) := GetGLFuncOrNil&('glGenBuffersARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenBuffersARB(n: Int32; buffers: array of UInt32) := GenBuffersARB(n, buffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenBuffersARB(n: Int32; var buffers: UInt32) := GenBuffersARB(n, @buffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenBuffersARB(n: Int32; buffers: pointer) := z_GenBuffersARB(n, buffers); + + public z_IsBufferARB: function(buffer: UInt32): Byte := GetGLFuncOrNil&('glIsBufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsBufferARB(buffer: UInt32): Byte := z_IsBufferARB(buffer); + + public z_BufferDataARB: procedure(target: DummyEnum; size: UIntPtr; data: pointer; usage: DummyEnum) := GetGLFuncOrNil&('glBufferDataARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferDataARB(target: DummyEnum; size: UIntPtr; data: pointer; usage: DummyEnum) := z_BufferDataARB(target, size, data, usage); + + public z_BufferSubDataARB: procedure(target: DummyEnum; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glBufferSubDataARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferSubDataARB(target: DummyEnum; offset: IntPtr; size: UIntPtr; data: pointer) := z_BufferSubDataARB(target, offset, size, data); + + public z_GetBufferSubDataARB: procedure(target: DummyEnum; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glGetBufferSubDataARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferSubDataARB(target: DummyEnum; offset: IntPtr; size: UIntPtr; data: pointer) := z_GetBufferSubDataARB(target, offset, size, data); + + public z_MapBufferARB: function(target: DummyEnum; access: DummyEnum): pointer := GetGLFuncOrNil&('glMapBufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapBufferARB(target: DummyEnum; access: DummyEnum): pointer := z_MapBufferARB(target, access); + + public z_UnmapBufferARB: function(target: DummyEnum): Byte := GetGLFuncOrNil&('glUnmapBufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UnmapBufferARB(target: DummyEnum): Byte := z_UnmapBufferARB(target); + + public z_GetBufferParameterivARB: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetBufferParameterivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameterivARB(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetBufferParameterivARB(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameterivARB(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetBufferParameterivARB(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameterivARB(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetBufferParameterivARB(target, pname, ¶ms); + + public z_GetBufferPointervARB: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetBufferPointervARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointervARB(target: DummyEnum; pname: DummyEnum; ¶ms: array of IntPtr) := GetBufferPointervARB(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointervARB(target: DummyEnum; pname: DummyEnum; var ¶ms: IntPtr) := GetBufferPointervARB(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointervARB(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetBufferPointervARB(target, pname, ¶ms); + + {$endregion ARB_vertex_buffer_object} + + {$region ARB_fragment_program ARB_vertex_program} + + public z_ProgramStringARB: procedure(target: DummyEnum; format: DummyEnum; len: Int32; string: pointer) := GetGLFuncOrNil&('glProgramStringARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramStringARB(target: DummyEnum; format: DummyEnum; len: Int32; string: pointer) := z_ProgramStringARB(target, format, len, string); + + public z_BindProgramARB: procedure(target: DummyEnum; &program: UInt32) := GetGLFuncOrNil&('glBindProgramARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindProgramARB(target: DummyEnum; &program: UInt32) := z_BindProgramARB(target, &program); + + public z_DeleteProgramsARB: procedure(n: Int32; programs: pointer) := GetGLFuncOrNil&('glDeleteProgramsARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramsARB(n: Int32; programs: array of UInt32) := DeleteProgramsARB(n, programs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramsARB(n: Int32; var programs: UInt32) := DeleteProgramsARB(n, @programs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramsARB(n: Int32; programs: pointer) := z_DeleteProgramsARB(n, programs); + + public z_GenProgramsARB: procedure(n: Int32; programs: pointer) := GetGLFuncOrNil&('glGenProgramsARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramsARB(n: Int32; programs: array of UInt32) := GenProgramsARB(n, programs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramsARB(n: Int32; var programs: UInt32) := GenProgramsARB(n, @programs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramsARB(n: Int32; programs: pointer) := z_GenProgramsARB(n, programs); + + public z_ProgramEnvParameter4dARB: procedure(target: DummyEnum; index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glProgramEnvParameter4dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4dARB(target: DummyEnum; index: UInt32; x: double; y: double; z: double; w: double) := z_ProgramEnvParameter4dARB(target, index, x, y, z, w); + + public z_ProgramEnvParameter4dvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramEnvParameter4dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4dvARB(target: DummyEnum; index: UInt32; ¶ms: array of double) := ProgramEnvParameter4dvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4dvARB(target: DummyEnum; index: UInt32; var ¶ms: double) := ProgramEnvParameter4dvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4dvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramEnvParameter4dvARB(target, index, ¶ms); + + public z_ProgramEnvParameter4fARB: procedure(target: DummyEnum; index: UInt32; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glProgramEnvParameter4fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4fARB(target: DummyEnum; index: UInt32; x: single; y: single; z: single; w: single) := z_ProgramEnvParameter4fARB(target, index, x, y, z, w); + + public z_ProgramEnvParameter4fvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramEnvParameter4fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4fvARB(target: DummyEnum; index: UInt32; ¶ms: array of single) := ProgramEnvParameter4fvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4fvARB(target: DummyEnum; index: UInt32; var ¶ms: single) := ProgramEnvParameter4fvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameter4fvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramEnvParameter4fvARB(target, index, ¶ms); + + public z_GetProgramEnvParameterdvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramEnvParameterdvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterdvARB(target: DummyEnum; index: UInt32; ¶ms: array of double) := GetProgramEnvParameterdvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterdvARB(target: DummyEnum; index: UInt32; var ¶ms: double) := GetProgramEnvParameterdvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterdvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramEnvParameterdvARB(target, index, ¶ms); + + public z_GetProgramEnvParameterfvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramEnvParameterfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterfvARB(target: DummyEnum; index: UInt32; ¶ms: array of single) := GetProgramEnvParameterfvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterfvARB(target: DummyEnum; index: UInt32; var ¶ms: single) := GetProgramEnvParameterfvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterfvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramEnvParameterfvARB(target, index, ¶ms); + + public z_GetProgramivARB: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramivARB(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetProgramivARB(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramivARB(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetProgramivARB(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramivARB(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetProgramivARB(target, pname, ¶ms); + + public z_GetProgramStringARB: procedure(target: DummyEnum; pname: DummyEnum; string: pointer) := GetGLFuncOrNil&('glGetProgramStringARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramStringARB(target: DummyEnum; pname: DummyEnum; string: pointer) := z_GetProgramStringARB(target, pname, string); + + public z_IsProgramARB: function(&program: UInt32): Byte := GetGLFuncOrNil&('glIsProgramARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsProgramARB(&program: UInt32): Byte := z_IsProgramARB(&program); + + {$endregion ARB_fragment_program ARB_vertex_program} + + {$region ARB_draw_buffers_blend} + + public z_BlendEquationiARB: procedure(buf: UInt32; mode: DummyEnum) := GetGLFuncOrNil&('glBlendEquationiARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationiARB(buf: UInt32; mode: DummyEnum) := z_BlendEquationiARB(buf, mode); + + public z_BlendEquationSeparateiARB: procedure(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendEquationSeparateiARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparateiARB(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := z_BlendEquationSeparateiARB(buf, modeRGB, modeAlpha); + + public z_BlendFunciARB: procedure(buf: UInt32; src: DummyEnum; dst: DummyEnum) := GetGLFuncOrNil&('glBlendFunciARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFunciARB(buf: UInt32; src: DummyEnum; dst: DummyEnum) := z_BlendFunciARB(buf, src, dst); + + public z_BlendFuncSeparateiARB: procedure(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendFuncSeparateiARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparateiARB(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := z_BlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + + {$endregion ARB_draw_buffers_blend} + + {$region ARB_sparse_buffer} + + public z_BufferPageCommitmentARB: procedure(target: DummyEnum; offset: IntPtr; size: UIntPtr; commit: Byte) := GetGLFuncOrNil&('glBufferPageCommitmentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferPageCommitmentARB(target: DummyEnum; offset: IntPtr; size: UIntPtr; commit: Byte) := z_BufferPageCommitmentARB(target, offset, size, commit); + + {$endregion ARB_sparse_buffer} + + {$region ARB_color_buffer_float} + + public z_ClampColorARB: procedure(target: DummyEnum; clamp: DummyEnum) := GetGLFuncOrNil&('glClampColorARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClampColorARB(target: DummyEnum; clamp: DummyEnum) := z_ClampColorARB(target, clamp); + + {$endregion ARB_color_buffer_float} + + {$region ARB_vertex_type_2_10_10_10_rev} + + public z_VertexP2ui: procedure(&type: DummyEnum; value: UInt32) := GetGLFuncOrNil&('glVertexP2ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP2ui(&type: DummyEnum; value: UInt32) := z_VertexP2ui(&type, value); + + public z_VertexP3ui: procedure(&type: DummyEnum; value: UInt32) := GetGLFuncOrNil&('glVertexP3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP3ui(&type: DummyEnum; value: UInt32) := z_VertexP3ui(&type, value); + + public z_VertexP4ui: procedure(&type: DummyEnum; value: UInt32) := GetGLFuncOrNil&('glVertexP4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP4ui(&type: DummyEnum; value: UInt32) := z_VertexP4ui(&type, value); + + public z_VertexP2uiv: procedure(&type: DummyEnum; value: pointer) := GetGLFuncOrNil&('glVertexP2uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP2uiv(&type: DummyEnum; value: array of UInt32) := VertexP2uiv(&type, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP2uiv(&type: DummyEnum; var value: UInt32) := VertexP2uiv(&type, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP2uiv(&type: DummyEnum; value: pointer) := z_VertexP2uiv(&type, value); + + public z_VertexP3uiv: procedure(&type: DummyEnum; value: pointer) := GetGLFuncOrNil&('glVertexP3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP3uiv(&type: DummyEnum; value: array of UInt32) := VertexP3uiv(&type, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP3uiv(&type: DummyEnum; var value: UInt32) := VertexP3uiv(&type, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP3uiv(&type: DummyEnum; value: pointer) := z_VertexP3uiv(&type, value); + + public z_VertexP4uiv: procedure(&type: DummyEnum; value: pointer) := GetGLFuncOrNil&('glVertexP4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP4uiv(&type: DummyEnum; value: array of UInt32) := VertexP4uiv(&type, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP4uiv(&type: DummyEnum; var value: UInt32) := VertexP4uiv(&type, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexP4uiv(&type: DummyEnum; value: pointer) := z_VertexP4uiv(&type, value); + + public z_TexCoordP1ui: procedure(&type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glTexCoordP1ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP1ui(&type: DummyEnum; coords: UInt32) := z_TexCoordP1ui(&type, coords); + + public z_TexCoordP2ui: procedure(&type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glTexCoordP2ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP2ui(&type: DummyEnum; coords: UInt32) := z_TexCoordP2ui(&type, coords); + + public z_TexCoordP3ui: procedure(&type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glTexCoordP3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP3ui(&type: DummyEnum; coords: UInt32) := z_TexCoordP3ui(&type, coords); + + public z_TexCoordP4ui: procedure(&type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glTexCoordP4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP4ui(&type: DummyEnum; coords: UInt32) := z_TexCoordP4ui(&type, coords); + + public z_TexCoordP1uiv: procedure(&type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glTexCoordP1uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP1uiv(&type: DummyEnum; coords: array of UInt32) := TexCoordP1uiv(&type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP1uiv(&type: DummyEnum; var coords: UInt32) := TexCoordP1uiv(&type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP1uiv(&type: DummyEnum; coords: pointer) := z_TexCoordP1uiv(&type, coords); + + public z_TexCoordP2uiv: procedure(&type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glTexCoordP2uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP2uiv(&type: DummyEnum; coords: array of UInt32) := TexCoordP2uiv(&type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP2uiv(&type: DummyEnum; var coords: UInt32) := TexCoordP2uiv(&type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP2uiv(&type: DummyEnum; coords: pointer) := z_TexCoordP2uiv(&type, coords); + + public z_TexCoordP3uiv: procedure(&type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glTexCoordP3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP3uiv(&type: DummyEnum; coords: array of UInt32) := TexCoordP3uiv(&type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP3uiv(&type: DummyEnum; var coords: UInt32) := TexCoordP3uiv(&type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP3uiv(&type: DummyEnum; coords: pointer) := z_TexCoordP3uiv(&type, coords); + + public z_TexCoordP4uiv: procedure(&type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glTexCoordP4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP4uiv(&type: DummyEnum; coords: array of UInt32) := TexCoordP4uiv(&type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP4uiv(&type: DummyEnum; var coords: UInt32) := TexCoordP4uiv(&type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordP4uiv(&type: DummyEnum; coords: pointer) := z_TexCoordP4uiv(&type, coords); + + public z_MultiTexCoordP1ui: procedure(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glMultiTexCoordP1ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP1ui(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := z_MultiTexCoordP1ui(texture, &type, coords); + + public z_MultiTexCoordP2ui: procedure(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glMultiTexCoordP2ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP2ui(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := z_MultiTexCoordP2ui(texture, &type, coords); + + public z_MultiTexCoordP3ui: procedure(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glMultiTexCoordP3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP3ui(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := z_MultiTexCoordP3ui(texture, &type, coords); + + public z_MultiTexCoordP4ui: procedure(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glMultiTexCoordP4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP4ui(texture: DummyEnum; &type: DummyEnum; coords: UInt32) := z_MultiTexCoordP4ui(texture, &type, coords); + + public z_MultiTexCoordP1uiv: procedure(texture: DummyEnum; &type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoordP1uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP1uiv(texture: DummyEnum; &type: DummyEnum; coords: array of UInt32) := MultiTexCoordP1uiv(texture, &type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP1uiv(texture: DummyEnum; &type: DummyEnum; var coords: UInt32) := MultiTexCoordP1uiv(texture, &type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP1uiv(texture: DummyEnum; &type: DummyEnum; coords: pointer) := z_MultiTexCoordP1uiv(texture, &type, coords); + + public z_MultiTexCoordP2uiv: procedure(texture: DummyEnum; &type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoordP2uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP2uiv(texture: DummyEnum; &type: DummyEnum; coords: array of UInt32) := MultiTexCoordP2uiv(texture, &type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP2uiv(texture: DummyEnum; &type: DummyEnum; var coords: UInt32) := MultiTexCoordP2uiv(texture, &type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP2uiv(texture: DummyEnum; &type: DummyEnum; coords: pointer) := z_MultiTexCoordP2uiv(texture, &type, coords); + + public z_MultiTexCoordP3uiv: procedure(texture: DummyEnum; &type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoordP3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP3uiv(texture: DummyEnum; &type: DummyEnum; coords: array of UInt32) := MultiTexCoordP3uiv(texture, &type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP3uiv(texture: DummyEnum; &type: DummyEnum; var coords: UInt32) := MultiTexCoordP3uiv(texture, &type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP3uiv(texture: DummyEnum; &type: DummyEnum; coords: pointer) := z_MultiTexCoordP3uiv(texture, &type, coords); + + public z_MultiTexCoordP4uiv: procedure(texture: DummyEnum; &type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoordP4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP4uiv(texture: DummyEnum; &type: DummyEnum; coords: array of UInt32) := MultiTexCoordP4uiv(texture, &type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP4uiv(texture: DummyEnum; &type: DummyEnum; var coords: UInt32) := MultiTexCoordP4uiv(texture, &type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoordP4uiv(texture: DummyEnum; &type: DummyEnum; coords: pointer) := z_MultiTexCoordP4uiv(texture, &type, coords); + + public z_NormalP3ui: procedure(&type: DummyEnum; coords: UInt32) := GetGLFuncOrNil&('glNormalP3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalP3ui(&type: DummyEnum; coords: UInt32) := z_NormalP3ui(&type, coords); + + public z_NormalP3uiv: procedure(&type: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glNormalP3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalP3uiv(&type: DummyEnum; coords: array of UInt32) := NormalP3uiv(&type, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalP3uiv(&type: DummyEnum; var coords: UInt32) := NormalP3uiv(&type, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalP3uiv(&type: DummyEnum; coords: pointer) := z_NormalP3uiv(&type, coords); + + public z_ColorP3ui: procedure(&type: DummyEnum; color: UInt32) := GetGLFuncOrNil&('glColorP3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP3ui(&type: DummyEnum; color: UInt32) := z_ColorP3ui(&type, color); + + public z_ColorP4ui: procedure(&type: DummyEnum; color: UInt32) := GetGLFuncOrNil&('glColorP4ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP4ui(&type: DummyEnum; color: UInt32) := z_ColorP4ui(&type, color); + + public z_ColorP3uiv: procedure(&type: DummyEnum; color: pointer) := GetGLFuncOrNil&('glColorP3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP3uiv(&type: DummyEnum; color: array of UInt32) := ColorP3uiv(&type, color[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP3uiv(&type: DummyEnum; var color: UInt32) := ColorP3uiv(&type, @color); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP3uiv(&type: DummyEnum; color: pointer) := z_ColorP3uiv(&type, color); + + public z_ColorP4uiv: procedure(&type: DummyEnum; color: pointer) := GetGLFuncOrNil&('glColorP4uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP4uiv(&type: DummyEnum; color: array of UInt32) := ColorP4uiv(&type, color[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP4uiv(&type: DummyEnum; var color: UInt32) := ColorP4uiv(&type, @color); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorP4uiv(&type: DummyEnum; color: pointer) := z_ColorP4uiv(&type, color); + + public z_SecondaryColorP3ui: procedure(&type: DummyEnum; color: UInt32) := GetGLFuncOrNil&('glSecondaryColorP3ui'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorP3ui(&type: DummyEnum; color: UInt32) := z_SecondaryColorP3ui(&type, color); + + public z_SecondaryColorP3uiv: procedure(&type: DummyEnum; color: pointer) := GetGLFuncOrNil&('glSecondaryColorP3uiv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorP3uiv(&type: DummyEnum; color: array of UInt32) := SecondaryColorP3uiv(&type, color[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorP3uiv(&type: DummyEnum; var color: UInt32) := SecondaryColorP3uiv(&type, @color); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorP3uiv(&type: DummyEnum; color: pointer) := z_SecondaryColorP3uiv(&type, color); + + {$endregion ARB_vertex_type_2_10_10_10_rev} + + {$region ARB_shading_language_include} + + public z_NamedStringARB: procedure(&type: DummyEnum; namelen: Int32; name: IntPtr; stringlen: Int32; string: IntPtr) := GetGLFuncOrNil&('glNamedStringARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedStringARB(&type: DummyEnum; namelen: Int32; name: string; stringlen: Int32; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); var ptr_3 := Marshal.StringToHGlobalAnsi(name); NamedStringARB(&type, namelen, ptr_3, stringlen, ptr_5); Marshal.FreeHGlobal(ptr_3); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedStringARB(&type: DummyEnum; namelen: Int32; name: string; stringlen: Int32; string: IntPtr); begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); NamedStringARB(&type, namelen, ptr_3, stringlen, string); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedStringARB(&type: DummyEnum; namelen: Int32; name: IntPtr; stringlen: Int32; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); NamedStringARB(&type, namelen, name, stringlen, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedStringARB(&type: DummyEnum; namelen: Int32; name: IntPtr; stringlen: Int32; string: IntPtr) := z_NamedStringARB(&type, namelen, name, stringlen, string); + + public z_DeleteNamedStringARB: procedure(namelen: Int32; name: IntPtr) := GetGLFuncOrNil&('glDeleteNamedStringARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteNamedStringARB(namelen: Int32; name: string); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); DeleteNamedStringARB(namelen, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteNamedStringARB(namelen: Int32; name: IntPtr) := z_DeleteNamedStringARB(namelen, name); + + public z_CompileShaderIncludeARB: procedure(shader: UInt32; count: Int32; path: pointer; length: pointer) := GetGLFuncOrNil&('glCompileShaderIncludeARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; path: array of IntPtr; length: array of Int32) := CompileShaderIncludeARB(shader, count, path[0], length[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; path: array of IntPtr; var length: Int32) := CompileShaderIncludeARB(shader, count, path[0], @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; path: array of IntPtr; length: pointer) := CompileShaderIncludeARB(shader, count, path[0], length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; var path: IntPtr; length: array of Int32) := CompileShaderIncludeARB(shader, count, @path, length[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; var path: IntPtr; var length: Int32) := CompileShaderIncludeARB(shader, count, @path, @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; var path: IntPtr; length: pointer) := CompileShaderIncludeARB(shader, count, @path, length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; path: pointer; length: array of Int32) := CompileShaderIncludeARB(shader, count, path, length[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; path: pointer; var length: Int32) := CompileShaderIncludeARB(shader, count, path, @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileShaderIncludeARB(shader: UInt32; count: Int32; path: pointer; length: pointer) := z_CompileShaderIncludeARB(shader, count, path, length); + + public z_IsNamedStringARB: function(namelen: Int32; name: IntPtr): Byte := GetGLFuncOrNil&('glIsNamedStringARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsNamedStringARB(namelen: Int32; name: string): Byte; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := IsNamedStringARB(namelen, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsNamedStringARB(namelen: Int32; name: IntPtr): Byte := z_IsNamedStringARB(namelen, name); + + public z_GetNamedStringARB: procedure(namelen: Int32; name: IntPtr; bufSize: Int32; stringlen: pointer; string: IntPtr) := GetGLFuncOrNil&('glGetNamedStringARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: string; bufSize: Int32; stringlen: array of Int32; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringARB(namelen, ptr_2, bufSize, stringlen[0], ptr_5); Marshal.FreeHGlobal(ptr_2); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: string; bufSize: Int32; stringlen: array of Int32; string: IntPtr); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringARB(namelen, ptr_2, bufSize, stringlen[0], string); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: string; bufSize: Int32; var stringlen: Int32; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringARB(namelen, ptr_2, bufSize, @stringlen, ptr_5); Marshal.FreeHGlobal(ptr_2); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: string; bufSize: Int32; var stringlen: Int32; string: IntPtr); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringARB(namelen, ptr_2, bufSize, @stringlen, string); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: string; bufSize: Int32; stringlen: pointer; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringARB(namelen, ptr_2, bufSize, stringlen, ptr_5); Marshal.FreeHGlobal(ptr_2); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: string; bufSize: Int32; stringlen: pointer; string: IntPtr); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringARB(namelen, ptr_2, bufSize, stringlen, string); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: IntPtr; bufSize: Int32; stringlen: array of Int32; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); GetNamedStringARB(namelen, name, bufSize, stringlen[0], ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: IntPtr; bufSize: Int32; stringlen: array of Int32; string: IntPtr) := GetNamedStringARB(namelen, name, bufSize, stringlen[0], string); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: IntPtr; bufSize: Int32; var stringlen: Int32; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); GetNamedStringARB(namelen, name, bufSize, @stringlen, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: IntPtr; bufSize: Int32; var stringlen: Int32; string: IntPtr) := GetNamedStringARB(namelen, name, bufSize, @stringlen, string); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: IntPtr; bufSize: Int32; stringlen: pointer; _string: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(_string); GetNamedStringARB(namelen, name, bufSize, stringlen, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringARB(namelen: Int32; name: IntPtr; bufSize: Int32; stringlen: pointer; string: IntPtr) := z_GetNamedStringARB(namelen, name, bufSize, stringlen, string); + + public z_GetNamedStringivARB: procedure(namelen: Int32; name: IntPtr; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedStringivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringivARB(namelen: Int32; name: string; pname: DummyEnum; ¶ms: array of Int32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringivARB(namelen, ptr_2, pname, ¶ms[0]); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringivARB(namelen: Int32; name: string; pname: DummyEnum; var ¶ms: Int32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringivARB(namelen, ptr_2, pname, @¶ms); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringivARB(namelen: Int32; name: string; pname: DummyEnum; ¶ms: pointer); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); GetNamedStringivARB(namelen, ptr_2, pname, ¶ms); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringivARB(namelen: Int32; name: IntPtr; pname: DummyEnum; ¶ms: array of Int32) := GetNamedStringivARB(namelen, name, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringivARB(namelen: Int32; name: IntPtr; pname: DummyEnum; var ¶ms: Int32) := GetNamedStringivARB(namelen, name, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedStringivARB(namelen: Int32; name: IntPtr; pname: DummyEnum; ¶ms: pointer) := z_GetNamedStringivARB(namelen, name, pname, ¶ms); + + {$endregion ARB_shading_language_include} + + {$region ARB_texture_compression} + + public z_CompressedTexImage3DARB: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexImage3DARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage3DARB(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer) := z_CompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, data); + + public z_CompressedTexImage2DARB: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexImage2DARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage2DARB(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; border: Int32; imageSize: Int32; data: pointer) := z_CompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, data); + + public z_CompressedTexImage1DARB: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; border: Int32; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexImage1DARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage1DARB(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; border: Int32; imageSize: Int32; data: pointer) := z_CompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, data); + + public z_CompressedTexSubImage3DARB: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexSubImage3DARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage3DARB(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := z_CompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + + public z_CompressedTexSubImage2DARB: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexSubImage2DARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage2DARB(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := z_CompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data); + + public z_CompressedTexSubImage1DARB: procedure(target: DummyEnum; level: Int32; xoffset: Int32; width: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexSubImage1DARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage1DARB(target: DummyEnum; level: Int32; xoffset: Int32; width: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := z_CompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, data); + + public z_GetCompressedTexImageARB: procedure(target: DummyEnum; level: Int32; img: pointer) := GetGLFuncOrNil&('glGetCompressedTexImageARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCompressedTexImageARB(target: DummyEnum; level: Int32; img: pointer) := z_GetCompressedTexImageARB(target, level, img); + + {$endregion ARB_texture_compression} + + {$region ARB_cl_event} + + public z_CreateSyncFromCLeventARB: function(context: pointer; &event: pointer; flags: DummyFlags): GLsync := GetGLFuncOrNil&('glCreateSyncFromCLeventARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(context: array of cl_context; &event: array of cl_event; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(context[0], &event[0], flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(context: array of cl_context; var &event: cl_event; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(context[0], @&event, flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(context: array of cl_context; &event: pointer; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(context[0], &event, flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(var context: cl_context; &event: array of cl_event; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(@context, &event[0], flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(var context: cl_context; var &event: cl_event; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(@context, @&event, flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(var context: cl_context; &event: pointer; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(@context, &event, flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(context: pointer; &event: array of cl_event; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(context, &event[0], flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(context: pointer; var &event: cl_event; flags: DummyFlags): GLsync := CreateSyncFromCLeventARB(context, @&event, flags); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateSyncFromCLeventARB(context: pointer; &event: pointer; flags: DummyFlags): GLsync := z_CreateSyncFromCLeventARB(context, &event, flags); + + {$endregion ARB_cl_event} + + {$region ARB_matrix_palette} + + public z_CurrentPaletteMatrixARB: procedure(index: Int32) := GetGLFuncOrNil&('glCurrentPaletteMatrixARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CurrentPaletteMatrixARB(index: Int32) := z_CurrentPaletteMatrixARB(index); + + public z_MatrixIndexubvARB: procedure(size: Int32; indices: pointer) := GetGLFuncOrNil&('glMatrixIndexubvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexubvARB(size: Int32; indices: array of Byte) := MatrixIndexubvARB(size, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexubvARB(size: Int32; var indices: Byte) := MatrixIndexubvARB(size, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexubvARB(size: Int32; indices: pointer) := z_MatrixIndexubvARB(size, indices); + + public z_MatrixIndexusvARB: procedure(size: Int32; indices: pointer) := GetGLFuncOrNil&('glMatrixIndexusvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexusvARB(size: Int32; indices: array of UInt16) := MatrixIndexusvARB(size, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexusvARB(size: Int32; var indices: UInt16) := MatrixIndexusvARB(size, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexusvARB(size: Int32; indices: pointer) := z_MatrixIndexusvARB(size, indices); + + public z_MatrixIndexuivARB: procedure(size: Int32; indices: pointer) := GetGLFuncOrNil&('glMatrixIndexuivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexuivARB(size: Int32; indices: array of UInt32) := MatrixIndexuivARB(size, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexuivARB(size: Int32; var indices: UInt32) := MatrixIndexuivARB(size, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexuivARB(size: Int32; indices: pointer) := z_MatrixIndexuivARB(size, indices); + + public z_MatrixIndexPointerARB: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glMatrixIndexPointerARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexPointerARB(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_MatrixIndexPointerARB(size, &type, stride, _pointer); + + {$endregion ARB_matrix_palette} + + {$region ARB_debug_output} + + public z_DebugMessageControlARB: procedure(source: DummyEnum; &type: DummyEnum; severity: DummyEnum; count: Int32; ids: pointer; enabled: Byte) := GetGLFuncOrNil&('glDebugMessageControlARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageControlARB(source: DummyEnum; &type: DummyEnum; severity: DummyEnum; count: Int32; ids: array of UInt32; enabled: Byte) := DebugMessageControlARB(source, &type, severity, count, ids[0], enabled); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageControlARB(source: DummyEnum; &type: DummyEnum; severity: DummyEnum; count: Int32; var ids: UInt32; enabled: Byte) := DebugMessageControlARB(source, &type, severity, count, @ids, enabled); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageControlARB(source: DummyEnum; &type: DummyEnum; severity: DummyEnum; count: Int32; ids: pointer; enabled: Byte) := z_DebugMessageControlARB(source, &type, severity, count, ids, enabled); + + public z_DebugMessageInsertARB: procedure(source: DummyEnum; &type: DummyEnum; id: UInt32; severity: DummyEnum; length: Int32; buf: IntPtr) := GetGLFuncOrNil&('glDebugMessageInsertARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageInsertARB(source: DummyEnum; &type: DummyEnum; id: UInt32; severity: DummyEnum; length: Int32; buf: string); begin var ptr_6 := Marshal.StringToHGlobalAnsi(buf); DebugMessageInsertARB(source, &type, id, severity, length, ptr_6); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageInsertARB(source: DummyEnum; &type: DummyEnum; id: UInt32; severity: DummyEnum; length: Int32; buf: IntPtr) := z_DebugMessageInsertARB(source, &type, id, severity, length, buf); + + public z_DebugMessageCallbackARB: procedure(callback: GLDEBUGPROC; userParam: pointer) := GetGLFuncOrNil&('glDebugMessageCallbackARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageCallbackARB(callback: GLDEBUGPROC; userParam: pointer) := z_DebugMessageCallbackARB(callback, userParam); + + public z_GetDebugMessageLogARB: function(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetGLFuncOrNil&('glGetDebugMessageLogARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types[0], ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], @types, ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: array of DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources[0], types, ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types[0], ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; var types: DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, @types, ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; var sources: DummyEnum; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, @sources, types, ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: array of DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types[0], ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; var types: DummyEnum; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, @types, ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: array of UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids[0], severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; var ids: UInt32; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, @ids, severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities[0], lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities[0], lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities[0], @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: array of DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities[0], @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities[0], lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: array of DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities[0], lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, @severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; var severities: DummyEnum; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, @severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, @severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; var severities: DummyEnum; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, @severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, @severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; var severities: DummyEnum; lengths: pointer; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, @severities, lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths[0], ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: array of Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths[0], messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; var lengths: Int32; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, @lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; var lengths: Int32; messageLog: IntPtr): UInt32 := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, @lengths, messageLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: string): UInt32; begin var ptr_8 := Marshal.StringToHGlobalAnsi(messageLog); Result := GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths, ptr_8); Marshal.FreeHGlobal(ptr_8); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogARB(count: UInt32; bufSize: Int32; sources: pointer; types: pointer; ids: pointer; severities: pointer; lengths: pointer; messageLog: IntPtr): UInt32 := z_GetDebugMessageLogARB(count, bufSize, sources, types, ids, severities, lengths, messageLog); + + {$endregion ARB_debug_output} + + {$region ARB_vertex_program ARB_vertex_shader} + + public z_VertexAttrib1sARB: procedure(index: UInt32; x: Int16) := GetGLFuncOrNil&('glVertexAttrib1sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1sARB(index: UInt32; x: Int16) := z_VertexAttrib1sARB(index, x); + + public z_VertexAttrib1fARB: procedure(index: UInt32; x: single) := GetGLFuncOrNil&('glVertexAttrib1fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fARB(index: UInt32; x: single) := z_VertexAttrib1fARB(index, x); + + public z_VertexAttrib1dARB: procedure(index: UInt32; x: double) := GetGLFuncOrNil&('glVertexAttrib1dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dARB(index: UInt32; x: double) := z_VertexAttrib1dARB(index, x); + + public z_VertexAttrib2sARB: procedure(index: UInt32; x: Int16; y: Int16) := GetGLFuncOrNil&('glVertexAttrib2sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2sARB(index: UInt32; x: Int16; y: Int16) := z_VertexAttrib2sARB(index, x, y); + + public z_VertexAttrib2fARB: procedure(index: UInt32; x: single; y: single) := GetGLFuncOrNil&('glVertexAttrib2fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fARB(index: UInt32; x: single; y: single) := z_VertexAttrib2fARB(index, x, y); + + public z_VertexAttrib2dARB: procedure(index: UInt32; x: double; y: double) := GetGLFuncOrNil&('glVertexAttrib2dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dARB(index: UInt32; x: double; y: double) := z_VertexAttrib2dARB(index, x, y); + + public z_VertexAttrib3sARB: procedure(index: UInt32; x: Int16; y: Int16; z: Int16) := GetGLFuncOrNil&('glVertexAttrib3sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3sARB(index: UInt32; x: Int16; y: Int16; z: Int16) := z_VertexAttrib3sARB(index, x, y, z); + + public z_VertexAttrib3fARB: procedure(index: UInt32; x: single; y: single; z: single) := GetGLFuncOrNil&('glVertexAttrib3fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fARB(index: UInt32; x: single; y: single; z: single) := z_VertexAttrib3fARB(index, x, y, z); + + public z_VertexAttrib3dARB: procedure(index: UInt32; x: double; y: double; z: double) := GetGLFuncOrNil&('glVertexAttrib3dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dARB(index: UInt32; x: double; y: double; z: double) := z_VertexAttrib3dARB(index, x, y, z); + + public z_VertexAttrib4sARB: procedure(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16) := GetGLFuncOrNil&('glVertexAttrib4sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4sARB(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16) := z_VertexAttrib4sARB(index, x, y, z, w); + + public z_VertexAttrib4fARB: procedure(index: UInt32; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glVertexAttrib4fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fARB(index: UInt32; x: single; y: single; z: single; w: single) := z_VertexAttrib4fARB(index, x, y, z, w); + + public z_VertexAttrib4dARB: procedure(index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glVertexAttrib4dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dARB(index: UInt32; x: double; y: double; z: double; w: double) := z_VertexAttrib4dARB(index, x, y, z, w); + + public z_VertexAttrib4NubARB: procedure(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte) := GetGLFuncOrNil&('glVertexAttrib4NubARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NubARB(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte) := z_VertexAttrib4NubARB(index, x, y, z, w); + + public z_VertexAttrib1svARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1svARB(index: UInt32; v: array of Int16) := VertexAttrib1svARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1svARB(index: UInt32; var v: Int16) := VertexAttrib1svARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1svARB(index: UInt32; v: pointer) := z_VertexAttrib1svARB(index, v); + + public z_VertexAttrib1fvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fvARB(index: UInt32; v: array of single) := VertexAttrib1fvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fvARB(index: UInt32; var v: single) := VertexAttrib1fvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fvARB(index: UInt32; v: pointer) := z_VertexAttrib1fvARB(index, v); + + public z_VertexAttrib1dvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dvARB(index: UInt32; v: array of double) := VertexAttrib1dvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dvARB(index: UInt32; var v: double) := VertexAttrib1dvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dvARB(index: UInt32; v: pointer) := z_VertexAttrib1dvARB(index, v); + + public z_VertexAttrib2svARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2svARB(index: UInt32; v: array of Int16) := VertexAttrib2svARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2svARB(index: UInt32; var v: Int16) := VertexAttrib2svARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2svARB(index: UInt32; v: pointer) := z_VertexAttrib2svARB(index, v); + + public z_VertexAttrib2fvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fvARB(index: UInt32; v: array of single) := VertexAttrib2fvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fvARB(index: UInt32; var v: single) := VertexAttrib2fvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fvARB(index: UInt32; v: pointer) := z_VertexAttrib2fvARB(index, v); + + public z_VertexAttrib2dvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dvARB(index: UInt32; v: array of double) := VertexAttrib2dvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dvARB(index: UInt32; var v: double) := VertexAttrib2dvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dvARB(index: UInt32; v: pointer) := z_VertexAttrib2dvARB(index, v); + + public z_VertexAttrib3svARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3svARB(index: UInt32; v: array of Int16) := VertexAttrib3svARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3svARB(index: UInt32; var v: Int16) := VertexAttrib3svARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3svARB(index: UInt32; v: pointer) := z_VertexAttrib3svARB(index, v); + + public z_VertexAttrib3fvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fvARB(index: UInt32; v: array of single) := VertexAttrib3fvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fvARB(index: UInt32; var v: single) := VertexAttrib3fvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fvARB(index: UInt32; v: pointer) := z_VertexAttrib3fvARB(index, v); + + public z_VertexAttrib3dvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dvARB(index: UInt32; v: array of double) := VertexAttrib3dvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dvARB(index: UInt32; var v: double) := VertexAttrib3dvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dvARB(index: UInt32; v: pointer) := z_VertexAttrib3dvARB(index, v); + + public z_VertexAttrib4bvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4bvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4bvARB(index: UInt32; v: array of SByte) := VertexAttrib4bvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4bvARB(index: UInt32; var v: SByte) := VertexAttrib4bvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4bvARB(index: UInt32; v: pointer) := z_VertexAttrib4bvARB(index, v); + + public z_VertexAttrib4svARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4svARB(index: UInt32; v: array of Int16) := VertexAttrib4svARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4svARB(index: UInt32; var v: Int16) := VertexAttrib4svARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4svARB(index: UInt32; v: pointer) := z_VertexAttrib4svARB(index, v); + + public z_VertexAttrib4ivARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ivARB(index: UInt32; v: array of Int32) := VertexAttrib4ivARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ivARB(index: UInt32; var v: Int32) := VertexAttrib4ivARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ivARB(index: UInt32; v: pointer) := z_VertexAttrib4ivARB(index, v); + + public z_VertexAttrib4ubvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4ubvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubvARB(index: UInt32; v: array of Byte) := VertexAttrib4ubvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubvARB(index: UInt32; var v: Byte) := VertexAttrib4ubvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubvARB(index: UInt32; v: pointer) := z_VertexAttrib4ubvARB(index, v); + + public z_VertexAttrib4usvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4usvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4usvARB(index: UInt32; v: array of UInt16) := VertexAttrib4usvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4usvARB(index: UInt32; var v: UInt16) := VertexAttrib4usvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4usvARB(index: UInt32; v: pointer) := z_VertexAttrib4usvARB(index, v); + + public z_VertexAttrib4uivARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4uivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4uivARB(index: UInt32; v: array of UInt32) := VertexAttrib4uivARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4uivARB(index: UInt32; var v: UInt32) := VertexAttrib4uivARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4uivARB(index: UInt32; v: pointer) := z_VertexAttrib4uivARB(index, v); + + public z_VertexAttrib4fvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fvARB(index: UInt32; v: array of single) := VertexAttrib4fvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fvARB(index: UInt32; var v: single) := VertexAttrib4fvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fvARB(index: UInt32; v: pointer) := z_VertexAttrib4fvARB(index, v); + + public z_VertexAttrib4dvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dvARB(index: UInt32; v: array of double) := VertexAttrib4dvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dvARB(index: UInt32; var v: double) := VertexAttrib4dvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dvARB(index: UInt32; v: pointer) := z_VertexAttrib4dvARB(index, v); + + public z_VertexAttrib4NbvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4NbvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NbvARB(index: UInt32; v: array of SByte) := VertexAttrib4NbvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NbvARB(index: UInt32; var v: SByte) := VertexAttrib4NbvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NbvARB(index: UInt32; v: pointer) := z_VertexAttrib4NbvARB(index, v); + + public z_VertexAttrib4NsvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4NsvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NsvARB(index: UInt32; v: array of Int16) := VertexAttrib4NsvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NsvARB(index: UInt32; var v: Int16) := VertexAttrib4NsvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NsvARB(index: UInt32; v: pointer) := z_VertexAttrib4NsvARB(index, v); + + public z_VertexAttrib4NivARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4NivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NivARB(index: UInt32; v: array of Int32) := VertexAttrib4NivARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NivARB(index: UInt32; var v: Int32) := VertexAttrib4NivARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NivARB(index: UInt32; v: pointer) := z_VertexAttrib4NivARB(index, v); + + public z_VertexAttrib4NubvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4NubvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NubvARB(index: UInt32; v: array of Byte) := VertexAttrib4NubvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NubvARB(index: UInt32; var v: Byte) := VertexAttrib4NubvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NubvARB(index: UInt32; v: pointer) := z_VertexAttrib4NubvARB(index, v); + + public z_VertexAttrib4NusvARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4NusvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NusvARB(index: UInt32; v: array of UInt16) := VertexAttrib4NusvARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NusvARB(index: UInt32; var v: UInt16) := VertexAttrib4NusvARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NusvARB(index: UInt32; v: pointer) := z_VertexAttrib4NusvARB(index, v); + + public z_VertexAttrib4NuivARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4NuivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NuivARB(index: UInt32; v: array of UInt32) := VertexAttrib4NuivARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NuivARB(index: UInt32; var v: UInt32) := VertexAttrib4NuivARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4NuivARB(index: UInt32; v: pointer) := z_VertexAttrib4NuivARB(index, v); + + public z_VertexAttribPointerARB: procedure(index: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexAttribPointerARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribPointerARB(index: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; stride: Int32; _pointer: pointer) := z_VertexAttribPointerARB(index, size, &type, normalized, stride, _pointer); + + public z_EnableVertexAttribArrayARB: procedure(index: UInt32) := GetGLFuncOrNil&('glEnableVertexAttribArrayARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableVertexAttribArrayARB(index: UInt32) := z_EnableVertexAttribArrayARB(index); + + public z_DisableVertexAttribArrayARB: procedure(index: UInt32) := GetGLFuncOrNil&('glDisableVertexAttribArrayARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableVertexAttribArrayARB(index: UInt32) := z_DisableVertexAttribArrayARB(index); + + public z_GetVertexAttribdvARB: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribdvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdvARB(index: UInt32; pname: DummyEnum; ¶ms: array of double) := GetVertexAttribdvARB(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdvARB(index: UInt32; pname: DummyEnum; var ¶ms: double) := GetVertexAttribdvARB(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdvARB(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribdvARB(index, pname, ¶ms); + + public z_GetVertexAttribfvARB: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfvARB(index: UInt32; pname: DummyEnum; ¶ms: array of single) := GetVertexAttribfvARB(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfvARB(index: UInt32; pname: DummyEnum; var ¶ms: single) := GetVertexAttribfvARB(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfvARB(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribfvARB(index, pname, ¶ms); + + public z_GetVertexAttribivARB: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribivARB(index: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVertexAttribivARB(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribivARB(index: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVertexAttribivARB(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribivARB(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribivARB(index, pname, ¶ms); + + public z_GetVertexAttribPointervARB: procedure(index: UInt32; pname: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glGetVertexAttribPointervARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointervARB(index: UInt32; pname: DummyEnum; _pointer: array of IntPtr) := GetVertexAttribPointervARB(index, pname, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointervARB(index: UInt32; pname: DummyEnum; var _pointer: IntPtr) := GetVertexAttribPointervARB(index, pname, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointervARB(index: UInt32; pname: DummyEnum; _pointer: pointer) := z_GetVertexAttribPointervARB(index, pname, _pointer); + + {$endregion ARB_vertex_program ARB_vertex_shader} + + {$region ARB_compute_variable_group_size} + + public z_DispatchComputeGroupSizeARB: procedure(num_groups_x: UInt32; num_groups_y: UInt32; num_groups_z: UInt32; group_size_x: UInt32; group_size_y: UInt32; group_size_z: UInt32) := GetGLFuncOrNil&('glDispatchComputeGroupSizeARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DispatchComputeGroupSizeARB(num_groups_x: UInt32; num_groups_y: UInt32; num_groups_z: UInt32; group_size_x: UInt32; group_size_y: UInt32; group_size_z: UInt32) := z_DispatchComputeGroupSizeARB(num_groups_x, num_groups_y, num_groups_z, group_size_x, group_size_y, group_size_z); + + {$endregion ARB_compute_variable_group_size} + + {$region ARB_draw_instanced} + + public z_DrawArraysInstancedARB: procedure(mode: DummyEnum; first: Int32; count: Int32; primcount: Int32) := GetGLFuncOrNil&('glDrawArraysInstancedARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysInstancedARB(mode: DummyEnum; first: Int32; count: Int32; primcount: Int32) := z_DrawArraysInstancedARB(mode, first, count, primcount); + + public z_DrawElementsInstancedARB: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := GetGLFuncOrNil&('glDrawElementsInstancedARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedARB(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := z_DrawElementsInstancedARB(mode, count, &type, indices, primcount); + + {$endregion ARB_draw_instanced} + + {$region ARB_draw_buffers} + + public z_DrawBuffersARB: procedure(n: Int32; bufs: pointer) := GetGLFuncOrNil&('glDrawBuffersARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersARB(n: Int32; bufs: array of DummyEnum) := DrawBuffersARB(n, bufs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersARB(n: Int32; var bufs: DummyEnum) := DrawBuffersARB(n, @bufs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersARB(n: Int32; bufs: pointer) := z_DrawBuffersARB(n, bufs); + + {$endregion ARB_draw_buffers} + + {$region OES_draw_texture} + + public z_DrawTexsOES: procedure(x: Int16; y: Int16; z: Int16; width: Int16; height: Int16) := GetGLFuncOrNil&('glDrawTexsOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexsOES(x: Int16; y: Int16; z: Int16; width: Int16; height: Int16) := z_DrawTexsOES(x, y, z, width, height); + + public z_DrawTexiOES: procedure(x: Int32; y: Int32; z: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glDrawTexiOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexiOES(x: Int32; y: Int32; z: Int32; width: Int32; height: Int32) := z_DrawTexiOES(x, y, z, width, height); + + public z_DrawTexfOES: procedure(x: single; y: single; z: single; width: single; height: single) := GetGLFuncOrNil&('glDrawTexfOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexfOES(x: single; y: single; z: single; width: single; height: single) := z_DrawTexfOES(x, y, z, width, height); + + public z_DrawTexxOES: procedure(x: fixed; y: fixed; z: fixed; width: fixed; height: fixed) := GetGLFuncOrNil&('glDrawTexxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexxOES(x: fixed; y: fixed; z: fixed; width: fixed; height: fixed) := z_DrawTexxOES(x, y, z, width, height); + + public z_DrawTexsvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glDrawTexsvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexsvOES(coords: array of Int16) := DrawTexsvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexsvOES(var coords: Int16) := DrawTexsvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexsvOES(coords: pointer) := z_DrawTexsvOES(coords); + + public z_DrawTexivOES: procedure(coords: pointer) := GetGLFuncOrNil&('glDrawTexivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexivOES(coords: array of Int32) := DrawTexivOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexivOES(var coords: Int32) := DrawTexivOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexivOES(coords: pointer) := z_DrawTexivOES(coords); + + public z_DrawTexfvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glDrawTexfvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexfvOES(coords: array of single) := DrawTexfvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexfvOES(var coords: single) := DrawTexfvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexfvOES(coords: pointer) := z_DrawTexfvOES(coords); + + public z_DrawTexxvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glDrawTexxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexxvOES(coords: array of fixed) := DrawTexxvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexxvOES(var coords: fixed) := DrawTexxvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTexxvOES(coords: pointer) := z_DrawTexxvOES(coords); + + public z_TexParameterxv: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterxv'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterxv(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := TexParameterxv(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterxv(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := TexParameterxv(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterxv(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexParameterxv(target, pname, ¶ms); + + {$endregion OES_draw_texture} + + {$region ARB_sample_locations} + + public z_FramebufferSampleLocationsfvARB: procedure(target: DummyEnum; start: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glFramebufferSampleLocationsfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSampleLocationsfvARB(target: DummyEnum; start: UInt32; count: Int32; v: array of single) := FramebufferSampleLocationsfvARB(target, start, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSampleLocationsfvARB(target: DummyEnum; start: UInt32; count: Int32; var v: single) := FramebufferSampleLocationsfvARB(target, start, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSampleLocationsfvARB(target: DummyEnum; start: UInt32; count: Int32; v: pointer) := z_FramebufferSampleLocationsfvARB(target, start, count, v); + + public z_NamedFramebufferSampleLocationsfvARB: procedure(framebuffer: UInt32; start: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glNamedFramebufferSampleLocationsfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSampleLocationsfvARB(framebuffer: UInt32; start: UInt32; count: Int32; v: array of single) := NamedFramebufferSampleLocationsfvARB(framebuffer, start, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSampleLocationsfvARB(framebuffer: UInt32; start: UInt32; count: Int32; var v: single) := NamedFramebufferSampleLocationsfvARB(framebuffer, start, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSampleLocationsfvARB(framebuffer: UInt32; start: UInt32; count: Int32; v: pointer) := z_NamedFramebufferSampleLocationsfvARB(framebuffer, start, count, v); + + public z_EvaluateDepthValuesARB: procedure := GetGLFuncOrNil&('glEvaluateDepthValuesARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvaluateDepthValuesARB := z_EvaluateDepthValuesARB; + + {$endregion ARB_sample_locations} + + {$region ARB_geometry_shader4} + + public z_ProgramParameteriARB: procedure(&program: UInt32; pname: DummyEnum; value: Int32) := GetGLFuncOrNil&('glProgramParameteriARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameteriARB(&program: UInt32; pname: DummyEnum; value: Int32) := z_ProgramParameteriARB(&program, pname, value); + + public z_FramebufferTextureARB: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32) := GetGLFuncOrNil&('glFramebufferTextureARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureARB(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32) := z_FramebufferTextureARB(target, attachment, texture, level); + + public z_FramebufferTextureLayerARB: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; layer: Int32) := GetGLFuncOrNil&('glFramebufferTextureLayerARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureLayerARB(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; layer: Int32) := z_FramebufferTextureLayerARB(target, attachment, texture, level, layer); + + public z_FramebufferTextureFaceARB: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; face: DummyEnum) := GetGLFuncOrNil&('glFramebufferTextureFaceARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureFaceARB(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; face: DummyEnum) := z_FramebufferTextureFaceARB(target, attachment, texture, level, face); + + {$endregion ARB_geometry_shader4} + + {$region ARB_bindless_texture} + + public z_GetTextureHandleARB: function(texture: UInt32): UInt64 := GetGLFuncOrNil&('glGetTextureHandleARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTextureHandleARB(texture: UInt32): UInt64 := z_GetTextureHandleARB(texture); + + public z_GetTextureSamplerHandleARB: function(texture: UInt32; sampler: UInt32): UInt64 := GetGLFuncOrNil&('glGetTextureSamplerHandleARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTextureSamplerHandleARB(texture: UInt32; sampler: UInt32): UInt64 := z_GetTextureSamplerHandleARB(texture, sampler); + + public z_MakeTextureHandleResidentARB: procedure(handle: UInt64) := GetGLFuncOrNil&('glMakeTextureHandleResidentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeTextureHandleResidentARB(handle: UInt64) := z_MakeTextureHandleResidentARB(handle); + + public z_MakeTextureHandleNonResidentARB: procedure(handle: UInt64) := GetGLFuncOrNil&('glMakeTextureHandleNonResidentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeTextureHandleNonResidentARB(handle: UInt64) := z_MakeTextureHandleNonResidentARB(handle); + + public z_GetImageHandleARB: function(texture: UInt32; level: Int32; layered: Byte; layer: Int32; format: DummyEnum): UInt64 := GetGLFuncOrNil&('glGetImageHandleARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetImageHandleARB(texture: UInt32; level: Int32; layered: Byte; layer: Int32; format: DummyEnum): UInt64 := z_GetImageHandleARB(texture, level, layered, layer, format); + + public z_MakeImageHandleResidentARB: procedure(handle: UInt64; access: DummyEnum) := GetGLFuncOrNil&('glMakeImageHandleResidentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeImageHandleResidentARB(handle: UInt64; access: DummyEnum) := z_MakeImageHandleResidentARB(handle, access); + + public z_MakeImageHandleNonResidentARB: procedure(handle: UInt64) := GetGLFuncOrNil&('glMakeImageHandleNonResidentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeImageHandleNonResidentARB(handle: UInt64) := z_MakeImageHandleNonResidentARB(handle); + + public z_UniformHandleui64ARB: procedure(location: Int32; value: UInt64) := GetGLFuncOrNil&('glUniformHandleui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64ARB(location: Int32; value: UInt64) := z_UniformHandleui64ARB(location, value); + + public z_UniformHandleui64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniformHandleui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vARB(location: Int32; count: Int32; value: array of UInt64) := UniformHandleui64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vARB(location: Int32; count: Int32; var value: UInt64) := UniformHandleui64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vARB(location: Int32; count: Int32; value: pointer) := z_UniformHandleui64vARB(location, count, value); + + public z_ProgramUniformHandleui64ARB: procedure(&program: UInt32; location: Int32; value: UInt64) := GetGLFuncOrNil&('glProgramUniformHandleui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64ARB(&program: UInt32; location: Int32; value: UInt64) := z_ProgramUniformHandleui64ARB(&program, location, value); + + public z_ProgramUniformHandleui64vARB: procedure(&program: UInt32; location: Int32; count: Int32; values: pointer) := GetGLFuncOrNil&('glProgramUniformHandleui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vARB(&program: UInt32; location: Int32; count: Int32; values: array of UInt64) := ProgramUniformHandleui64vARB(&program, location, count, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vARB(&program: UInt32; location: Int32; count: Int32; var values: UInt64) := ProgramUniformHandleui64vARB(&program, location, count, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vARB(&program: UInt32; location: Int32; count: Int32; values: pointer) := z_ProgramUniformHandleui64vARB(&program, location, count, values); + + public z_IsTextureHandleResidentARB: function(handle: UInt64): Byte := GetGLFuncOrNil&('glIsTextureHandleResidentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsTextureHandleResidentARB(handle: UInt64): Byte := z_IsTextureHandleResidentARB(handle); + + public z_IsImageHandleResidentARB: function(handle: UInt64): Byte := GetGLFuncOrNil&('glIsImageHandleResidentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsImageHandleResidentARB(handle: UInt64): Byte := z_IsImageHandleResidentARB(handle); + + public z_VertexAttribL1ui64ARB: procedure(index: UInt32; x: UInt64) := GetGLFuncOrNil&('glVertexAttribL1ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64ARB(index: UInt32; x: UInt64) := z_VertexAttribL1ui64ARB(index, x); + + public z_VertexAttribL1ui64vARB: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL1ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64vARB(index: UInt32; v: array of UInt64) := VertexAttribL1ui64vARB(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64vARB(index: UInt32; var v: UInt64) := VertexAttribL1ui64vARB(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64vARB(index: UInt32; v: pointer) := z_VertexAttribL1ui64vARB(index, v); + + public z_GetVertexAttribLui64vARB: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribLui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLui64vARB(index: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := GetVertexAttribLui64vARB(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLui64vARB(index: UInt32; pname: DummyEnum; var ¶ms: UInt64) := GetVertexAttribLui64vARB(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLui64vARB(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribLui64vARB(index, pname, ¶ms); + + {$endregion ARB_bindless_texture} + + {$region ARB_gpu_shader_int64} + + public z_Uniform1i64ARB: procedure(location: Int32; x: Int64) := GetGLFuncOrNil&('glUniform1i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64ARB(location: Int32; x: Int64) := z_Uniform1i64ARB(location, x); + + public z_Uniform2i64ARB: procedure(location: Int32; x: Int64; y: Int64) := GetGLFuncOrNil&('glUniform2i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64ARB(location: Int32; x: Int64; y: Int64) := z_Uniform2i64ARB(location, x, y); + + public z_Uniform3i64ARB: procedure(location: Int32; x: Int64; y: Int64; z: Int64) := GetGLFuncOrNil&('glUniform3i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64ARB(location: Int32; x: Int64; y: Int64; z: Int64) := z_Uniform3i64ARB(location, x, y, z); + + public z_Uniform4i64ARB: procedure(location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := GetGLFuncOrNil&('glUniform4i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64ARB(location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := z_Uniform4i64ARB(location, x, y, z, w); + + public z_Uniform1i64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64vARB(location: Int32; count: Int32; value: array of Int64) := Uniform1i64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64vARB(location: Int32; count: Int32; var value: Int64) := Uniform1i64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform1i64vARB(location, count, value); + + public z_Uniform2i64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64vARB(location: Int32; count: Int32; value: array of Int64) := Uniform2i64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64vARB(location: Int32; count: Int32; var value: Int64) := Uniform2i64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform2i64vARB(location, count, value); + + public z_Uniform3i64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64vARB(location: Int32; count: Int32; value: array of Int64) := Uniform3i64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64vARB(location: Int32; count: Int32; var value: Int64) := Uniform3i64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform3i64vARB(location, count, value); + + public z_Uniform4i64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64vARB(location: Int32; count: Int32; value: array of Int64) := Uniform4i64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64vARB(location: Int32; count: Int32; var value: Int64) := Uniform4i64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform4i64vARB(location, count, value); + + public z_Uniform1ui64ARB: procedure(location: Int32; x: UInt64) := GetGLFuncOrNil&('glUniform1ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64ARB(location: Int32; x: UInt64) := z_Uniform1ui64ARB(location, x); + + public z_Uniform2ui64ARB: procedure(location: Int32; x: UInt64; y: UInt64) := GetGLFuncOrNil&('glUniform2ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64ARB(location: Int32; x: UInt64; y: UInt64) := z_Uniform2ui64ARB(location, x, y); + + public z_Uniform3ui64ARB: procedure(location: Int32; x: UInt64; y: UInt64; z: UInt64) := GetGLFuncOrNil&('glUniform3ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64ARB(location: Int32; x: UInt64; y: UInt64; z: UInt64) := z_Uniform3ui64ARB(location, x, y, z); + + public z_Uniform4ui64ARB: procedure(location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := GetGLFuncOrNil&('glUniform4ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64ARB(location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := z_Uniform4ui64ARB(location, x, y, z, w); + + public z_Uniform1ui64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64vARB(location: Int32; count: Int32; value: array of UInt64) := Uniform1ui64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64vARB(location: Int32; count: Int32; var value: UInt64) := Uniform1ui64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform1ui64vARB(location, count, value); + + public z_Uniform2ui64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64vARB(location: Int32; count: Int32; value: array of UInt64) := Uniform2ui64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64vARB(location: Int32; count: Int32; var value: UInt64) := Uniform2ui64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform2ui64vARB(location, count, value); + + public z_Uniform3ui64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64vARB(location: Int32; count: Int32; value: array of UInt64) := Uniform3ui64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64vARB(location: Int32; count: Int32; var value: UInt64) := Uniform3ui64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform3ui64vARB(location, count, value); + + public z_Uniform4ui64vARB: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64vARB(location: Int32; count: Int32; value: array of UInt64) := Uniform4ui64vARB(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64vARB(location: Int32; count: Int32; var value: UInt64) := Uniform4ui64vARB(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64vARB(location: Int32; count: Int32; value: pointer) := z_Uniform4ui64vARB(location, count, value); + + public z_GetUniformi64vARB: procedure(&program: UInt32; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformi64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformi64vARB(&program: UInt32; location: Int32; ¶ms: array of Int64) := GetUniformi64vARB(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformi64vARB(&program: UInt32; location: Int32; var ¶ms: Int64) := GetUniformi64vARB(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformi64vARB(&program: UInt32; location: Int32; ¶ms: pointer) := z_GetUniformi64vARB(&program, location, ¶ms); + + public z_GetUniformui64vARB: procedure(&program: UInt32; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformui64vARB(&program: UInt32; location: Int32; ¶ms: array of UInt64) := GetUniformui64vARB(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformui64vARB(&program: UInt32; location: Int32; var ¶ms: UInt64) := GetUniformui64vARB(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformui64vARB(&program: UInt32; location: Int32; ¶ms: pointer) := z_GetUniformui64vARB(&program, location, ¶ms); + + public z_GetnUniformi64vARB: procedure(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformi64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformi64vARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: array of Int64) := GetnUniformi64vARB(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformi64vARB(&program: UInt32; location: Int32; bufSize: Int32; var ¶ms: Int64) := GetnUniformi64vARB(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformi64vARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformi64vARB(&program, location, bufSize, ¶ms); + + public z_GetnUniformui64vARB: procedure(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformui64vARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: array of UInt64) := GetnUniformui64vARB(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformui64vARB(&program: UInt32; location: Int32; bufSize: Int32; var ¶ms: UInt64) := GetnUniformui64vARB(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformui64vARB(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformui64vARB(&program, location, bufSize, ¶ms); + + public z_ProgramUniform1i64ARB: procedure(&program: UInt32; location: Int32; x: Int64) := GetGLFuncOrNil&('glProgramUniform1i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64ARB(&program: UInt32; location: Int32; x: Int64) := z_ProgramUniform1i64ARB(&program, location, x); + + public z_ProgramUniform2i64ARB: procedure(&program: UInt32; location: Int32; x: Int64; y: Int64) := GetGLFuncOrNil&('glProgramUniform2i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64ARB(&program: UInt32; location: Int32; x: Int64; y: Int64) := z_ProgramUniform2i64ARB(&program, location, x, y); + + public z_ProgramUniform3i64ARB: procedure(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64) := GetGLFuncOrNil&('glProgramUniform3i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64ARB(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64) := z_ProgramUniform3i64ARB(&program, location, x, y, z); + + public z_ProgramUniform4i64ARB: procedure(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := GetGLFuncOrNil&('glProgramUniform4i64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64ARB(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := z_ProgramUniform4i64ARB(&program, location, x, y, z, w); + + public z_ProgramUniform1i64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64vARB(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform1i64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64vARB(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform1i64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1i64vARB(&program, location, count, value); + + public z_ProgramUniform2i64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64vARB(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform2i64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64vARB(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform2i64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2i64vARB(&program, location, count, value); + + public z_ProgramUniform3i64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64vARB(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform3i64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64vARB(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform3i64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3i64vARB(&program, location, count, value); + + public z_ProgramUniform4i64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4i64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64vARB(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform4i64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64vARB(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform4i64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4i64vARB(&program, location, count, value); + + public z_ProgramUniform1ui64ARB: procedure(&program: UInt32; location: Int32; x: UInt64) := GetGLFuncOrNil&('glProgramUniform1ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64ARB(&program: UInt32; location: Int32; x: UInt64) := z_ProgramUniform1ui64ARB(&program, location, x); + + public z_ProgramUniform2ui64ARB: procedure(&program: UInt32; location: Int32; x: UInt64; y: UInt64) := GetGLFuncOrNil&('glProgramUniform2ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64ARB(&program: UInt32; location: Int32; x: UInt64; y: UInt64) := z_ProgramUniform2ui64ARB(&program, location, x, y); + + public z_ProgramUniform3ui64ARB: procedure(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64) := GetGLFuncOrNil&('glProgramUniform3ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64ARB(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64) := z_ProgramUniform3ui64ARB(&program, location, x, y, z); + + public z_ProgramUniform4ui64ARB: procedure(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := GetGLFuncOrNil&('glProgramUniform4ui64ARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64ARB(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := z_ProgramUniform4ui64ARB(&program, location, x, y, z, w); + + public z_ProgramUniform1ui64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64vARB(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform1ui64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64vARB(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform1ui64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1ui64vARB(&program, location, count, value); + + public z_ProgramUniform2ui64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64vARB(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform2ui64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64vARB(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform2ui64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2ui64vARB(&program, location, count, value); + + public z_ProgramUniform3ui64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64vARB(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform3ui64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64vARB(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform3ui64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3ui64vARB(&program, location, count, value); + + public z_ProgramUniform4ui64vARB: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4ui64vARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64vARB(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform4ui64vARB(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64vARB(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform4ui64vARB(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64vARB(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4ui64vARB(&program, location, count, value); + + {$endregion ARB_gpu_shader_int64} + + {$region ARB_fragment_program ARB_vertex_program NV_fragment_program} + + public z_ProgramLocalParameter4dARB: procedure(target: DummyEnum; index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glProgramLocalParameter4dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4dARB(target: DummyEnum; index: UInt32; x: double; y: double; z: double; w: double) := z_ProgramLocalParameter4dARB(target, index, x, y, z, w); + + public z_ProgramLocalParameter4dvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramLocalParameter4dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4dvARB(target: DummyEnum; index: UInt32; ¶ms: array of double) := ProgramLocalParameter4dvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4dvARB(target: DummyEnum; index: UInt32; var ¶ms: double) := ProgramLocalParameter4dvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4dvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramLocalParameter4dvARB(target, index, ¶ms); + + public z_ProgramLocalParameter4fARB: procedure(target: DummyEnum; index: UInt32; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glProgramLocalParameter4fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4fARB(target: DummyEnum; index: UInt32; x: single; y: single; z: single; w: single) := z_ProgramLocalParameter4fARB(target, index, x, y, z, w); + + public z_ProgramLocalParameter4fvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramLocalParameter4fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4fvARB(target: DummyEnum; index: UInt32; ¶ms: array of single) := ProgramLocalParameter4fvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4fvARB(target: DummyEnum; index: UInt32; var ¶ms: single) := ProgramLocalParameter4fvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameter4fvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramLocalParameter4fvARB(target, index, ¶ms); + + public z_GetProgramLocalParameterdvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramLocalParameterdvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterdvARB(target: DummyEnum; index: UInt32; ¶ms: array of double) := GetProgramLocalParameterdvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterdvARB(target: DummyEnum; index: UInt32; var ¶ms: double) := GetProgramLocalParameterdvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterdvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramLocalParameterdvARB(target, index, ¶ms); + + public z_GetProgramLocalParameterfvARB: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramLocalParameterfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterfvARB(target: DummyEnum; index: UInt32; ¶ms: array of single) := GetProgramLocalParameterfvARB(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterfvARB(target: DummyEnum; index: UInt32; var ¶ms: single) := GetProgramLocalParameterfvARB(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterfvARB(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramLocalParameterfvARB(target, index, ¶ms); + + {$endregion ARB_fragment_program ARB_vertex_program NV_fragment_program} + + {$region ARB_transpose_matrix} + + public z_LoadTransposeMatrixfARB: procedure(m: pointer) := GetGLFuncOrNil&('glLoadTransposeMatrixfARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixfARB(m: array of single) := LoadTransposeMatrixfARB(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixfARB(var m: single) := LoadTransposeMatrixfARB(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixfARB(m: pointer) := z_LoadTransposeMatrixfARB(m); + + public z_LoadTransposeMatrixdARB: procedure(m: pointer) := GetGLFuncOrNil&('glLoadTransposeMatrixdARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixdARB(m: array of double) := LoadTransposeMatrixdARB(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixdARB(var m: double) := LoadTransposeMatrixdARB(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixdARB(m: pointer) := z_LoadTransposeMatrixdARB(m); + + public z_MultTransposeMatrixfARB: procedure(m: pointer) := GetGLFuncOrNil&('glMultTransposeMatrixfARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixfARB(m: array of single) := MultTransposeMatrixfARB(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixfARB(var m: single) := MultTransposeMatrixfARB(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixfARB(m: pointer) := z_MultTransposeMatrixfARB(m); + + public z_MultTransposeMatrixdARB: procedure(m: pointer) := GetGLFuncOrNil&('glMultTransposeMatrixdARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixdARB(m: array of double) := MultTransposeMatrixdARB(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixdARB(var m: double) := MultTransposeMatrixdARB(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixdARB(m: pointer) := z_MultTransposeMatrixdARB(m); + + {$endregion ARB_transpose_matrix} + + {$region ARB_parallel_shader_compile} + + public z_MaxShaderCompilerThreadsARB: procedure(count: UInt32) := GetGLFuncOrNil&('glMaxShaderCompilerThreadsARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MaxShaderCompilerThreadsARB(count: UInt32) := z_MaxShaderCompilerThreadsARB(count); + + {$endregion ARB_parallel_shader_compile} + + {$region ARB_sample_shading} + + public z_MinSampleShadingARB: procedure(value: single) := GetGLFuncOrNil&('glMinSampleShadingARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MinSampleShadingARB(value: single) := z_MinSampleShadingARB(value); + + {$endregion ARB_sample_shading} + + {$region ARB_indirect_parameters} + + public z_MultiDrawArraysIndirectCountARB: procedure(mode: DummyEnum; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawArraysIndirectCountARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectCountARB(mode: DummyEnum; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := z_MultiDrawArraysIndirectCountARB(mode, indirect, drawcount, maxdrawcount, stride); + + public z_MultiDrawElementsIndirectCountARB: procedure(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawElementsIndirectCountARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirectCountARB(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := z_MultiDrawElementsIndirectCountARB(mode, &type, indirect, drawcount, maxdrawcount, stride); + + {$endregion ARB_indirect_parameters} + + {$region ARB_point_parameters} + + public z_PointParameterfARB: procedure(pname: DummyEnum; param: single) := GetGLFuncOrNil&('glPointParameterfARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfARB(pname: DummyEnum; param: single) := z_PointParameterfARB(pname, param); + + public z_PointParameterfvARB: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPointParameterfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfvARB(pname: DummyEnum; ¶ms: array of single) := PointParameterfvARB(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfvARB(pname: DummyEnum; var ¶ms: single) := PointParameterfvARB(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfvARB(pname: DummyEnum; ¶ms: pointer) := z_PointParameterfvARB(pname, ¶ms); + + {$endregion ARB_point_parameters} + + {$region ARB_ES3_2_compatibility} + + public z_PrimitiveBoundingBoxARB: procedure(minX: single; minY: single; minZ: single; minW: single; maxX: single; maxY: single; maxZ: single; maxW: single) := GetGLFuncOrNil&('glPrimitiveBoundingBoxARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrimitiveBoundingBoxARB(minX: single; minY: single; minZ: single; minW: single; maxX: single; maxY: single; maxZ: single; maxW: single) := z_PrimitiveBoundingBoxARB(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); + + {$endregion ARB_ES3_2_compatibility} + + {$region ARB_multisample} + + public z_SampleCoverageARB: procedure(value: single; invert: Byte) := GetGLFuncOrNil&('glSampleCoverageARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleCoverageARB(value: single; invert: Byte) := z_SampleCoverageARB(value, invert); + + {$endregion ARB_multisample} + + {$region ARB_gl_spirv} + + public z_SpecializeShaderARB: procedure(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer) := GetGLFuncOrNil&('glSpecializeShaderARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of UInt32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; var pConstantValue: UInt32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, pConstantIndex[0], @pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: pointer); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, pConstantIndex[0], pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; pConstantValue: array of UInt32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, @pConstantIndex, pConstantValue[0]); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: UInt32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, @pConstantIndex, @pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; pConstantValue: pointer); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, @pConstantIndex, pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: array of UInt32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, pConstantIndex, pConstantValue[0]); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: pointer; var pConstantValue: UInt32); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, pConstantIndex, @pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: string; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer); begin var ptr_2 := Marshal.StringToHGlobalAnsi(pEntryPoint); SpecializeShaderARB(shader, ptr_2, numSpecializationConstants, pConstantIndex, pConstantValue); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: array of UInt32) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex[0], pConstantValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; var pConstantValue: UInt32) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex[0], @pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: array of UInt32; pConstantValue: pointer) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex[0], pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; pConstantValue: array of UInt32) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, @pConstantIndex, pConstantValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; var pConstantValue: UInt32) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, @pConstantIndex, @pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; var pConstantIndex: UInt32; pConstantValue: pointer) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, @pConstantIndex, pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: array of UInt32) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: pointer; var pConstantValue: UInt32) := SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, @pConstantValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpecializeShaderARB(shader: UInt32; pEntryPoint: IntPtr; numSpecializationConstants: UInt32; pConstantIndex: pointer; pConstantValue: pointer) := z_SpecializeShaderARB(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + + {$endregion ARB_gl_spirv} + + {$region ARB_texture_buffer_object} + + public z_TexBufferARB: procedure(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32) := GetGLFuncOrNil&('glTexBufferARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBufferARB(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32) := z_TexBufferARB(target, internalformat, buffer); + + {$endregion ARB_texture_buffer_object} + + {$region ARB_sparse_texture} + + public z_TexPageCommitmentARB: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: Byte) := GetGLFuncOrNil&('glTexPageCommitmentARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexPageCommitmentARB(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: Byte) := z_TexPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, commit); + + {$endregion ARB_sparse_texture} + + {$region ARB_vertex_blend} + + public z_WeightbvARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightbvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightbvARB(size: Int32; weights: array of SByte) := WeightbvARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightbvARB(size: Int32; var weights: SByte) := WeightbvARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightbvARB(size: Int32; weights: pointer) := z_WeightbvARB(size, weights); + + public z_WeightsvARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightsvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightsvARB(size: Int32; weights: array of Int16) := WeightsvARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightsvARB(size: Int32; var weights: Int16) := WeightsvARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightsvARB(size: Int32; weights: pointer) := z_WeightsvARB(size, weights); + + public z_WeightivARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightivARB(size: Int32; weights: array of Int32) := WeightivARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightivARB(size: Int32; var weights: Int32) := WeightivARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightivARB(size: Int32; weights: pointer) := z_WeightivARB(size, weights); + + public z_WeightfvARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightfvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightfvARB(size: Int32; weights: array of single) := WeightfvARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightfvARB(size: Int32; var weights: single) := WeightfvARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightfvARB(size: Int32; weights: pointer) := z_WeightfvARB(size, weights); + + public z_WeightdvARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightdvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightdvARB(size: Int32; weights: array of double) := WeightdvARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightdvARB(size: Int32; var weights: double) := WeightdvARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightdvARB(size: Int32; weights: pointer) := z_WeightdvARB(size, weights); + + public z_WeightubvARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightubvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightubvARB(size: Int32; weights: array of Byte) := WeightubvARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightubvARB(size: Int32; var weights: Byte) := WeightubvARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightubvARB(size: Int32; weights: pointer) := z_WeightubvARB(size, weights); + + public z_WeightusvARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightusvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightusvARB(size: Int32; weights: array of UInt16) := WeightusvARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightusvARB(size: Int32; var weights: UInt16) := WeightusvARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightusvARB(size: Int32; weights: pointer) := z_WeightusvARB(size, weights); + + public z_WeightuivARB: procedure(size: Int32; weights: pointer) := GetGLFuncOrNil&('glWeightuivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightuivARB(size: Int32; weights: array of UInt32) := WeightuivARB(size, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightuivARB(size: Int32; var weights: UInt32) := WeightuivARB(size, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightuivARB(size: Int32; weights: pointer) := z_WeightuivARB(size, weights); + + public z_WeightPointerARB: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glWeightPointerARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightPointerARB(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_WeightPointerARB(size, &type, stride, _pointer); + + public z_VertexBlendARB: procedure(count: Int32) := GetGLFuncOrNil&('glVertexBlendARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexBlendARB(count: Int32) := z_VertexBlendARB(count); + + {$endregion ARB_vertex_blend} + + {$region ARB_window_pos} + + public z_WindowPos2dARB: procedure(x: double; y: double) := GetGLFuncOrNil&('glWindowPos2dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dARB(x: double; y: double) := z_WindowPos2dARB(x, y); + + public z_WindowPos2fARB: procedure(x: single; y: single) := GetGLFuncOrNil&('glWindowPos2fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fARB(x: single; y: single) := z_WindowPos2fARB(x, y); + + public z_WindowPos2iARB: procedure(x: Int32; y: Int32) := GetGLFuncOrNil&('glWindowPos2iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2iARB(x: Int32; y: Int32) := z_WindowPos2iARB(x, y); + + public z_WindowPos2sARB: procedure(x: Int16; y: Int16) := GetGLFuncOrNil&('glWindowPos2sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2sARB(x: Int16; y: Int16) := z_WindowPos2sARB(x, y); + + public z_WindowPos2dvARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dvARB(v: array of double) := WindowPos2dvARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dvARB(var v: double) := WindowPos2dvARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dvARB(v: pointer) := z_WindowPos2dvARB(v); + + public z_WindowPos2fvARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fvARB(v: array of single) := WindowPos2fvARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fvARB(var v: single) := WindowPos2fvARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fvARB(v: pointer) := z_WindowPos2fvARB(v); + + public z_WindowPos2ivARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2ivARB(v: array of Int32) := WindowPos2ivARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2ivARB(var v: Int32) := WindowPos2ivARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2ivARB(v: pointer) := z_WindowPos2ivARB(v); + + public z_WindowPos2svARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2svARB(v: array of Int16) := WindowPos2svARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2svARB(var v: Int16) := WindowPos2svARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2svARB(v: pointer) := z_WindowPos2svARB(v); + + public z_WindowPos3dARB: procedure(x: double; y: double; z: double) := GetGLFuncOrNil&('glWindowPos3dARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dARB(x: double; y: double; z: double) := z_WindowPos3dARB(x, y, z); + + public z_WindowPos3fARB: procedure(x: single; y: single; z: single) := GetGLFuncOrNil&('glWindowPos3fARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fARB(x: single; y: single; z: single) := z_WindowPos3fARB(x, y, z); + + public z_WindowPos3iARB: procedure(x: Int32; y: Int32; z: Int32) := GetGLFuncOrNil&('glWindowPos3iARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3iARB(x: Int32; y: Int32; z: Int32) := z_WindowPos3iARB(x, y, z); + + public z_WindowPos3sARB: procedure(x: Int16; y: Int16; z: Int16) := GetGLFuncOrNil&('glWindowPos3sARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3sARB(x: Int16; y: Int16; z: Int16) := z_WindowPos3sARB(x, y, z); + + public z_WindowPos3dvARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3dvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dvARB(v: array of double) := WindowPos3dvARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dvARB(var v: double) := WindowPos3dvARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dvARB(v: pointer) := z_WindowPos3dvARB(v); + + public z_WindowPos3fvARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3fvARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fvARB(v: array of single) := WindowPos3fvARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fvARB(var v: single) := WindowPos3fvARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fvARB(v: pointer) := z_WindowPos3fvARB(v); + + public z_WindowPos3ivARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3ivARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3ivARB(v: array of Int32) := WindowPos3ivARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3ivARB(var v: Int32) := WindowPos3ivARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3ivARB(v: pointer) := z_WindowPos3ivARB(v); + + public z_WindowPos3svARB: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3svARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3svARB(v: array of Int16) := WindowPos3svARB(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3svARB(var v: Int16) := WindowPos3svARB(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3svARB(v: pointer) := z_WindowPos3svARB(v); + + {$endregion ARB_window_pos} end; - /// Всё устаревшее (то что удалено из последней версии OpenGL + то что собираются удалить в следующих) - gl_Deprecated = static class + gl_EXT = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; - {$region Deprecated} + {$region EXT_win32_keyed_mutex} - {$region Old graphics} + public z_AcquireKeyedMutexWin32EXT: function(memory: UInt32; key: UInt64; timeout: UInt32): Byte := GetGLFuncOrNil&('glAcquireKeyedMutexWin32EXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AcquireKeyedMutexWin32EXT(memory: UInt32; key: UInt64; timeout: UInt32): Byte := z_AcquireKeyedMutexWin32EXT(memory, key, timeout); - static procedure &Begin(mode: PrimitiveType); - external 'opengl32.dll' name 'glBegin'; + public z_ReleaseKeyedMutexWin32EXT: function(memory: UInt32; key: UInt64): Byte := GetGLFuncOrNil&('glReleaseKeyedMutexWin32EXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ReleaseKeyedMutexWin32EXT(memory: UInt32; key: UInt64): Byte := z_ReleaseKeyedMutexWin32EXT(memory, key); - static procedure &End; - external 'opengl32.dll' name 'glEnd'; - static procedure _End; //ToDo #2041 - external 'opengl32.dll' name 'glEnd'; + {$endregion EXT_win32_keyed_mutex} - //ToDo тут не все явно + {$region EXT_separate_shader_objects} - {$region EdgeFlag[]} + public z_UseShaderProgramEXT: procedure(&type: DummyEnum; &program: UInt32) := GetGLFuncOrNil&('glUseShaderProgramEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UseShaderProgramEXT(&type: DummyEnum; &program: UInt32) := z_UseShaderProgramEXT(&type, &program); - {$endregion EdgeFlag[]} + public z_ActiveProgramEXT: procedure(&program: UInt32) := GetGLFuncOrNil&('glActiveProgramEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveProgramEXT(&program: UInt32) := z_ActiveProgramEXT(&program); - {$region Color[1,2,3,4][ub,f]} + public z_CreateShaderProgramEXT: function(&type: DummyEnum; string: IntPtr): UInt32 := GetGLFuncOrNil&('glCreateShaderProgramEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramEXT(&type: DummyEnum; _string: string): UInt32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(_string); Result := CreateShaderProgramEXT(&type, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramEXT(&type: DummyEnum; string: IntPtr): UInt32 := z_CreateShaderProgramEXT(&type, string); - static procedure Color4ub(red: Byte; green: Byte; blue: Byte; alpha: Byte); - external 'opengl32.dll' name 'glColor4ub'; + public z_UseProgramStagesEXT: procedure(pipeline: UInt32; stages: DummyFlags; &program: UInt32) := GetGLFuncOrNil&('glUseProgramStagesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UseProgramStagesEXT(pipeline: UInt32; stages: DummyFlags; &program: UInt32) := z_UseProgramStagesEXT(pipeline, stages, &program); - static procedure Color4f(red: single; green: single; blue: single; alpha: single); - external 'opengl32.dll' name 'glColor4f'; + public z_ActiveShaderProgramEXT: procedure(pipeline: UInt32; &program: UInt32) := GetGLFuncOrNil&('glActiveShaderProgramEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveShaderProgramEXT(pipeline: UInt32; &program: UInt32) := z_ActiveShaderProgramEXT(pipeline, &program); - {$endregion Color[1,2,3,4][ub,f]} + public z_CreateShaderProgramvEXT: function(&type: DummyEnum; count: Int32; strings: pointer): UInt32 := GetGLFuncOrNil&('glCreateShaderProgramvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramvEXT(&type: DummyEnum; count: Int32; strings: array of IntPtr): UInt32 := CreateShaderProgramvEXT(&type, count, strings[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramvEXT(&type: DummyEnum; count: Int32; var strings: IntPtr): UInt32 := CreateShaderProgramvEXT(&type, count, @strings); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateShaderProgramvEXT(&type: DummyEnum; count: Int32; strings: pointer): UInt32 := z_CreateShaderProgramvEXT(&type, count, strings); - {$region Color[1,2,3,4][ub,f]v} + public z_BindProgramPipelineEXT: procedure(pipeline: UInt32) := GetGLFuncOrNil&('glBindProgramPipelineEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindProgramPipelineEXT(pipeline: UInt32) := z_BindProgramPipelineEXT(pipeline); - static procedure Color4fv([MarshalAs(UnmanagedType.LPArray)] v: array of single); - external 'opengl32.dll' name 'glColor4fv'; - static procedure Color4fv(var v: Vec4f); - external 'opengl32.dll' name 'glColor4fv'; - static procedure Color4fv(var v: single); - external 'opengl32.dll' name 'glColor4fv'; - static procedure Color4fv(v: pointer); - external 'opengl32.dll' name 'glColor4fv'; + public z_DeleteProgramPipelinesEXT: procedure(n: Int32; pipelines: pointer) := GetGLFuncOrNil&('glDeleteProgramPipelinesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramPipelinesEXT(n: Int32; pipelines: array of UInt32) := DeleteProgramPipelinesEXT(n, pipelines[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramPipelinesEXT(n: Int32; var pipelines: UInt32) := DeleteProgramPipelinesEXT(n, @pipelines); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramPipelinesEXT(n: Int32; pipelines: pointer) := z_DeleteProgramPipelinesEXT(n, pipelines); - {$endregion Color[1,2,3,4][ub,f]v} + public z_GenProgramPipelinesEXT: procedure(n: Int32; pipelines: pointer) := GetGLFuncOrNil&('glGenProgramPipelinesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramPipelinesEXT(n: Int32; pipelines: array of UInt32) := GenProgramPipelinesEXT(n, pipelines[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramPipelinesEXT(n: Int32; var pipelines: UInt32) := GenProgramPipelinesEXT(n, @pipelines); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramPipelinesEXT(n: Int32; pipelines: pointer) := z_GenProgramPipelinesEXT(n, pipelines); - {$region FogCoord[]} + public z_IsProgramPipelineEXT: function(pipeline: UInt32): Byte := GetGLFuncOrNil&('glIsProgramPipelineEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsProgramPipelineEXT(pipeline: UInt32): Byte := z_IsProgramPipelineEXT(pipeline); - {$endregion FogCoord[]} + public z_GetProgramPipelineivEXT: procedure(pipeline: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramPipelineivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineivEXT(pipeline: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetProgramPipelineivEXT(pipeline, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineivEXT(pipeline: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetProgramPipelineivEXT(pipeline, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineivEXT(pipeline: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetProgramPipelineivEXT(pipeline, pname, ¶ms); - {$region Index[]} + public z_ProgramUniform1iEXT: procedure(&program: UInt32; location: Int32; v0: Int32) := GetGLFuncOrNil&('glProgramUniform1iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1iEXT(&program: UInt32; location: Int32; v0: Int32) := z_ProgramUniform1iEXT(&program, location, v0); - {$endregion Index[]} + public z_ProgramUniform2iEXT: procedure(&program: UInt32; location: Int32; v0: Int32; v1: Int32) := GetGLFuncOrNil&('glProgramUniform2iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2iEXT(&program: UInt32; location: Int32; v0: Int32; v1: Int32) := z_ProgramUniform2iEXT(&program, location, v0, v1); - {$region Normal3[]} + public z_ProgramUniform3iEXT: procedure(&program: UInt32; location: Int32; v0: Int32; v1: Int32; v2: Int32) := GetGLFuncOrNil&('glProgramUniform3iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3iEXT(&program: UInt32; location: Int32; v0: Int32; v1: Int32; v2: Int32) := z_ProgramUniform3iEXT(&program, location, v0, v1, v2); - {$endregion Normal3[]} + public z_ProgramUniform4iEXT: procedure(&program: UInt32; location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := GetGLFuncOrNil&('glProgramUniform4iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4iEXT(&program: UInt32; location: Int32; v0: Int32; v1: Int32; v2: Int32; v3: Int32) := z_ProgramUniform4iEXT(&program, location, v0, v1, v2, v3); - {$region SecondaryColor3[]} + public z_ProgramUniform1fEXT: procedure(&program: UInt32; location: Int32; v0: single) := GetGLFuncOrNil&('glProgramUniform1fEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fEXT(&program: UInt32; location: Int32; v0: single) := z_ProgramUniform1fEXT(&program, location, v0); - {$endregion SecondaryColor3[]} + public z_ProgramUniform2fEXT: procedure(&program: UInt32; location: Int32; v0: single; v1: single) := GetGLFuncOrNil&('glProgramUniform2fEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fEXT(&program: UInt32; location: Int32; v0: single; v1: single) := z_ProgramUniform2fEXT(&program, location, v0, v1); - {$region TexCoord[]} + public z_ProgramUniform3fEXT: procedure(&program: UInt32; location: Int32; v0: single; v1: single; v2: single) := GetGLFuncOrNil&('glProgramUniform3fEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fEXT(&program: UInt32; location: Int32; v0: single; v1: single; v2: single) := z_ProgramUniform3fEXT(&program, location, v0, v1, v2); - {$endregion TexCoord[]} + public z_ProgramUniform4fEXT: procedure(&program: UInt32; location: Int32; v0: single; v1: single; v2: single; v3: single) := GetGLFuncOrNil&('glProgramUniform4fEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fEXT(&program: UInt32; location: Int32; v0: single; v1: single; v2: single; v3: single) := z_ProgramUniform4fEXT(&program, location, v0, v1, v2, v3); - {$region Vertex[1,2,3,4][]} + public z_ProgramUniform1uiEXT: procedure(&program: UInt32; location: Int32; v0: UInt32) := GetGLFuncOrNil&('glProgramUniform1uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uiEXT(&program: UInt32; location: Int32; v0: UInt32) := z_ProgramUniform1uiEXT(&program, location, v0); - {$endregion Vertex[1,2,3,4][]} + public z_ProgramUniform2uiEXT: procedure(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32) := GetGLFuncOrNil&('glProgramUniform2uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uiEXT(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32) := z_ProgramUniform2uiEXT(&program, location, v0, v1); - {$region Vertex[1,2,3,4][]v} + public z_ProgramUniform3uiEXT: procedure(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := GetGLFuncOrNil&('glProgramUniform3uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uiEXT(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := z_ProgramUniform3uiEXT(&program, location, v0, v1, v2); - {$endregion Vertex[1,2,3,4][]v} + public z_ProgramUniform4uiEXT: procedure(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := GetGLFuncOrNil&('glProgramUniform4uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uiEXT(&program: UInt32; location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := z_ProgramUniform4uiEXT(&program, location, v0, v1, v2, v3); - static procedure Frustumf(left: single; right: single; bottom: single; top: single; zNear: single; zFar: single); - external 'opengl32.dll' name 'glFrustumf'; + public z_ProgramUniform1ivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ivEXT(&program: UInt32; location: Int32; count: Int32; value: array of Int32) := ProgramUniform1ivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ivEXT(&program: UInt32; location: Int32; count: Int32; var value: Int32) := ProgramUniform1ivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1ivEXT(&program, location, count, value); - static procedure GetLightfv(light: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetLightfv'; + public z_ProgramUniform2ivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ivEXT(&program: UInt32; location: Int32; count: Int32; value: array of Int32) := ProgramUniform2ivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ivEXT(&program: UInt32; location: Int32; count: Int32; var value: Int32) := ProgramUniform2ivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2ivEXT(&program, location, count, value); - static procedure GetMaterialfv(face: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMaterialfv'; + public z_ProgramUniform3ivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ivEXT(&program: UInt32; location: Int32; count: Int32; value: array of Int32) := ProgramUniform3ivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ivEXT(&program: UInt32; location: Int32; count: Int32; var value: Int32) := ProgramUniform3ivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3ivEXT(&program, location, count, value); - static procedure GetPolygonStipple(mask: ^Byte); - external 'opengl32.dll' name 'glGetPolygonStipple'; + public z_ProgramUniform4ivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ivEXT(&program: UInt32; location: Int32; count: Int32; value: array of Int32) := ProgramUniform4ivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ivEXT(&program: UInt32; location: Int32; count: Int32; var value: Int32) := ProgramUniform4ivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4ivEXT(&program, location, count, value); - static procedure GetTexEnvfv(target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glGetTexEnvfv'; + public z_ProgramUniform1fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fvEXT(&program: UInt32; location: Int32; count: Int32; value: array of single) := ProgramUniform1fvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fvEXT(&program: UInt32; location: Int32; count: Int32; var value: single) := ProgramUniform1fvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1fvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1fvEXT(&program, location, count, value); - static procedure GetTexEnviv(target: UInt32; pname: UInt32; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetTexEnviv'; + public z_ProgramUniform2fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fvEXT(&program: UInt32; location: Int32; count: Int32; value: array of single) := ProgramUniform2fvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fvEXT(&program: UInt32; location: Int32; count: Int32; var value: single) := ProgramUniform2fvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2fvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2fvEXT(&program, location, count, value); - static procedure Lightfv(light: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glLightfv'; + public z_ProgramUniform3fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fvEXT(&program: UInt32; location: Int32; count: Int32; value: array of single) := ProgramUniform3fvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fvEXT(&program: UInt32; location: Int32; count: Int32; var value: single) := ProgramUniform3fvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3fvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3fvEXT(&program, location, count, value); - static procedure LightModelfv(pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glLightModelfv'; + public z_ProgramUniform4fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fvEXT(&program: UInt32; location: Int32; count: Int32; value: array of single) := ProgramUniform4fvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fvEXT(&program: UInt32; location: Int32; count: Int32; var value: single) := ProgramUniform4fvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4fvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4fvEXT(&program, location, count, value); - static procedure LineStipple(factor: Int32; pattern: UInt16); - external 'opengl32.dll' name 'glLineStipple'; + public z_ProgramUniform1uivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uivEXT(&program: UInt32; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform1uivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uivEXT(&program: UInt32; location: Int32; count: Int32; var value: UInt32) := ProgramUniform1uivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1uivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1uivEXT(&program, location, count, value); - static procedure ListBase(base: UInt32); - external 'opengl32.dll' name 'glListBase'; + public z_ProgramUniform2uivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uivEXT(&program: UInt32; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform2uivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uivEXT(&program: UInt32; location: Int32; count: Int32; var value: UInt32) := ProgramUniform2uivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2uivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2uivEXT(&program, location, count, value); - static procedure LoadIdentity; - external 'opengl32.dll' name 'glLoadIdentity'; + public z_ProgramUniform3uivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uivEXT(&program: UInt32; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform3uivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uivEXT(&program: UInt32; location: Int32; count: Int32; var value: UInt32) := ProgramUniform3uivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3uivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3uivEXT(&program, location, count, value); - static procedure LoadMatrixf(m: ^single); - external 'opengl32.dll' name 'glLoadMatrixf'; + public z_ProgramUniform4uivEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uivEXT(&program: UInt32; location: Int32; count: Int32; value: array of UInt32) := ProgramUniform4uivEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uivEXT(&program: UInt32; location: Int32; count: Int32; var value: UInt32) := ProgramUniform4uivEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4uivEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4uivEXT(&program, location, count, value); - static procedure Materialf(face: UInt32; pname: UInt32; param: single); - external 'opengl32.dll' name 'glMaterialf'; + public z_ProgramUniformMatrix2fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix2fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix2fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix2fvEXT(&program, location, count, transpose, value); - static procedure Materialfv(face: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glMaterialfv'; + public z_ProgramUniformMatrix3fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix3fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix3fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix3fvEXT(&program, location, count, transpose, value); - static procedure MatrixMode(mode: UInt32); - external 'opengl32.dll' name 'glMatrixMode'; + public z_ProgramUniformMatrix4fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix4fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix4fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix4fvEXT(&program, location, count, transpose, value); - static procedure MultMatrixf(m: ^single); - external 'opengl32.dll' name 'glMultMatrixf'; + public z_ProgramUniformMatrix2x3fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x3fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix2x3fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix2x3fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix2x3fvEXT(&program, location, count, transpose, value); - static procedure MultiTexCoord2f(target: UInt32; s: single; t: single); - external 'opengl32.dll' name 'glMultiTexCoord2f'; + public z_ProgramUniformMatrix3x2fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x2fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix3x2fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix3x2fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix3x2fvEXT(&program, location, count, transpose, value); - static procedure MultiTexCoord2fv(target: UInt32; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord2fv'; + public z_ProgramUniformMatrix2x4fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x4fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix2x4fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix2x4fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix2x4fvEXT(&program, location, count, transpose, value); - static procedure Normal3f(nx: single; ny: single; nz: single); - external 'opengl32.dll' name 'glNormal3f'; + public z_ProgramUniformMatrix4x2fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x2fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix4x2fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix4x2fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix4x2fvEXT(&program, location, count, transpose, value); - static procedure Normal3fv(v: ^single); - external 'opengl32.dll' name 'glNormal3fv'; + public z_ProgramUniformMatrix3x4fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x4fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix3x4fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix3x4fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix3x4fvEXT(&program, location, count, transpose, value); - static procedure NormalPointer(&type: UInt32; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glNormalPointer'; + public z_ProgramUniformMatrix4x3fvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x3fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of single) := ProgramUniformMatrix4x3fvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: single) := ProgramUniformMatrix4x3fvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3fvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix4x3fvEXT(&program, location, count, transpose, value); - static procedure Orthof(left: single; right: single; bottom: single; top: single; zNear: single; zFar: single); - external 'opengl32.dll' name 'glOrthof'; + public z_ValidateProgramPipelineEXT: procedure(pipeline: UInt32) := GetGLFuncOrNil&('glValidateProgramPipelineEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ValidateProgramPipelineEXT(pipeline: UInt32) := z_ValidateProgramPipelineEXT(pipeline); - static procedure PolygonStipple(mask: ^Byte); - external 'opengl32.dll' name 'glPolygonStipple'; + public z_GetProgramPipelineInfoLogEXT: procedure(pipeline: UInt32; bufSize: Int32; length: pointer; infoLog: IntPtr) := GetGLFuncOrNil&('glGetProgramPipelineInfoLogEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLogEXT(pipeline: UInt32; bufSize: Int32; length: array of Int32; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetProgramPipelineInfoLogEXT(pipeline, bufSize, length[0], ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLogEXT(pipeline: UInt32; bufSize: Int32; length: array of Int32; infoLog: IntPtr) := GetProgramPipelineInfoLogEXT(pipeline, bufSize, length[0], infoLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLogEXT(pipeline: UInt32; bufSize: Int32; var length: Int32; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetProgramPipelineInfoLogEXT(pipeline, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLogEXT(pipeline: UInt32; bufSize: Int32; var length: Int32; infoLog: IntPtr) := GetProgramPipelineInfoLogEXT(pipeline, bufSize, @length, infoLog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLogEXT(pipeline: UInt32; bufSize: Int32; length: pointer; infoLog: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(infoLog); GetProgramPipelineInfoLogEXT(pipeline, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramPipelineInfoLogEXT(pipeline: UInt32; bufSize: Int32; length: pointer; infoLog: IntPtr) := z_GetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog); - static procedure PopMatrix; - external 'opengl32.dll' name 'glPopMatrix'; + {$endregion EXT_separate_shader_objects} - static procedure PushMatrix; - external 'opengl32.dll' name 'glPushMatrix'; + {$region EXT_stencil_two_side} - static procedure RasterPos3f(x: single; y: single; z: single); - external 'opengl32.dll' name 'glRasterPos3f'; + public z_ActiveStencilFaceEXT: procedure(face: DummyEnum) := GetGLFuncOrNil&('glActiveStencilFaceEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveStencilFaceEXT(face: DummyEnum) := z_ActiveStencilFaceEXT(face); - static procedure Rotatef(angle: single; x: single; y: single; z: single); - external 'opengl32.dll' name 'glRotatef'; + {$endregion EXT_stencil_two_side} - static procedure Scalef(x: single; y: single; z: single); - external 'opengl32.dll' name 'glScalef'; + {$region EXT_light_texture} - static procedure ShadeModel(mode: UInt32); - external 'opengl32.dll' name 'glShadeModel'; + public z_ApplyTextureEXT: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glApplyTextureEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ApplyTextureEXT(mode: DummyEnum) := z_ApplyTextureEXT(mode); - static procedure TexCoordPointer(size: Int32; &type: UInt32; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glTexCoordPointer'; + public z_TextureLightEXT: procedure(pname: DummyEnum) := GetGLFuncOrNil&('glTextureLightEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureLightEXT(pname: DummyEnum) := z_TextureLightEXT(pname); - static procedure TexEnvfv(target: UInt32; pname: UInt32; ¶ms: ^single); - external 'opengl32.dll' name 'glTexEnvfv'; + public z_TextureMaterialEXT: procedure(face: DummyEnum; mode: DummyEnum) := GetGLFuncOrNil&('glTextureMaterialEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureMaterialEXT(face: DummyEnum; mode: DummyEnum) := z_TextureMaterialEXT(face, mode); - static procedure TexEnvi(target: UInt32; pname: UInt32; param: Int32); - external 'opengl32.dll' name 'glTexEnvi'; + {$endregion EXT_light_texture} - static procedure Translatef(x: single; y: single; z: single); - external 'opengl32.dll' name 'glTranslatef'; + {$region EXT_texture_object} - static procedure Vertex2f(x: single; y: single); - external 'opengl32.dll' name 'glVertex2f'; + public z_GenTexturesEXT: procedure(n: Int32; textures: pointer) := GetGLFuncOrNil&('glGenTexturesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTexturesEXT(n: Int32; textures: array of UInt32) := GenTexturesEXT(n, textures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTexturesEXT(n: Int32; var textures: UInt32) := GenTexturesEXT(n, @textures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTexturesEXT(n: Int32; textures: pointer) := z_GenTexturesEXT(n, textures); - static procedure Vertex2fv(v: ^single); - external 'opengl32.dll' name 'glVertex2fv'; + public z_DeleteTexturesEXT: procedure(n: Int32; textures: pointer) := GetGLFuncOrNil&('glDeleteTexturesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTexturesEXT(n: Int32; textures: array of UInt32) := DeleteTexturesEXT(n, textures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTexturesEXT(n: Int32; var textures: UInt32) := DeleteTexturesEXT(n, @textures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTexturesEXT(n: Int32; textures: pointer) := z_DeleteTexturesEXT(n, textures); - static procedure Vertex3f(x: single; y: single; z: single); - external 'opengl32.dll' name 'glVertex3f'; + public z_BindTextureEXT: procedure(target: DummyEnum; texture: UInt32) := GetGLFuncOrNil&('glBindTextureEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTextureEXT(target: DummyEnum; texture: UInt32) := z_BindTextureEXT(target, texture); - static procedure Vertex3fv(v: ^single); - external 'opengl32.dll' name 'glVertex3fv'; + public z_PrioritizeTexturesEXT: procedure(n: Int32; textures: pointer; priorities: pointer) := GetGLFuncOrNil&('glPrioritizeTexturesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; textures: array of UInt32; priorities: array of single) := PrioritizeTexturesEXT(n, textures[0], priorities[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; textures: array of UInt32; var priorities: single) := PrioritizeTexturesEXT(n, textures[0], @priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; textures: array of UInt32; priorities: pointer) := PrioritizeTexturesEXT(n, textures[0], priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; var textures: UInt32; priorities: array of single) := PrioritizeTexturesEXT(n, @textures, priorities[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; var textures: UInt32; var priorities: single) := PrioritizeTexturesEXT(n, @textures, @priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; var textures: UInt32; priorities: pointer) := PrioritizeTexturesEXT(n, @textures, priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; textures: pointer; priorities: array of single) := PrioritizeTexturesEXT(n, textures, priorities[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; textures: pointer; var priorities: single) := PrioritizeTexturesEXT(n, textures, @priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesEXT(n: Int32; textures: pointer; priorities: pointer) := z_PrioritizeTexturesEXT(n, textures, priorities); - static procedure VertexPointer(size: Int32; &type: UInt32; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexPointer'; + public z_AreTexturesResidentEXT: function(n: Int32; textures: pointer; residences: pointer): Byte := GetGLFuncOrNil&('glAreTexturesResidentEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; textures: array of UInt32; residences: array of Byte): Byte := AreTexturesResidentEXT(n, textures[0], residences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; textures: array of UInt32; var residences: Byte): Byte := AreTexturesResidentEXT(n, textures[0], @residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; textures: array of UInt32; residences: pointer): Byte := AreTexturesResidentEXT(n, textures[0], residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; var textures: UInt32; residences: array of Byte): Byte := AreTexturesResidentEXT(n, @textures, residences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; var textures: UInt32; var residences: Byte): Byte := AreTexturesResidentEXT(n, @textures, @residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; var textures: UInt32; residences: pointer): Byte := AreTexturesResidentEXT(n, @textures, residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; textures: pointer; residences: array of Byte): Byte := AreTexturesResidentEXT(n, textures, residences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; textures: pointer; var residences: Byte): Byte := AreTexturesResidentEXT(n, textures, @residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreTexturesResidentEXT(n: Int32; textures: pointer; residences: pointer): Byte := z_AreTexturesResidentEXT(n, textures, residences); - {$endregion Old graphics} + public z_IsTextureEXT: function(texture: UInt32): Byte := GetGLFuncOrNil&('glIsTextureEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsTextureEXT(texture: UInt32): Byte := z_IsTextureEXT(texture); - {$region Lists} + {$endregion EXT_texture_object} - static function GenLists(range: Int32): UInt32; // : ListName; - напишите если очень надо добавить - external 'opengl32.dll' name 'glGenLists'; + {$region EXT_vertex_array} - // lists может быть нескольких разных типов массивов, - // надо многовато перегрузок, как для устаревшей функции - // если вам для чего то надо - напишите мне - // желательно, в issue - static procedure CallLists(n: Int32; &type: DataType; lists: pointer); - external 'opengl32.dll' name 'glCallLists'; + public z_ArrayElementEXT: procedure(i: Int32) := GetGLFuncOrNil&('glArrayElementEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ArrayElementEXT(i: Int32) := z_ArrayElementEXT(i); - static procedure EndList; - external 'opengl32.dll' name 'glEndList'; + public z_DrawArraysEXT: procedure(mode: DummyEnum; first: Int32; count: Int32) := GetGLFuncOrNil&('glDrawArraysEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysEXT(mode: DummyEnum; first: Int32; count: Int32) := z_DrawArraysEXT(mode, first, count); - static procedure NewList(list: UInt32; mode: UInt32); // mode это энум который тут не описан, напишите если очень надо добавить - external 'opengl32.dll' name 'glNewList'; + public z_VertexPointerEXT: procedure(size: Int32; &type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointerEXT(size: Int32; &type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := z_VertexPointerEXT(size, &type, stride, count, _pointer); - {$endregion Lists} + public z_NormalPointerEXT: procedure(&type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := GetGLFuncOrNil&('glNormalPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointerEXT(&type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := z_NormalPointerEXT(&type, stride, count, _pointer); + + public z_ColorPointerEXT: procedure(size: Int32; &type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := GetGLFuncOrNil&('glColorPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointerEXT(size: Int32; &type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := z_ColorPointerEXT(size, &type, stride, count, _pointer); + + public z_IndexPointerEXT: procedure(&type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := GetGLFuncOrNil&('glIndexPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexPointerEXT(&type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := z_IndexPointerEXT(&type, stride, count, _pointer); + + public z_TexCoordPointerEXT: procedure(size: Int32; &type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := GetGLFuncOrNil&('glTexCoordPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointerEXT(size: Int32; &type: DummyEnum; stride: Int32; count: Int32; _pointer: pointer) := z_TexCoordPointerEXT(size, &type, stride, count, _pointer); + + public z_EdgeFlagPointerEXT: procedure(stride: Int32; count: Int32; _pointer: pointer) := GetGLFuncOrNil&('glEdgeFlagPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EdgeFlagPointerEXT(stride: Int32; count: Int32; _pointer: array of Byte) := EdgeFlagPointerEXT(stride, count, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EdgeFlagPointerEXT(stride: Int32; count: Int32; var _pointer: Byte) := EdgeFlagPointerEXT(stride, count, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EdgeFlagPointerEXT(stride: Int32; count: Int32; _pointer: pointer) := z_EdgeFlagPointerEXT(stride, count, _pointer); + + public z_GetPointervEXT: procedure(pname: GLGetQueries; ¶ms: pointer) := GetGLFuncOrNil&('glGetPointervEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPointervEXT(pname: GLGetQueries; ¶ms: array of IntPtr) := GetPointervEXT(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPointervEXT(pname: GLGetQueries; var ¶ms: IntPtr) := GetPointervEXT(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPointervEXT(pname: GLGetQueries; ¶ms: pointer) := z_GetPointervEXT(pname, ¶ms); + + {$endregion EXT_vertex_array} + + {$region EXT_disjoint_timer_query EXT_occlusion_query_boolean} + + public z_GenQueriesEXT: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glGenQueriesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueriesEXT(n: Int32; ids: array of UInt32) := GenQueriesEXT(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueriesEXT(n: Int32; var ids: UInt32) := GenQueriesEXT(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueriesEXT(n: Int32; ids: pointer) := z_GenQueriesEXT(n, ids); + + public z_DeleteQueriesEXT: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glDeleteQueriesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueriesEXT(n: Int32; ids: array of UInt32) := DeleteQueriesEXT(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueriesEXT(n: Int32; var ids: UInt32) := DeleteQueriesEXT(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueriesEXT(n: Int32; ids: pointer) := z_DeleteQueriesEXT(n, ids); + + public z_IsQueryEXT: function(id: UInt32): Byte := GetGLFuncOrNil&('glIsQueryEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsQueryEXT(id: UInt32): Byte := z_IsQueryEXT(id); + + public z_BeginQueryEXT: procedure(target: DummyEnum; id: UInt32) := GetGLFuncOrNil&('glBeginQueryEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginQueryEXT(target: DummyEnum; id: UInt32) := z_BeginQueryEXT(target, id); + + public z_EndQueryEXT: procedure(target: DummyEnum) := GetGLFuncOrNil&('glEndQueryEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndQueryEXT(target: DummyEnum) := z_EndQueryEXT(target); + + public z_GetQueryivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetQueryivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetQueryivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetQueryivEXT(target, pname, ¶ms); + + public z_GetQueryObjectuivEXT: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuivEXT(id: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetQueryObjectuivEXT(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuivEXT(id: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetQueryObjectuivEXT(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectuivEXT(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetQueryObjectuivEXT(id, pname, ¶ms); + + {$endregion EXT_disjoint_timer_query EXT_occlusion_query_boolean} + + {$region EXT_scene_marker} + + public z_BeginSceneEXT: procedure := GetGLFuncOrNil&('glBeginSceneEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginSceneEXT := z_BeginSceneEXT; + + public z_EndSceneEXT: procedure := GetGLFuncOrNil&('glEndSceneEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndSceneEXT := z_EndSceneEXT; + + {$endregion EXT_scene_marker} + + {$region EXT_transform_feedback} + + public z_BindBufferRangeEXT: procedure(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glBindBufferRangeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferRangeEXT(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr) := z_BindBufferRangeEXT(target, index, buffer, offset, size); + + public z_BindBufferOffsetEXT: procedure(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr) := GetGLFuncOrNil&('glBindBufferOffsetEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferOffsetEXT(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr) := z_BindBufferOffsetEXT(target, index, buffer, offset); + + public z_BindBufferBaseEXT: procedure(target: DummyEnum; index: UInt32; buffer: UInt32) := GetGLFuncOrNil&('glBindBufferBaseEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferBaseEXT(target: DummyEnum; index: UInt32; buffer: UInt32) := z_BindBufferBaseEXT(target, index, buffer); + + public z_BeginTransformFeedbackEXT: procedure(primitiveMode: DummyEnum) := GetGLFuncOrNil&('glBeginTransformFeedbackEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginTransformFeedbackEXT(primitiveMode: DummyEnum) := z_BeginTransformFeedbackEXT(primitiveMode); + + public z_EndTransformFeedbackEXT: procedure := GetGLFuncOrNil&('glEndTransformFeedbackEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndTransformFeedbackEXT := z_EndTransformFeedbackEXT; + + public z_TransformFeedbackVaryingsEXT: procedure(&program: UInt32; count: Int32; varyings: pointer; bufferMode: DummyEnum) := GetGLFuncOrNil&('glTransformFeedbackVaryingsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryingsEXT(&program: UInt32; count: Int32; varyings: array of IntPtr; bufferMode: DummyEnum) := TransformFeedbackVaryingsEXT(&program, count, varyings[0], bufferMode); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryingsEXT(&program: UInt32; count: Int32; var varyings: IntPtr; bufferMode: DummyEnum) := TransformFeedbackVaryingsEXT(&program, count, @varyings, bufferMode); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryingsEXT(&program: UInt32; count: Int32; varyings: pointer; bufferMode: DummyEnum) := z_TransformFeedbackVaryingsEXT(&program, count, varyings, bufferMode); + + public z_GetTransformFeedbackVaryingEXT: procedure(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetTransformFeedbackVaryingEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length[0], size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, @length, size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: pointer; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: IntPtr) := GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingEXT(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := z_GetTransformFeedbackVaryingEXT(&program, index, bufSize, length, size, &type, name); + + {$endregion EXT_transform_feedback} + + {$region EXT_vertex_shader} + + public z_BeginVertexShaderEXT: procedure := GetGLFuncOrNil&('glBeginVertexShaderEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginVertexShaderEXT := z_BeginVertexShaderEXT; + + public z_EndVertexShaderEXT: procedure := GetGLFuncOrNil&('glEndVertexShaderEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndVertexShaderEXT := z_EndVertexShaderEXT; + + public z_BindVertexShaderEXT: procedure(id: UInt32) := GetGLFuncOrNil&('glBindVertexShaderEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexShaderEXT(id: UInt32) := z_BindVertexShaderEXT(id); + + public z_GenVertexShadersEXT: function(range: UInt32): UInt32 := GetGLFuncOrNil&('glGenVertexShadersEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenVertexShadersEXT(range: UInt32): UInt32 := z_GenVertexShadersEXT(range); + + public z_DeleteVertexShaderEXT: procedure(id: UInt32) := GetGLFuncOrNil&('glDeleteVertexShaderEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexShaderEXT(id: UInt32) := z_DeleteVertexShaderEXT(id); + + public z_ShaderOp1EXT: procedure(op: DummyEnum; res: UInt32; arg1: UInt32) := GetGLFuncOrNil&('glShaderOp1EXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderOp1EXT(op: DummyEnum; res: UInt32; arg1: UInt32) := z_ShaderOp1EXT(op, res, arg1); + + public z_ShaderOp2EXT: procedure(op: DummyEnum; res: UInt32; arg1: UInt32; arg2: UInt32) := GetGLFuncOrNil&('glShaderOp2EXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderOp2EXT(op: DummyEnum; res: UInt32; arg1: UInt32; arg2: UInt32) := z_ShaderOp2EXT(op, res, arg1, arg2); + + public z_ShaderOp3EXT: procedure(op: DummyEnum; res: UInt32; arg1: UInt32; arg2: UInt32; arg3: UInt32) := GetGLFuncOrNil&('glShaderOp3EXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShaderOp3EXT(op: DummyEnum; res: UInt32; arg1: UInt32; arg2: UInt32; arg3: UInt32) := z_ShaderOp3EXT(op, res, arg1, arg2, arg3); + + public z_SwizzleEXT: procedure(res: UInt32; &in: UInt32; outX: DummyEnum; outY: DummyEnum; outZ: DummyEnum; outW: DummyEnum) := GetGLFuncOrNil&('glSwizzleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SwizzleEXT(res: UInt32; &in: UInt32; outX: DummyEnum; outY: DummyEnum; outZ: DummyEnum; outW: DummyEnum) := z_SwizzleEXT(res, &in, outX, outY, outZ, outW); + + public z_WriteMaskEXT: procedure(res: UInt32; &in: UInt32; outX: DummyEnum; outY: DummyEnum; outZ: DummyEnum; outW: DummyEnum) := GetGLFuncOrNil&('glWriteMaskEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WriteMaskEXT(res: UInt32; &in: UInt32; outX: DummyEnum; outY: DummyEnum; outZ: DummyEnum; outW: DummyEnum) := z_WriteMaskEXT(res, &in, outX, outY, outZ, outW); + + public z_InsertComponentEXT: procedure(res: UInt32; src: UInt32; num: UInt32) := GetGLFuncOrNil&('glInsertComponentEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InsertComponentEXT(res: UInt32; src: UInt32; num: UInt32) := z_InsertComponentEXT(res, src, num); + + public z_ExtractComponentEXT: procedure(res: UInt32; src: UInt32; num: UInt32) := GetGLFuncOrNil&('glExtractComponentEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtractComponentEXT(res: UInt32; src: UInt32; num: UInt32) := z_ExtractComponentEXT(res, src, num); + + public z_GenSymbolsEXT: function(datatype: DummyEnum; storagetype: DummyEnum; range: DummyEnum; components: UInt32): UInt32 := GetGLFuncOrNil&('glGenSymbolsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenSymbolsEXT(datatype: DummyEnum; storagetype: DummyEnum; range: DummyEnum; components: UInt32): UInt32 := z_GenSymbolsEXT(datatype, storagetype, range, components); + + public z_SetInvariantEXT: procedure(id: UInt32; &type: DummyEnum; addr: pointer) := GetGLFuncOrNil&('glSetInvariantEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetInvariantEXT(id: UInt32; &type: DummyEnum; addr: pointer) := z_SetInvariantEXT(id, &type, addr); + + public z_SetLocalConstantEXT: procedure(id: UInt32; &type: DummyEnum; addr: pointer) := GetGLFuncOrNil&('glSetLocalConstantEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetLocalConstantEXT(id: UInt32; &type: DummyEnum; addr: pointer) := z_SetLocalConstantEXT(id, &type, addr); + + public z_VariantbvEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantbvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantbvEXT(id: UInt32; addr: array of SByte) := VariantbvEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantbvEXT(id: UInt32; var addr: SByte) := VariantbvEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantbvEXT(id: UInt32; addr: pointer) := z_VariantbvEXT(id, addr); + + public z_VariantsvEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantsvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantsvEXT(id: UInt32; addr: array of Int16) := VariantsvEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantsvEXT(id: UInt32; var addr: Int16) := VariantsvEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantsvEXT(id: UInt32; addr: pointer) := z_VariantsvEXT(id, addr); + + public z_VariantivEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantivEXT(id: UInt32; addr: array of Int32) := VariantivEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantivEXT(id: UInt32; var addr: Int32) := VariantivEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantivEXT(id: UInt32; addr: pointer) := z_VariantivEXT(id, addr); + + public z_VariantfvEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantfvEXT(id: UInt32; addr: array of single) := VariantfvEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantfvEXT(id: UInt32; var addr: single) := VariantfvEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantfvEXT(id: UInt32; addr: pointer) := z_VariantfvEXT(id, addr); + + public z_VariantdvEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantdvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantdvEXT(id: UInt32; addr: array of double) := VariantdvEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantdvEXT(id: UInt32; var addr: double) := VariantdvEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantdvEXT(id: UInt32; addr: pointer) := z_VariantdvEXT(id, addr); + + public z_VariantubvEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantubvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantubvEXT(id: UInt32; addr: array of Byte) := VariantubvEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantubvEXT(id: UInt32; var addr: Byte) := VariantubvEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantubvEXT(id: UInt32; addr: pointer) := z_VariantubvEXT(id, addr); + + public z_VariantusvEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantusvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantusvEXT(id: UInt32; addr: array of UInt16) := VariantusvEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantusvEXT(id: UInt32; var addr: UInt16) := VariantusvEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantusvEXT(id: UInt32; addr: pointer) := z_VariantusvEXT(id, addr); + + public z_VariantuivEXT: procedure(id: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantuivEXT(id: UInt32; addr: array of UInt32) := VariantuivEXT(id, addr[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantuivEXT(id: UInt32; var addr: UInt32) := VariantuivEXT(id, @addr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantuivEXT(id: UInt32; addr: pointer) := z_VariantuivEXT(id, addr); + + public z_VariantPointerEXT: procedure(id: UInt32; &type: DummyEnum; stride: UInt32; addr: pointer) := GetGLFuncOrNil&('glVariantPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantPointerEXT(id: UInt32; &type: DummyEnum; stride: UInt32; addr: pointer) := z_VariantPointerEXT(id, &type, stride, addr); + + public z_EnableVariantClientStateEXT: procedure(id: UInt32) := GetGLFuncOrNil&('glEnableVariantClientStateEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableVariantClientStateEXT(id: UInt32) := z_EnableVariantClientStateEXT(id); + + public z_DisableVariantClientStateEXT: procedure(id: UInt32) := GetGLFuncOrNil&('glDisableVariantClientStateEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableVariantClientStateEXT(id: UInt32) := z_DisableVariantClientStateEXT(id); + + public z_BindLightParameterEXT: function(light: DummyEnum; value: DummyEnum): UInt32 := GetGLFuncOrNil&('glBindLightParameterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindLightParameterEXT(light: DummyEnum; value: DummyEnum): UInt32 := z_BindLightParameterEXT(light, value); + + public z_BindMaterialParameterEXT: function(face: DummyEnum; value: DummyEnum): UInt32 := GetGLFuncOrNil&('glBindMaterialParameterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindMaterialParameterEXT(face: DummyEnum; value: DummyEnum): UInt32 := z_BindMaterialParameterEXT(face, value); + + public z_BindTexGenParameterEXT: function(&unit: DummyEnum; coord: DummyEnum; value: DummyEnum): UInt32 := GetGLFuncOrNil&('glBindTexGenParameterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindTexGenParameterEXT(&unit: DummyEnum; coord: DummyEnum; value: DummyEnum): UInt32 := z_BindTexGenParameterEXT(&unit, coord, value); + + public z_BindTextureUnitParameterEXT: function(&unit: DummyEnum; value: DummyEnum): UInt32 := GetGLFuncOrNil&('glBindTextureUnitParameterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindTextureUnitParameterEXT(&unit: DummyEnum; value: DummyEnum): UInt32 := z_BindTextureUnitParameterEXT(&unit, value); + + public z_BindParameterEXT: function(value: DummyEnum): UInt32 := GetGLFuncOrNil&('glBindParameterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function BindParameterEXT(value: DummyEnum): UInt32 := z_BindParameterEXT(value); + + public z_IsVariantEnabledEXT: function(id: UInt32; cap: DummyEnum): Byte := GetGLFuncOrNil&('glIsVariantEnabledEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsVariantEnabledEXT(id: UInt32; cap: DummyEnum): Byte := z_IsVariantEnabledEXT(id, cap); + + public z_GetVariantBooleanvEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetVariantBooleanvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantBooleanvEXT(id: UInt32; value: DummyEnum; data: array of Byte) := GetVariantBooleanvEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantBooleanvEXT(id: UInt32; value: DummyEnum; var data: Byte) := GetVariantBooleanvEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantBooleanvEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetVariantBooleanvEXT(id, value, data); + + public z_GetVariantIntegervEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetVariantIntegervEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantIntegervEXT(id: UInt32; value: DummyEnum; data: array of Int32) := GetVariantIntegervEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantIntegervEXT(id: UInt32; value: DummyEnum; var data: Int32) := GetVariantIntegervEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantIntegervEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetVariantIntegervEXT(id, value, data); + + public z_GetVariantFloatvEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetVariantFloatvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantFloatvEXT(id: UInt32; value: DummyEnum; data: array of single) := GetVariantFloatvEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantFloatvEXT(id: UInt32; value: DummyEnum; var data: single) := GetVariantFloatvEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantFloatvEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetVariantFloatvEXT(id, value, data); + + public z_GetVariantPointervEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetVariantPointervEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantPointervEXT(id: UInt32; value: DummyEnum; data: array of IntPtr) := GetVariantPointervEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantPointervEXT(id: UInt32; value: DummyEnum; var data: IntPtr) := GetVariantPointervEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantPointervEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetVariantPointervEXT(id, value, data); + + public z_GetInvariantBooleanvEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetInvariantBooleanvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantBooleanvEXT(id: UInt32; value: DummyEnum; data: array of Byte) := GetInvariantBooleanvEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantBooleanvEXT(id: UInt32; value: DummyEnum; var data: Byte) := GetInvariantBooleanvEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantBooleanvEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetInvariantBooleanvEXT(id, value, data); + + public z_GetInvariantIntegervEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetInvariantIntegervEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantIntegervEXT(id: UInt32; value: DummyEnum; data: array of Int32) := GetInvariantIntegervEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantIntegervEXT(id: UInt32; value: DummyEnum; var data: Int32) := GetInvariantIntegervEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantIntegervEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetInvariantIntegervEXT(id, value, data); + + public z_GetInvariantFloatvEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetInvariantFloatvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantFloatvEXT(id: UInt32; value: DummyEnum; data: array of single) := GetInvariantFloatvEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantFloatvEXT(id: UInt32; value: DummyEnum; var data: single) := GetInvariantFloatvEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInvariantFloatvEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetInvariantFloatvEXT(id, value, data); + + public z_GetLocalConstantBooleanvEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetLocalConstantBooleanvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantBooleanvEXT(id: UInt32; value: DummyEnum; data: array of Byte) := GetLocalConstantBooleanvEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantBooleanvEXT(id: UInt32; value: DummyEnum; var data: Byte) := GetLocalConstantBooleanvEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantBooleanvEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetLocalConstantBooleanvEXT(id, value, data); + + public z_GetLocalConstantIntegervEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetLocalConstantIntegervEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantIntegervEXT(id: UInt32; value: DummyEnum; data: array of Int32) := GetLocalConstantIntegervEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantIntegervEXT(id: UInt32; value: DummyEnum; var data: Int32) := GetLocalConstantIntegervEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantIntegervEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetLocalConstantIntegervEXT(id, value, data); + + public z_GetLocalConstantFloatvEXT: procedure(id: UInt32; value: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetLocalConstantFloatvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantFloatvEXT(id: UInt32; value: DummyEnum; data: array of single) := GetLocalConstantFloatvEXT(id, value, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantFloatvEXT(id: UInt32; value: DummyEnum; var data: single) := GetLocalConstantFloatvEXT(id, value, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLocalConstantFloatvEXT(id: UInt32; value: DummyEnum; data: pointer) := z_GetLocalConstantFloatvEXT(id, value, data); + + {$endregion EXT_vertex_shader} + + {$region EXT_vertex_array_set / GenName version} + + public z_GenArraySetsEXT: procedure(n: Int32; arrayset: pointer) := GetGLFuncOrNil&('glGenArraySetsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenArraySetsEXT(n: Int32; arrayset: array of UInt32) := GenArraySetsEXT(n, arrayset[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenArraySetsEXT(n: Int32; var arrayset: UInt32) := GenArraySetsEXT(n, @arrayset); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenArraySetsEXT(n: Int32; arrayset: pointer) := z_GenArraySetsEXT(n, arrayset); + + public z_BindArraySetEXT: procedure(arrayset: UInt32) := GetGLFuncOrNil&('glBindArraySetEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindArraySetEXT(arrayset: UInt32) := z_BindArraySetEXT(arrayset); + + public z_DeleteArraySetsEXT: procedure(n: Int32; arrayset: pointer) := GetGLFuncOrNil&('glDeleteArraySetsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteArraySetsEXT(n: Int32; arrayset: array of UInt32) := DeleteArraySetsEXT(n, arrayset[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteArraySetsEXT(n: Int32; var arrayset: UInt32) := DeleteArraySetsEXT(n, @arrayset); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteArraySetsEXT(n: Int32; arrayset: pointer) := z_DeleteArraySetsEXT(n, arrayset); + + public z_IsArraySetEXT: function(arrayset: UInt32): UInt32 := GetGLFuncOrNil&('glIsArraySetEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsArraySetEXT(arrayset: UInt32): UInt32 := z_IsArraySetEXT(arrayset); + + {$endregion EXT_vertex_array_set / GenName version} + + {$region EXT_blend_func_extended EXT_gpu_shader4} + + public z_BindFragDataLocationEXT: procedure(&program: UInt32; color: UInt32; name: IntPtr) := GetGLFuncOrNil&('glBindFragDataLocationEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocationEXT(&program: UInt32; color: UInt32; name: string); begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); BindFragDataLocationEXT(&program, color, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocationEXT(&program: UInt32; color: UInt32; name: IntPtr) := z_BindFragDataLocationEXT(&program, color, name); + + {$endregion EXT_blend_func_extended EXT_gpu_shader4} + + {$region EXT_blend_func_extended} + + public z_BindFragDataLocationIndexedEXT: procedure(&program: UInt32; colorNumber: UInt32; index: UInt32; name: IntPtr) := GetGLFuncOrNil&('glBindFragDataLocationIndexedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocationIndexedEXT(&program: UInt32; colorNumber: UInt32; index: UInt32; name: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(name); BindFragDataLocationIndexedEXT(&program, colorNumber, index, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragDataLocationIndexedEXT(&program: UInt32; colorNumber: UInt32; index: UInt32; name: IntPtr) := z_BindFragDataLocationIndexedEXT(&program, colorNumber, index, name); + + public z_GetFragDataIndexEXT: function(&program: UInt32; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetFragDataIndexEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataIndexEXT(&program: UInt32; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetFragDataIndexEXT(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataIndexEXT(&program: UInt32; name: IntPtr): Int32 := z_GetFragDataIndexEXT(&program, name); + + public z_GetProgramResourceLocationIndexEXT: function(&program: UInt32; programInterface: DummyEnum; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetProgramResourceLocationIndexEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceLocationIndexEXT(&program: UInt32; programInterface: DummyEnum; name: string): Int32; begin var ptr_3 := Marshal.StringToHGlobalAnsi(name); Result := GetProgramResourceLocationIndexEXT(&program, programInterface, ptr_3); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetProgramResourceLocationIndexEXT(&program: UInt32; programInterface: DummyEnum; name: IntPtr): Int32 := z_GetProgramResourceLocationIndexEXT(&program, programInterface, name); + + {$endregion EXT_blend_func_extended} + + {$region EXT_shader_image_load_store} + + public z_BindImageTextureEXT: procedure(index: UInt32; texture: UInt32; level: Int32; layered: Byte; layer: Int32; access: DummyEnum; format: Int32) := GetGLFuncOrNil&('glBindImageTextureEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindImageTextureEXT(index: UInt32; texture: UInt32; level: Int32; layered: Byte; layer: Int32; access: DummyEnum; format: Int32) := z_BindImageTextureEXT(index, texture, level, layered, layer, access, format); + + public z_MemoryBarrierEXT: procedure(barriers: DummyFlags) := GetGLFuncOrNil&('glMemoryBarrierEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MemoryBarrierEXT(barriers: DummyFlags) := z_MemoryBarrierEXT(barriers); + + {$endregion EXT_shader_image_load_store} + + {$region EXT_coordinate_frame} + + public z_Tangent3bEXT: procedure(tx: SByte; ty: SByte; tz: SByte) := GetGLFuncOrNil&('glTangent3bEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3bEXT(tx: SByte; ty: SByte; tz: SByte) := z_Tangent3bEXT(tx, ty, tz); + + public z_Tangent3sEXT: procedure(tx: Int16; ty: Int16; tz: Int16) := GetGLFuncOrNil&('glTangent3sEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3sEXT(tx: Int16; ty: Int16; tz: Int16) := z_Tangent3sEXT(tx, ty, tz); + + public z_Tangent3iEXT: procedure(tx: Int32; ty: Int32; tz: Int32) := GetGLFuncOrNil&('glTangent3iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3iEXT(tx: Int32; ty: Int32; tz: Int32) := z_Tangent3iEXT(tx, ty, tz); + + public z_Tangent3fEXT: procedure(tx: single; ty: single; tz: single) := GetGLFuncOrNil&('glTangent3fEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3fEXT(tx: single; ty: single; tz: single) := z_Tangent3fEXT(tx, ty, tz); + + public z_Tangent3dEXT: procedure(tx: double; ty: double; tz: double) := GetGLFuncOrNil&('glTangent3dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3dEXT(tx: double; ty: double; tz: double) := z_Tangent3dEXT(tx, ty, tz); + + public z_Tangent3bvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glTangent3bvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3bvEXT(v: array of SByte) := Tangent3bvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3bvEXT(var v: SByte) := Tangent3bvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3bvEXT(v: pointer) := z_Tangent3bvEXT(v); + + public z_Tangent3svEXT: procedure(v: pointer) := GetGLFuncOrNil&('glTangent3svEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3svEXT(v: array of Int16) := Tangent3svEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3svEXT(var v: Int16) := Tangent3svEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3svEXT(v: pointer) := z_Tangent3svEXT(v); + + public z_Tangent3ivEXT: procedure(v: pointer) := GetGLFuncOrNil&('glTangent3ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3ivEXT(v: array of Int32) := Tangent3ivEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3ivEXT(var v: Int32) := Tangent3ivEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3ivEXT(v: pointer) := z_Tangent3ivEXT(v); + + public z_Tangent3fvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glTangent3fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3fvEXT(v: array of single) := Tangent3fvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3fvEXT(var v: single) := Tangent3fvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3fvEXT(v: pointer) := z_Tangent3fvEXT(v); + + public z_Tangent3dvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glTangent3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3dvEXT(v: array of double) := Tangent3dvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3dvEXT(var v: double) := Tangent3dvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Tangent3dvEXT(v: pointer) := z_Tangent3dvEXT(v); + + public z_Binormal3bEXT: procedure(bx: SByte; by: SByte; bz: SByte) := GetGLFuncOrNil&('glBinormal3bEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3bEXT(bx: SByte; by: SByte; bz: SByte) := z_Binormal3bEXT(bx, by, bz); + + public z_Binormal3sEXT: procedure(bx: Int16; by: Int16; bz: Int16) := GetGLFuncOrNil&('glBinormal3sEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3sEXT(bx: Int16; by: Int16; bz: Int16) := z_Binormal3sEXT(bx, by, bz); + + public z_Binormal3iEXT: procedure(bx: Int32; by: Int32; bz: Int32) := GetGLFuncOrNil&('glBinormal3iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3iEXT(bx: Int32; by: Int32; bz: Int32) := z_Binormal3iEXT(bx, by, bz); + + public z_Binormal3fEXT: procedure(bx: single; by: single; bz: single) := GetGLFuncOrNil&('glBinormal3fEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3fEXT(bx: single; by: single; bz: single) := z_Binormal3fEXT(bx, by, bz); + + public z_Binormal3dEXT: procedure(bx: double; by: double; bz: double) := GetGLFuncOrNil&('glBinormal3dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3dEXT(bx: double; by: double; bz: double) := z_Binormal3dEXT(bx, by, bz); + + public z_Binormal3bvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glBinormal3bvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3bvEXT(v: array of SByte) := Binormal3bvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3bvEXT(var v: SByte) := Binormal3bvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3bvEXT(v: pointer) := z_Binormal3bvEXT(v); + + public z_Binormal3svEXT: procedure(v: pointer) := GetGLFuncOrNil&('glBinormal3svEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3svEXT(v: array of Int16) := Binormal3svEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3svEXT(var v: Int16) := Binormal3svEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3svEXT(v: pointer) := z_Binormal3svEXT(v); + + public z_Binormal3ivEXT: procedure(v: pointer) := GetGLFuncOrNil&('glBinormal3ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3ivEXT(v: array of Int32) := Binormal3ivEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3ivEXT(var v: Int32) := Binormal3ivEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3ivEXT(v: pointer) := z_Binormal3ivEXT(v); + + public z_Binormal3fvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glBinormal3fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3fvEXT(v: array of single) := Binormal3fvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3fvEXT(var v: single) := Binormal3fvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3fvEXT(v: pointer) := z_Binormal3fvEXT(v); + + public z_Binormal3dvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glBinormal3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3dvEXT(v: array of double) := Binormal3dvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3dvEXT(var v: double) := Binormal3dvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Binormal3dvEXT(v: pointer) := z_Binormal3dvEXT(v); + + public z_TangentPointerEXT: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glTangentPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TangentPointerEXT(&type: DummyEnum; stride: Int32; _pointer: pointer) := z_TangentPointerEXT(&type, stride, _pointer); + + public z_BinormalPointerEXT: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glBinormalPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BinormalPointerEXT(&type: DummyEnum; stride: Int32; _pointer: pointer) := z_BinormalPointerEXT(&type, stride, _pointer); + + {$endregion EXT_coordinate_frame} + + {$region EXT_blend_color} + + public z_BlendColorEXT: procedure(red: single; green: single; blue: single; alpha: single) := GetGLFuncOrNil&('glBlendColorEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendColorEXT(red: single; green: single; blue: single; alpha: single) := z_BlendColorEXT(red, green, blue, alpha); + + {$endregion EXT_blend_color} + + {$region EXT_blend_minmax} + + public z_BlendEquationEXT: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glBlendEquationEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationEXT(mode: DummyEnum) := z_BlendEquationEXT(mode); + + {$endregion EXT_blend_minmax} + + {$region EXT_draw_buffers_indexed} + + public z_EnableiEXT: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glEnableiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableiEXT(target: DummyEnum; index: UInt32) := z_EnableiEXT(target, index); + + public z_DisableiEXT: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glDisableiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableiEXT(target: DummyEnum; index: UInt32) := z_DisableiEXT(target, index); + + public z_BlendEquationiEXT: procedure(buf: UInt32; mode: DummyEnum) := GetGLFuncOrNil&('glBlendEquationiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationiEXT(buf: UInt32; mode: DummyEnum) := z_BlendEquationiEXT(buf, mode); + + public z_BlendEquationSeparateiEXT: procedure(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendEquationSeparateiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparateiEXT(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := z_BlendEquationSeparateiEXT(buf, modeRGB, modeAlpha); + + public z_BlendFunciEXT: procedure(buf: UInt32; src: DummyEnum; dst: DummyEnum) := GetGLFuncOrNil&('glBlendFunciEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFunciEXT(buf: UInt32; src: DummyEnum; dst: DummyEnum) := z_BlendFunciEXT(buf, src, dst); + + public z_BlendFuncSeparateiEXT: procedure(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendFuncSeparateiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparateiEXT(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := z_BlendFuncSeparateiEXT(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + + public z_ColorMaskiEXT: procedure(index: UInt32; r: Byte; g: Byte; b: Byte; a: Byte) := GetGLFuncOrNil&('glColorMaskiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorMaskiEXT(index: UInt32; r: Byte; g: Byte; b: Byte; a: Byte) := z_ColorMaskiEXT(index, r, g, b, a); + + public z_IsEnablediEXT: function(target: DummyEnum; index: UInt32): Byte := GetGLFuncOrNil&('glIsEnablediEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnablediEXT(target: DummyEnum; index: UInt32): Byte := z_IsEnablediEXT(target, index); + + {$endregion EXT_draw_buffers_indexed} + + {$region EXT_blend_equation_separate} + + public z_BlendEquationSeparateEXT: procedure(modeRGB: DummyEnum; modeAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendEquationSeparateEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparateEXT(modeRGB: DummyEnum; modeAlpha: DummyEnum) := z_BlendEquationSeparateEXT(modeRGB, modeAlpha); + + {$endregion EXT_blend_equation_separate} + + {$region EXT_blend_func_separate} + + public z_BlendFuncSeparateEXT: procedure(sfactorRGB: DummyEnum; dfactorRGB: DummyEnum; sfactorAlpha: DummyEnum; dfactorAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendFuncSeparateEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparateEXT(sfactorRGB: DummyEnum; dfactorRGB: DummyEnum; sfactorAlpha: DummyEnum; dfactorAlpha: DummyEnum) := z_BlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + + {$endregion EXT_blend_func_separate} + + {$region EXT_framebuffer_blit} + + public z_BlitFramebufferEXT: procedure(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := GetGLFuncOrNil&('glBlitFramebufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlitFramebufferEXT(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := z_BlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + + {$endregion EXT_framebuffer_blit} + + {$region EXT_buffer_storage} + + public z_BufferStorageEXT: procedure(target: DummyEnum; size: UIntPtr; data: pointer; flags: DummyFlags) := GetGLFuncOrNil&('glBufferStorageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferStorageEXT(target: DummyEnum; size: UIntPtr; data: pointer; flags: DummyFlags) := z_BufferStorageEXT(target, size, data, flags); + + {$endregion EXT_buffer_storage} + + {$region EXT_external_buffer} + + public z_BufferStorageExternalEXT: procedure(target: DummyEnum; offset: IntPtr; size: UIntPtr; clientBuffer: GLeglClientBufferEXT; flags: DummyFlags) := GetGLFuncOrNil&('glBufferStorageExternalEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferStorageExternalEXT(target: DummyEnum; offset: IntPtr; size: UIntPtr; clientBuffer: GLeglClientBufferEXT; flags: DummyFlags) := z_BufferStorageExternalEXT(target, offset, size, clientBuffer, flags); + + public z_NamedBufferStorageExternalEXT: procedure(buffer: UInt32; offset: IntPtr; size: UIntPtr; clientBuffer: GLeglClientBufferEXT; flags: DummyFlags) := GetGLFuncOrNil&('glNamedBufferStorageExternalEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferStorageExternalEXT(buffer: UInt32; offset: IntPtr; size: UIntPtr; clientBuffer: GLeglClientBufferEXT; flags: DummyFlags) := z_NamedBufferStorageExternalEXT(buffer, offset, size, clientBuffer, flags); + + {$endregion EXT_external_buffer} + + {$region EXT_external_objects} + + public z_GetUnsignedBytevEXT: procedure(pname: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetUnsignedBytevEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUnsignedBytevEXT(pname: DummyEnum; data: array of Byte) := GetUnsignedBytevEXT(pname, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUnsignedBytevEXT(pname: DummyEnum; var data: Byte) := GetUnsignedBytevEXT(pname, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUnsignedBytevEXT(pname: DummyEnum; data: pointer) := z_GetUnsignedBytevEXT(pname, data); + + public z_GetUnsignedBytei_vEXT: procedure(target: DummyEnum; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetUnsignedBytei_vEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUnsignedBytei_vEXT(target: DummyEnum; index: UInt32; data: array of Byte) := GetUnsignedBytei_vEXT(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUnsignedBytei_vEXT(target: DummyEnum; index: UInt32; var data: Byte) := GetUnsignedBytei_vEXT(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUnsignedBytei_vEXT(target: DummyEnum; index: UInt32; data: pointer) := z_GetUnsignedBytei_vEXT(target, index, data); + + public z_DeleteMemoryObjectsEXT: procedure(n: Int32; memoryObjects: pointer) := GetGLFuncOrNil&('glDeleteMemoryObjectsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteMemoryObjectsEXT(n: Int32; memoryObjects: array of UInt32) := DeleteMemoryObjectsEXT(n, memoryObjects[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteMemoryObjectsEXT(n: Int32; var memoryObjects: UInt32) := DeleteMemoryObjectsEXT(n, @memoryObjects); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteMemoryObjectsEXT(n: Int32; memoryObjects: pointer) := z_DeleteMemoryObjectsEXT(n, memoryObjects); + + public z_IsMemoryObjectEXT: function(memoryObject: UInt32): Byte := GetGLFuncOrNil&('glIsMemoryObjectEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsMemoryObjectEXT(memoryObject: UInt32): Byte := z_IsMemoryObjectEXT(memoryObject); + + public z_CreateMemoryObjectsEXT: procedure(n: Int32; memoryObjects: pointer) := GetGLFuncOrNil&('glCreateMemoryObjectsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateMemoryObjectsEXT(n: Int32; memoryObjects: array of UInt32) := CreateMemoryObjectsEXT(n, memoryObjects[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateMemoryObjectsEXT(n: Int32; var memoryObjects: UInt32) := CreateMemoryObjectsEXT(n, @memoryObjects); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateMemoryObjectsEXT(n: Int32; memoryObjects: pointer) := z_CreateMemoryObjectsEXT(n, memoryObjects); + + public z_MemoryObjectParameterivEXT: procedure(memoryObject: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glMemoryObjectParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MemoryObjectParameterivEXT(memoryObject: UInt32; pname: DummyEnum; ¶ms: array of Int32) := MemoryObjectParameterivEXT(memoryObject, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MemoryObjectParameterivEXT(memoryObject: UInt32; pname: DummyEnum; var ¶ms: Int32) := MemoryObjectParameterivEXT(memoryObject, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MemoryObjectParameterivEXT(memoryObject: UInt32; pname: DummyEnum; ¶ms: pointer) := z_MemoryObjectParameterivEXT(memoryObject, pname, ¶ms); + + public z_GetMemoryObjectParameterivEXT: procedure(memoryObject: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMemoryObjectParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMemoryObjectParameterivEXT(memoryObject: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetMemoryObjectParameterivEXT(memoryObject, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMemoryObjectParameterivEXT(memoryObject: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetMemoryObjectParameterivEXT(memoryObject, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMemoryObjectParameterivEXT(memoryObject: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetMemoryObjectParameterivEXT(memoryObject, pname, ¶ms); + + public z_TexStorageMem2DEXT: procedure(target: DummyEnum; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTexStorageMem2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorageMem2DEXT(target: DummyEnum; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; memory: UInt32; offset: UInt64) := z_TexStorageMem2DEXT(target, levels, internalFormat, width, height, memory, offset); + + public z_TexStorageMem2DMultisampleEXT: procedure(target: DummyEnum; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTexStorageMem2DMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorageMem2DMultisampleEXT(target: DummyEnum; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := z_TexStorageMem2DMultisampleEXT(target, samples, internalFormat, width, height, fixedSampleLocations, memory, offset); + + public z_TexStorageMem3DEXT: procedure(target: DummyEnum; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTexStorageMem3DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorageMem3DEXT(target: DummyEnum; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; memory: UInt32; offset: UInt64) := z_TexStorageMem3DEXT(target, levels, internalFormat, width, height, depth, memory, offset); + + public z_TexStorageMem3DMultisampleEXT: procedure(target: DummyEnum; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTexStorageMem3DMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorageMem3DMultisampleEXT(target: DummyEnum; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := z_TexStorageMem3DMultisampleEXT(target, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset); + + public z_BufferStorageMemEXT: procedure(target: DummyEnum; size: UIntPtr; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glBufferStorageMemEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferStorageMemEXT(target: DummyEnum; size: UIntPtr; memory: UInt32; offset: UInt64) := z_BufferStorageMemEXT(target, size, memory, offset); + + public z_TextureStorageMem2DEXT: procedure(texture: UInt32; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTextureStorageMem2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorageMem2DEXT(texture: UInt32; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; memory: UInt32; offset: UInt64) := z_TextureStorageMem2DEXT(texture, levels, internalFormat, width, height, memory, offset); + + public z_TextureStorageMem2DMultisampleEXT: procedure(texture: UInt32; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTextureStorageMem2DMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorageMem2DMultisampleEXT(texture: UInt32; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := z_TextureStorageMem2DMultisampleEXT(texture, samples, internalFormat, width, height, fixedSampleLocations, memory, offset); + + public z_TextureStorageMem3DEXT: procedure(texture: UInt32; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTextureStorageMem3DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorageMem3DEXT(texture: UInt32; levels: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; memory: UInt32; offset: UInt64) := z_TextureStorageMem3DEXT(texture, levels, internalFormat, width, height, depth, memory, offset); + + public z_TextureStorageMem3DMultisampleEXT: procedure(texture: UInt32; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTextureStorageMem3DMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorageMem3DMultisampleEXT(texture: UInt32; samples: Int32; internalFormat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte; memory: UInt32; offset: UInt64) := z_TextureStorageMem3DMultisampleEXT(texture, samples, internalFormat, width, height, depth, fixedSampleLocations, memory, offset); + + public z_NamedBufferStorageMemEXT: procedure(buffer: UInt32; size: UIntPtr; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glNamedBufferStorageMemEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferStorageMemEXT(buffer: UInt32; size: UIntPtr; memory: UInt32; offset: UInt64) := z_NamedBufferStorageMemEXT(buffer, size, memory, offset); + + public z_TexStorageMem1DEXT: procedure(target: DummyEnum; levels: Int32; internalFormat: DummyEnum; width: Int32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTexStorageMem1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorageMem1DEXT(target: DummyEnum; levels: Int32; internalFormat: DummyEnum; width: Int32; memory: UInt32; offset: UInt64) := z_TexStorageMem1DEXT(target, levels, internalFormat, width, memory, offset); + + public z_TextureStorageMem1DEXT: procedure(texture: UInt32; levels: Int32; internalFormat: DummyEnum; width: Int32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTextureStorageMem1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorageMem1DEXT(texture: UInt32; levels: Int32; internalFormat: DummyEnum; width: Int32; memory: UInt32; offset: UInt64) := z_TextureStorageMem1DEXT(texture, levels, internalFormat, width, memory, offset); + + public z_GenSemaphoresEXT: procedure(n: Int32; semaphores: pointer) := GetGLFuncOrNil&('glGenSemaphoresEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenSemaphoresEXT(n: Int32; semaphores: array of UInt32) := GenSemaphoresEXT(n, semaphores[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenSemaphoresEXT(n: Int32; var semaphores: UInt32) := GenSemaphoresEXT(n, @semaphores); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenSemaphoresEXT(n: Int32; semaphores: pointer) := z_GenSemaphoresEXT(n, semaphores); + + public z_DeleteSemaphoresEXT: procedure(n: Int32; semaphores: pointer) := GetGLFuncOrNil&('glDeleteSemaphoresEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSemaphoresEXT(n: Int32; semaphores: array of UInt32) := DeleteSemaphoresEXT(n, semaphores[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSemaphoresEXT(n: Int32; var semaphores: UInt32) := DeleteSemaphoresEXT(n, @semaphores); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSemaphoresEXT(n: Int32; semaphores: pointer) := z_DeleteSemaphoresEXT(n, semaphores); + + public z_IsSemaphoreEXT: function(semaphore: UInt32): Byte := GetGLFuncOrNil&('glIsSemaphoreEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsSemaphoreEXT(semaphore: UInt32): Byte := z_IsSemaphoreEXT(semaphore); + + public z_SemaphoreParameterui64vEXT: procedure(semaphore: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glSemaphoreParameterui64vEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SemaphoreParameterui64vEXT(semaphore: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := SemaphoreParameterui64vEXT(semaphore, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SemaphoreParameterui64vEXT(semaphore: UInt32; pname: DummyEnum; var ¶ms: UInt64) := SemaphoreParameterui64vEXT(semaphore, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SemaphoreParameterui64vEXT(semaphore: UInt32; pname: DummyEnum; ¶ms: pointer) := z_SemaphoreParameterui64vEXT(semaphore, pname, ¶ms); + + public z_GetSemaphoreParameterui64vEXT: procedure(semaphore: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetSemaphoreParameterui64vEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSemaphoreParameterui64vEXT(semaphore: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := GetSemaphoreParameterui64vEXT(semaphore, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSemaphoreParameterui64vEXT(semaphore: UInt32; pname: DummyEnum; var ¶ms: UInt64) := GetSemaphoreParameterui64vEXT(semaphore, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSemaphoreParameterui64vEXT(semaphore: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetSemaphoreParameterui64vEXT(semaphore, pname, ¶ms); + + public z_WaitSemaphoreEXT: procedure(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; srcLayouts: pointer) := GetGLFuncOrNil&('glWaitSemaphoreEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: array of UInt32; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures[0], srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: array of UInt32; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures[0], @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: array of UInt32; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures[0], srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; var textures: UInt32; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, @textures, srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; var textures: UInt32; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, @textures, @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; var textures: UInt32; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, @textures, srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: pointer; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures, srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: pointer; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures, @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: pointer; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures, srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: array of UInt32; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures[0], srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: array of UInt32; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures[0], @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: array of UInt32; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures[0], srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; var textures: UInt32; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, @textures, srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; var textures: UInt32; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, @textures, @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; var textures: UInt32; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, @textures, srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: pointer; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures, srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: pointer; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures, @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: pointer; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures, srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: array of UInt32; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures[0], srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: array of UInt32; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures[0], @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: array of UInt32; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures[0], srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; var textures: UInt32; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, @textures, srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; var textures: UInt32; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, @textures, @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; var textures: UInt32; srcLayouts: pointer) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, @textures, srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; srcLayouts: array of DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, srcLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; var srcLayouts: DummyEnum) := WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, @srcLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; srcLayouts: pointer) := z_WaitSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, srcLayouts); + + public z_SignalSemaphoreEXT: procedure(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; dstLayouts: pointer) := GetGLFuncOrNil&('glSignalSemaphoreEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: array of UInt32; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures[0], dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: array of UInt32; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures[0], @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: array of UInt32; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures[0], dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; var textures: UInt32; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, @textures, dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; var textures: UInt32; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, @textures, @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; var textures: UInt32; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, @textures, dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: pointer; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures, dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: pointer; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures, @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: array of UInt32; numTextureBarriers: UInt32; textures: pointer; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers[0], numTextureBarriers, textures, dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: array of UInt32; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures[0], dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: array of UInt32; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures[0], @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: array of UInt32; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures[0], dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; var textures: UInt32; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, @textures, dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; var textures: UInt32; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, @textures, @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; var textures: UInt32; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, @textures, dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: pointer; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures, dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: pointer; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures, @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; var buffers: UInt32; numTextureBarriers: UInt32; textures: pointer; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, @buffers, numTextureBarriers, textures, dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: array of UInt32; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures[0], dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: array of UInt32; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures[0], @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: array of UInt32; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures[0], dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; var textures: UInt32; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, @textures, dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; var textures: UInt32; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, @textures, @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; var textures: UInt32; dstLayouts: pointer) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, @textures, dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; dstLayouts: array of DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, dstLayouts[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; var dstLayouts: DummyEnum) := SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, @dstLayouts); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreEXT(semaphore: UInt32; numBufferBarriers: UInt32; buffers: pointer; numTextureBarriers: UInt32; textures: pointer; dstLayouts: pointer) := z_SignalSemaphoreEXT(semaphore, numBufferBarriers, buffers, numTextureBarriers, textures, dstLayouts); + + {$endregion EXT_external_objects} + + {$region EXT_texture_integer} + + public z_ClearColorIiEXT: procedure(red: Int32; green: Int32; blue: Int32; alpha: Int32) := GetGLFuncOrNil&('glClearColorIiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearColorIiEXT(red: Int32; green: Int32; blue: Int32; alpha: Int32) := z_ClearColorIiEXT(red, green, blue, alpha); + + public z_ClearColorIuiEXT: procedure(red: UInt32; green: UInt32; blue: UInt32; alpha: UInt32) := GetGLFuncOrNil&('glClearColorIuiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearColorIuiEXT(red: UInt32; green: UInt32; blue: UInt32; alpha: UInt32) := z_ClearColorIuiEXT(red, green, blue, alpha); + + {$endregion EXT_texture_integer} + + {$region ARB_clear_buffer_object} + + public z_ClearNamedBufferDataEXT: procedure(buffer: UInt32; internalformat: DummyEnum; format: DummyEnum; &type: DummyEnum; data: pointer) := GetGLFuncOrNil&('glClearNamedBufferDataEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedBufferDataEXT(buffer: UInt32; internalformat: DummyEnum; format: DummyEnum; &type: DummyEnum; data: pointer) := z_ClearNamedBufferDataEXT(buffer, internalformat, format, &type, data); + + public z_ClearNamedBufferSubDataEXT: procedure(buffer: UInt32; internalformat: DummyEnum; offset: UIntPtr; size: UIntPtr; format: DummyEnum; &type: DummyEnum; data: pointer) := GetGLFuncOrNil&('glClearNamedBufferSubDataEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearNamedBufferSubDataEXT(buffer: UInt32; internalformat: DummyEnum; offset: UIntPtr; size: UIntPtr; format: DummyEnum; &type: DummyEnum; data: pointer) := z_ClearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, &type, data); + + {$endregion ARB_clear_buffer_object} + + {$region EXT_shader_pixel_local_storage2} + + public z_FramebufferPixelLocalStorageSizeEXT: procedure(target: UInt32; size: Int32) := GetGLFuncOrNil&('glFramebufferPixelLocalStorageSizeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferPixelLocalStorageSizeEXT(target: UInt32; size: Int32) := z_FramebufferPixelLocalStorageSizeEXT(target, size); + + public z_GetFramebufferPixelLocalStorageSizeEXT: function(target: UInt32): Int32 := GetGLFuncOrNil&('glGetFramebufferPixelLocalStorageSizeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFramebufferPixelLocalStorageSizeEXT(target: UInt32): Int32 := z_GetFramebufferPixelLocalStorageSizeEXT(target); + + public z_ClearPixelLocalStorageuiEXT: procedure(offset: Int32; n: Int32; values: pointer) := GetGLFuncOrNil&('glClearPixelLocalStorageuiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearPixelLocalStorageuiEXT(offset: Int32; n: Int32; values: array of UInt32) := ClearPixelLocalStorageuiEXT(offset, n, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearPixelLocalStorageuiEXT(offset: Int32; n: Int32; var values: UInt32) := ClearPixelLocalStorageuiEXT(offset, n, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearPixelLocalStorageuiEXT(offset: Int32; n: Int32; values: pointer) := z_ClearPixelLocalStorageuiEXT(offset, n, values); + + {$endregion EXT_shader_pixel_local_storage2} + + {$region EXT_clear_texture} + + public z_ClearTexImageEXT: procedure(texture: UInt32; level: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := GetGLFuncOrNil&('glClearTexImageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearTexImageEXT(texture: UInt32; level: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := z_ClearTexImageEXT(texture, level, format, &type, data); + + public z_ClearTexSubImageEXT: procedure(texture: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := GetGLFuncOrNil&('glClearTexSubImageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearTexSubImageEXT(texture: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := z_ClearTexSubImageEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, data); + + {$endregion EXT_clear_texture} + + {$region EXT_clip_control} + + public z_ClipControlEXT: procedure(origin: DummyEnum; depth: DummyEnum) := GetGLFuncOrNil&('glClipControlEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipControlEXT(origin: DummyEnum; depth: DummyEnum) := z_ClipControlEXT(origin, depth); + + {$endregion EXT_clip_control} + + {$region EXT_draw_buffers2} + + public z_ColorMaskIndexedEXT: procedure(index: UInt32; r: Byte; g: Byte; b: Byte; a: Byte) := GetGLFuncOrNil&('glColorMaskIndexedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorMaskIndexedEXT(index: UInt32; r: Byte; g: Byte; b: Byte; a: Byte) := z_ColorMaskIndexedEXT(index, r, g, b, a); + + {$endregion EXT_draw_buffers2} + + {$region EXT_color_subtable EXT_paletted_texture} + + public z_ColorSubTableEXT: procedure(target: DummyEnum; start: Int32; count: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := GetGLFuncOrNil&('glColorSubTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorSubTableEXT(target: DummyEnum; start: Int32; count: Int32; format: DummyEnum; &type: DummyEnum; data: pointer) := z_ColorSubTableEXT(target, start, count, format, &type, data); + + {$endregion EXT_color_subtable EXT_paletted_texture} + + {$region EXT_paletted_texture} + + public z_ColorTableEXT: procedure(target: DummyEnum; internalFormat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; table: pointer) := GetGLFuncOrNil&('glColorTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableEXT(target: DummyEnum; internalFormat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; table: pointer) := z_ColorTableEXT(target, internalFormat, width, format, &type, table); + + public z_GetColorTableEXT: procedure(target: DummyEnum; format: DummyEnum; &type: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetColorTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableEXT(target: DummyEnum; format: DummyEnum; &type: DummyEnum; data: pointer) := z_GetColorTableEXT(target, format, &type, data); + + public z_GetColorTableParameterivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetColorTableParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetColorTableParameterivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetColorTableParameterivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetColorTableParameterivEXT(target, pname, ¶ms); + + public z_GetColorTableParameterfvEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetColorTableParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetColorTableParameterfvEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfvEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetColorTableParameterfvEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetColorTableParameterfvEXT(target, pname, ¶ms); + + {$endregion EXT_paletted_texture} + + {$region EXT_convolution} + + public z_ConvolutionFilter1DEXT: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := GetGLFuncOrNil&('glConvolutionFilter1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionFilter1DEXT(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := z_ConvolutionFilter1DEXT(target, internalformat, width, format, &type, image); + + public z_ConvolutionFilter2DEXT: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := GetGLFuncOrNil&('glConvolutionFilter2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionFilter2DEXT(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; image: pointer) := z_ConvolutionFilter2DEXT(target, internalformat, width, height, format, &type, image); + + public z_CopyConvolutionFilter1DEXT: procedure(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyConvolutionFilter1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyConvolutionFilter1DEXT(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := z_CopyConvolutionFilter1DEXT(target, internalformat, x, y, width); + + public z_CopyConvolutionFilter2DEXT: procedure(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyConvolutionFilter2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyConvolutionFilter2DEXT(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyConvolutionFilter2DEXT(target, internalformat, x, y, width, height); + + public z_GetConvolutionFilterEXT: procedure(target: DummyEnum; format: DummyEnum; &type: DummyEnum; image: pointer) := GetGLFuncOrNil&('glGetConvolutionFilterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionFilterEXT(target: DummyEnum; format: DummyEnum; &type: DummyEnum; image: pointer) := z_GetConvolutionFilterEXT(target, format, &type, image); + + public z_SeparableFilter2DEXT: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer) := GetGLFuncOrNil&('glSeparableFilter2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SeparableFilter2DEXT(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer) := z_SeparableFilter2DEXT(target, internalformat, width, height, format, &type, row, column); + + public z_GetSeparableFilterEXT: procedure(target: DummyEnum; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer; span: pointer) := GetGLFuncOrNil&('glGetSeparableFilterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSeparableFilterEXT(target: DummyEnum; format: DummyEnum; &type: DummyEnum; row: pointer; column: pointer; span: pointer) := z_GetSeparableFilterEXT(target, format, &type, row, column, span); + + public z_ConvolutionParameteriEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: Int32) := GetGLFuncOrNil&('glConvolutionParameteriEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameteriEXT(target: DummyEnum; pname: DummyEnum; ¶ms: Int32) := z_ConvolutionParameteriEXT(target, pname, ¶ms); + + public z_ConvolutionParameterivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glConvolutionParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := ConvolutionParameterivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := ConvolutionParameterivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ConvolutionParameterivEXT(target, pname, ¶ms); + + public z_ConvolutionParameterfEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: single) := GetGLFuncOrNil&('glConvolutionParameterfEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterfEXT(target: DummyEnum; pname: DummyEnum; ¶ms: single) := z_ConvolutionParameterfEXT(target, pname, ¶ms); + + public z_ConvolutionParameterfvEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glConvolutionParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := ConvolutionParameterfvEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterfvEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := ConvolutionParameterfvEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ConvolutionParameterfvEXT(target, pname, ¶ms); + + public z_GetConvolutionParameterivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetConvolutionParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetConvolutionParameterivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetConvolutionParameterivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetConvolutionParameterivEXT(target, pname, ¶ms); + + public z_GetConvolutionParameterfvEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetConvolutionParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetConvolutionParameterfvEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterfvEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetConvolutionParameterfvEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetConvolutionParameterfvEXT(target, pname, ¶ms); + + {$endregion EXT_convolution} + + {$region EXT_color_subtable} + + public z_CopyColorSubTableEXT: procedure(target: DummyEnum; start: Int32; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyColorSubTableEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyColorSubTableEXT(target: DummyEnum; start: Int32; x: Int32; y: Int32; width: Int32) := z_CopyColorSubTableEXT(target, start, x, y, width); + + {$endregion EXT_color_subtable} + + {$region EXT_copy_image} + + public z_CopyImageSubDataEXT: procedure(srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := GetGLFuncOrNil&('glCopyImageSubDataEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyImageSubDataEXT(srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := z_CopyImageSubDataEXT(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + + {$endregion EXT_copy_image} + + {$region EXT_copy_texture} + + public z_CopyTexImage1DEXT: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; border: Int32) := GetGLFuncOrNil&('glCopyTexImage1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexImage1DEXT(target: DummyEnum; level: Int32; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; border: Int32) := z_CopyTexImage1DEXT(target, level, internalformat, x, y, width, border); + + public z_CopyTexImage2DEXT: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32) := GetGLFuncOrNil&('glCopyTexImage2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexImage2DEXT(target: DummyEnum; level: Int32; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32; height: Int32; border: Int32) := z_CopyTexImage2DEXT(target, level, internalformat, x, y, width, height, border); + + public z_CopyTexSubImage1DEXT: procedure(target: DummyEnum; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyTexSubImage1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexSubImage1DEXT(target: DummyEnum; level: Int32; xoffset: Int32; x: Int32; y: Int32; width: Int32) := z_CopyTexSubImage1DEXT(target, level, xoffset, x, y, width); + + public z_CopyTexSubImage2DEXT: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyTexSubImage2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexSubImage2DEXT(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyTexSubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height); + + public z_CopyTexSubImage3DEXT: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyTexSubImage3DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexSubImage3DEXT(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height); + + {$endregion EXT_copy_texture} + + {$region EXT_depth_bounds_test} + + public z_DepthBoundsEXT: procedure(zmin: double; zmax: double) := GetGLFuncOrNil&('glDepthBoundsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthBoundsEXT(zmin: double; zmax: double) := z_DepthBoundsEXT(zmin, zmax); + + {$endregion EXT_depth_bounds_test} + + {$region ARB_viewport_array EXT_draw_buffers2} + + public z_EnableIndexedEXT: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glEnableIndexedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableIndexedEXT(target: DummyEnum; index: UInt32) := z_EnableIndexedEXT(target, index); + + public z_DisableIndexedEXT: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glDisableIndexedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableIndexedEXT(target: DummyEnum; index: UInt32) := z_DisableIndexedEXT(target, index); + + public z_IsEnabledIndexedEXT: function(target: DummyEnum; index: UInt32): Byte := GetGLFuncOrNil&('glIsEnabledIndexedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnabledIndexedEXT(target: DummyEnum; index: UInt32): Byte := z_IsEnabledIndexedEXT(target, index); + + {$endregion ARB_viewport_array EXT_draw_buffers2} + + {$region EXT_discard_framebuffer} + + public z_DiscardFramebufferEXT: procedure(target: DummyEnum; numAttachments: Int32; attachments: pointer) := GetGLFuncOrNil&('glDiscardFramebufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DiscardFramebufferEXT(target: DummyEnum; numAttachments: Int32; attachments: array of DummyEnum) := DiscardFramebufferEXT(target, numAttachments, attachments[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DiscardFramebufferEXT(target: DummyEnum; numAttachments: Int32; var attachments: DummyEnum) := DiscardFramebufferEXT(target, numAttachments, @attachments); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DiscardFramebufferEXT(target: DummyEnum; numAttachments: Int32; attachments: pointer) := z_DiscardFramebufferEXT(target, numAttachments, attachments); + + {$endregion EXT_discard_framebuffer} + + {$region EXT_base_instance} + + public z_DrawArraysInstancedBaseInstanceEXT: procedure(mode: DummyEnum; first: Int32; count: Int32; instancecount: Int32; baseinstance: UInt32) := GetGLFuncOrNil&('glDrawArraysInstancedBaseInstanceEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysInstancedBaseInstanceEXT(mode: DummyEnum; first: Int32; count: Int32; instancecount: Int32; baseinstance: UInt32) := z_DrawArraysInstancedBaseInstanceEXT(mode, first, count, instancecount, baseinstance); + + public z_DrawElementsInstancedBaseInstanceEXT: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; baseinstance: UInt32) := GetGLFuncOrNil&('glDrawElementsInstancedBaseInstanceEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseInstanceEXT(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; baseinstance: UInt32) := z_DrawElementsInstancedBaseInstanceEXT(mode, count, &type, indices, instancecount, baseinstance); + + public z_DrawElementsInstancedBaseVertexBaseInstanceEXT: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := GetGLFuncOrNil&('glDrawElementsInstancedBaseVertexBaseInstanceEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexBaseInstanceEXT(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; basevertex: Int32; baseinstance: UInt32) := z_DrawElementsInstancedBaseVertexBaseInstanceEXT(mode, count, &type, indices, instancecount, basevertex, baseinstance); + + {$endregion EXT_base_instance} + + {$region EXT_draw_instanced EXT_instanced_arrays} + + public z_DrawArraysInstancedEXT: procedure(mode: DummyEnum; start: Int32; count: Int32; primcount: Int32) := GetGLFuncOrNil&('glDrawArraysInstancedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysInstancedEXT(mode: DummyEnum; start: Int32; count: Int32; primcount: Int32) := z_DrawArraysInstancedEXT(mode, start, count, primcount); + + public z_DrawElementsInstancedEXT: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := GetGLFuncOrNil&('glDrawElementsInstancedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedEXT(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := z_DrawElementsInstancedEXT(mode, count, &type, indices, primcount); + + {$endregion EXT_draw_instanced EXT_instanced_arrays} + + {$region EXT_draw_buffers} + + public z_DrawBuffersEXT: procedure(n: Int32; bufs: pointer) := GetGLFuncOrNil&('glDrawBuffersEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersEXT(n: Int32; bufs: array of DummyEnum) := DrawBuffersEXT(n, bufs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersEXT(n: Int32; var bufs: DummyEnum) := DrawBuffersEXT(n, @bufs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersEXT(n: Int32; bufs: pointer) := z_DrawBuffersEXT(n, bufs); + + {$endregion EXT_draw_buffers} + + {$region EXT_multiview_draw_buffers} + + public z_ReadBufferIndexedEXT: procedure(src: DummyEnum; index: Int32) := GetGLFuncOrNil&('glReadBufferIndexedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadBufferIndexedEXT(src: DummyEnum; index: Int32) := z_ReadBufferIndexedEXT(src, index); + + public z_DrawBuffersIndexedEXT: procedure(n: Int32; location: pointer; indices: pointer) := GetGLFuncOrNil&('glDrawBuffersIndexedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; location: array of DummyEnum; indices: array of Int32) := DrawBuffersIndexedEXT(n, location[0], indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; location: array of DummyEnum; var indices: Int32) := DrawBuffersIndexedEXT(n, location[0], @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; location: array of DummyEnum; indices: pointer) := DrawBuffersIndexedEXT(n, location[0], indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; var location: DummyEnum; indices: array of Int32) := DrawBuffersIndexedEXT(n, @location, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; var location: DummyEnum; var indices: Int32) := DrawBuffersIndexedEXT(n, @location, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; var location: DummyEnum; indices: pointer) := DrawBuffersIndexedEXT(n, @location, indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; location: pointer; indices: array of Int32) := DrawBuffersIndexedEXT(n, location, indices[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; location: pointer; var indices: Int32) := DrawBuffersIndexedEXT(n, location, @indices); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersIndexedEXT(n: Int32; location: pointer; indices: pointer) := z_DrawBuffersIndexedEXT(n, location, indices); + + public z_GetIntegeri_vEXT: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetIntegeri_vEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegeri_vEXT(target: GLGetQueries; index: UInt32; data: array of Int32) := GetIntegeri_vEXT(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegeri_vEXT(target: GLGetQueries; index: UInt32; var data: Int32) := GetIntegeri_vEXT(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegeri_vEXT(target: GLGetQueries; index: UInt32; data: pointer) := z_GetIntegeri_vEXT(target, index, data); + + {$endregion EXT_multiview_draw_buffers} + + {$region EXT_draw_elements_base_vertex} + + public z_DrawElementsBaseVertexEXT: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := GetGLFuncOrNil&('glDrawElementsBaseVertexEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertexEXT(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := z_DrawElementsBaseVertexEXT(mode, count, &type, indices, basevertex); + + public z_DrawRangeElementsBaseVertexEXT: procedure(mode: DummyEnum; start: UInt32; &end: UInt32; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := GetGLFuncOrNil&('glDrawRangeElementsBaseVertexEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertexEXT(mode: DummyEnum; start: UInt32; &end: UInt32; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := z_DrawRangeElementsBaseVertexEXT(mode, start, &end, count, &type, indices, basevertex); + + public z_DrawElementsInstancedBaseVertexEXT: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; basevertex: Int32) := GetGLFuncOrNil&('glDrawElementsInstancedBaseVertexEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexEXT(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; basevertex: Int32) := z_DrawElementsInstancedBaseVertexEXT(mode, count, &type, indices, instancecount, basevertex); + + {$endregion EXT_draw_elements_base_vertex} + + {$region EXT_draw_transform_feedback EXT_transform_feedback2} + + public z_DrawTransformFeedbackEXT: procedure(mode: DummyEnum; id: UInt32) := GetGLFuncOrNil&('glDrawTransformFeedbackEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTransformFeedbackEXT(mode: DummyEnum; id: UInt32) := z_DrawTransformFeedbackEXT(mode, id); + + {$endregion EXT_draw_transform_feedback EXT_transform_feedback2} + + {$region EXT_draw_transform_feedback} + + public z_DrawTransformFeedbackInstancedEXT: procedure(mode: DummyEnum; id: UInt32; instancecount: Int32) := GetGLFuncOrNil&('glDrawTransformFeedbackInstancedEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTransformFeedbackInstancedEXT(mode: DummyEnum; id: UInt32; instancecount: Int32) := z_DrawTransformFeedbackInstancedEXT(mode, id, instancecount); + + {$endregion EXT_draw_transform_feedback} + + {$region EXT_EGL_image_storage} + + public z_EGLImageTargetTexStorageEXT: procedure(target: DummyEnum; image: GLeglImageOES; attrib_list: pointer) := GetGLFuncOrNil&('glEGLImageTargetTexStorageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetTexStorageEXT(target: DummyEnum; image: GLeglImageOES; attrib_list: array of Int32) := EGLImageTargetTexStorageEXT(target, image, attrib_list[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetTexStorageEXT(target: DummyEnum; image: GLeglImageOES; var attrib_list: Int32) := EGLImageTargetTexStorageEXT(target, image, @attrib_list); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetTexStorageEXT(target: DummyEnum; image: GLeglImageOES; attrib_list: pointer) := z_EGLImageTargetTexStorageEXT(target, image, attrib_list); + + public z_EGLImageTargetTextureStorageEXT: procedure(texture: UInt32; image: GLeglImageOES; attrib_list: pointer) := GetGLFuncOrNil&('glEGLImageTargetTextureStorageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetTextureStorageEXT(texture: UInt32; image: GLeglImageOES; attrib_list: array of Int32) := EGLImageTargetTextureStorageEXT(texture, image, attrib_list[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetTextureStorageEXT(texture: UInt32; image: GLeglImageOES; var attrib_list: Int32) := EGLImageTargetTextureStorageEXT(texture, image, @attrib_list); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetTextureStorageEXT(texture: UInt32; image: GLeglImageOES; attrib_list: pointer) := z_EGLImageTargetTextureStorageEXT(texture, image, attrib_list); + + {$endregion EXT_EGL_image_storage} + + {$region EXT_map_buffer_range} + + public z_MapBufferRangeEXT: function(target: DummyEnum; offset: IntPtr; length: UIntPtr; access: DummyFlags): pointer := GetGLFuncOrNil&('glMapBufferRangeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapBufferRangeEXT(target: DummyEnum; offset: IntPtr; length: UIntPtr; access: DummyFlags): pointer := z_MapBufferRangeEXT(target, offset, length, access); + + public z_FlushMappedBufferRangeEXT: procedure(target: DummyEnum; offset: IntPtr; length: UIntPtr) := GetGLFuncOrNil&('glFlushMappedBufferRangeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushMappedBufferRangeEXT(target: DummyEnum; offset: IntPtr; length: UIntPtr) := z_FlushMappedBufferRangeEXT(target, offset, length); + + {$endregion EXT_map_buffer_range} + + {$region EXT_fog_coord} + + public z_FogCoordfEXT: procedure(coord: single) := GetGLFuncOrNil&('glFogCoordfEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordfEXT(coord: single) := z_FogCoordfEXT(coord); + + public z_FogCoorddEXT: procedure(coord: double) := GetGLFuncOrNil&('glFogCoorddEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoorddEXT(coord: double) := z_FogCoorddEXT(coord); + + public z_FogCoordfvEXT: procedure(coord: pointer) := GetGLFuncOrNil&('glFogCoordfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordfvEXT(coord: array of single) := FogCoordfvEXT(coord[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordfvEXT(var coord: single) := FogCoordfvEXT(@coord); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordfvEXT(coord: pointer) := z_FogCoordfvEXT(coord); + + public z_FogCoorddvEXT: procedure(coord: pointer) := GetGLFuncOrNil&('glFogCoorddvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoorddvEXT(coord: array of double) := FogCoorddvEXT(coord[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoorddvEXT(var coord: double) := FogCoorddvEXT(@coord); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoorddvEXT(coord: pointer) := z_FogCoorddvEXT(coord); + + public z_FogCoordPointerEXT: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glFogCoordPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordPointerEXT(&type: DummyEnum; stride: Int32; _pointer: pointer) := z_FogCoordPointerEXT(&type, stride, _pointer); + + {$endregion EXT_fog_coord} + + {$region EXT_shader_framebuffer_fetch} + + public z_FramebufferFetchBarrierEXT: procedure := GetGLFuncOrNil&('glFramebufferFetchBarrierEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferFetchBarrierEXT := z_FramebufferFetchBarrierEXT; + + {$endregion EXT_shader_framebuffer_fetch} + + {$region EXT_multisampled_render_to_texture} + + public z_RenderbufferStorageMultisampleEXT: procedure(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisampleEXT(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height); + + public z_FramebufferTexture2DMultisampleEXT: procedure(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; samples: Int32) := GetGLFuncOrNil&('glFramebufferTexture2DMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture2DMultisampleEXT(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; samples: Int32) := z_FramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples); + + {$endregion EXT_multisampled_render_to_texture} + + {$region EXT_geometry_shader EXT_geometry_shader4 NV_geometry_program4} + + public z_FramebufferTextureEXT: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32) := GetGLFuncOrNil&('glFramebufferTextureEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureEXT(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32) := z_FramebufferTextureEXT(target, attachment, texture, level); + + {$endregion EXT_geometry_shader EXT_geometry_shader4 NV_geometry_program4} + + {$region EXT_geometry_shader4 NV_geometry_program4} + + public z_FramebufferTextureFaceEXT: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; face: DummyEnum) := GetGLFuncOrNil&('glFramebufferTextureFaceEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureFaceEXT(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; face: DummyEnum) := z_FramebufferTextureFaceEXT(target, attachment, texture, level, face); + + {$endregion EXT_geometry_shader4 NV_geometry_program4} + + {$region EXT_geometry_shader4 EXT_texture_array NV_geometry_program4} + + public z_FramebufferTextureLayerEXT: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; layer: Int32) := GetGLFuncOrNil&('glFramebufferTextureLayerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureLayerEXT(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; layer: Int32) := z_FramebufferTextureLayerEXT(target, attachment, texture, level, layer); + + {$endregion EXT_geometry_shader4 EXT_texture_array NV_geometry_program4} + + {$region EXT_draw_buffers2 EXT_transform_feedback NV_explicit_multisample NV_transform_feedback} + + public z_GetBooleanIndexedvEXT: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetBooleanIndexedvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleanIndexedvEXT(target: GLGetQueries; index: UInt32; data: array of Byte) := GetBooleanIndexedvEXT(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleanIndexedvEXT(target: GLGetQueries; index: UInt32; var data: Byte) := GetBooleanIndexedvEXT(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBooleanIndexedvEXT(target: GLGetQueries; index: UInt32; data: pointer) := z_GetBooleanIndexedvEXT(target, index, data); + + {$endregion EXT_draw_buffers2 EXT_transform_feedback NV_explicit_multisample NV_transform_feedback} + + {$region EXT_gpu_shader4} + + public z_Uniform1uiEXT: procedure(location: Int32; v0: UInt32) := GetGLFuncOrNil&('glUniform1uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uiEXT(location: Int32; v0: UInt32) := z_Uniform1uiEXT(location, v0); + + public z_Uniform2uiEXT: procedure(location: Int32; v0: UInt32; v1: UInt32) := GetGLFuncOrNil&('glUniform2uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uiEXT(location: Int32; v0: UInt32; v1: UInt32) := z_Uniform2uiEXT(location, v0, v1); + + public z_Uniform3uiEXT: procedure(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := GetGLFuncOrNil&('glUniform3uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uiEXT(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32) := z_Uniform3uiEXT(location, v0, v1, v2); + + public z_Uniform4uiEXT: procedure(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := GetGLFuncOrNil&('glUniform4uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uiEXT(location: Int32; v0: UInt32; v1: UInt32; v2: UInt32; v3: UInt32) := z_Uniform4uiEXT(location, v0, v1, v2, v3); + + public z_Uniform1uivEXT: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uivEXT(location: Int32; count: Int32; value: array of UInt32) := Uniform1uivEXT(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uivEXT(location: Int32; count: Int32; var value: UInt32) := Uniform1uivEXT(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1uivEXT(location: Int32; count: Int32; value: pointer) := z_Uniform1uivEXT(location, count, value); + + public z_Uniform2uivEXT: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uivEXT(location: Int32; count: Int32; value: array of UInt32) := Uniform2uivEXT(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uivEXT(location: Int32; count: Int32; var value: UInt32) := Uniform2uivEXT(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2uivEXT(location: Int32; count: Int32; value: pointer) := z_Uniform2uivEXT(location, count, value); + + public z_Uniform3uivEXT: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uivEXT(location: Int32; count: Int32; value: array of UInt32) := Uniform3uivEXT(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uivEXT(location: Int32; count: Int32; var value: UInt32) := Uniform3uivEXT(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3uivEXT(location: Int32; count: Int32; value: pointer) := z_Uniform3uivEXT(location, count, value); + + public z_Uniform4uivEXT: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uivEXT(location: Int32; count: Int32; value: array of UInt32) := Uniform4uivEXT(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uivEXT(location: Int32; count: Int32; var value: UInt32) := Uniform4uivEXT(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4uivEXT(location: Int32; count: Int32; value: pointer) := z_Uniform4uivEXT(location, count, value); + + public z_GetUniformuivEXT: procedure(&program: UInt32; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformuivEXT(&program: UInt32; location: Int32; ¶ms: array of UInt32) := GetUniformuivEXT(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformuivEXT(&program: UInt32; location: Int32; var ¶ms: UInt32) := GetUniformuivEXT(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformuivEXT(&program: UInt32; location: Int32; ¶ms: pointer) := z_GetUniformuivEXT(&program, location, ¶ms); + + public z_GetFragDataLocationEXT: function(&program: UInt32; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetFragDataLocationEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataLocationEXT(&program: UInt32; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetFragDataLocationEXT(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetFragDataLocationEXT(&program: UInt32; name: IntPtr): Int32 := z_GetFragDataLocationEXT(&program, name); + + {$endregion EXT_gpu_shader4} + + {$region EXT_robustness} + + public z_GetGraphicsResetStatusEXT: function: DummyEnum := GetGLFuncOrNil&('glGetGraphicsResetStatusEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGraphicsResetStatusEXT: DummyEnum := z_GetGraphicsResetStatusEXT; + + public z_ReadnPixelsEXT: procedure(x: Int32; y: Int32; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; bufSize: Int32; data: pointer) := GetGLFuncOrNil&('glReadnPixelsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadnPixelsEXT(x: Int32; y: Int32; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; bufSize: Int32; data: pointer) := z_ReadnPixelsEXT(x, y, width, height, format, &type, bufSize, data); + + public z_GetnUniformfvEXT: procedure(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformfvEXT(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: array of single) := GetnUniformfvEXT(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformfvEXT(&program: UInt32; location: Int32; bufSize: Int32; var ¶ms: single) := GetnUniformfvEXT(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformfvEXT(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformfvEXT(&program, location, bufSize, ¶ms); + + public z_GetnUniformivEXT: procedure(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetnUniformivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformivEXT(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: array of Int32) := GetnUniformivEXT(&program, location, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformivEXT(&program: UInt32; location: Int32; bufSize: Int32; var ¶ms: Int32) := GetnUniformivEXT(&program, location, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetnUniformivEXT(&program: UInt32; location: Int32; bufSize: Int32; ¶ms: pointer) := z_GetnUniformivEXT(&program, location, bufSize, ¶ms); + + {$endregion EXT_robustness} + + {$region EXT_histogram} + + public z_HistogramEXT: procedure(target: DummyEnum; width: Int32; internalformat: DummyEnum; sink: Byte) := GetGLFuncOrNil&('glHistogramEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure HistogramEXT(target: DummyEnum; width: Int32; internalformat: DummyEnum; sink: Byte) := z_HistogramEXT(target, width, internalformat, sink); + + public z_ResetHistogramEXT: procedure(target: DummyEnum) := GetGLFuncOrNil&('glResetHistogramEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResetHistogramEXT(target: DummyEnum) := z_ResetHistogramEXT(target); + + public z_GetHistogramEXT: procedure(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := GetGLFuncOrNil&('glGetHistogramEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramEXT(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := z_GetHistogramEXT(target, reset, format, &type, values); + + public z_GetHistogramParameterivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetHistogramParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetHistogramParameterivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetHistogramParameterivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetHistogramParameterivEXT(target, pname, ¶ms); + + public z_GetHistogramParameterfvEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetHistogramParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetHistogramParameterfvEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterfvEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetHistogramParameterfvEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetHistogramParameterfvEXT(target, pname, ¶ms); + + public z_MinmaxEXT: procedure(target: DummyEnum; internalformat: DummyEnum; sink: Byte) := GetGLFuncOrNil&('glMinmaxEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MinmaxEXT(target: DummyEnum; internalformat: DummyEnum; sink: Byte) := z_MinmaxEXT(target, internalformat, sink); + + public z_ResetMinmaxEXT: procedure(target: DummyEnum) := GetGLFuncOrNil&('glResetMinmaxEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResetMinmaxEXT(target: DummyEnum) := z_ResetMinmaxEXT(target); + + public z_GetMinmaxEXT: procedure(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := GetGLFuncOrNil&('glGetMinmaxEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxEXT(target: DummyEnum; reset: Byte; format: DummyEnum; &type: DummyEnum; values: pointer) := z_GetMinmaxEXT(target, reset, format, &type, values); + + public z_GetMinmaxParameterivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMinmaxParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetMinmaxParameterivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetMinmaxParameterivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetMinmaxParameterivEXT(target, pname, ¶ms); + + public z_GetMinmaxParameterfvEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMinmaxParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetMinmaxParameterfvEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterfvEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetMinmaxParameterfvEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMinmaxParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetMinmaxParameterfvEXT(target, pname, ¶ms); + + {$endregion EXT_histogram} + + {$region ARB_viewport_array EXT_draw_buffers2 EXT_transform_feedback NV_explicit_multisample NV_parameter_buffer_object NV_transform_feedback} + + public z_GetIntegerIndexedvEXT: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetIntegerIndexedvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerIndexedvEXT(target: GLGetQueries; index: UInt32; data: array of Int32) := GetIntegerIndexedvEXT(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerIndexedvEXT(target: GLGetQueries; index: UInt32; var data: Int32) := GetIntegerIndexedvEXT(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerIndexedvEXT(target: GLGetQueries; index: UInt32; data: pointer) := z_GetIntegerIndexedvEXT(target, index, data); + + {$endregion ARB_viewport_array EXT_draw_buffers2 EXT_transform_feedback NV_explicit_multisample NV_parameter_buffer_object NV_transform_feedback} + + {$region ARB_framebuffer_no_attachments} + + public z_NamedFramebufferParameteriEXT: procedure(framebuffer: UInt32; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glNamedFramebufferParameteriEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferParameteriEXT(framebuffer: UInt32; pname: DummyEnum; param: Int32) := z_NamedFramebufferParameteriEXT(framebuffer, pname, param); + + public z_GetNamedFramebufferParameterivEXT: procedure(framebuffer: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedFramebufferParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameterivEXT(framebuffer: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetNamedFramebufferParameterivEXT(framebuffer, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameterivEXT(framebuffer: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetNamedFramebufferParameterivEXT(framebuffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameterivEXT(framebuffer: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetNamedFramebufferParameterivEXT(framebuffer, pname, ¶ms); + + {$endregion ARB_framebuffer_no_attachments} + + {$region EXT_debug_label} + + public z_LabelObjectEXT: procedure(&type: DummyEnum; object: UInt32; length: Int32; &label: IntPtr) := GetGLFuncOrNil&('glLabelObjectEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LabelObjectEXT(&type: DummyEnum; object: UInt32; length: Int32; &label: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(&label); LabelObjectEXT(&type, object, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LabelObjectEXT(&type: DummyEnum; object: UInt32; length: Int32; &label: IntPtr) := z_LabelObjectEXT(&type, object, length, &label); + + public z_GetObjectLabelEXT: procedure(&type: DummyEnum; object: UInt32; bufSize: Int32; length: pointer; &label: IntPtr) := GetGLFuncOrNil&('glGetObjectLabelEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabelEXT(&type: DummyEnum; object: UInt32; bufSize: Int32; length: array of Int32; &label: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(&label); GetObjectLabelEXT(&type, object, bufSize, length[0], ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabelEXT(&type: DummyEnum; object: UInt32; bufSize: Int32; length: array of Int32; &label: IntPtr) := GetObjectLabelEXT(&type, object, bufSize, length[0], &label); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabelEXT(&type: DummyEnum; object: UInt32; bufSize: Int32; var length: Int32; &label: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(&label); GetObjectLabelEXT(&type, object, bufSize, @length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabelEXT(&type: DummyEnum; object: UInt32; bufSize: Int32; var length: Int32; &label: IntPtr) := GetObjectLabelEXT(&type, object, bufSize, @length, &label); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabelEXT(&type: DummyEnum; object: UInt32; bufSize: Int32; length: pointer; &label: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(&label); GetObjectLabelEXT(&type, object, bufSize, length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectLabelEXT(&type: DummyEnum; object: UInt32; bufSize: Int32; length: pointer; &label: IntPtr) := z_GetObjectLabelEXT(&type, object, bufSize, length, &label); + + {$endregion EXT_debug_label} + + {$region EXT_pixel_transform} + + public z_PixelTransformParameteriEXT: procedure(target: DummyEnum; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glPixelTransformParameteriEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameteriEXT(target: DummyEnum; pname: DummyEnum; param: Int32) := z_PixelTransformParameteriEXT(target, pname, param); + + public z_PixelTransformParameterfEXT: procedure(target: DummyEnum; pname: DummyEnum; param: single) := GetGLFuncOrNil&('glPixelTransformParameterfEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfEXT(target: DummyEnum; pname: DummyEnum; param: single) := z_PixelTransformParameterfEXT(target, pname, param); + + public z_PixelTransformParameterivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPixelTransformParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := PixelTransformParameterivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := PixelTransformParameterivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_PixelTransformParameterivEXT(target, pname, ¶ms); + + public z_PixelTransformParameterfvEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPixelTransformParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := PixelTransformParameterfvEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfvEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := PixelTransformParameterfvEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_PixelTransformParameterfvEXT(target, pname, ¶ms); + + public z_GetPixelTransformParameterivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetPixelTransformParameterivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetPixelTransformParameterivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetPixelTransformParameterivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetPixelTransformParameterivEXT(target, pname, ¶ms); + + public z_GetPixelTransformParameterfvEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetPixelTransformParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetPixelTransformParameterfvEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterfvEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetPixelTransformParameterfvEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterfvEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetPixelTransformParameterfvEXT(target, pname, ¶ms); + + {$endregion EXT_pixel_transform} + + {$region EXT_disjoint_timer_query EXT_timer_query} + + public z_GetQueryObjecti64vEXT: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjecti64vEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjecti64vEXT(id: UInt32; pname: DummyEnum; ¶ms: array of Int64) := GetQueryObjecti64vEXT(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjecti64vEXT(id: UInt32; pname: DummyEnum; var ¶ms: Int64) := GetQueryObjecti64vEXT(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjecti64vEXT(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetQueryObjecti64vEXT(id, pname, ¶ms); + + public z_GetQueryObjectui64vEXT: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectui64vEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectui64vEXT(id: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := GetQueryObjectui64vEXT(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectui64vEXT(id: UInt32; pname: DummyEnum; var ¶ms: UInt64) := GetQueryObjectui64vEXT(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectui64vEXT(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetQueryObjectui64vEXT(id, pname, ¶ms); + + {$endregion EXT_disjoint_timer_query EXT_timer_query} + + {$region EXT_disjoint_timer_query} + + public z_QueryCounterEXT: procedure(id: UInt32; target: DummyEnum) := GetGLFuncOrNil&('glQueryCounterEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryCounterEXT(id: UInt32; target: DummyEnum) := z_QueryCounterEXT(id, target); + + public z_GetQueryObjectivEXT: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetQueryObjectivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectivEXT(id: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetQueryObjectivEXT(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectivEXT(id: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetQueryObjectivEXT(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetQueryObjectivEXT(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetQueryObjectivEXT(id, pname, ¶ms); + + {$endregion EXT_disjoint_timer_query} + + {$region EXT_texture_border_clamp} + + public z_SamplerParameterIivEXT: procedure(sampler: UInt32; pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glSamplerParameterIivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIivEXT(sampler: UInt32; pname: DummyEnum; param: array of Int32) := SamplerParameterIivEXT(sampler, pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIivEXT(sampler: UInt32; pname: DummyEnum; var param: Int32) := SamplerParameterIivEXT(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIivEXT(sampler: UInt32; pname: DummyEnum; param: pointer) := z_SamplerParameterIivEXT(sampler, pname, param); + + public z_SamplerParameterIuivEXT: procedure(sampler: UInt32; pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glSamplerParameterIuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuivEXT(sampler: UInt32; pname: DummyEnum; param: array of UInt32) := SamplerParameterIuivEXT(sampler, pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuivEXT(sampler: UInt32; pname: DummyEnum; var param: UInt32) := SamplerParameterIuivEXT(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuivEXT(sampler: UInt32; pname: DummyEnum; param: pointer) := z_SamplerParameterIuivEXT(sampler, pname, param); + + public z_GetSamplerParameterIivEXT: procedure(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameterIivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIivEXT(sampler: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetSamplerParameterIivEXT(sampler, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIivEXT(sampler: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetSamplerParameterIivEXT(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIivEXT(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetSamplerParameterIivEXT(sampler, pname, ¶ms); + + public z_GetSamplerParameterIuivEXT: procedure(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameterIuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuivEXT(sampler: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetSamplerParameterIuivEXT(sampler, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuivEXT(sampler: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetSamplerParameterIuivEXT(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuivEXT(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetSamplerParameterIuivEXT(sampler, pname, ¶ms); + + {$endregion EXT_texture_border_clamp} + + {$region EXT_texture_border_clamp EXT_texture_integer} + + public z_TexParameterIivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterIivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := TexParameterIivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := TexParameterIivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexParameterIivEXT(target, pname, ¶ms); + + public z_TexParameterIuivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterIuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of UInt32) := TexParameterIuivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: UInt32) := TexParameterIuivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexParameterIuivEXT(target, pname, ¶ms); + + public z_GetTexParameterIivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterIivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetTexParameterIivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetTexParameterIivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexParameterIivEXT(target, pname, ¶ms); + + public z_GetTexParameterIuivEXT: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterIuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: array of UInt32) := GetTexParameterIuivEXT(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuivEXT(target: DummyEnum; pname: DummyEnum; var ¶ms: UInt32) := GetTexParameterIuivEXT(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuivEXT(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexParameterIuivEXT(target, pname, ¶ms); + + {$endregion EXT_texture_border_clamp EXT_texture_integer} + + {$region EXT_bindable_uniform} + + public z_UniformBufferEXT: procedure(&program: UInt32; location: Int32; buffer: UInt32) := GetGLFuncOrNil&('glUniformBufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformBufferEXT(&program: UInt32; location: Int32; buffer: UInt32) := z_UniformBufferEXT(&program, location, buffer); + + public z_GetUniformBufferSizeEXT: function(&program: UInt32; location: Int32): Int32 := GetGLFuncOrNil&('glGetUniformBufferSizeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformBufferSizeEXT(&program: UInt32; location: Int32): Int32 := z_GetUniformBufferSizeEXT(&program, location); + + public z_GetUniformOffsetEXT: function(&program: UInt32; location: Int32): IntPtr := GetGLFuncOrNil&('glGetUniformOffsetEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetUniformOffsetEXT(&program: UInt32; location: Int32): IntPtr := z_GetUniformOffsetEXT(&program, location); + + {$endregion EXT_bindable_uniform} + + {$region EXT_gpu_shader4 NV_vertex_program4} + + public z_VertexAttribI1iEXT: procedure(index: UInt32; x: Int32) := GetGLFuncOrNil&('glVertexAttribI1iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1iEXT(index: UInt32; x: Int32) := z_VertexAttribI1iEXT(index, x); + + public z_VertexAttribI2iEXT: procedure(index: UInt32; x: Int32; y: Int32) := GetGLFuncOrNil&('glVertexAttribI2iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2iEXT(index: UInt32; x: Int32; y: Int32) := z_VertexAttribI2iEXT(index, x, y); + + public z_VertexAttribI3iEXT: procedure(index: UInt32; x: Int32; y: Int32; z: Int32) := GetGLFuncOrNil&('glVertexAttribI3iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3iEXT(index: UInt32; x: Int32; y: Int32; z: Int32) := z_VertexAttribI3iEXT(index, x, y, z); + + public z_VertexAttribI4iEXT: procedure(index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := GetGLFuncOrNil&('glVertexAttribI4iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4iEXT(index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := z_VertexAttribI4iEXT(index, x, y, z, w); + + public z_VertexAttribI1uiEXT: procedure(index: UInt32; x: UInt32) := GetGLFuncOrNil&('glVertexAttribI1uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uiEXT(index: UInt32; x: UInt32) := z_VertexAttribI1uiEXT(index, x); + + public z_VertexAttribI2uiEXT: procedure(index: UInt32; x: UInt32; y: UInt32) := GetGLFuncOrNil&('glVertexAttribI2uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uiEXT(index: UInt32; x: UInt32; y: UInt32) := z_VertexAttribI2uiEXT(index, x, y); + + public z_VertexAttribI3uiEXT: procedure(index: UInt32; x: UInt32; y: UInt32; z: UInt32) := GetGLFuncOrNil&('glVertexAttribI3uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uiEXT(index: UInt32; x: UInt32; y: UInt32; z: UInt32) := z_VertexAttribI3uiEXT(index, x, y, z); + + public z_VertexAttribI4uiEXT: procedure(index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := GetGLFuncOrNil&('glVertexAttribI4uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uiEXT(index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := z_VertexAttribI4uiEXT(index, x, y, z, w); + + public z_VertexAttribI1ivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI1ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1ivEXT(index: UInt32; v: array of Int32) := VertexAttribI1ivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1ivEXT(index: UInt32; var v: Int32) := VertexAttribI1ivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1ivEXT(index: UInt32; v: pointer) := z_VertexAttribI1ivEXT(index, v); + + public z_VertexAttribI2ivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI2ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2ivEXT(index: UInt32; v: array of Int32) := VertexAttribI2ivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2ivEXT(index: UInt32; var v: Int32) := VertexAttribI2ivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2ivEXT(index: UInt32; v: pointer) := z_VertexAttribI2ivEXT(index, v); + + public z_VertexAttribI3ivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI3ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3ivEXT(index: UInt32; v: array of Int32) := VertexAttribI3ivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3ivEXT(index: UInt32; var v: Int32) := VertexAttribI3ivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3ivEXT(index: UInt32; v: pointer) := z_VertexAttribI3ivEXT(index, v); + + public z_VertexAttribI4ivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ivEXT(index: UInt32; v: array of Int32) := VertexAttribI4ivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ivEXT(index: UInt32; var v: Int32) := VertexAttribI4ivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ivEXT(index: UInt32; v: pointer) := z_VertexAttribI4ivEXT(index, v); + + public z_VertexAttribI1uivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI1uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uivEXT(index: UInt32; v: array of UInt32) := VertexAttribI1uivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uivEXT(index: UInt32; var v: UInt32) := VertexAttribI1uivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI1uivEXT(index: UInt32; v: pointer) := z_VertexAttribI1uivEXT(index, v); + + public z_VertexAttribI2uivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI2uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uivEXT(index: UInt32; v: array of UInt32) := VertexAttribI2uivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uivEXT(index: UInt32; var v: UInt32) := VertexAttribI2uivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI2uivEXT(index: UInt32; v: pointer) := z_VertexAttribI2uivEXT(index, v); + + public z_VertexAttribI3uivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI3uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uivEXT(index: UInt32; v: array of UInt32) := VertexAttribI3uivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uivEXT(index: UInt32; var v: UInt32) := VertexAttribI3uivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI3uivEXT(index: UInt32; v: pointer) := z_VertexAttribI3uivEXT(index, v); + + public z_VertexAttribI4uivEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uivEXT(index: UInt32; v: array of UInt32) := VertexAttribI4uivEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uivEXT(index: UInt32; var v: UInt32) := VertexAttribI4uivEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4uivEXT(index: UInt32; v: pointer) := z_VertexAttribI4uivEXT(index, v); + + public z_VertexAttribI4bvEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4bvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4bvEXT(index: UInt32; v: array of SByte) := VertexAttribI4bvEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4bvEXT(index: UInt32; var v: SByte) := VertexAttribI4bvEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4bvEXT(index: UInt32; v: pointer) := z_VertexAttribI4bvEXT(index, v); + + public z_VertexAttribI4svEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4svEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4svEXT(index: UInt32; v: array of Int16) := VertexAttribI4svEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4svEXT(index: UInt32; var v: Int16) := VertexAttribI4svEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4svEXT(index: UInt32; v: pointer) := z_VertexAttribI4svEXT(index, v); + + public z_VertexAttribI4ubvEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4ubvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ubvEXT(index: UInt32; v: array of Byte) := VertexAttribI4ubvEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ubvEXT(index: UInt32; var v: Byte) := VertexAttribI4ubvEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4ubvEXT(index: UInt32; v: pointer) := z_VertexAttribI4ubvEXT(index, v); + + public z_VertexAttribI4usvEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribI4usvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4usvEXT(index: UInt32; v: array of UInt16) := VertexAttribI4usvEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4usvEXT(index: UInt32; var v: UInt16) := VertexAttribI4usvEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribI4usvEXT(index: UInt32; v: pointer) := z_VertexAttribI4usvEXT(index, v); + + public z_VertexAttribIPointerEXT: procedure(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexAttribIPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribIPointerEXT(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_VertexAttribIPointerEXT(index, size, &type, stride, _pointer); + + public z_GetVertexAttribIivEXT: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribIivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIivEXT(index: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVertexAttribIivEXT(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIivEXT(index: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVertexAttribIivEXT(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIivEXT(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribIivEXT(index, pname, ¶ms); + + public z_GetVertexAttribIuivEXT: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribIuivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuivEXT(index: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetVertexAttribIuivEXT(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuivEXT(index: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetVertexAttribIuivEXT(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribIuivEXT(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribIuivEXT(index, pname, ¶ms); + + {$endregion EXT_gpu_shader4 NV_vertex_program4} + + {$region EXT_vertex_attrib_64bit} + + public z_VertexAttribL1dEXT: procedure(index: UInt32; x: double) := GetGLFuncOrNil&('glVertexAttribL1dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dEXT(index: UInt32; x: double) := z_VertexAttribL1dEXT(index, x); + + public z_VertexAttribL2dEXT: procedure(index: UInt32; x: double; y: double) := GetGLFuncOrNil&('glVertexAttribL2dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dEXT(index: UInt32; x: double; y: double) := z_VertexAttribL2dEXT(index, x, y); + + public z_VertexAttribL3dEXT: procedure(index: UInt32; x: double; y: double; z: double) := GetGLFuncOrNil&('glVertexAttribL3dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dEXT(index: UInt32; x: double; y: double; z: double) := z_VertexAttribL3dEXT(index, x, y, z); + + public z_VertexAttribL4dEXT: procedure(index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glVertexAttribL4dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dEXT(index: UInt32; x: double; y: double; z: double; w: double) := z_VertexAttribL4dEXT(index, x, y, z, w); + + public z_VertexAttribL1dvEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL1dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dvEXT(index: UInt32; v: array of double) := VertexAttribL1dvEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dvEXT(index: UInt32; var v: double) := VertexAttribL1dvEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1dvEXT(index: UInt32; v: pointer) := z_VertexAttribL1dvEXT(index, v); + + public z_VertexAttribL2dvEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL2dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dvEXT(index: UInt32; v: array of double) := VertexAttribL2dvEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dvEXT(index: UInt32; var v: double) := VertexAttribL2dvEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2dvEXT(index: UInt32; v: pointer) := z_VertexAttribL2dvEXT(index, v); + + public z_VertexAttribL3dvEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dvEXT(index: UInt32; v: array of double) := VertexAttribL3dvEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dvEXT(index: UInt32; var v: double) := VertexAttribL3dvEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3dvEXT(index: UInt32; v: pointer) := z_VertexAttribL3dvEXT(index, v); + + public z_VertexAttribL4dvEXT: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL4dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dvEXT(index: UInt32; v: array of double) := VertexAttribL4dvEXT(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dvEXT(index: UInt32; var v: double) := VertexAttribL4dvEXT(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4dvEXT(index: UInt32; v: pointer) := z_VertexAttribL4dvEXT(index, v); + + public z_VertexAttribLPointerEXT: procedure(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexAttribLPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribLPointerEXT(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_VertexAttribLPointerEXT(index, size, &type, stride, _pointer); + + public z_GetVertexAttribLdvEXT: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribLdvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLdvEXT(index: UInt32; pname: DummyEnum; ¶ms: array of double) := GetVertexAttribLdvEXT(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLdvEXT(index: UInt32; pname: DummyEnum; var ¶ms: double) := GetVertexAttribLdvEXT(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLdvEXT(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribLdvEXT(index, pname, ¶ms); + + {$endregion EXT_vertex_attrib_64bit} + + {$region EXT_external_objects_fd} + + public z_ImportMemoryFdEXT: procedure(memory: UInt32; size: UInt64; handleType: DummyEnum; fd: Int32) := GetGLFuncOrNil&('glImportMemoryFdEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImportMemoryFdEXT(memory: UInt32; size: UInt64; handleType: DummyEnum; fd: Int32) := z_ImportMemoryFdEXT(memory, size, handleType, fd); + + public z_ImportSemaphoreFdEXT: procedure(semaphore: UInt32; handleType: DummyEnum; fd: Int32) := GetGLFuncOrNil&('glImportSemaphoreFdEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImportSemaphoreFdEXT(semaphore: UInt32; handleType: DummyEnum; fd: Int32) := z_ImportSemaphoreFdEXT(semaphore, handleType, fd); + + {$endregion EXT_external_objects_fd} + + {$region EXT_external_objects_win32} + + public z_ImportMemoryWin32HandleEXT: procedure(memory: UInt32; size: UInt64; handleType: DummyEnum; handle: pointer) := GetGLFuncOrNil&('glImportMemoryWin32HandleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImportMemoryWin32HandleEXT(memory: UInt32; size: UInt64; handleType: DummyEnum; handle: pointer) := z_ImportMemoryWin32HandleEXT(memory, size, handleType, handle); + + public z_ImportMemoryWin32NameEXT: procedure(memory: UInt32; size: UInt64; handleType: DummyEnum; name: pointer) := GetGLFuncOrNil&('glImportMemoryWin32NameEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImportMemoryWin32NameEXT(memory: UInt32; size: UInt64; handleType: DummyEnum; name: pointer) := z_ImportMemoryWin32NameEXT(memory, size, handleType, name); + + public z_ImportSemaphoreWin32HandleEXT: procedure(semaphore: UInt32; handleType: DummyEnum; handle: pointer) := GetGLFuncOrNil&('glImportSemaphoreWin32HandleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImportSemaphoreWin32HandleEXT(semaphore: UInt32; handleType: DummyEnum; handle: pointer) := z_ImportSemaphoreWin32HandleEXT(semaphore, handleType, handle); + + public z_ImportSemaphoreWin32NameEXT: procedure(semaphore: UInt32; handleType: DummyEnum; name: pointer) := GetGLFuncOrNil&('glImportSemaphoreWin32NameEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImportSemaphoreWin32NameEXT(semaphore: UInt32; handleType: DummyEnum; name: pointer) := z_ImportSemaphoreWin32NameEXT(semaphore, handleType, name); + + {$endregion EXT_external_objects_win32} + + {$region EXT_x11_sync_object} + + public z_ImportSyncEXT: function(external_sync_type: DummyEnum; external_sync: IntPtr; flags: DummyFlags): GLsync := GetGLFuncOrNil&('glImportSyncEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ImportSyncEXT(external_sync_type: DummyEnum; external_sync: IntPtr; flags: DummyFlags): GLsync := z_ImportSyncEXT(external_sync_type, external_sync, flags); + + {$endregion EXT_x11_sync_object} + + {$region EXT_debug_marker} + + public z_InsertEventMarkerEXT: procedure(length: Int32; marker: IntPtr) := GetGLFuncOrNil&('glInsertEventMarkerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InsertEventMarkerEXT(length: Int32; marker: string); begin var ptr_2 := Marshal.StringToHGlobalAnsi(marker); InsertEventMarkerEXT(length, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InsertEventMarkerEXT(length: Int32; marker: IntPtr) := z_InsertEventMarkerEXT(length, marker); + + public z_PushGroupMarkerEXT: procedure(length: Int32; marker: IntPtr) := GetGLFuncOrNil&('glPushGroupMarkerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PushGroupMarkerEXT(length: Int32; marker: string); begin var ptr_2 := Marshal.StringToHGlobalAnsi(marker); PushGroupMarkerEXT(length, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PushGroupMarkerEXT(length: Int32; marker: IntPtr) := z_PushGroupMarkerEXT(length, marker); + + public z_PopGroupMarkerEXT: procedure := GetGLFuncOrNil&('glPopGroupMarkerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PopGroupMarkerEXT := z_PopGroupMarkerEXT; + + {$endregion EXT_debug_marker} + + {$region EXT_static_vertex_array} + + public z_LockArraysEXT: procedure(first: Int32; count: Int32) := GetGLFuncOrNil&('glLockArraysEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LockArraysEXT(first: Int32; count: Int32) := z_LockArraysEXT(first, count); + + public z_UnlockArraysEXT: procedure := GetGLFuncOrNil&('glUnlockArraysEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UnlockArraysEXT := z_UnlockArraysEXT; + + {$endregion EXT_static_vertex_array} + + {$region EXT_multi_draw_arrays SUN_multi_draw_arrays} + + public z_MultiDrawArraysEXT: procedure(mode: DummyEnum; first: pointer; count: pointer; primcount: Int32) := GetGLFuncOrNil&('glMultiDrawArraysEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; first: array of Int32; count: array of Int32; primcount: Int32) := MultiDrawArraysEXT(mode, first[0], count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; first: array of Int32; var count: Int32; primcount: Int32) := MultiDrawArraysEXT(mode, first[0], @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; first: array of Int32; count: pointer; primcount: Int32) := MultiDrawArraysEXT(mode, first[0], count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; var first: Int32; count: array of Int32; primcount: Int32) := MultiDrawArraysEXT(mode, @first, count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; var first: Int32; var count: Int32; primcount: Int32) := MultiDrawArraysEXT(mode, @first, @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; var first: Int32; count: pointer; primcount: Int32) := MultiDrawArraysEXT(mode, @first, count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; first: pointer; count: array of Int32; primcount: Int32) := MultiDrawArraysEXT(mode, first, count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; first: pointer; var count: Int32; primcount: Int32) := MultiDrawArraysEXT(mode, first, @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysEXT(mode: DummyEnum; first: pointer; count: pointer; primcount: Int32) := z_MultiDrawArraysEXT(mode, first, count, primcount); + + public z_MultiDrawElementsEXT: procedure(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32) := GetGLFuncOrNil&('glMultiDrawElementsEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32) := MultiDrawElementsEXT(mode, count[0], &type, indices[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32) := MultiDrawElementsEXT(mode, count[0], &type, @indices, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := MultiDrawElementsEXT(mode, count[0], &type, indices, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32) := MultiDrawElementsEXT(mode, @count, &type, indices[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32) := MultiDrawElementsEXT(mode, @count, &type, @indices, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := MultiDrawElementsEXT(mode, @count, &type, indices, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; primcount: Int32) := MultiDrawElementsEXT(mode, count, &type, indices[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; primcount: Int32) := MultiDrawElementsEXT(mode, count, &type, @indices, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32) := z_MultiDrawElementsEXT(mode, count, &type, indices, primcount); + + {$endregion EXT_multi_draw_arrays SUN_multi_draw_arrays} + + {$region EXT_multi_draw_indirect} + + public z_MultiDrawArraysIndirectEXT: procedure(mode: DummyEnum; indirect: pointer; drawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawArraysIndirectEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectEXT(mode: DummyEnum; indirect: pointer; drawcount: Int32; stride: Int32) := z_MultiDrawArraysIndirectEXT(mode, indirect, drawcount, stride); + + public z_MultiDrawElementsIndirectEXT: procedure(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawElementsIndirectEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirectEXT(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawcount: Int32; stride: Int32) := z_MultiDrawElementsIndirectEXT(mode, &type, indirect, drawcount, stride); + + {$endregion EXT_multi_draw_indirect} + + {$region EXT_draw_elements_base_vertex OES_draw_elements_base_vertex} + + public z_MultiDrawElementsBaseVertexEXT: procedure(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; basevertex: pointer) := GetGLFuncOrNil&('glMultiDrawElementsBaseVertexEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, indices[0], primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, indices[0], primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, indices[0], primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, @indices, primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, @indices, primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, @indices, primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, indices, primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, indices, primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, count[0], &type, indices, primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, indices[0], primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, indices[0], primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, indices[0], primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, @indices, primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, @indices, primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, @indices, primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, indices, primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, indices, primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, @count, &type, indices, primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, count, &type, indices[0], primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, count, &type, indices[0], primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, count, &type, indices[0], primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, count, &type, @indices, primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, count, &type, @indices, primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; primcount: Int32; basevertex: pointer) := MultiDrawElementsBaseVertexEXT(mode, count, &type, @indices, primcount, basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; basevertex: array of Int32) := MultiDrawElementsBaseVertexEXT(mode, count, &type, indices, primcount, basevertex[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; var basevertex: Int32) := MultiDrawElementsBaseVertexEXT(mode, count, &type, indices, primcount, @basevertex); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsBaseVertexEXT(mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; basevertex: pointer) := z_MultiDrawElementsBaseVertexEXT(mode, count, &type, indices, primcount, basevertex); + + {$endregion EXT_draw_elements_base_vertex OES_draw_elements_base_vertex} + + {$region ARB_buffer_storage EXT_buffer_storage} + + public z_NamedBufferStorageEXT: procedure(buffer: UInt32; size: UIntPtr; data: pointer; flags: DummyFlags) := GetGLFuncOrNil&('glNamedBufferStorageEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferStorageEXT(buffer: UInt32; size: UIntPtr; data: pointer; flags: DummyFlags) := z_NamedBufferStorageEXT(buffer, size, data, flags); + + {$endregion ARB_buffer_storage EXT_buffer_storage} + + {$region EXT_tessellation_shader} + + public z_PatchParameteriEXT: procedure(pname: DummyEnum; value: Int32) := GetGLFuncOrNil&('glPatchParameteriEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameteriEXT(pname: DummyEnum; value: Int32) := z_PatchParameteriEXT(pname, value); + + {$endregion EXT_tessellation_shader} + + {$region EXT_point_parameters} + + public z_PointParameterfEXT: procedure(pname: DummyEnum; param: single) := GetGLFuncOrNil&('glPointParameterfEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfEXT(pname: DummyEnum; param: single) := z_PointParameterfEXT(pname, param); + + public z_PointParameterfvEXT: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPointParameterfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfvEXT(pname: DummyEnum; ¶ms: array of single) := PointParameterfvEXT(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfvEXT(pname: DummyEnum; var ¶ms: single) := PointParameterfvEXT(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterfvEXT(pname: DummyEnum; ¶ms: pointer) := z_PointParameterfvEXT(pname, ¶ms); + + {$endregion EXT_point_parameters} + + {$region EXT_polygon_offset_clamp} + + public z_PolygonOffsetClampEXT: procedure(factor: single; units: single; clamp: single) := GetGLFuncOrNil&('glPolygonOffsetClampEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonOffsetClampEXT(factor: single; units: single; clamp: single) := z_PolygonOffsetClampEXT(factor, units, clamp); + + {$endregion EXT_polygon_offset_clamp} + + {$region EXT_polygon_offset} + + public z_PolygonOffsetEXT: procedure(factor: single; bias: single) := GetGLFuncOrNil&('glPolygonOffsetEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonOffsetEXT(factor: single; bias: single) := z_PolygonOffsetEXT(factor, bias); + + {$endregion EXT_polygon_offset} + + {$region EXT_primitive_bounding_box} + + public z_PrimitiveBoundingBoxEXT: procedure(minX: single; minY: single; minZ: single; minW: single; maxX: single; maxY: single; maxZ: single; maxW: single) := GetGLFuncOrNil&('glPrimitiveBoundingBoxEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrimitiveBoundingBoxEXT(minX: single; minY: single; minZ: single; minW: single; maxX: single; maxY: single; maxZ: single; maxW: single) := z_PrimitiveBoundingBoxEXT(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); + + {$endregion EXT_primitive_bounding_box} + + {$region EXT_gpu_program_parameters} + + public z_ProgramEnvParameters4fvEXT: procedure(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramEnvParameters4fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameters4fvEXT(target: DummyEnum; index: UInt32; count: Int32; ¶ms: array of single) := ProgramEnvParameters4fvEXT(target, index, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameters4fvEXT(target: DummyEnum; index: UInt32; count: Int32; var ¶ms: single) := ProgramEnvParameters4fvEXT(target, index, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameters4fvEXT(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := z_ProgramEnvParameters4fvEXT(target, index, count, ¶ms); + + public z_ProgramLocalParameters4fvEXT: procedure(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramLocalParameters4fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameters4fvEXT(target: DummyEnum; index: UInt32; count: Int32; ¶ms: array of single) := ProgramLocalParameters4fvEXT(target, index, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameters4fvEXT(target: DummyEnum; index: UInt32; count: Int32; var ¶ms: single) := ProgramLocalParameters4fvEXT(target, index, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameters4fvEXT(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := z_ProgramLocalParameters4fvEXT(target, index, count, ¶ms); + + {$endregion EXT_gpu_program_parameters} + + {$region EXT_geometry_shader4 EXT_separate_shader_objects} + + public z_ProgramParameteriEXT: procedure(&program: UInt32; pname: DummyEnum; value: Int32) := GetGLFuncOrNil&('glProgramParameteriEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameteriEXT(&program: UInt32; pname: DummyEnum; value: Int32) := z_ProgramParameteriEXT(&program, pname, value); + + {$endregion EXT_geometry_shader4 EXT_separate_shader_objects} + + {$region ARB_gpu_shader_fp64} + + public z_ProgramUniform1dEXT: procedure(&program: UInt32; location: Int32; x: double) := GetGLFuncOrNil&('glProgramUniform1dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dEXT(&program: UInt32; location: Int32; x: double) := z_ProgramUniform1dEXT(&program, location, x); + + public z_ProgramUniform2dEXT: procedure(&program: UInt32; location: Int32; x: double; y: double) := GetGLFuncOrNil&('glProgramUniform2dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dEXT(&program: UInt32; location: Int32; x: double; y: double) := z_ProgramUniform2dEXT(&program, location, x, y); + + public z_ProgramUniform3dEXT: procedure(&program: UInt32; location: Int32; x: double; y: double; z: double) := GetGLFuncOrNil&('glProgramUniform3dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dEXT(&program: UInt32; location: Int32; x: double; y: double; z: double) := z_ProgramUniform3dEXT(&program, location, x, y, z); + + public z_ProgramUniform4dEXT: procedure(&program: UInt32; location: Int32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glProgramUniform4dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dEXT(&program: UInt32; location: Int32; x: double; y: double; z: double; w: double) := z_ProgramUniform4dEXT(&program, location, x, y, z, w); + + public z_ProgramUniform1dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dvEXT(&program: UInt32; location: Int32; count: Int32; value: array of double) := ProgramUniform1dvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dvEXT(&program: UInt32; location: Int32; count: Int32; var value: double) := ProgramUniform1dvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1dvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1dvEXT(&program, location, count, value); + + public z_ProgramUniform2dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dvEXT(&program: UInt32; location: Int32; count: Int32; value: array of double) := ProgramUniform2dvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dvEXT(&program: UInt32; location: Int32; count: Int32; var value: double) := ProgramUniform2dvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2dvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2dvEXT(&program, location, count, value); + + public z_ProgramUniform3dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dvEXT(&program: UInt32; location: Int32; count: Int32; value: array of double) := ProgramUniform3dvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dvEXT(&program: UInt32; location: Int32; count: Int32; var value: double) := ProgramUniform3dvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3dvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3dvEXT(&program, location, count, value); + + public z_ProgramUniform4dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dvEXT(&program: UInt32; location: Int32; count: Int32; value: array of double) := ProgramUniform4dvEXT(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dvEXT(&program: UInt32; location: Int32; count: Int32; var value: double) := ProgramUniform4dvEXT(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4dvEXT(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4dvEXT(&program, location, count, value); + + public z_ProgramUniformMatrix2dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix2dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix2dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix2dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix3dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix3dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix3dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix4dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix4dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix4dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2x3dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix2x3dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix2x3dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix2x3dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix2x4dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix2x4dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix2x4dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix2x4dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix2x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix2x4dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3x2dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x2dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix3x2dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix3x2dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix3x2dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix3x4dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix3x4dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix3x4dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix3x4dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix3x4dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix3x4dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4x2dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x2dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix4x2dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix4x2dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x2dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix4x2dvEXT(&program, location, count, transpose, value); + + public z_ProgramUniformMatrix4x3dvEXT: procedure(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glProgramUniformMatrix4x3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: array of double) := ProgramUniformMatrix4x3dvEXT(&program, location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; var value: double) := ProgramUniformMatrix4x3dvEXT(&program, location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformMatrix4x3dvEXT(&program: UInt32; location: Int32; count: Int32; transpose: Byte; value: pointer) := z_ProgramUniformMatrix4x3dvEXT(&program, location, count, transpose, value); + + {$endregion ARB_gpu_shader_fp64} + + {$region EXT_provoking_vertex} + + public z_ProvokingVertexEXT: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glProvokingVertexEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProvokingVertexEXT(mode: DummyEnum) := z_ProvokingVertexEXT(mode); + + {$endregion EXT_provoking_vertex} + + {$region EXT_raster_multisample NV_framebuffer_mixed_samples} + + public z_RasterSamplesEXT: procedure(samples: UInt32; fixedsamplelocations: Byte) := GetGLFuncOrNil&('glRasterSamplesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterSamplesEXT(samples: UInt32; fixedsamplelocations: Byte) := z_RasterSamplesEXT(samples, fixedsamplelocations); + + {$endregion EXT_raster_multisample NV_framebuffer_mixed_samples} + + {$region EXT_multisample} + + public z_SampleMaskEXT: procedure(value: single; invert: Byte) := GetGLFuncOrNil&('glSampleMaskEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleMaskEXT(value: single; invert: Byte) := z_SampleMaskEXT(value, invert); + + public z_SamplePatternEXT: procedure(pattern: DummyEnum) := GetGLFuncOrNil&('glSamplePatternEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplePatternEXT(pattern: DummyEnum) := z_SamplePatternEXT(pattern); + + {$endregion EXT_multisample} + + {$region EXT_secondary_color} + + public z_SecondaryColor3bEXT: procedure(red: SByte; green: SByte; blue: SByte) := GetGLFuncOrNil&('glSecondaryColor3bEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3bEXT(red: SByte; green: SByte; blue: SByte) := z_SecondaryColor3bEXT(red, green, blue); + + public z_SecondaryColor3sEXT: procedure(red: Int16; green: Int16; blue: Int16) := GetGLFuncOrNil&('glSecondaryColor3sEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3sEXT(red: Int16; green: Int16; blue: Int16) := z_SecondaryColor3sEXT(red, green, blue); + + public z_SecondaryColor3iEXT: procedure(red: Int32; green: Int32; blue: Int32) := GetGLFuncOrNil&('glSecondaryColor3iEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3iEXT(red: Int32; green: Int32; blue: Int32) := z_SecondaryColor3iEXT(red, green, blue); + + public z_SecondaryColor3fEXT: procedure(red: single; green: single; blue: single) := GetGLFuncOrNil&('glSecondaryColor3fEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3fEXT(red: single; green: single; blue: single) := z_SecondaryColor3fEXT(red, green, blue); + + public z_SecondaryColor3dEXT: procedure(red: double; green: double; blue: double) := GetGLFuncOrNil&('glSecondaryColor3dEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3dEXT(red: double; green: double; blue: double) := z_SecondaryColor3dEXT(red, green, blue); + + public z_SecondaryColor3ubEXT: procedure(red: Byte; green: Byte; blue: Byte) := GetGLFuncOrNil&('glSecondaryColor3ubEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ubEXT(red: Byte; green: Byte; blue: Byte) := z_SecondaryColor3ubEXT(red, green, blue); + + public z_SecondaryColor3usEXT: procedure(red: UInt16; green: UInt16; blue: UInt16) := GetGLFuncOrNil&('glSecondaryColor3usEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3usEXT(red: UInt16; green: UInt16; blue: UInt16) := z_SecondaryColor3usEXT(red, green, blue); + + public z_SecondaryColor3uiEXT: procedure(red: UInt32; green: UInt32; blue: UInt32) := GetGLFuncOrNil&('glSecondaryColor3uiEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3uiEXT(red: UInt32; green: UInt32; blue: UInt32) := z_SecondaryColor3uiEXT(red, green, blue); + + public z_SecondaryColor3bvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3bvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3bvEXT(v: array of SByte) := SecondaryColor3bvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3bvEXT(var v: SByte) := SecondaryColor3bvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3bvEXT(v: pointer) := z_SecondaryColor3bvEXT(v); + + public z_SecondaryColor3svEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3svEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3svEXT(v: array of Int16) := SecondaryColor3svEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3svEXT(var v: Int16) := SecondaryColor3svEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3svEXT(v: pointer) := z_SecondaryColor3svEXT(v); + + public z_SecondaryColor3ivEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3ivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ivEXT(v: array of Int32) := SecondaryColor3ivEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ivEXT(var v: Int32) := SecondaryColor3ivEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ivEXT(v: pointer) := z_SecondaryColor3ivEXT(v); + + public z_SecondaryColor3fvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3fvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3fvEXT(v: array of single) := SecondaryColor3fvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3fvEXT(var v: single) := SecondaryColor3fvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3fvEXT(v: pointer) := z_SecondaryColor3fvEXT(v); + + public z_SecondaryColor3dvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3dvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3dvEXT(v: array of double) := SecondaryColor3dvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3dvEXT(var v: double) := SecondaryColor3dvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3dvEXT(v: pointer) := z_SecondaryColor3dvEXT(v); + + public z_SecondaryColor3ubvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3ubvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ubvEXT(v: array of Byte) := SecondaryColor3ubvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ubvEXT(var v: Byte) := SecondaryColor3ubvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3ubvEXT(v: pointer) := z_SecondaryColor3ubvEXT(v); + + public z_SecondaryColor3usvEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3usvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3usvEXT(v: array of UInt16) := SecondaryColor3usvEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3usvEXT(var v: UInt16) := SecondaryColor3usvEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3usvEXT(v: pointer) := z_SecondaryColor3usvEXT(v); + + public z_SecondaryColor3uivEXT: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3uivEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3uivEXT(v: array of UInt32) := SecondaryColor3uivEXT(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3uivEXT(var v: UInt32) := SecondaryColor3uivEXT(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3uivEXT(v: pointer) := z_SecondaryColor3uivEXT(v); + + public z_SecondaryColorPointerEXT: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glSecondaryColorPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorPointerEXT(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_SecondaryColorPointerEXT(size, &type, stride, _pointer); + + {$endregion EXT_secondary_color} + + {$region EXT_stencil_clear_tag} + + public z_StencilClearTagEXT: procedure(stencilTagBits: Int32; stencilClearTag: UInt32) := GetGLFuncOrNil&('glStencilClearTagEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilClearTagEXT(stencilTagBits: Int32; stencilClearTag: UInt32) := z_StencilClearTagEXT(stencilTagBits, stencilClearTag); + + {$endregion EXT_stencil_clear_tag} + + {$region EXT_texture_buffer EXT_texture_buffer_object} + + public z_TexBufferEXT: procedure(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32) := GetGLFuncOrNil&('glTexBufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBufferEXT(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32) := z_TexBufferEXT(target, internalformat, buffer); + + {$endregion EXT_texture_buffer EXT_texture_buffer_object} + + {$region EXT_texture_buffer} + + public z_TexBufferRangeEXT: procedure(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glTexBufferRangeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBufferRangeEXT(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32; offset: IntPtr; size: UIntPtr) := z_TexBufferRangeEXT(target, internalformat, buffer, offset, size); + + {$endregion EXT_texture_buffer} + + {$region EXT_texture3D} + + public z_TexImage3DEXT: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := GetGLFuncOrNil&('glTexImage3DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage3DEXT(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := z_TexImage3DEXT(target, level, internalformat, width, height, depth, border, format, &type, pixels); + + {$endregion EXT_texture3D} + + {$region EXT_sparse_texture} + + public z_TexPageCommitmentEXT: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: Byte) := GetGLFuncOrNil&('glTexPageCommitmentEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexPageCommitmentEXT(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: Byte) := z_TexPageCommitmentEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, commit); + + {$endregion EXT_sparse_texture} + + {$region EXT_texture_storage} + + public z_TexStorage1DEXT: procedure(target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32) := GetGLFuncOrNil&('glTexStorage1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage1DEXT(target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32) := z_TexStorage1DEXT(target, levels, internalformat, width); + + public z_TexStorage2DEXT: procedure(target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glTexStorage2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage2DEXT(target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_TexStorage2DEXT(target, levels, internalformat, width, height); + + public z_TexStorage3DEXT: procedure(target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32) := GetGLFuncOrNil&('glTexStorage3DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage3DEXT(target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32) := z_TexStorage3DEXT(target, levels, internalformat, width, height, depth); + + {$endregion EXT_texture_storage} + + {$region EXT_subtexture} + + public z_TexSubImage1DEXT: procedure(target: DummyEnum; level: Int32; xoffset: Int32; width: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := GetGLFuncOrNil&('glTexSubImage1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage1DEXT(target: DummyEnum; level: Int32; xoffset: Int32; width: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := z_TexSubImage1DEXT(target, level, xoffset, width, format, &type, pixels); + + public z_TexSubImage2DEXT: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := GetGLFuncOrNil&('glTexSubImage2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage2DEXT(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; width: Int32; height: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := z_TexSubImage2DEXT(target, level, xoffset, yoffset, width, height, format, &type, pixels); + + public z_TexSubImage3DEXT: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := GetGLFuncOrNil&('glTexSubImage3DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage3DEXT(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := z_TexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, pixels); + + {$endregion EXT_subtexture} + + {$region ARB_texture_buffer_range} + + public z_TextureBufferRangeEXT: procedure(texture: UInt32; target: DummyEnum; internalformat: DummyEnum; buffer: UInt32; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glTextureBufferRangeEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureBufferRangeEXT(texture: UInt32; target: DummyEnum; internalformat: DummyEnum; buffer: UInt32; offset: IntPtr; size: UIntPtr) := z_TextureBufferRangeEXT(texture, target, internalformat, buffer, offset, size); + + {$endregion ARB_texture_buffer_range} + + {$region EXT_texture_perturb_normal} + + public z_TextureNormalEXT: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glTextureNormalEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureNormalEXT(mode: DummyEnum) := z_TextureNormalEXT(mode); + + {$endregion EXT_texture_perturb_normal} + + {$region ARB_sparse_texture EXT_sparse_texture} + + public z_TexturePageCommitmentEXT: procedure(texture: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: Byte) := GetGLFuncOrNil&('glTexturePageCommitmentEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexturePageCommitmentEXT(texture: UInt32; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; commit: Byte) := z_TexturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit); + + {$endregion ARB_sparse_texture EXT_sparse_texture} + + {$region ARB_texture_storage EXT_texture_storage} + + public z_TextureStorage1DEXT: procedure(texture: UInt32; target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32) := GetGLFuncOrNil&('glTextureStorage1DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage1DEXT(texture: UInt32; target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32) := z_TextureStorage1DEXT(texture, target, levels, internalformat, width); + + public z_TextureStorage2DEXT: procedure(texture: UInt32; target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glTextureStorage2DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage2DEXT(texture: UInt32; target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_TextureStorage2DEXT(texture, target, levels, internalformat, width, height); + + public z_TextureStorage3DEXT: procedure(texture: UInt32; target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32) := GetGLFuncOrNil&('glTextureStorage3DEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage3DEXT(texture: UInt32; target: DummyEnum; levels: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32) := z_TextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth); + + {$endregion ARB_texture_storage EXT_texture_storage} + + {$region ARB_texture_storage_multisample} + + public z_TextureStorage2DMultisampleEXT: procedure(texture: UInt32; target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32; fixedsamplelocations: Byte) := GetGLFuncOrNil&('glTextureStorage2DMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage2DMultisampleEXT(texture: UInt32; target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32; fixedsamplelocations: Byte) := z_TextureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations); + + public z_TextureStorage3DMultisampleEXT: procedure(texture: UInt32; target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: Byte) := GetGLFuncOrNil&('glTextureStorage3DMultisampleEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureStorage3DMultisampleEXT(texture: UInt32; target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: Byte) := z_TextureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations); + + {$endregion ARB_texture_storage_multisample} + + {$region EXT_texture_view} + + public z_TextureViewEXT: procedure(texture: UInt32; target: DummyEnum; origtexture: UInt32; internalformat: DummyEnum; minlevel: UInt32; numlevels: UInt32; minlayer: UInt32; numlayers: UInt32) := GetGLFuncOrNil&('glTextureViewEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureViewEXT(texture: UInt32; target: DummyEnum; origtexture: UInt32; internalformat: DummyEnum; minlevel: UInt32; numlevels: UInt32; minlayer: UInt32; numlayers: UInt32) := z_TextureViewEXT(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + + {$endregion EXT_texture_view} + + {$region ARB_vertex_attrib_binding} + + public z_VertexArrayBindVertexBufferEXT: procedure(vaobj: UInt32; bindingindex: UInt32; buffer: UInt32; offset: IntPtr; stride: Int32) := GetGLFuncOrNil&('glVertexArrayBindVertexBufferEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayBindVertexBufferEXT(vaobj: UInt32; bindingindex: UInt32; buffer: UInt32; offset: IntPtr; stride: Int32) := z_VertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride); + + public z_VertexArrayVertexAttribFormatEXT: procedure(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexArrayVertexAttribFormatEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexAttribFormatEXT(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; relativeoffset: UInt32) := z_VertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, &type, normalized, relativeoffset); + + public z_VertexArrayVertexAttribIFormatEXT: procedure(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: DummyEnum; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexArrayVertexAttribIFormatEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexAttribIFormatEXT(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: DummyEnum; relativeoffset: UInt32) := z_VertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, &type, relativeoffset); + + public z_VertexArrayVertexAttribLFormatEXT: procedure(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: DummyEnum; relativeoffset: UInt32) := GetGLFuncOrNil&('glVertexArrayVertexAttribLFormatEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexAttribLFormatEXT(vaobj: UInt32; attribindex: UInt32; size: Int32; &type: DummyEnum; relativeoffset: UInt32) := z_VertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, &type, relativeoffset); + + public z_VertexArrayVertexAttribBindingEXT: procedure(vaobj: UInt32; attribindex: UInt32; bindingindex: UInt32) := GetGLFuncOrNil&('glVertexArrayVertexAttribBindingEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexAttribBindingEXT(vaobj: UInt32; attribindex: UInt32; bindingindex: UInt32) := z_VertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex); + + public z_VertexArrayVertexBindingDivisorEXT: procedure(vaobj: UInt32; bindingindex: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexArrayVertexBindingDivisorEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexBindingDivisorEXT(vaobj: UInt32; bindingindex: UInt32; divisor: UInt32) := z_VertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor); + + {$endregion ARB_vertex_attrib_binding} + + {$region ARB_instanced_arrays} + + public z_VertexAttribDivisorARB: procedure(index: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexAttribDivisorARB'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribDivisorARB(index: UInt32; divisor: UInt32) := z_VertexAttribDivisorARB(index, divisor); + + public z_VertexArrayVertexAttribDivisorEXT: procedure(vaobj: UInt32; index: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexArrayVertexAttribDivisorEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexAttribDivisorEXT(vaobj: UInt32; index: UInt32; divisor: UInt32) := z_VertexArrayVertexAttribDivisorEXT(vaobj, index, divisor); + + {$endregion ARB_instanced_arrays} + + {$region ARB_vertex_attrib_64bit EXT_vertex_attrib_64bit} + + public z_VertexArrayVertexAttribLOffsetEXT: procedure(vaobj: UInt32; buffer: UInt32; index: UInt32; size: Int32; &type: DummyEnum; stride: Int32; offset: IntPtr) := GetGLFuncOrNil&('glVertexArrayVertexAttribLOffsetEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayVertexAttribLOffsetEXT(vaobj: UInt32; buffer: UInt32; index: UInt32; size: Int32; &type: DummyEnum; stride: Int32; offset: IntPtr) := z_VertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, &type, stride, offset); + + {$endregion ARB_vertex_attrib_64bit EXT_vertex_attrib_64bit} + + {$region EXT_instanced_arrays} + + public z_VertexAttribDivisorEXT: procedure(index: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexAttribDivisorEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribDivisorEXT(index: UInt32; divisor: UInt32) := z_VertexAttribDivisorEXT(index, divisor); + + {$endregion EXT_instanced_arrays} + + {$region EXT_vertex_weighting} + + public z_VertexWeightfEXT: procedure(weight: single) := GetGLFuncOrNil&('glVertexWeightfEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeightfEXT(weight: single) := z_VertexWeightfEXT(weight); + + public z_VertexWeightfvEXT: procedure(weight: pointer) := GetGLFuncOrNil&('glVertexWeightfvEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeightfvEXT(weight: array of single) := VertexWeightfvEXT(weight[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeightfvEXT(var weight: single) := VertexWeightfvEXT(@weight); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeightfvEXT(weight: pointer) := z_VertexWeightfvEXT(weight); + + public z_VertexWeightPointerEXT: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexWeightPointerEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeightPointerEXT(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_VertexWeightPointerEXT(size, &type, stride, _pointer); + + {$endregion EXT_vertex_weighting} + + {$region EXT_window_rectangles} + + public z_WindowRectanglesEXT: procedure(mode: DummyEnum; count: Int32; box: pointer) := GetGLFuncOrNil&('glWindowRectanglesEXT'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowRectanglesEXT(mode: DummyEnum; count: Int32; box: array of Int32) := WindowRectanglesEXT(mode, count, box[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowRectanglesEXT(mode: DummyEnum; count: Int32; var box: Int32) := WindowRectanglesEXT(mode, count, @box); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowRectanglesEXT(mode: DummyEnum; count: Int32; box: pointer) := z_WindowRectanglesEXT(mode, count, box); + + {$endregion EXT_window_rectangles} + + end; + + gl_3DFX = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region 3DFX_tbuffer} + + public z_TbufferMask3DFX: procedure(mask: UInt32) := GetGLFuncOrNil&('glTbufferMask3DFX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TbufferMask3DFX(mask: UInt32) := z_TbufferMask3DFX(mask); + + {$endregion 3DFX_tbuffer} + + end; + + gl_AMD = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region AMD_performance_monitor} + + public z_GetPerfMonitorGroupsAMD: procedure(numGroups: pointer; groupsSize: Int32; groups: pointer) := GetGLFuncOrNil&('glGetPerfMonitorGroupsAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(numGroups: array of Int32; groupsSize: Int32; groups: array of UInt32) := GetPerfMonitorGroupsAMD(numGroups[0], groupsSize, groups[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(numGroups: array of Int32; groupsSize: Int32; var groups: UInt32) := GetPerfMonitorGroupsAMD(numGroups[0], groupsSize, @groups); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(numGroups: array of Int32; groupsSize: Int32; groups: pointer) := GetPerfMonitorGroupsAMD(numGroups[0], groupsSize, groups); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(var numGroups: Int32; groupsSize: Int32; groups: array of UInt32) := GetPerfMonitorGroupsAMD(@numGroups, groupsSize, groups[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(var numGroups: Int32; groupsSize: Int32; var groups: UInt32) := GetPerfMonitorGroupsAMD(@numGroups, groupsSize, @groups); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(var numGroups: Int32; groupsSize: Int32; groups: pointer) := GetPerfMonitorGroupsAMD(@numGroups, groupsSize, groups); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(numGroups: pointer; groupsSize: Int32; groups: array of UInt32) := GetPerfMonitorGroupsAMD(numGroups, groupsSize, groups[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(numGroups: pointer; groupsSize: Int32; var groups: UInt32) := GetPerfMonitorGroupsAMD(numGroups, groupsSize, @groups); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupsAMD(numGroups: pointer; groupsSize: Int32; groups: pointer) := z_GetPerfMonitorGroupsAMD(numGroups, groupsSize, groups); + + public z_GetPerfMonitorCountersAMD: procedure(group: UInt32; numCounters: pointer; maxActiveCounters: pointer; counterSize: Int32; counters: pointer) := GetGLFuncOrNil&('glGetPerfMonitorCountersAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; maxActiveCounters: array of Int32; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, numCounters[0], maxActiveCounters[0], counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; maxActiveCounters: array of Int32; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, numCounters[0], maxActiveCounters[0], counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; maxActiveCounters: array of Int32; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, numCounters[0], maxActiveCounters[0], counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; var maxActiveCounters: Int32; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, numCounters[0], @maxActiveCounters, counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; var maxActiveCounters: Int32; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, numCounters[0], @maxActiveCounters, counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; var maxActiveCounters: Int32; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, numCounters[0], @maxActiveCounters, counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; maxActiveCounters: pointer; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, numCounters[0], maxActiveCounters, counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; maxActiveCounters: pointer; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, numCounters[0], maxActiveCounters, counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: array of Int32; maxActiveCounters: pointer; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, numCounters[0], maxActiveCounters, counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; maxActiveCounters: array of Int32; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, @numCounters, maxActiveCounters[0], counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; maxActiveCounters: array of Int32; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, @numCounters, maxActiveCounters[0], counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; maxActiveCounters: array of Int32; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, @numCounters, maxActiveCounters[0], counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; var maxActiveCounters: Int32; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, @numCounters, @maxActiveCounters, counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; var maxActiveCounters: Int32; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, @numCounters, @maxActiveCounters, counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; var maxActiveCounters: Int32; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, @numCounters, @maxActiveCounters, counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; maxActiveCounters: pointer; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, @numCounters, maxActiveCounters, counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; maxActiveCounters: pointer; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, @numCounters, maxActiveCounters, counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; var numCounters: Int32; maxActiveCounters: pointer; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, @numCounters, maxActiveCounters, counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; maxActiveCounters: array of Int32; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters[0], counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; maxActiveCounters: array of Int32; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters[0], counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; maxActiveCounters: array of Int32; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters[0], counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; var maxActiveCounters: Int32; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, numCounters, @maxActiveCounters, counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; var maxActiveCounters: Int32; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, numCounters, @maxActiveCounters, counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; var maxActiveCounters: Int32; counterSize: Int32; counters: pointer) := GetPerfMonitorCountersAMD(group, numCounters, @maxActiveCounters, counterSize, counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; maxActiveCounters: pointer; counterSize: Int32; counters: array of UInt32) := GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; maxActiveCounters: pointer; counterSize: Int32; var counters: UInt32) := GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, @counters); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCountersAMD(group: UInt32; numCounters: pointer; maxActiveCounters: pointer; counterSize: Int32; counters: pointer) := z_GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters); + + public z_GetPerfMonitorGroupStringAMD: procedure(group: UInt32; bufSize: Int32; length: pointer; groupString: IntPtr) := GetGLFuncOrNil&('glGetPerfMonitorGroupStringAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupStringAMD(group: UInt32; bufSize: Int32; length: array of Int32; groupString: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(groupString); GetPerfMonitorGroupStringAMD(group, bufSize, length[0], ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupStringAMD(group: UInt32; bufSize: Int32; length: array of Int32; groupString: IntPtr) := GetPerfMonitorGroupStringAMD(group, bufSize, length[0], groupString); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupStringAMD(group: UInt32; bufSize: Int32; var length: Int32; groupString: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(groupString); GetPerfMonitorGroupStringAMD(group, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupStringAMD(group: UInt32; bufSize: Int32; var length: Int32; groupString: IntPtr) := GetPerfMonitorGroupStringAMD(group, bufSize, @length, groupString); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupStringAMD(group: UInt32; bufSize: Int32; length: pointer; groupString: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(groupString); GetPerfMonitorGroupStringAMD(group, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorGroupStringAMD(group: UInt32; bufSize: Int32; length: pointer; groupString: IntPtr) := z_GetPerfMonitorGroupStringAMD(group, bufSize, length, groupString); + + public z_GetPerfMonitorCounterStringAMD: procedure(group: UInt32; counter: UInt32; bufSize: Int32; length: pointer; counterString: IntPtr) := GetGLFuncOrNil&('glGetPerfMonitorCounterStringAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterStringAMD(group: UInt32; counter: UInt32; bufSize: Int32; length: array of Int32; counterString: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(counterString); GetPerfMonitorCounterStringAMD(group, counter, bufSize, length[0], ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterStringAMD(group: UInt32; counter: UInt32; bufSize: Int32; length: array of Int32; counterString: IntPtr) := GetPerfMonitorCounterStringAMD(group, counter, bufSize, length[0], counterString); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterStringAMD(group: UInt32; counter: UInt32; bufSize: Int32; var length: Int32; counterString: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(counterString); GetPerfMonitorCounterStringAMD(group, counter, bufSize, @length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterStringAMD(group: UInt32; counter: UInt32; bufSize: Int32; var length: Int32; counterString: IntPtr) := GetPerfMonitorCounterStringAMD(group, counter, bufSize, @length, counterString); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterStringAMD(group: UInt32; counter: UInt32; bufSize: Int32; length: pointer; counterString: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(counterString); GetPerfMonitorCounterStringAMD(group, counter, bufSize, length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterStringAMD(group: UInt32; counter: UInt32; bufSize: Int32; length: pointer; counterString: IntPtr) := z_GetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString); + + public z_GetPerfMonitorCounterInfoAMD: procedure(group: UInt32; counter: UInt32; pname: DummyEnum; data: pointer) := GetGLFuncOrNil&('glGetPerfMonitorCounterInfoAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterInfoAMD(group: UInt32; counter: UInt32; pname: DummyEnum; data: pointer) := z_GetPerfMonitorCounterInfoAMD(group, counter, pname, data); + + public z_GenPerfMonitorsAMD: procedure(n: Int32; monitors: pointer) := GetGLFuncOrNil&('glGenPerfMonitorsAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenPerfMonitorsAMD(n: Int32; monitors: array of UInt32) := GenPerfMonitorsAMD(n, monitors[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenPerfMonitorsAMD(n: Int32; var monitors: UInt32) := GenPerfMonitorsAMD(n, @monitors); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenPerfMonitorsAMD(n: Int32; monitors: pointer) := z_GenPerfMonitorsAMD(n, monitors); + + public z_DeletePerfMonitorsAMD: procedure(n: Int32; monitors: pointer) := GetGLFuncOrNil&('glDeletePerfMonitorsAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeletePerfMonitorsAMD(n: Int32; monitors: array of UInt32) := DeletePerfMonitorsAMD(n, monitors[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeletePerfMonitorsAMD(n: Int32; var monitors: UInt32) := DeletePerfMonitorsAMD(n, @monitors); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeletePerfMonitorsAMD(n: Int32; monitors: pointer) := z_DeletePerfMonitorsAMD(n, monitors); + + public z_SelectPerfMonitorCountersAMD: procedure(monitor: UInt32; enable: Byte; group: UInt32; numCounters: Int32; counterList: pointer) := GetGLFuncOrNil&('glSelectPerfMonitorCountersAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SelectPerfMonitorCountersAMD(monitor: UInt32; enable: Byte; group: UInt32; numCounters: Int32; counterList: array of UInt32) := SelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SelectPerfMonitorCountersAMD(monitor: UInt32; enable: Byte; group: UInt32; numCounters: Int32; var counterList: UInt32) := SelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, @counterList); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SelectPerfMonitorCountersAMD(monitor: UInt32; enable: Byte; group: UInt32; numCounters: Int32; counterList: pointer) := z_SelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList); + + public z_BeginPerfMonitorAMD: procedure(monitor: UInt32) := GetGLFuncOrNil&('glBeginPerfMonitorAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginPerfMonitorAMD(monitor: UInt32) := z_BeginPerfMonitorAMD(monitor); + + public z_EndPerfMonitorAMD: procedure(monitor: UInt32) := GetGLFuncOrNil&('glEndPerfMonitorAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndPerfMonitorAMD(monitor: UInt32) := z_EndPerfMonitorAMD(monitor); + + public z_GetPerfMonitorCounterDataAMD: procedure(monitor: UInt32; pname: DummyEnum; dataSize: Int32; data: pointer; bytesWritten: pointer) := GetGLFuncOrNil&('glGetPerfMonitorCounterDataAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; data: array of UInt32; bytesWritten: array of Int32) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data[0], bytesWritten[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; data: array of UInt32; var bytesWritten: Int32) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data[0], @bytesWritten); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; data: array of UInt32; bytesWritten: pointer) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data[0], bytesWritten); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; var data: UInt32; bytesWritten: array of Int32) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, @data, bytesWritten[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; var data: UInt32; var bytesWritten: Int32) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, @data, @bytesWritten); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; var data: UInt32; bytesWritten: pointer) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, @data, bytesWritten); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; data: pointer; bytesWritten: array of Int32) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; data: pointer; var bytesWritten: Int32) := GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, @bytesWritten); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfMonitorCounterDataAMD(monitor: UInt32; pname: DummyEnum; dataSize: Int32; data: pointer; bytesWritten: pointer) := z_GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten); + + {$endregion AMD_performance_monitor} + + {$region AMD_draw_buffers_blend} + + public z_BlendFuncIndexedAMD: procedure(buf: UInt32; src: DummyEnum; dst: DummyEnum) := GetGLFuncOrNil&('glBlendFuncIndexedAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncIndexedAMD(buf: UInt32; src: DummyEnum; dst: DummyEnum) := z_BlendFuncIndexedAMD(buf, src, dst); + + public z_BlendFuncSeparateIndexedAMD: procedure(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendFuncSeparateIndexedAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparateIndexedAMD(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := z_BlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + + public z_BlendEquationIndexedAMD: procedure(buf: UInt32; mode: DummyEnum) := GetGLFuncOrNil&('glBlendEquationIndexedAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationIndexedAMD(buf: UInt32; mode: DummyEnum) := z_BlendEquationIndexedAMD(buf, mode); + + public z_BlendEquationSeparateIndexedAMD: procedure(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendEquationSeparateIndexedAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparateIndexedAMD(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := z_BlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha); + + {$endregion AMD_draw_buffers_blend} + + {$region AMD_debug_output} + + public z_DebugMessageEnableAMD: procedure(category: DummyEnum; severity: DummyEnum; count: Int32; ids: pointer; enabled: Byte) := GetGLFuncOrNil&('glDebugMessageEnableAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageEnableAMD(category: DummyEnum; severity: DummyEnum; count: Int32; ids: array of UInt32; enabled: Byte) := DebugMessageEnableAMD(category, severity, count, ids[0], enabled); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageEnableAMD(category: DummyEnum; severity: DummyEnum; count: Int32; var ids: UInt32; enabled: Byte) := DebugMessageEnableAMD(category, severity, count, @ids, enabled); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageEnableAMD(category: DummyEnum; severity: DummyEnum; count: Int32; ids: pointer; enabled: Byte) := z_DebugMessageEnableAMD(category, severity, count, ids, enabled); + + public z_DebugMessageInsertAMD: procedure(category: DummyEnum; severity: DummyEnum; id: UInt32; length: Int32; buf: IntPtr) := GetGLFuncOrNil&('glDebugMessageInsertAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageInsertAMD(category: DummyEnum; severity: DummyEnum; id: UInt32; length: Int32; buf: string); begin var ptr_5 := Marshal.StringToHGlobalAnsi(buf); DebugMessageInsertAMD(category, severity, id, length, ptr_5); Marshal.FreeHGlobal(ptr_5); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageInsertAMD(category: DummyEnum; severity: DummyEnum; id: UInt32; length: Int32; buf: IntPtr) := z_DebugMessageInsertAMD(category, severity, id, length, buf); + + public z_DebugMessageCallbackAMD: procedure(callback: GLDEBUGPROC; userParam: pointer) := GetGLFuncOrNil&('glDebugMessageCallbackAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DebugMessageCallbackAMD(callback: GLDEBUGPROC; userParam: pointer) := z_DebugMessageCallbackAMD(callback, userParam); + + public z_GetDebugMessageLogAMD: function(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetGLFuncOrNil&('glGetDebugMessageLogAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: array of UInt32; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities[0], ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; var severities: UInt32; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], @severities, ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: array of DummyEnum; severities: pointer; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories[0], severities, ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: array of UInt32; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities[0], ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; var severities: UInt32; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, @severities, ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; var categories: DummyEnum; severities: pointer; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, @categories, severities, ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: array of UInt32; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities[0], ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; var severities: UInt32; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, @severities, ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: array of UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids[0], lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: array of UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids[0], lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: array of UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids[0], @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: array of UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids[0], @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: array of UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids[0], lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: array of UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids[0], lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; var ids: UInt32; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, @ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; var ids: UInt32; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, @ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; var ids: UInt32; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, @ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; var ids: UInt32; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, @ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; var ids: UInt32; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, @ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; var ids: UInt32; lengths: pointer; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, @ids, lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: pointer; lengths: array of Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids, lengths[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: pointer; lengths: array of Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids, lengths[0], message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: pointer; var lengths: Int32; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids, @lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: pointer; var lengths: Int32; message: IntPtr): UInt32 := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids, @lengths, message); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: pointer; lengths: pointer; message: string): UInt32; begin var ptr_7 := Marshal.StringToHGlobalAnsi(message); Result := GetDebugMessageLogAMD(count, bufsize, categories, severities, ids, lengths, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetDebugMessageLogAMD(count: UInt32; bufsize: Int32; categories: pointer; severities: pointer; ids: pointer; lengths: pointer; message: IntPtr): UInt32 := z_GetDebugMessageLogAMD(count, bufsize, categories, severities, ids, lengths, message); + + {$endregion AMD_debug_output} + + {$region AMD_name_gen_delete} + + public z_GenNamesAMD: procedure(identifier: DummyEnum; num: UInt32; names: pointer) := GetGLFuncOrNil&('glGenNamesAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenNamesAMD(identifier: DummyEnum; num: UInt32; names: array of UInt32) := GenNamesAMD(identifier, num, names[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenNamesAMD(identifier: DummyEnum; num: UInt32; var names: UInt32) := GenNamesAMD(identifier, num, @names); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenNamesAMD(identifier: DummyEnum; num: UInt32; names: pointer) := z_GenNamesAMD(identifier, num, names); + + public z_DeleteNamesAMD: procedure(identifier: DummyEnum; num: UInt32; names: pointer) := GetGLFuncOrNil&('glDeleteNamesAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteNamesAMD(identifier: DummyEnum; num: UInt32; names: array of UInt32) := DeleteNamesAMD(identifier, num, names[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteNamesAMD(identifier: DummyEnum; num: UInt32; var names: UInt32) := DeleteNamesAMD(identifier, num, @names); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteNamesAMD(identifier: DummyEnum; num: UInt32; names: pointer) := z_DeleteNamesAMD(identifier, num, names); + + public z_IsNameAMD: function(identifier: DummyEnum; name: UInt32): Byte := GetGLFuncOrNil&('glIsNameAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsNameAMD(identifier: DummyEnum; name: UInt32): Byte := z_IsNameAMD(identifier, name); + + {$endregion AMD_name_gen_delete} + + {$region AMD_framebuffer_sample_positions} + + public z_FramebufferSamplePositionsfvAMD: procedure(target: DummyEnum; numsamples: UInt32; pixelindex: UInt32; values: pointer) := GetGLFuncOrNil&('glFramebufferSamplePositionsfvAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSamplePositionsfvAMD(target: DummyEnum; numsamples: UInt32; pixelindex: UInt32; values: array of single) := FramebufferSamplePositionsfvAMD(target, numsamples, pixelindex, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSamplePositionsfvAMD(target: DummyEnum; numsamples: UInt32; pixelindex: UInt32; var values: single) := FramebufferSamplePositionsfvAMD(target, numsamples, pixelindex, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSamplePositionsfvAMD(target: DummyEnum; numsamples: UInt32; pixelindex: UInt32; values: pointer) := z_FramebufferSamplePositionsfvAMD(target, numsamples, pixelindex, values); + + public z_NamedFramebufferSamplePositionsfvAMD: procedure(framebuffer: UInt32; numsamples: UInt32; pixelindex: UInt32; values: pointer) := GetGLFuncOrNil&('glNamedFramebufferSamplePositionsfvAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSamplePositionsfvAMD(framebuffer: UInt32; numsamples: UInt32; pixelindex: UInt32; values: array of single) := NamedFramebufferSamplePositionsfvAMD(framebuffer, numsamples, pixelindex, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSamplePositionsfvAMD(framebuffer: UInt32; numsamples: UInt32; pixelindex: UInt32; var values: single) := NamedFramebufferSamplePositionsfvAMD(framebuffer, numsamples, pixelindex, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSamplePositionsfvAMD(framebuffer: UInt32; numsamples: UInt32; pixelindex: UInt32; values: pointer) := z_NamedFramebufferSamplePositionsfvAMD(framebuffer, numsamples, pixelindex, values); + + public z_GetFramebufferParameterfvAMD: procedure(target: DummyEnum; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: pointer) := GetGLFuncOrNil&('glGetFramebufferParameterfvAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferParameterfvAMD(target: DummyEnum; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: array of single) := GetFramebufferParameterfvAMD(target, pname, numsamples, pixelindex, size, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferParameterfvAMD(target: DummyEnum; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; var values: single) := GetFramebufferParameterfvAMD(target, pname, numsamples, pixelindex, size, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferParameterfvAMD(target: DummyEnum; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: pointer) := z_GetFramebufferParameterfvAMD(target, pname, numsamples, pixelindex, size, values); + + public z_GetNamedFramebufferParameterfvAMD: procedure(framebuffer: UInt32; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: pointer) := GetGLFuncOrNil&('glGetNamedFramebufferParameterfvAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameterfvAMD(framebuffer: UInt32; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: array of single) := GetNamedFramebufferParameterfvAMD(framebuffer, pname, numsamples, pixelindex, size, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameterfvAMD(framebuffer: UInt32; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; var values: single) := GetNamedFramebufferParameterfvAMD(framebuffer, pname, numsamples, pixelindex, size, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedFramebufferParameterfvAMD(framebuffer: UInt32; pname: DummyEnum; numsamples: UInt32; pixelindex: UInt32; size: Int32; values: pointer) := z_GetNamedFramebufferParameterfvAMD(framebuffer, pname, numsamples, pixelindex, size, values); + + {$endregion AMD_framebuffer_sample_positions} + + {$region AMD_multi_draw_indirect} + + public z_MultiDrawArraysIndirectAMD: procedure(mode: DummyEnum; indirect: pointer; primcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawArraysIndirectAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectAMD(mode: DummyEnum; indirect: pointer; primcount: Int32; stride: Int32) := z_MultiDrawArraysIndirectAMD(mode, indirect, primcount, stride); + + public z_MultiDrawElementsIndirectAMD: procedure(mode: DummyEnum; &type: DummyEnum; indirect: pointer; primcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawElementsIndirectAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirectAMD(mode: DummyEnum; &type: DummyEnum; indirect: pointer; primcount: Int32; stride: Int32) := z_MultiDrawElementsIndirectAMD(mode, &type, indirect, primcount, stride); + + {$endregion AMD_multi_draw_indirect} + + {$region AMD_framebuffer_multisample_advanced} + + public z_RenderbufferStorageMultisampleAdvancedAMD: procedure(target: DummyEnum; samples: Int32; storageSamples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisampleAdvancedAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisampleAdvancedAMD(target: DummyEnum; samples: Int32; storageSamples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageMultisampleAdvancedAMD(target, samples, storageSamples, internalformat, width, height); + + public z_NamedRenderbufferStorageMultisampleAdvancedAMD: procedure(renderbuffer: UInt32; samples: Int32; storageSamples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glNamedRenderbufferStorageMultisampleAdvancedAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedRenderbufferStorageMultisampleAdvancedAMD(renderbuffer: UInt32; samples: Int32; storageSamples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_NamedRenderbufferStorageMultisampleAdvancedAMD(renderbuffer, samples, storageSamples, internalformat, width, height); + + {$endregion AMD_framebuffer_multisample_advanced} + + {$region AMD_occlusion_query_event} + + public z_QueryObjectParameteruiAMD: procedure(target: DummyEnum; id: UInt32; pname: DummyEnum; param: UInt32) := GetGLFuncOrNil&('glQueryObjectParameteruiAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryObjectParameteruiAMD(target: DummyEnum; id: UInt32; pname: DummyEnum; param: UInt32) := z_QueryObjectParameteruiAMD(target, id, pname, param); + + {$endregion AMD_occlusion_query_event} + + {$region AMD_sample_positions} + + public z_SetMultisamplefvAMD: procedure(pname: DummyEnum; index: UInt32; val: pointer) := GetGLFuncOrNil&('glSetMultisamplefvAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetMultisamplefvAMD(pname: DummyEnum; index: UInt32; val: array of single) := SetMultisamplefvAMD(pname, index, val[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetMultisamplefvAMD(pname: DummyEnum; index: UInt32; var val: single) := SetMultisamplefvAMD(pname, index, @val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetMultisamplefvAMD(pname: DummyEnum; index: UInt32; val: pointer) := z_SetMultisamplefvAMD(pname, index, val); + + {$endregion AMD_sample_positions} + + {$region AMD_stencil_operation_extended} + + public z_StencilOpValueAMD: procedure(face: DummyEnum; value: UInt32) := GetGLFuncOrNil&('glStencilOpValueAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilOpValueAMD(face: DummyEnum; value: UInt32) := z_StencilOpValueAMD(face, value); + + {$endregion AMD_stencil_operation_extended} + + {$region AMD_vertex_shader_tessellator} + + public z_TessellationFactorAMD: procedure(factor: single) := GetGLFuncOrNil&('glTessellationFactorAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TessellationFactorAMD(factor: single) := z_TessellationFactorAMD(factor); + + public z_TessellationModeAMD: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glTessellationModeAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TessellationModeAMD(mode: DummyEnum) := z_TessellationModeAMD(mode); + + {$endregion AMD_vertex_shader_tessellator} + + {$region AMD_interleaved_elements} + + public z_VertexAttribParameteriAMD: procedure(index: UInt32; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glVertexAttribParameteriAMD'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribParameteriAMD(index: UInt32; pname: DummyEnum; param: Int32) := z_VertexAttribParameteriAMD(index, pname, param); + + {$endregion AMD_interleaved_elements} + + end; + + gl_ANGLE = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region ANGLE_framebuffer_blit} + + public z_BlitFramebufferANGLE: procedure(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := GetGLFuncOrNil&('glBlitFramebufferANGLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlitFramebufferANGLE(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := z_BlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + + {$endregion ANGLE_framebuffer_blit} + + {$region ANGLE_instanced_arrays} + + public z_DrawArraysInstancedANGLE: procedure(mode: DummyEnum; first: Int32; count: Int32; primcount: Int32) := GetGLFuncOrNil&('glDrawArraysInstancedANGLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysInstancedANGLE(mode: DummyEnum; first: Int32; count: Int32; primcount: Int32) := z_DrawArraysInstancedANGLE(mode, first, count, primcount); + + public z_DrawElementsInstancedANGLE: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := GetGLFuncOrNil&('glDrawElementsInstancedANGLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedANGLE(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := z_DrawElementsInstancedANGLE(mode, count, &type, indices, primcount); + + public z_VertexAttribDivisorANGLE: procedure(index: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexAttribDivisorANGLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribDivisorANGLE(index: UInt32; divisor: UInt32) := z_VertexAttribDivisorANGLE(index, divisor); + + {$endregion ANGLE_instanced_arrays} + + {$region ANGLE_translated_shader_source} + + public z_GetTranslatedShaderSourceANGLE: procedure(shader: UInt32; bufsize: Int32; length: pointer; source: IntPtr) := GetGLFuncOrNil&('glGetTranslatedShaderSourceANGLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTranslatedShaderSourceANGLE(shader: UInt32; bufsize: Int32; length: array of Int32; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetTranslatedShaderSourceANGLE(shader, bufsize, length[0], ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTranslatedShaderSourceANGLE(shader: UInt32; bufsize: Int32; length: array of Int32; source: IntPtr) := GetTranslatedShaderSourceANGLE(shader, bufsize, length[0], source); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTranslatedShaderSourceANGLE(shader: UInt32; bufsize: Int32; var length: Int32; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetTranslatedShaderSourceANGLE(shader, bufsize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTranslatedShaderSourceANGLE(shader: UInt32; bufsize: Int32; var length: Int32; source: IntPtr) := GetTranslatedShaderSourceANGLE(shader, bufsize, @length, source); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTranslatedShaderSourceANGLE(shader: UInt32; bufsize: Int32; length: pointer; source: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(source); GetTranslatedShaderSourceANGLE(shader, bufsize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTranslatedShaderSourceANGLE(shader: UInt32; bufsize: Int32; length: pointer; source: IntPtr) := z_GetTranslatedShaderSourceANGLE(shader, bufsize, length, source); + + {$endregion ANGLE_translated_shader_source} + + {$region ANGLE_framebuffer_multisample} + + public z_RenderbufferStorageMultisampleANGLE: procedure(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisampleANGLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisampleANGLE(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height); + + {$endregion ANGLE_framebuffer_multisample} + + end; + + gl_APPLE = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region APPLE_vertex_array_object} + + public z_BindVertexArrayAPPLE: procedure(&array: UInt32) := GetGLFuncOrNil&('glBindVertexArrayAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexArrayAPPLE(&array: UInt32) := z_BindVertexArrayAPPLE(&array); + + public z_DeleteVertexArraysAPPLE: procedure(n: Int32; arrays: pointer) := GetGLFuncOrNil&('glDeleteVertexArraysAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArraysAPPLE(n: Int32; arrays: array of UInt32) := DeleteVertexArraysAPPLE(n, arrays[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArraysAPPLE(n: Int32; var arrays: UInt32) := DeleteVertexArraysAPPLE(n, @arrays); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArraysAPPLE(n: Int32; arrays: pointer) := z_DeleteVertexArraysAPPLE(n, arrays); + + public z_GenVertexArraysAPPLE: procedure(n: Int32; arrays: pointer) := GetGLFuncOrNil&('glGenVertexArraysAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArraysAPPLE(n: Int32; arrays: array of UInt32) := GenVertexArraysAPPLE(n, arrays[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArraysAPPLE(n: Int32; var arrays: UInt32) := GenVertexArraysAPPLE(n, @arrays); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArraysAPPLE(n: Int32; arrays: pointer) := z_GenVertexArraysAPPLE(n, arrays); + + public z_IsVertexArrayAPPLE: function(&array: UInt32): Byte := GetGLFuncOrNil&('glIsVertexArrayAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsVertexArrayAPPLE(&array: UInt32): Byte := z_IsVertexArrayAPPLE(&array); + + {$endregion APPLE_vertex_array_object} + + {$region APPLE_flush_buffer_range} + + public z_BufferParameteriAPPLE: procedure(target: DummyEnum; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glBufferParameteriAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferParameteriAPPLE(target: DummyEnum; pname: DummyEnum; param: Int32) := z_BufferParameteriAPPLE(target, pname, param); + + public z_FlushMappedBufferRangeAPPLE: procedure(target: DummyEnum; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glFlushMappedBufferRangeAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushMappedBufferRangeAPPLE(target: DummyEnum; offset: IntPtr; size: UIntPtr) := z_FlushMappedBufferRangeAPPLE(target, offset, size); + + {$endregion APPLE_flush_buffer_range} + + {$region APPLE_sync} + + public z_FenceSyncAPPLE: function(condition: DummyEnum; flags: DummyFlags): GLsync := GetGLFuncOrNil&('glFenceSyncAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function FenceSyncAPPLE(condition: DummyEnum; flags: DummyFlags): GLsync := z_FenceSyncAPPLE(condition, flags); + + public z_IsSyncAPPLE: function(sync: GLsync): Byte := GetGLFuncOrNil&('glIsSyncAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsSyncAPPLE(sync: GLsync): Byte := z_IsSyncAPPLE(sync); + + public z_DeleteSyncAPPLE: procedure(sync: GLsync) := GetGLFuncOrNil&('glDeleteSyncAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteSyncAPPLE(sync: GLsync) := z_DeleteSyncAPPLE(sync); + + public z_ClientWaitSyncAPPLE: function(sync: GLsync; flags: DummyFlags; timeout: UInt64): DummyEnum := GetGLFuncOrNil&('glClientWaitSyncAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ClientWaitSyncAPPLE(sync: GLsync; flags: DummyFlags; timeout: UInt64): DummyEnum := z_ClientWaitSyncAPPLE(sync, flags, timeout); + + public z_WaitSyncAPPLE: procedure(sync: GLsync; flags: DummyFlags; timeout: UInt64) := GetGLFuncOrNil&('glWaitSyncAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSyncAPPLE(sync: GLsync; flags: DummyFlags; timeout: UInt64) := z_WaitSyncAPPLE(sync, flags, timeout); + + public z_GetInteger64vAPPLE: procedure(pname: GLGetQueries; ¶ms: pointer) := GetGLFuncOrNil&('glGetInteger64vAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64vAPPLE(pname: GLGetQueries; ¶ms: array of Int64) := GetInteger64vAPPLE(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64vAPPLE(pname: GLGetQueries; var ¶ms: Int64) := GetInteger64vAPPLE(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInteger64vAPPLE(pname: GLGetQueries; ¶ms: pointer) := z_GetInteger64vAPPLE(pname, ¶ms); + + public z_GetSyncivAPPLE: procedure(sync: GLsync; pname: DummyEnum; bufSize: Int32; length: pointer; values: pointer) := GetGLFuncOrNil&('glGetSyncivAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; length: array of Int32; values: array of Int32) := GetSyncivAPPLE(sync, pname, bufSize, length[0], values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; length: array of Int32; var values: Int32) := GetSyncivAPPLE(sync, pname, bufSize, length[0], @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; length: array of Int32; values: pointer) := GetSyncivAPPLE(sync, pname, bufSize, length[0], values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; var length: Int32; values: array of Int32) := GetSyncivAPPLE(sync, pname, bufSize, @length, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; var length: Int32; var values: Int32) := GetSyncivAPPLE(sync, pname, bufSize, @length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; var length: Int32; values: pointer) := GetSyncivAPPLE(sync, pname, bufSize, @length, values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; length: pointer; values: array of Int32) := GetSyncivAPPLE(sync, pname, bufSize, length, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; length: pointer; var values: Int32) := GetSyncivAPPLE(sync, pname, bufSize, length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSyncivAPPLE(sync: GLsync; pname: DummyEnum; bufSize: Int32; length: pointer; values: pointer) := z_GetSyncivAPPLE(sync, pname, bufSize, length, values); + + {$endregion APPLE_sync} + + {$region APPLE_copy_texture_levels} + + public z_CopyTextureLevelsAPPLE: procedure(destinationTexture: UInt32; sourceTexture: UInt32; sourceBaseLevel: Int32; sourceLevelCount: Int32) := GetGLFuncOrNil&('glCopyTextureLevelsAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTextureLevelsAPPLE(destinationTexture: UInt32; sourceTexture: UInt32; sourceBaseLevel: Int32; sourceLevelCount: Int32) := z_CopyTextureLevelsAPPLE(destinationTexture, sourceTexture, sourceBaseLevel, sourceLevelCount); + + {$endregion APPLE_copy_texture_levels} + + {$region APPLE_fence} + + public z_GenFencesAPPLE: procedure(n: Int32; fences: pointer) := GetGLFuncOrNil&('glGenFencesAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFencesAPPLE(n: Int32; fences: array of UInt32) := GenFencesAPPLE(n, fences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFencesAPPLE(n: Int32; var fences: UInt32) := GenFencesAPPLE(n, @fences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFencesAPPLE(n: Int32; fences: pointer) := z_GenFencesAPPLE(n, fences); + + public z_DeleteFencesAPPLE: procedure(n: Int32; fences: pointer) := GetGLFuncOrNil&('glDeleteFencesAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFencesAPPLE(n: Int32; fences: array of UInt32) := DeleteFencesAPPLE(n, fences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFencesAPPLE(n: Int32; var fences: UInt32) := DeleteFencesAPPLE(n, @fences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFencesAPPLE(n: Int32; fences: pointer) := z_DeleteFencesAPPLE(n, fences); + + public z_SetFenceAPPLE: procedure(fence: UInt32) := GetGLFuncOrNil&('glSetFenceAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetFenceAPPLE(fence: UInt32) := z_SetFenceAPPLE(fence); + + public z_IsFenceAPPLE: function(fence: UInt32): Byte := GetGLFuncOrNil&('glIsFenceAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsFenceAPPLE(fence: UInt32): Byte := z_IsFenceAPPLE(fence); + + public z_TestFenceAPPLE: function(fence: UInt32): Byte := GetGLFuncOrNil&('glTestFenceAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function TestFenceAPPLE(fence: UInt32): Byte := z_TestFenceAPPLE(fence); + + public z_FinishFenceAPPLE: procedure(fence: UInt32) := GetGLFuncOrNil&('glFinishFenceAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FinishFenceAPPLE(fence: UInt32) := z_FinishFenceAPPLE(fence); + + public z_TestObjectAPPLE: function(object: DummyEnum; name: UInt32): Byte := GetGLFuncOrNil&('glTestObjectAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function TestObjectAPPLE(object: DummyEnum; name: UInt32): Byte := z_TestObjectAPPLE(object, name); + + public z_FinishObjectAPPLE: procedure(object: DummyEnum; name: Int32) := GetGLFuncOrNil&('glFinishObjectAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FinishObjectAPPLE(object: DummyEnum; name: Int32) := z_FinishObjectAPPLE(object, name); + + {$endregion APPLE_fence} + + {$region APPLE_vertex_program_evaluators} + + public z_EnableVertexAttribAPPLE: procedure(index: UInt32; pname: DummyEnum) := GetGLFuncOrNil&('glEnableVertexAttribAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableVertexAttribAPPLE(index: UInt32; pname: DummyEnum) := z_EnableVertexAttribAPPLE(index, pname); + + public z_DisableVertexAttribAPPLE: procedure(index: UInt32; pname: DummyEnum) := GetGLFuncOrNil&('glDisableVertexAttribAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableVertexAttribAPPLE(index: UInt32; pname: DummyEnum) := z_DisableVertexAttribAPPLE(index, pname); + + public z_IsVertexAttribEnabledAPPLE: function(index: UInt32; pname: DummyEnum): Byte := GetGLFuncOrNil&('glIsVertexAttribEnabledAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsVertexAttribEnabledAPPLE(index: UInt32; pname: DummyEnum): Byte := z_IsVertexAttribEnabledAPPLE(index, pname); + + public z_MapVertexAttrib1dAPPLE: procedure(index: UInt32; size: UInt32; u1: double; u2: double; stride: Int32; order: Int32; points: pointer) := GetGLFuncOrNil&('glMapVertexAttrib1dAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib1dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; stride: Int32; order: Int32; points: array of double) := MapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib1dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; stride: Int32; order: Int32; var points: double) := MapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib1dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; stride: Int32; order: Int32; points: pointer) := z_MapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points); + + public z_MapVertexAttrib1fAPPLE: procedure(index: UInt32; size: UInt32; u1: single; u2: single; stride: Int32; order: Int32; points: pointer) := GetGLFuncOrNil&('glMapVertexAttrib1fAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib1fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; stride: Int32; order: Int32; points: array of single) := MapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib1fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; stride: Int32; order: Int32; var points: single) := MapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib1fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; stride: Int32; order: Int32; points: pointer) := z_MapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points); + + public z_MapVertexAttrib2dAPPLE: procedure(index: UInt32; size: UInt32; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; points: pointer) := GetGLFuncOrNil&('glMapVertexAttrib2dAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib2dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; points: array of double) := MapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib2dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; var points: double) := MapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib2dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; points: pointer) := z_MapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + + public z_MapVertexAttrib2fAPPLE: procedure(index: UInt32; size: UInt32; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; points: pointer) := GetGLFuncOrNil&('glMapVertexAttrib2fAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib2fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; points: array of single) := MapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib2fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; var points: single) := MapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapVertexAttrib2fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; points: pointer) := z_MapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + + {$endregion APPLE_vertex_program_evaluators} + + {$region APPLE_element_array} + + public z_ElementPointerAPPLE: procedure(&type: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glElementPointerAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ElementPointerAPPLE(&type: DummyEnum; _pointer: pointer) := z_ElementPointerAPPLE(&type, _pointer); + + public z_DrawElementArrayAPPLE: procedure(mode: DummyEnum; first: Int32; count: Int32) := GetGLFuncOrNil&('glDrawElementArrayAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementArrayAPPLE(mode: DummyEnum; first: Int32; count: Int32) := z_DrawElementArrayAPPLE(mode, first, count); + + public z_DrawRangeElementArrayAPPLE: procedure(mode: DummyEnum; start: UInt32; &end: UInt32; first: Int32; count: Int32) := GetGLFuncOrNil&('glDrawRangeElementArrayAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; first: Int32; count: Int32) := z_DrawRangeElementArrayAPPLE(mode, start, &end, first, count); + + public z_MultiDrawElementArrayAPPLE: procedure(mode: DummyEnum; first: pointer; count: pointer; primcount: Int32) := GetGLFuncOrNil&('glMultiDrawElementArrayAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; first: array of Int32; count: array of Int32; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, first[0], count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; first: array of Int32; var count: Int32; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, first[0], @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; first: array of Int32; count: pointer; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, first[0], count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; var first: Int32; count: array of Int32; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, @first, count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; var first: Int32; var count: Int32; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, @first, @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; var first: Int32; count: pointer; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, @first, count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; first: pointer; count: array of Int32; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, first, count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; first: pointer; var count: Int32; primcount: Int32) := MultiDrawElementArrayAPPLE(mode, first, @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementArrayAPPLE(mode: DummyEnum; first: pointer; count: pointer; primcount: Int32) := z_MultiDrawElementArrayAPPLE(mode, first, count, primcount); + + public z_MultiDrawRangeElementArrayAPPLE: procedure(mode: DummyEnum; start: UInt32; &end: UInt32; first: pointer; count: pointer; primcount: Int32) := GetGLFuncOrNil&('glMultiDrawRangeElementArrayAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; first: array of Int32; count: array of Int32; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, first[0], count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; first: array of Int32; var count: Int32; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, first[0], @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; first: array of Int32; count: pointer; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, first[0], count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; var first: Int32; count: array of Int32; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, @first, count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; var first: Int32; var count: Int32; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, @first, @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; var first: Int32; count: pointer; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, @first, count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; first: pointer; count: array of Int32; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, first, count[0], primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; first: pointer; var count: Int32; primcount: Int32) := MultiDrawRangeElementArrayAPPLE(mode, start, &end, first, @count, primcount); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawRangeElementArrayAPPLE(mode: DummyEnum; start: UInt32; &end: UInt32; first: pointer; count: pointer; primcount: Int32) := z_MultiDrawRangeElementArrayAPPLE(mode, start, &end, first, count, primcount); + + {$endregion APPLE_element_array} + + {$region APPLE_vertex_array_range} + + public z_VertexArrayRangeAPPLE: procedure(length: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexArrayRangeAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayRangeAPPLE(length: Int32; _pointer: pointer) := z_VertexArrayRangeAPPLE(length, _pointer); + + public z_FlushVertexArrayRangeAPPLE: procedure(length: Int32; _pointer: pointer) := GetGLFuncOrNil&('glFlushVertexArrayRangeAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushVertexArrayRangeAPPLE(length: Int32; _pointer: pointer) := z_FlushVertexArrayRangeAPPLE(length, _pointer); + + public z_VertexArrayParameteriAPPLE: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glVertexArrayParameteriAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexArrayParameteriAPPLE(pname: DummyEnum; param: Int32) := z_VertexArrayParameteriAPPLE(pname, param); + + {$endregion APPLE_vertex_array_range} + + {$region APPLE_object_purgeable} + + public z_ObjectPurgeableAPPLE: function(objectType: DummyEnum; name: UInt32; option: DummyEnum): DummyEnum := GetGLFuncOrNil&('glObjectPurgeableAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ObjectPurgeableAPPLE(objectType: DummyEnum; name: UInt32; option: DummyEnum): DummyEnum := z_ObjectPurgeableAPPLE(objectType, name, option); + + public z_ObjectUnpurgeableAPPLE: function(objectType: DummyEnum; name: UInt32; option: DummyEnum): DummyEnum := GetGLFuncOrNil&('glObjectUnpurgeableAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ObjectUnpurgeableAPPLE(objectType: DummyEnum; name: UInt32; option: DummyEnum): DummyEnum := z_ObjectUnpurgeableAPPLE(objectType, name, option); + + public z_GetObjectParameterivAPPLE: procedure(objectType: DummyEnum; name: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetObjectParameterivAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterivAPPLE(objectType: DummyEnum; name: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetObjectParameterivAPPLE(objectType, name, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterivAPPLE(objectType: DummyEnum; name: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetObjectParameterivAPPLE(objectType, name, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectParameterivAPPLE(objectType: DummyEnum; name: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetObjectParameterivAPPLE(objectType, name, pname, ¶ms); + + {$endregion APPLE_object_purgeable} + + {$region APPLE_texture_range} + + public z_TextureRangeAPPLE: procedure(target: DummyEnum; length: Int32; _pointer: pointer) := GetGLFuncOrNil&('glTextureRangeAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureRangeAPPLE(target: DummyEnum; length: Int32; _pointer: pointer) := z_TextureRangeAPPLE(target, length, _pointer); + + public z_GetTexParameterPointervAPPLE: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterPointervAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterPointervAPPLE(target: DummyEnum; pname: DummyEnum; ¶ms: array of IntPtr) := GetTexParameterPointervAPPLE(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterPointervAPPLE(target: DummyEnum; pname: DummyEnum; var ¶ms: IntPtr) := GetTexParameterPointervAPPLE(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterPointervAPPLE(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexParameterPointervAPPLE(target, pname, ¶ms); + + {$endregion APPLE_texture_range} + + {$region APPLE_framebuffer_multisample} + + public z_RenderbufferStorageMultisampleAPPLE: procedure(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisampleAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisampleAPPLE(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height); + + public z_ResolveMultisampleFramebufferAPPLE: procedure := GetGLFuncOrNil&('glResolveMultisampleFramebufferAPPLE'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResolveMultisampleFramebufferAPPLE := z_ResolveMultisampleFramebufferAPPLE; + + {$endregion APPLE_framebuffer_multisample} + + end; + + gl_ATI = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region ATI_fragment_shader} + + public z_GenFragmentShadersATI: function(range: UInt32): UInt32 := GetGLFuncOrNil&('glGenFragmentShadersATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GenFragmentShadersATI(range: UInt32): UInt32 := z_GenFragmentShadersATI(range); + + public z_BindFragmentShaderATI: procedure(id: UInt32) := GetGLFuncOrNil&('glBindFragmentShaderATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFragmentShaderATI(id: UInt32) := z_BindFragmentShaderATI(id); + + public z_DeleteFragmentShaderATI: procedure(id: UInt32) := GetGLFuncOrNil&('glDeleteFragmentShaderATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFragmentShaderATI(id: UInt32) := z_DeleteFragmentShaderATI(id); + + public z_BeginFragmentShaderATI: procedure := GetGLFuncOrNil&('glBeginFragmentShaderATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginFragmentShaderATI := z_BeginFragmentShaderATI; + + public z_EndFragmentShaderATI: procedure := GetGLFuncOrNil&('glEndFragmentShaderATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndFragmentShaderATI := z_EndFragmentShaderATI; + + public z_PassTexCoordATI: procedure(dst: UInt32; coord: UInt32; swizzle: DummyEnum) := GetGLFuncOrNil&('glPassTexCoordATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PassTexCoordATI(dst: UInt32; coord: UInt32; swizzle: DummyEnum) := z_PassTexCoordATI(dst, coord, swizzle); + + public z_SampleMapATI: procedure(dst: UInt32; interp: UInt32; swizzle: DummyEnum) := GetGLFuncOrNil&('glSampleMapATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleMapATI(dst: UInt32; interp: UInt32; swizzle: DummyEnum) := z_SampleMapATI(dst, interp, swizzle); + + public z_ColorFragmentOp1ATI: procedure(op: DummyEnum; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32) := GetGLFuncOrNil&('glColorFragmentOp1ATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorFragmentOp1ATI(op: DummyEnum; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32) := z_ColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod); + + public z_ColorFragmentOp2ATI: procedure(op: DummyEnum; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32) := GetGLFuncOrNil&('glColorFragmentOp2ATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorFragmentOp2ATI(op: DummyEnum; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32) := z_ColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); + + public z_ColorFragmentOp3ATI: procedure(op: DummyEnum; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32; arg3: UInt32; arg3Rep: UInt32; arg3Mod: UInt32) := GetGLFuncOrNil&('glColorFragmentOp3ATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorFragmentOp3ATI(op: DummyEnum; dst: UInt32; dstMask: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32; arg3: UInt32; arg3Rep: UInt32; arg3Mod: UInt32) := z_ColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); + + public z_AlphaFragmentOp1ATI: procedure(op: DummyEnum; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32) := GetGLFuncOrNil&('glAlphaFragmentOp1ATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AlphaFragmentOp1ATI(op: DummyEnum; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32) := z_AlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod); + + public z_AlphaFragmentOp2ATI: procedure(op: DummyEnum; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32) := GetGLFuncOrNil&('glAlphaFragmentOp2ATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AlphaFragmentOp2ATI(op: DummyEnum; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32) := z_AlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); + + public z_AlphaFragmentOp3ATI: procedure(op: DummyEnum; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32; arg3: UInt32; arg3Rep: UInt32; arg3Mod: UInt32) := GetGLFuncOrNil&('glAlphaFragmentOp3ATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AlphaFragmentOp3ATI(op: DummyEnum; dst: UInt32; dstMod: UInt32; arg1: UInt32; arg1Rep: UInt32; arg1Mod: UInt32; arg2: UInt32; arg2Rep: UInt32; arg2Mod: UInt32; arg3: UInt32; arg3Rep: UInt32; arg3Mod: UInt32) := z_AlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); + + public z_SetFragmentShaderConstantATI: procedure(dst: UInt32; value: pointer) := GetGLFuncOrNil&('glSetFragmentShaderConstantATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetFragmentShaderConstantATI(dst: UInt32; value: array of single) := SetFragmentShaderConstantATI(dst, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetFragmentShaderConstantATI(dst: UInt32; var value: single) := SetFragmentShaderConstantATI(dst, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetFragmentShaderConstantATI(dst: UInt32; value: pointer) := z_SetFragmentShaderConstantATI(dst, value); + + {$endregion ATI_fragment_shader} + + {$region ATI_vertex_array_object} + + public z_NewObjectBufferATI: function(size: Int32; _pointer: pointer; usage: DummyEnum): UInt32 := GetGLFuncOrNil&('glNewObjectBufferATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function NewObjectBufferATI(size: Int32; _pointer: pointer; usage: DummyEnum): UInt32 := z_NewObjectBufferATI(size, _pointer, usage); + + public z_IsObjectBufferATI: function(buffer: UInt32): Byte := GetGLFuncOrNil&('glIsObjectBufferATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsObjectBufferATI(buffer: UInt32): Byte := z_IsObjectBufferATI(buffer); + + public z_UpdateObjectBufferATI: procedure(buffer: UInt32; offset: UInt32; size: Int32; _pointer: pointer; preserve: DummyEnum) := GetGLFuncOrNil&('glUpdateObjectBufferATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UpdateObjectBufferATI(buffer: UInt32; offset: UInt32; size: Int32; _pointer: pointer; preserve: DummyEnum) := z_UpdateObjectBufferATI(buffer, offset, size, _pointer, preserve); + + public z_GetObjectBufferfvATI: procedure(buffer: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetObjectBufferfvATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectBufferfvATI(buffer: UInt32; pname: DummyEnum; ¶ms: array of single) := GetObjectBufferfvATI(buffer, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectBufferfvATI(buffer: UInt32; pname: DummyEnum; var ¶ms: single) := GetObjectBufferfvATI(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectBufferfvATI(buffer: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetObjectBufferfvATI(buffer, pname, ¶ms); + + public z_GetObjectBufferivATI: procedure(buffer: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetObjectBufferivATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectBufferivATI(buffer: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetObjectBufferivATI(buffer, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectBufferivATI(buffer: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetObjectBufferivATI(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetObjectBufferivATI(buffer: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetObjectBufferivATI(buffer, pname, ¶ms); + + public z_FreeObjectBufferATI: procedure(buffer: UInt32) := GetGLFuncOrNil&('glFreeObjectBufferATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FreeObjectBufferATI(buffer: UInt32) := z_FreeObjectBufferATI(buffer); + + public z_ArrayObjectATI: procedure(&array: DummyEnum; size: Int32; &type: DummyEnum; stride: Int32; buffer: UInt32; offset: UInt32) := GetGLFuncOrNil&('glArrayObjectATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ArrayObjectATI(&array: DummyEnum; size: Int32; &type: DummyEnum; stride: Int32; buffer: UInt32; offset: UInt32) := z_ArrayObjectATI(&array, size, &type, stride, buffer, offset); + + public z_GetArrayObjectfvATI: procedure(&array: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetArrayObjectfvATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetArrayObjectfvATI(&array: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetArrayObjectfvATI(&array, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetArrayObjectfvATI(&array: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetArrayObjectfvATI(&array, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetArrayObjectfvATI(&array: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetArrayObjectfvATI(&array, pname, ¶ms); + + public z_GetArrayObjectivATI: procedure(&array: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetArrayObjectivATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetArrayObjectivATI(&array: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetArrayObjectivATI(&array, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetArrayObjectivATI(&array: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetArrayObjectivATI(&array, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetArrayObjectivATI(&array: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetArrayObjectivATI(&array, pname, ¶ms); + + public z_VariantArrayObjectATI: procedure(id: UInt32; &type: DummyEnum; stride: Int32; buffer: UInt32; offset: UInt32) := GetGLFuncOrNil&('glVariantArrayObjectATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VariantArrayObjectATI(id: UInt32; &type: DummyEnum; stride: Int32; buffer: UInt32; offset: UInt32) := z_VariantArrayObjectATI(id, &type, stride, buffer, offset); + + public z_GetVariantArrayObjectfvATI: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVariantArrayObjectfvATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantArrayObjectfvATI(id: UInt32; pname: DummyEnum; ¶ms: array of single) := GetVariantArrayObjectfvATI(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantArrayObjectfvATI(id: UInt32; pname: DummyEnum; var ¶ms: single) := GetVariantArrayObjectfvATI(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantArrayObjectfvATI(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVariantArrayObjectfvATI(id, pname, ¶ms); + + public z_GetVariantArrayObjectivATI: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVariantArrayObjectivATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantArrayObjectivATI(id: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVariantArrayObjectivATI(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantArrayObjectivATI(id: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVariantArrayObjectivATI(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVariantArrayObjectivATI(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVariantArrayObjectivATI(id, pname, ¶ms); + + {$endregion ATI_vertex_array_object} + + {$region ATI_draw_buffers} + + public z_DrawBuffersATI: procedure(n: Int32; bufs: pointer) := GetGLFuncOrNil&('glDrawBuffersATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersATI(n: Int32; bufs: array of DummyEnum) := DrawBuffersATI(n, bufs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersATI(n: Int32; var bufs: DummyEnum) := DrawBuffersATI(n, @bufs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersATI(n: Int32; bufs: pointer) := z_DrawBuffersATI(n, bufs); + + {$endregion ATI_draw_buffers} + + {$region ATI_element_array} + + public z_ElementPointerATI: procedure(&type: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glElementPointerATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ElementPointerATI(&type: DummyEnum; _pointer: pointer) := z_ElementPointerATI(&type, _pointer); + + public z_DrawElementArrayATI: procedure(mode: DummyEnum; count: Int32) := GetGLFuncOrNil&('glDrawElementArrayATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementArrayATI(mode: DummyEnum; count: Int32) := z_DrawElementArrayATI(mode, count); + + public z_DrawRangeElementArrayATI: procedure(mode: DummyEnum; start: UInt32; &end: UInt32; count: Int32) := GetGLFuncOrNil&('glDrawRangeElementArrayATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementArrayATI(mode: DummyEnum; start: UInt32; &end: UInt32; count: Int32) := z_DrawRangeElementArrayATI(mode, start, &end, count); + + {$endregion ATI_element_array} + + {$region ATI_envmap_bumpmap} + + public z_TexBumpParameterivATI: procedure(pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glTexBumpParameterivATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBumpParameterivATI(pname: DummyEnum; param: array of Int32) := TexBumpParameterivATI(pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBumpParameterivATI(pname: DummyEnum; var param: Int32) := TexBumpParameterivATI(pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBumpParameterivATI(pname: DummyEnum; param: pointer) := z_TexBumpParameterivATI(pname, param); + + public z_TexBumpParameterfvATI: procedure(pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glTexBumpParameterfvATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBumpParameterfvATI(pname: DummyEnum; param: array of single) := TexBumpParameterfvATI(pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBumpParameterfvATI(pname: DummyEnum; var param: single) := TexBumpParameterfvATI(pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBumpParameterfvATI(pname: DummyEnum; param: pointer) := z_TexBumpParameterfvATI(pname, param); + + public z_GetTexBumpParameterivATI: procedure(pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glGetTexBumpParameterivATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexBumpParameterivATI(pname: DummyEnum; param: array of Int32) := GetTexBumpParameterivATI(pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexBumpParameterivATI(pname: DummyEnum; var param: Int32) := GetTexBumpParameterivATI(pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexBumpParameterivATI(pname: DummyEnum; param: pointer) := z_GetTexBumpParameterivATI(pname, param); + + public z_GetTexBumpParameterfvATI: procedure(pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glGetTexBumpParameterfvATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexBumpParameterfvATI(pname: DummyEnum; param: array of single) := GetTexBumpParameterfvATI(pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexBumpParameterfvATI(pname: DummyEnum; var param: single) := GetTexBumpParameterfvATI(pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexBumpParameterfvATI(pname: DummyEnum; param: pointer) := z_GetTexBumpParameterfvATI(pname, param); + + {$endregion ATI_envmap_bumpmap} + + {$region ATI_vertex_attrib_array_object} + + public z_VertexAttribArrayObjectATI: procedure(index: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; stride: Int32; buffer: UInt32; offset: UInt32) := GetGLFuncOrNil&('glVertexAttribArrayObjectATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribArrayObjectATI(index: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; stride: Int32; buffer: UInt32; offset: UInt32) := z_VertexAttribArrayObjectATI(index, size, &type, normalized, stride, buffer, offset); + + public z_GetVertexAttribArrayObjectfvATI: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribArrayObjectfvATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribArrayObjectfvATI(index: UInt32; pname: DummyEnum; ¶ms: array of single) := GetVertexAttribArrayObjectfvATI(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribArrayObjectfvATI(index: UInt32; pname: DummyEnum; var ¶ms: single) := GetVertexAttribArrayObjectfvATI(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribArrayObjectfvATI(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribArrayObjectfvATI(index, pname, ¶ms); + + public z_GetVertexAttribArrayObjectivATI: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribArrayObjectivATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribArrayObjectivATI(index: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVertexAttribArrayObjectivATI(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribArrayObjectivATI(index: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVertexAttribArrayObjectivATI(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribArrayObjectivATI(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribArrayObjectivATI(index, pname, ¶ms); + + {$endregion ATI_vertex_attrib_array_object} + + {$region ATI_map_object_buffer} + + public z_MapObjectBufferATI: function(buffer: UInt32): pointer := GetGLFuncOrNil&('glMapObjectBufferATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapObjectBufferATI(buffer: UInt32): pointer := z_MapObjectBufferATI(buffer); + + public z_UnmapObjectBufferATI: procedure(buffer: UInt32) := GetGLFuncOrNil&('glUnmapObjectBufferATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UnmapObjectBufferATI(buffer: UInt32) := z_UnmapObjectBufferATI(buffer); + + {$endregion ATI_map_object_buffer} + + {$region ATI_pn_triangles} + + public z_PNTrianglesiATI: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glPNTrianglesiATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PNTrianglesiATI(pname: DummyEnum; param: Int32) := z_PNTrianglesiATI(pname, param); + + public z_PNTrianglesfATI: procedure(pname: DummyEnum; param: single) := GetGLFuncOrNil&('glPNTrianglesfATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PNTrianglesfATI(pname: DummyEnum; param: single) := z_PNTrianglesfATI(pname, param); + + {$endregion ATI_pn_triangles} + + {$region ATI_separate_stencil} + + public z_StencilOpSeparateATI: procedure(face: DummyEnum; sfail: DummyEnum; dpfail: DummyEnum; dppass: DummyEnum) := GetGLFuncOrNil&('glStencilOpSeparateATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilOpSeparateATI(face: DummyEnum; sfail: DummyEnum; dpfail: DummyEnum; dppass: DummyEnum) := z_StencilOpSeparateATI(face, sfail, dpfail, dppass); + + public z_StencilFuncSeparateATI: procedure(frontfunc: DummyEnum; backfunc: DummyEnum; ref: Int32; mask: UInt32) := GetGLFuncOrNil&('glStencilFuncSeparateATI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StencilFuncSeparateATI(frontfunc: DummyEnum; backfunc: DummyEnum; ref: Int32; mask: UInt32) := z_StencilFuncSeparateATI(frontfunc, backfunc, ref, mask); + + {$endregion ATI_separate_stencil} + + end; + + gl_GREMEDY = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region GREMEDY_frame_terminator} + + public z_FrameTerminatorGREMEDY: procedure := GetGLFuncOrNil&('glFrameTerminatorGREMEDY'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FrameTerminatorGREMEDY := z_FrameTerminatorGREMEDY; + + {$endregion GREMEDY_frame_terminator} + + {$region GREMEDY_string_marker} + + public z_StringMarkerGREMEDY: procedure(len: Int32; string: pointer) := GetGLFuncOrNil&('glStringMarkerGREMEDY'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StringMarkerGREMEDY(len: Int32; string: pointer) := z_StringMarkerGREMEDY(len, string); + + {$endregion GREMEDY_string_marker} + + end; + + gl_HP = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region HP_image_transform} + + public z_ImageTransformParameteriHP: procedure(target: DummyEnum; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glImageTransformParameteriHP'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameteriHP(target: DummyEnum; pname: DummyEnum; param: Int32) := z_ImageTransformParameteriHP(target, pname, param); + + public z_ImageTransformParameterfHP: procedure(target: DummyEnum; pname: DummyEnum; param: single) := GetGLFuncOrNil&('glImageTransformParameterfHP'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameterfHP(target: DummyEnum; pname: DummyEnum; param: single) := z_ImageTransformParameterfHP(target, pname, param); + + public z_ImageTransformParameterivHP: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glImageTransformParameterivHP'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameterivHP(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := ImageTransformParameterivHP(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameterivHP(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := ImageTransformParameterivHP(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameterivHP(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ImageTransformParameterivHP(target, pname, ¶ms); + + public z_ImageTransformParameterfvHP: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glImageTransformParameterfvHP'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameterfvHP(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := ImageTransformParameterfvHP(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameterfvHP(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := ImageTransformParameterfvHP(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ImageTransformParameterfvHP(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ImageTransformParameterfvHP(target, pname, ¶ms); + + public z_GetImageTransformParameterivHP: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetImageTransformParameterivHP'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetImageTransformParameterivHP(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetImageTransformParameterivHP(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetImageTransformParameterivHP(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetImageTransformParameterivHP(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetImageTransformParameterivHP(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetImageTransformParameterivHP(target, pname, ¶ms); + + public z_GetImageTransformParameterfvHP: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetImageTransformParameterfvHP'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetImageTransformParameterfvHP(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetImageTransformParameterfvHP(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetImageTransformParameterfvHP(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetImageTransformParameterfvHP(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetImageTransformParameterfvHP(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetImageTransformParameterfvHP(target, pname, ¶ms); + + {$endregion HP_image_transform} + + end; + + gl_IBM = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region IBM_vertex_array_lists} + + public z_ColorPointerListIBM: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glColorPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := ColorPointerListIBM(size, &type, stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := ColorPointerListIBM(size, &type, stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := z_ColorPointerListIBM(size, &type, stride, _pointer, ptrstride); + + public z_SecondaryColorPointerListIBM: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glSecondaryColorPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := SecondaryColorPointerListIBM(size, &type, stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := SecondaryColorPointerListIBM(size, &type, stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := z_SecondaryColorPointerListIBM(size, &type, stride, _pointer, ptrstride); + + public z_EdgeFlagPointerListIBM: procedure(stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glEdgeFlagPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EdgeFlagPointerListIBM(stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := EdgeFlagPointerListIBM(stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EdgeFlagPointerListIBM(stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := EdgeFlagPointerListIBM(stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EdgeFlagPointerListIBM(stride: Int32; _pointer: pointer; ptrstride: Int32) := z_EdgeFlagPointerListIBM(stride, _pointer, ptrstride); + + public z_FogCoordPointerListIBM: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glFogCoordPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordPointerListIBM(&type: DummyEnum; stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := FogCoordPointerListIBM(&type, stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordPointerListIBM(&type: DummyEnum; stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := FogCoordPointerListIBM(&type, stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordPointerListIBM(&type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := z_FogCoordPointerListIBM(&type, stride, _pointer, ptrstride); + + public z_IndexPointerListIBM: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glIndexPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexPointerListIBM(&type: DummyEnum; stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := IndexPointerListIBM(&type, stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexPointerListIBM(&type: DummyEnum; stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := IndexPointerListIBM(&type, stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexPointerListIBM(&type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := z_IndexPointerListIBM(&type, stride, _pointer, ptrstride); + + public z_NormalPointerListIBM: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glNormalPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointerListIBM(&type: DummyEnum; stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := NormalPointerListIBM(&type, stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointerListIBM(&type: DummyEnum; stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := NormalPointerListIBM(&type, stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointerListIBM(&type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := z_NormalPointerListIBM(&type, stride, _pointer, ptrstride); + + public z_TexCoordPointerListIBM: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glTexCoordPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := TexCoordPointerListIBM(size, &type, stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := TexCoordPointerListIBM(size, &type, stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := z_TexCoordPointerListIBM(size, &type, stride, _pointer, ptrstride); + + public z_VertexPointerListIBM: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := GetGLFuncOrNil&('glVertexPointerListIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: array of IntPtr; ptrstride: Int32) := VertexPointerListIBM(size, &type, stride, _pointer[0], ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; var _pointer: IntPtr; ptrstride: Int32) := VertexPointerListIBM(size, &type, stride, @_pointer, ptrstride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointerListIBM(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer; ptrstride: Int32) := z_VertexPointerListIBM(size, &type, stride, _pointer, ptrstride); + + {$endregion IBM_vertex_array_lists} + + {$region IBM_static_data} + + public z_FlushStaticDataIBM: procedure(target: DummyEnum) := GetGLFuncOrNil&('glFlushStaticDataIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushStaticDataIBM(target: DummyEnum) := z_FlushStaticDataIBM(target); + + {$endregion IBM_static_data} + + {$region IBM_multimode_draw_arrays} + + public z_MultiModeDrawArraysIBM: procedure(mode: pointer; first: pointer; count: pointer; primcount: Int32; modestride: Int32) := GetGLFuncOrNil&('glMultiModeDrawArraysIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; first: array of Int32; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], first[0], count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; first: array of Int32; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], first[0], @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; first: array of Int32; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], first[0], count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; var first: Int32; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], @first, count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; var first: Int32; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], @first, @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; var first: Int32; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], @first, count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; first: pointer; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], first, count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; first: pointer; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], first, @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: array of DummyEnum; first: pointer; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode[0], first, count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; first: array of Int32; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, first[0], count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; first: array of Int32; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, first[0], @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; first: array of Int32; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, first[0], count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; var first: Int32; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, @first, count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; var first: Int32; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, @first, @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; var first: Int32; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, @first, count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; first: pointer; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, first, count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; first: pointer; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, first, @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(var mode: DummyEnum; first: pointer; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(@mode, first, count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; first: array of Int32; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, first[0], count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; first: array of Int32; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, first[0], @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; first: array of Int32; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, first[0], count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; var first: Int32; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, @first, count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; var first: Int32; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, @first, @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; var first: Int32; count: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, @first, count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; first: pointer; count: array of Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, first, count[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; first: pointer; var count: Int32; primcount: Int32; modestride: Int32) := MultiModeDrawArraysIBM(mode, first, @count, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawArraysIBM(mode: pointer; first: pointer; count: pointer; primcount: Int32; modestride: Int32) := z_MultiModeDrawArraysIBM(mode, first, count, primcount, modestride); + + public z_MultiModeDrawElementsIBM: procedure(mode: pointer; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := GetGLFuncOrNil&('glMultiModeDrawElementsIBM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], count[0], &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], count[0], &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], count[0], &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], @count, &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], @count, &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], @count, &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], count, &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], count, &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: array of DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode[0], count, &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, count[0], &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; count: array of Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, count[0], &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; count: array of Int32; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, count[0], &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, @count, &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; var count: Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, @count, &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; var count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, @count, &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; count: pointer; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, count, &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; count: pointer; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, count, &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(var mode: DummyEnum; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(@mode, count, &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; count: array of Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, count[0], &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; count: array of Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, count[0], &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; count: array of Int32; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, count[0], &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; var count: Int32; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, @count, &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; var count: Int32; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, @count, &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; var count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, @count, &type, indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; count: pointer; &type: DummyEnum; indices: array of IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, count, &type, indices[0], primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; count: pointer; &type: DummyEnum; var indices: IntPtr; primcount: Int32; modestride: Int32) := MultiModeDrawElementsIBM(mode, count, &type, @indices, primcount, modestride); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiModeDrawElementsIBM(mode: pointer; count: pointer; &type: DummyEnum; indices: pointer; primcount: Int32; modestride: Int32) := z_MultiModeDrawElementsIBM(mode, count, &type, indices, primcount, modestride); + + {$endregion IBM_multimode_draw_arrays} + + end; + + gl_IMG = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region IMG_user_clip_plane} + + public z_ClipPlanefIMG: procedure(p: DummyEnum; eqn: pointer) := GetGLFuncOrNil&('glClipPlanefIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanefIMG(p: DummyEnum; eqn: array of single) := ClipPlanefIMG(p, eqn[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanefIMG(p: DummyEnum; var eqn: single) := ClipPlanefIMG(p, @eqn); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanefIMG(p: DummyEnum; eqn: pointer) := z_ClipPlanefIMG(p, eqn); + + public z_ClipPlanexIMG: procedure(p: DummyEnum; eqn: pointer) := GetGLFuncOrNil&('glClipPlanexIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanexIMG(p: DummyEnum; eqn: array of fixed) := ClipPlanexIMG(p, eqn[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanexIMG(p: DummyEnum; var eqn: fixed) := ClipPlanexIMG(p, @eqn); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanexIMG(p: DummyEnum; eqn: pointer) := z_ClipPlanexIMG(p, eqn); + + {$endregion IMG_user_clip_plane} + + {$region IMG_framebuffer_downsample} + + public z_FramebufferTexture2DDownsampleIMG: procedure(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; xscale: Int32; yscale: Int32) := GetGLFuncOrNil&('glFramebufferTexture2DDownsampleIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture2DDownsampleIMG(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; xscale: Int32; yscale: Int32) := z_FramebufferTexture2DDownsampleIMG(target, attachment, textarget, texture, level, xscale, yscale); + + public z_FramebufferTextureLayerDownsampleIMG: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; layer: Int32; xscale: Int32; yscale: Int32) := GetGLFuncOrNil&('glFramebufferTextureLayerDownsampleIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureLayerDownsampleIMG(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; layer: Int32; xscale: Int32; yscale: Int32) := z_FramebufferTextureLayerDownsampleIMG(target, attachment, texture, level, layer, xscale, yscale); + + {$endregion IMG_framebuffer_downsample} + + {$region IMG_multisampled_render_to_texture} + + public z_RenderbufferStorageMultisampleIMG: procedure(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisampleIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisampleIMG(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height); + + public z_FramebufferTexture2DMultisampleIMG: procedure(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; samples: Int32) := GetGLFuncOrNil&('glFramebufferTexture2DMultisampleIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture2DMultisampleIMG(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; samples: Int32) := z_FramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples); + + {$endregion IMG_multisampled_render_to_texture} + + {$region IMG_bindless_texture} + + public z_GetTextureHandleIMG: function(texture: UInt32): UInt64 := GetGLFuncOrNil&('glGetTextureHandleIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTextureHandleIMG(texture: UInt32): UInt64 := z_GetTextureHandleIMG(texture); + + public z_GetTextureSamplerHandleIMG: function(texture: UInt32; sampler: UInt32): UInt64 := GetGLFuncOrNil&('glGetTextureSamplerHandleIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTextureSamplerHandleIMG(texture: UInt32; sampler: UInt32): UInt64 := z_GetTextureSamplerHandleIMG(texture, sampler); + + public z_UniformHandleui64IMG: procedure(location: Int32; value: UInt64) := GetGLFuncOrNil&('glUniformHandleui64IMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64IMG(location: Int32; value: UInt64) := z_UniformHandleui64IMG(location, value); + + public z_UniformHandleui64vIMG: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniformHandleui64vIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vIMG(location: Int32; count: Int32; value: array of UInt64) := UniformHandleui64vIMG(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vIMG(location: Int32; count: Int32; var value: UInt64) := UniformHandleui64vIMG(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vIMG(location: Int32; count: Int32; value: pointer) := z_UniformHandleui64vIMG(location, count, value); + + public z_ProgramUniformHandleui64IMG: procedure(&program: UInt32; location: Int32; value: UInt64) := GetGLFuncOrNil&('glProgramUniformHandleui64IMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64IMG(&program: UInt32; location: Int32; value: UInt64) := z_ProgramUniformHandleui64IMG(&program, location, value); + + public z_ProgramUniformHandleui64vIMG: procedure(&program: UInt32; location: Int32; count: Int32; values: pointer) := GetGLFuncOrNil&('glProgramUniformHandleui64vIMG'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vIMG(&program: UInt32; location: Int32; count: Int32; values: array of UInt64) := ProgramUniformHandleui64vIMG(&program, location, count, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vIMG(&program: UInt32; location: Int32; count: Int32; var values: UInt64) := ProgramUniformHandleui64vIMG(&program, location, count, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vIMG(&program: UInt32; location: Int32; count: Int32; values: pointer) := z_ProgramUniformHandleui64vIMG(&program, location, count, values); + + {$endregion IMG_bindless_texture} + + end; + + gl_INTEL = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region INTEL_framebuffer_CMAA} + + public z_ApplyFramebufferAttachmentCMAAINTEL: procedure := GetGLFuncOrNil&('glApplyFramebufferAttachmentCMAAINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ApplyFramebufferAttachmentCMAAINTEL := z_ApplyFramebufferAttachmentCMAAINTEL; + + {$endregion INTEL_framebuffer_CMAA} + + {$region INTEL_performance_query} + + public z_GetFirstPerfQueryIdINTEL: procedure(queryId: pointer) := GetGLFuncOrNil&('glGetFirstPerfQueryIdINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFirstPerfQueryIdINTEL(queryId: array of UInt32) := GetFirstPerfQueryIdINTEL(queryId[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFirstPerfQueryIdINTEL(var queryId: UInt32) := GetFirstPerfQueryIdINTEL(@queryId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFirstPerfQueryIdINTEL(queryId: pointer) := z_GetFirstPerfQueryIdINTEL(queryId); + + public z_GetNextPerfQueryIdINTEL: procedure(queryId: UInt32; nextQueryId: pointer) := GetGLFuncOrNil&('glGetNextPerfQueryIdINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNextPerfQueryIdINTEL(queryId: UInt32; nextQueryId: array of UInt32) := GetNextPerfQueryIdINTEL(queryId, nextQueryId[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNextPerfQueryIdINTEL(queryId: UInt32; var nextQueryId: UInt32) := GetNextPerfQueryIdINTEL(queryId, @nextQueryId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNextPerfQueryIdINTEL(queryId: UInt32; nextQueryId: pointer) := z_GetNextPerfQueryIdINTEL(queryId, nextQueryId); + + public z_GetPerfQueryIdByNameINTEL: procedure(queryName: IntPtr; queryId: pointer) := GetGLFuncOrNil&('glGetPerfQueryIdByNameINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryIdByNameINTEL(queryName: string; queryId: array of UInt32); begin var ptr_1 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryIdByNameINTEL(ptr_1, queryId[0]); Marshal.FreeHGlobal(ptr_1); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryIdByNameINTEL(queryName: string; var queryId: UInt32); begin var ptr_1 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryIdByNameINTEL(ptr_1, @queryId); Marshal.FreeHGlobal(ptr_1); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryIdByNameINTEL(queryName: string; queryId: pointer); begin var ptr_1 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryIdByNameINTEL(ptr_1, queryId); Marshal.FreeHGlobal(ptr_1); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryIdByNameINTEL(queryName: IntPtr; queryId: array of UInt32) := GetPerfQueryIdByNameINTEL(queryName, queryId[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryIdByNameINTEL(queryName: IntPtr; var queryId: UInt32) := GetPerfQueryIdByNameINTEL(queryName, @queryId); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryIdByNameINTEL(queryName: IntPtr; queryId: pointer) := z_GetPerfQueryIdByNameINTEL(queryName, queryId); + + public z_GetPerfQueryInfoINTEL: procedure(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; noInstances: pointer; capsMask: pointer) := GetGLFuncOrNil&('glGetPerfQueryInfoINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters[0], noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], @noCounters, noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: array of UInt32; noCounters: pointer; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize[0], noCounters, noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters[0], noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, @noCounters, noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; var dataSize: UInt32; noCounters: pointer; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, @dataSize, noCounters, noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: array of UInt32; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters[0], noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; var noCounters: UInt32; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, @noCounters, noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; noInstances: array of UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, noInstances[0], capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; noInstances: array of UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, noInstances[0], @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; noInstances: array of UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, noInstances[0], capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; var noInstances: UInt32; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, @noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; var noInstances: UInt32; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, @noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; var noInstances: UInt32; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, @noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; noInstances: pointer; capsMask: array of UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, noInstances, capsMask[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; noInstances: pointer; var capsMask: UInt32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, noInstances, @capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: string; dataSize: pointer; noCounters: pointer; noInstances: pointer; capsMask: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(queryName); GetPerfQueryInfoINTEL(queryId, queryNameLength, ptr_3, dataSize, noCounters, noInstances, capsMask); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters[0], noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], @noCounters, noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: array of UInt32; noCounters: pointer; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize[0], noCounters, noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: array of UInt32; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters[0], noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; var noCounters: UInt32; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, @noCounters, noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; var dataSize: UInt32; noCounters: pointer; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, @dataSize, noCounters, noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: array of UInt32; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters[0], noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; var noCounters: UInt32; noInstances: pointer; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, @noCounters, noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; noInstances: array of UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances[0], capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; noInstances: array of UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances[0], @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; noInstances: array of UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances[0], capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; var noInstances: UInt32; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, @noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; var noInstances: UInt32; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, @noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; var noInstances: UInt32; capsMask: pointer) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, @noInstances, capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; noInstances: pointer; capsMask: array of UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; noInstances: pointer; var capsMask: UInt32) := GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, @capsMask); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryInfoINTEL(queryId: UInt32; queryNameLength: UInt32; queryName: IntPtr; dataSize: pointer; noCounters: pointer; noInstances: pointer; capsMask: pointer) := z_GetPerfQueryInfoINTEL(queryId, queryNameLength, queryName, dataSize, noCounters, noInstances, capsMask); + + public z_GetPerfCounterInfoINTEL: procedure(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetGLFuncOrNil&('glGetPerfCounterInfoINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: string; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_4 := Marshal.StringToHGlobalAnsi(counterName); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, ptr_4, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: string; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer); begin var ptr_6 := Marshal.StringToHGlobalAnsi(counterDesc); GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, ptr_6, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); Marshal.FreeHGlobal(ptr_6); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: array of UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset[0], counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; var counterOffset: UInt32; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, @counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: array of UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize[0], counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; var counterDataSize: UInt32; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, @counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: array of UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum[0], counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; var counterTypeEnum: UInt32; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, @counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: array of UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum[0], rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; var counterDataTypeEnum: UInt32; rawCounterMaxValue: pointer) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, @counterDataTypeEnum, rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: array of UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; var rawCounterMaxValue: UInt64) := GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, @rawCounterMaxValue); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfCounterInfoINTEL(queryId: UInt32; counterId: UInt32; counterNameLength: UInt32; counterName: IntPtr; counterDescLength: UInt32; counterDesc: IntPtr; counterOffset: pointer; counterDataSize: pointer; counterTypeEnum: pointer; counterDataTypeEnum: pointer; rawCounterMaxValue: pointer) := z_GetPerfCounterInfoINTEL(queryId, counterId, counterNameLength, counterName, counterDescLength, counterDesc, counterOffset, counterDataSize, counterTypeEnum, counterDataTypeEnum, rawCounterMaxValue); + + public z_CreatePerfQueryINTEL: procedure(queryId: UInt32; queryHandle: pointer) := GetGLFuncOrNil&('glCreatePerfQueryINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreatePerfQueryINTEL(queryId: UInt32; queryHandle: array of UInt32) := CreatePerfQueryINTEL(queryId, queryHandle[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreatePerfQueryINTEL(queryId: UInt32; var queryHandle: UInt32) := CreatePerfQueryINTEL(queryId, @queryHandle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreatePerfQueryINTEL(queryId: UInt32; queryHandle: pointer) := z_CreatePerfQueryINTEL(queryId, queryHandle); + + public z_DeletePerfQueryINTEL: procedure(queryHandle: UInt32) := GetGLFuncOrNil&('glDeletePerfQueryINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeletePerfQueryINTEL(queryHandle: UInt32) := z_DeletePerfQueryINTEL(queryHandle); + + public z_BeginPerfQueryINTEL: procedure(queryHandle: UInt32) := GetGLFuncOrNil&('glBeginPerfQueryINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginPerfQueryINTEL(queryHandle: UInt32) := z_BeginPerfQueryINTEL(queryHandle); + + public z_EndPerfQueryINTEL: procedure(queryHandle: UInt32) := GetGLFuncOrNil&('glEndPerfQueryINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndPerfQueryINTEL(queryHandle: UInt32) := z_EndPerfQueryINTEL(queryHandle); + + public z_GetPerfQueryDataINTEL: procedure(queryHandle: UInt32; flags: UInt32; dataSize: Int32; data: pointer; bytesWritten: pointer) := GetGLFuncOrNil&('glGetPerfQueryDataINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryDataINTEL(queryHandle: UInt32; flags: UInt32; dataSize: Int32; data: pointer; bytesWritten: array of UInt32) := GetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, bytesWritten[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryDataINTEL(queryHandle: UInt32; flags: UInt32; dataSize: Int32; data: pointer; var bytesWritten: UInt32) := GetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, @bytesWritten); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPerfQueryDataINTEL(queryHandle: UInt32; flags: UInt32; dataSize: Int32; data: pointer; bytesWritten: pointer) := z_GetPerfQueryDataINTEL(queryHandle, flags, dataSize, data, bytesWritten); + + {$endregion INTEL_performance_query} + + {$region INTEL_parallel_arrays} + + public z_VertexPointervINTEL: procedure(size: Int32; &type: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glVertexPointervINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointervINTEL(size: Int32; &type: DummyEnum; _pointer: array of IntPtr) := VertexPointervINTEL(size, &type, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointervINTEL(size: Int32; &type: DummyEnum; var _pointer: IntPtr) := VertexPointervINTEL(size, &type, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexPointervINTEL(size: Int32; &type: DummyEnum; _pointer: pointer) := z_VertexPointervINTEL(size, &type, _pointer); + + public z_NormalPointervINTEL: procedure(&type: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glNormalPointervINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointervINTEL(&type: DummyEnum; _pointer: array of IntPtr) := NormalPointervINTEL(&type, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointervINTEL(&type: DummyEnum; var _pointer: IntPtr) := NormalPointervINTEL(&type, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalPointervINTEL(&type: DummyEnum; _pointer: pointer) := z_NormalPointervINTEL(&type, _pointer); + + public z_ColorPointervINTEL: procedure(size: Int32; &type: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glColorPointervINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointervINTEL(size: Int32; &type: DummyEnum; _pointer: array of IntPtr) := ColorPointervINTEL(size, &type, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointervINTEL(size: Int32; &type: DummyEnum; var _pointer: IntPtr) := ColorPointervINTEL(size, &type, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorPointervINTEL(size: Int32; &type: DummyEnum; _pointer: pointer) := z_ColorPointervINTEL(size, &type, _pointer); + + public z_TexCoordPointervINTEL: procedure(size: Int32; &type: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glTexCoordPointervINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointervINTEL(size: Int32; &type: DummyEnum; _pointer: array of IntPtr) := TexCoordPointervINTEL(size, &type, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointervINTEL(size: Int32; &type: DummyEnum; var _pointer: IntPtr) := TexCoordPointervINTEL(size, &type, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordPointervINTEL(size: Int32; &type: DummyEnum; _pointer: pointer) := z_TexCoordPointervINTEL(size, &type, _pointer); + + {$endregion INTEL_parallel_arrays} + + {$region INTEL_map_texture} + + public z_MapTexture2DINTEL: function(texture: UInt32; level: Int32; access: DummyFlags; stride: pointer; layout: pointer): pointer := GetGLFuncOrNil&('glMapTexture2DINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; stride: array of Int32; layout: array of DummyEnum): pointer := MapTexture2DINTEL(texture, level, access, stride[0], layout[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; stride: array of Int32; var layout: DummyEnum): pointer := MapTexture2DINTEL(texture, level, access, stride[0], @layout); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; stride: array of Int32; layout: pointer): pointer := MapTexture2DINTEL(texture, level, access, stride[0], layout); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; var stride: Int32; layout: array of DummyEnum): pointer := MapTexture2DINTEL(texture, level, access, @stride, layout[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; var stride: Int32; var layout: DummyEnum): pointer := MapTexture2DINTEL(texture, level, access, @stride, @layout); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; var stride: Int32; layout: pointer): pointer := MapTexture2DINTEL(texture, level, access, @stride, layout); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; stride: pointer; layout: array of DummyEnum): pointer := MapTexture2DINTEL(texture, level, access, stride, layout[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; stride: pointer; var layout: DummyEnum): pointer := MapTexture2DINTEL(texture, level, access, stride, @layout); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapTexture2DINTEL(texture: UInt32; level: Int32; access: DummyFlags; stride: pointer; layout: pointer): pointer := z_MapTexture2DINTEL(texture, level, access, stride, layout); + + public z_UnmapTexture2DINTEL: procedure(texture: UInt32; level: Int32) := GetGLFuncOrNil&('glUnmapTexture2DINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UnmapTexture2DINTEL(texture: UInt32; level: Int32) := z_UnmapTexture2DINTEL(texture, level); + + public z_SyncTextureINTEL: procedure(texture: UInt32) := GetGLFuncOrNil&('glSyncTextureINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SyncTextureINTEL(texture: UInt32) := z_SyncTextureINTEL(texture); + + {$endregion INTEL_map_texture} + + {$region INTEL_texture_scissor} + + public z_TexScissorINTEL: procedure(target: DummyEnum; tlow: single; thigh: single) := GetGLFuncOrNil&('glTexScissorINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexScissorINTEL(target: DummyEnum; tlow: single; thigh: single) := z_TexScissorINTEL(target, tlow, thigh); + + public z_TexScissorFuncINTEL: procedure(target: DummyEnum; lfunc: DummyEnum; hfunc: DummyEnum) := GetGLFuncOrNil&('glTexScissorFuncINTEL'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexScissorFuncINTEL(target: DummyEnum; lfunc: DummyEnum; hfunc: DummyEnum) := z_TexScissorFuncINTEL(target, lfunc, hfunc); + + {$endregion INTEL_texture_scissor} + + end; + + gl_KHR = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region KHR_blend_equation_advanced} + + public z_BlendBarrierKHR: procedure := GetGLFuncOrNil&('glBlendBarrierKHR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendBarrierKHR := z_BlendBarrierKHR; + + {$endregion KHR_blend_equation_advanced} + + {$region KHR_parallel_shader_compile} + + public z_MaxShaderCompilerThreadsKHR: procedure(count: UInt32) := GetGLFuncOrNil&('glMaxShaderCompilerThreadsKHR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MaxShaderCompilerThreadsKHR(count: UInt32) := z_MaxShaderCompilerThreadsKHR(count); + + {$endregion KHR_parallel_shader_compile} + + end; + + gl_MESA = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region MESA_resize_buffers} + + public z_ResizeBuffersMESA: procedure := GetGLFuncOrNil&('glResizeBuffersMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResizeBuffersMESA := z_ResizeBuffersMESA; + + {$endregion MESA_resize_buffers} + + {$region MESA_window_pos} + + public z_WindowPos2dMESA: procedure(x: double; y: double) := GetGLFuncOrNil&('glWindowPos2dMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dMESA(x: double; y: double) := z_WindowPos2dMESA(x, y); + + public z_WindowPos2fMESA: procedure(x: single; y: single) := GetGLFuncOrNil&('glWindowPos2fMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fMESA(x: single; y: single) := z_WindowPos2fMESA(x, y); + + public z_WindowPos2iMESA: procedure(x: Int32; y: Int32) := GetGLFuncOrNil&('glWindowPos2iMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2iMESA(x: Int32; y: Int32) := z_WindowPos2iMESA(x, y); + + public z_WindowPos2sMESA: procedure(x: Int16; y: Int16) := GetGLFuncOrNil&('glWindowPos2sMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2sMESA(x: Int16; y: Int16) := z_WindowPos2sMESA(x, y); + + public z_WindowPos2ivMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2ivMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2ivMESA(v: array of Int32) := WindowPos2ivMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2ivMESA(var v: Int32) := WindowPos2ivMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2ivMESA(v: pointer) := z_WindowPos2ivMESA(v); + + public z_WindowPos2svMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2svMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2svMESA(v: array of Int16) := WindowPos2svMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2svMESA(var v: Int16) := WindowPos2svMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2svMESA(v: pointer) := z_WindowPos2svMESA(v); + + public z_WindowPos2fvMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2fvMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fvMESA(v: array of single) := WindowPos2fvMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fvMESA(var v: single) := WindowPos2fvMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2fvMESA(v: pointer) := z_WindowPos2fvMESA(v); + + public z_WindowPos2dvMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos2dvMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dvMESA(v: array of double) := WindowPos2dvMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dvMESA(var v: double) := WindowPos2dvMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos2dvMESA(v: pointer) := z_WindowPos2dvMESA(v); + + public z_WindowPos3iMESA: procedure(x: Int32; y: Int32; z: Int32) := GetGLFuncOrNil&('glWindowPos3iMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3iMESA(x: Int32; y: Int32; z: Int32) := z_WindowPos3iMESA(x, y, z); + + public z_WindowPos3sMESA: procedure(x: Int16; y: Int16; z: Int16) := GetGLFuncOrNil&('glWindowPos3sMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3sMESA(x: Int16; y: Int16; z: Int16) := z_WindowPos3sMESA(x, y, z); + + public z_WindowPos3fMESA: procedure(x: single; y: single; z: single) := GetGLFuncOrNil&('glWindowPos3fMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fMESA(x: single; y: single; z: single) := z_WindowPos3fMESA(x, y, z); + + public z_WindowPos3dMESA: procedure(x: double; y: double; z: double) := GetGLFuncOrNil&('glWindowPos3dMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dMESA(x: double; y: double; z: double) := z_WindowPos3dMESA(x, y, z); + + public z_WindowPos3ivMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3ivMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3ivMESA(v: array of Int32) := WindowPos3ivMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3ivMESA(var v: Int32) := WindowPos3ivMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3ivMESA(v: pointer) := z_WindowPos3ivMESA(v); + + public z_WindowPos3svMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3svMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3svMESA(v: array of Int16) := WindowPos3svMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3svMESA(var v: Int16) := WindowPos3svMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3svMESA(v: pointer) := z_WindowPos3svMESA(v); + + public z_WindowPos3fvMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3fvMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fvMESA(v: array of single) := WindowPos3fvMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fvMESA(var v: single) := WindowPos3fvMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3fvMESA(v: pointer) := z_WindowPos3fvMESA(v); + + public z_WindowPos3dvMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos3dvMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dvMESA(v: array of double) := WindowPos3dvMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dvMESA(var v: double) := WindowPos3dvMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos3dvMESA(v: pointer) := z_WindowPos3dvMESA(v); + + public z_WindowPos4iMESA: procedure(x: Int32; y: Int32; z: Int32; w: Int32) := GetGLFuncOrNil&('glWindowPos4iMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4iMESA(x: Int32; y: Int32; z: Int32; w: Int32) := z_WindowPos4iMESA(x, y, z, w); + + public z_WindowPos4sMESA: procedure(x: Int16; y: Int16; z: Int16; w: Int16) := GetGLFuncOrNil&('glWindowPos4sMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4sMESA(x: Int16; y: Int16; z: Int16; w: Int16) := z_WindowPos4sMESA(x, y, z, w); + + public z_WindowPos4fMESA: procedure(x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glWindowPos4fMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4fMESA(x: single; y: single; z: single; w: single) := z_WindowPos4fMESA(x, y, z, w); + + public z_WindowPos4dMESA: procedure(x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glWindowPos4dMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4dMESA(x: double; y: double; z: double; w: double) := z_WindowPos4dMESA(x, y, z, w); + + public z_WindowPos4ivMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos4ivMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4ivMESA(v: array of Int32) := WindowPos4ivMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4ivMESA(var v: Int32) := WindowPos4ivMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4ivMESA(v: pointer) := z_WindowPos4ivMESA(v); + + public z_WindowPos4svMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos4svMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4svMESA(v: array of Int16) := WindowPos4svMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4svMESA(var v: Int16) := WindowPos4svMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4svMESA(v: pointer) := z_WindowPos4svMESA(v); + + public z_WindowPos4fvMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos4fvMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4fvMESA(v: array of single) := WindowPos4fvMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4fvMESA(var v: single) := WindowPos4fvMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4fvMESA(v: pointer) := z_WindowPos4fvMESA(v); + + public z_WindowPos4dvMESA: procedure(v: pointer) := GetGLFuncOrNil&('glWindowPos4dvMESA'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4dvMESA(v: array of double) := WindowPos4dvMESA(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4dvMESA(var v: double) := WindowPos4dvMESA(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WindowPos4dvMESA(v: pointer) := z_WindowPos4dvMESA(v); + + {$endregion MESA_window_pos} + + end; + + gl_NV = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region NV_transform_feedback} + + public z_TransformFeedbackAttribsNV: procedure(count: Int32; attribs: pointer; bufferMode: DummyEnum) := GetGLFuncOrNil&('glTransformFeedbackAttribsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackAttribsNV(count: Int32; attribs: array of Int32; bufferMode: DummyEnum) := TransformFeedbackAttribsNV(count, attribs[0], bufferMode); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackAttribsNV(count: Int32; var attribs: Int32; bufferMode: DummyEnum) := TransformFeedbackAttribsNV(count, @attribs, bufferMode); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackAttribsNV(count: Int32; attribs: pointer; bufferMode: DummyEnum) := z_TransformFeedbackAttribsNV(count, attribs, bufferMode); + + public z_TransformFeedbackVaryingsNV: procedure(&program: UInt32; count: Int32; locations: pointer; bufferMode: DummyEnum) := GetGLFuncOrNil&('glTransformFeedbackVaryingsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryingsNV(&program: UInt32; count: Int32; locations: array of Int32; bufferMode: DummyEnum) := TransformFeedbackVaryingsNV(&program, count, locations[0], bufferMode); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryingsNV(&program: UInt32; count: Int32; var locations: Int32; bufferMode: DummyEnum) := TransformFeedbackVaryingsNV(&program, count, @locations, bufferMode); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TransformFeedbackVaryingsNV(&program: UInt32; count: Int32; locations: pointer; bufferMode: DummyEnum) := z_TransformFeedbackVaryingsNV(&program, count, locations, bufferMode); + + public z_BeginTransformFeedbackNV: procedure(primitiveMode: DummyEnum) := GetGLFuncOrNil&('glBeginTransformFeedbackNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginTransformFeedbackNV(primitiveMode: DummyEnum) := z_BeginTransformFeedbackNV(primitiveMode); + + public z_EndTransformFeedbackNV: procedure := GetGLFuncOrNil&('glEndTransformFeedbackNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndTransformFeedbackNV := z_EndTransformFeedbackNV; + + public z_GetVaryingLocationNV: function(&program: UInt32; name: IntPtr): Int32 := GetGLFuncOrNil&('glGetVaryingLocationNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVaryingLocationNV(&program: UInt32; name: string): Int32; begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); Result := GetVaryingLocationNV(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVaryingLocationNV(&program: UInt32; name: IntPtr): Int32 := z_GetVaryingLocationNV(&program, name); + + public z_GetActiveVaryingNV: procedure(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := GetGLFuncOrNil&('glGetActiveVaryingNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; var size: Int32; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length[0], size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: array of Int32; size: pointer; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length[0], size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; var size: Int32; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, @length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; var length: Int32; size: pointer; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, @length, size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, size[0], &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, size[0], &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, size[0], @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, size[0], @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, size[0], &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: array of Int32; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, size[0], &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, @size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, @size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, @size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, @size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, @size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; var size: Int32; &type: pointer; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, @size, &type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, size, &type[0], ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: array of DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, size, &type[0], name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, size, @&type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; var &type: DummyEnum; name: IntPtr) := GetActiveVaryingNV(&program, index, bufSize, length, size, @&type, name); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: string); begin var ptr_7 := Marshal.StringToHGlobalAnsi(name); GetActiveVaryingNV(&program, index, bufSize, length, size, &type, ptr_7); Marshal.FreeHGlobal(ptr_7); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetActiveVaryingNV(&program: UInt32; index: UInt32; bufSize: Int32; length: pointer; size: pointer; &type: pointer; name: IntPtr) := z_GetActiveVaryingNV(&program, index, bufSize, length, size, &type, name); + + public z_ActiveVaryingNV: procedure(&program: UInt32; name: IntPtr) := GetGLFuncOrNil&('glActiveVaryingNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveVaryingNV(&program: UInt32; name: string); begin var ptr_2 := Marshal.StringToHGlobalAnsi(name); ActiveVaryingNV(&program, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ActiveVaryingNV(&program: UInt32; name: IntPtr) := z_ActiveVaryingNV(&program, name); + + public z_GetTransformFeedbackVaryingNV: procedure(&program: UInt32; index: UInt32; location: pointer) := GetGLFuncOrNil&('glGetTransformFeedbackVaryingNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingNV(&program: UInt32; index: UInt32; location: array of Int32) := GetTransformFeedbackVaryingNV(&program, index, location[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingNV(&program: UInt32; index: UInt32; var location: Int32) := GetTransformFeedbackVaryingNV(&program, index, @location); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTransformFeedbackVaryingNV(&program: UInt32; index: UInt32; location: pointer) := z_GetTransformFeedbackVaryingNV(&program, index, location); + + {$endregion NV_transform_feedback} + + {$region NV_alpha_to_coverage_dither_control} + + public z_AlphaToCoverageDitherControlNV: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glAlphaToCoverageDitherControlNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AlphaToCoverageDitherControlNV(mode: DummyEnum) := z_AlphaToCoverageDitherControlNV(mode); + + {$endregion NV_alpha_to_coverage_dither_control} + + {$region NV_vertex_program} + + public z_BindProgramNV: procedure(target: DummyEnum; id: UInt32) := GetGLFuncOrNil&('glBindProgramNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindProgramNV(target: DummyEnum; id: UInt32) := z_BindProgramNV(target, id); + + public z_DeleteProgramsNV: procedure(n: Int32; programs: pointer) := GetGLFuncOrNil&('glDeleteProgramsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramsNV(n: Int32; programs: array of UInt32) := DeleteProgramsNV(n, programs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramsNV(n: Int32; var programs: UInt32) := DeleteProgramsNV(n, @programs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteProgramsNV(n: Int32; programs: pointer) := z_DeleteProgramsNV(n, programs); + + public z_ExecuteProgramNV: procedure(target: DummyEnum; id: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glExecuteProgramNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExecuteProgramNV(target: DummyEnum; id: UInt32; ¶ms: array of single) := ExecuteProgramNV(target, id, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExecuteProgramNV(target: DummyEnum; id: UInt32; var ¶ms: single) := ExecuteProgramNV(target, id, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExecuteProgramNV(target: DummyEnum; id: UInt32; ¶ms: pointer) := z_ExecuteProgramNV(target, id, ¶ms); + + public z_GenProgramsNV: procedure(n: Int32; programs: pointer) := GetGLFuncOrNil&('glGenProgramsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramsNV(n: Int32; programs: array of UInt32) := GenProgramsNV(n, programs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramsNV(n: Int32; var programs: UInt32) := GenProgramsNV(n, @programs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenProgramsNV(n: Int32; programs: pointer) := z_GenProgramsNV(n, programs); + + public z_AreProgramsResidentNV: function(n: Int32; programs: pointer; residences: pointer): Byte := GetGLFuncOrNil&('glAreProgramsResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; programs: array of UInt32; residences: array of Byte): Byte := AreProgramsResidentNV(n, programs[0], residences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; programs: array of UInt32; var residences: Byte): Byte := AreProgramsResidentNV(n, programs[0], @residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; programs: array of UInt32; residences: pointer): Byte := AreProgramsResidentNV(n, programs[0], residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; var programs: UInt32; residences: array of Byte): Byte := AreProgramsResidentNV(n, @programs, residences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; var programs: UInt32; var residences: Byte): Byte := AreProgramsResidentNV(n, @programs, @residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; var programs: UInt32; residences: pointer): Byte := AreProgramsResidentNV(n, @programs, residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; programs: pointer; residences: array of Byte): Byte := AreProgramsResidentNV(n, programs, residences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; programs: pointer; var residences: Byte): Byte := AreProgramsResidentNV(n, programs, @residences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AreProgramsResidentNV(n: Int32; programs: pointer; residences: pointer): Byte := z_AreProgramsResidentNV(n, programs, residences); + + public z_RequestResidentProgramsNV: procedure(n: Int32; programs: pointer) := GetGLFuncOrNil&('glRequestResidentProgramsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RequestResidentProgramsNV(n: Int32; programs: array of UInt32) := RequestResidentProgramsNV(n, programs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RequestResidentProgramsNV(n: Int32; var programs: UInt32) := RequestResidentProgramsNV(n, @programs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RequestResidentProgramsNV(n: Int32; programs: pointer) := z_RequestResidentProgramsNV(n, programs); + + public z_GetProgramParameterfvNV: procedure(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramParameterfvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: array of single) := GetProgramParameterfvNV(target, index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramParameterfvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; var ¶ms: single) := GetProgramParameterfvNV(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramParameterfvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetProgramParameterfvNV(target, index, pname, ¶ms); + + public z_GetProgramParameterdvNV: procedure(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramParameterdvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramParameterdvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: array of double) := GetProgramParameterdvNV(target, index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramParameterdvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; var ¶ms: double) := GetProgramParameterdvNV(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramParameterdvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetProgramParameterdvNV(target, index, pname, ¶ms); + + public z_GetProgramivNV: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramivNV(id: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetProgramivNV(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramivNV(id: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetProgramivNV(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramivNV(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetProgramivNV(id, pname, ¶ms); + + public z_GetProgramStringNV: procedure(id: UInt32; pname: DummyEnum; &program: pointer) := GetGLFuncOrNil&('glGetProgramStringNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramStringNV(id: UInt32; pname: DummyEnum; &program: array of Byte) := GetProgramStringNV(id, pname, &program[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramStringNV(id: UInt32; pname: DummyEnum; var &program: Byte) := GetProgramStringNV(id, pname, @&program); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramStringNV(id: UInt32; pname: DummyEnum; &program: pointer) := z_GetProgramStringNV(id, pname, &program); + + public z_GetTrackMatrixivNV: procedure(target: DummyEnum; address: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTrackMatrixivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTrackMatrixivNV(target: DummyEnum; address: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetTrackMatrixivNV(target, address, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTrackMatrixivNV(target: DummyEnum; address: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetTrackMatrixivNV(target, address, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTrackMatrixivNV(target: DummyEnum; address: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetTrackMatrixivNV(target, address, pname, ¶ms); + + public z_GetVertexAttribdvNV: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribdvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdvNV(index: UInt32; pname: DummyEnum; ¶ms: array of double) := GetVertexAttribdvNV(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdvNV(index: UInt32; pname: DummyEnum; var ¶ms: double) := GetVertexAttribdvNV(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribdvNV(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribdvNV(index, pname, ¶ms); + + public z_GetVertexAttribfvNV: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfvNV(index: UInt32; pname: DummyEnum; ¶ms: array of single) := GetVertexAttribfvNV(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfvNV(index: UInt32; pname: DummyEnum; var ¶ms: single) := GetVertexAttribfvNV(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribfvNV(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribfvNV(index, pname, ¶ms); + + public z_GetVertexAttribivNV: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribivNV(index: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetVertexAttribivNV(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribivNV(index: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetVertexAttribivNV(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribivNV(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribivNV(index, pname, ¶ms); + + public z_GetVertexAttribPointervNV: procedure(index: UInt32; pname: DummyEnum; _pointer: pointer) := GetGLFuncOrNil&('glGetVertexAttribPointervNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointervNV(index: UInt32; pname: DummyEnum; _pointer: array of IntPtr) := GetVertexAttribPointervNV(index, pname, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointervNV(index: UInt32; pname: DummyEnum; var _pointer: IntPtr) := GetVertexAttribPointervNV(index, pname, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribPointervNV(index: UInt32; pname: DummyEnum; _pointer: pointer) := z_GetVertexAttribPointervNV(index, pname, _pointer); + + public z_IsProgramNV: function(id: UInt32): Byte := GetGLFuncOrNil&('glIsProgramNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsProgramNV(id: UInt32): Byte := z_IsProgramNV(id); + + public z_LoadProgramNV: procedure(target: DummyEnum; id: UInt32; len: Int32; &program: pointer) := GetGLFuncOrNil&('glLoadProgramNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadProgramNV(target: DummyEnum; id: UInt32; len: Int32; &program: array of Byte) := LoadProgramNV(target, id, len, &program[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadProgramNV(target: DummyEnum; id: UInt32; len: Int32; var &program: Byte) := LoadProgramNV(target, id, len, @&program); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadProgramNV(target: DummyEnum; id: UInt32; len: Int32; &program: pointer) := z_LoadProgramNV(target, id, len, &program); + + public z_ProgramParameter4fNV: procedure(target: DummyEnum; index: UInt32; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glProgramParameter4fNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4fNV(target: DummyEnum; index: UInt32; x: single; y: single; z: single; w: single) := z_ProgramParameter4fNV(target, index, x, y, z, w); + + public z_ProgramParameter4dNV: procedure(target: DummyEnum; index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glProgramParameter4dNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4dNV(target: DummyEnum; index: UInt32; x: double; y: double; z: double; w: double) := z_ProgramParameter4dNV(target, index, x, y, z, w); + + public z_ProgramParameter4dvNV: procedure(target: DummyEnum; index: UInt32; v: pointer) := GetGLFuncOrNil&('glProgramParameter4dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4dvNV(target: DummyEnum; index: UInt32; v: array of double) := ProgramParameter4dvNV(target, index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4dvNV(target: DummyEnum; index: UInt32; var v: double) := ProgramParameter4dvNV(target, index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4dvNV(target: DummyEnum; index: UInt32; v: pointer) := z_ProgramParameter4dvNV(target, index, v); + + public z_ProgramParameter4fvNV: procedure(target: DummyEnum; index: UInt32; v: pointer) := GetGLFuncOrNil&('glProgramParameter4fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4fvNV(target: DummyEnum; index: UInt32; v: array of single) := ProgramParameter4fvNV(target, index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4fvNV(target: DummyEnum; index: UInt32; var v: single) := ProgramParameter4fvNV(target, index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameter4fvNV(target: DummyEnum; index: UInt32; v: pointer) := z_ProgramParameter4fvNV(target, index, v); + + public z_ProgramParameters4dvNV: procedure(target: DummyEnum; index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glProgramParameters4dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameters4dvNV(target: DummyEnum; index: UInt32; count: Int32; v: array of double) := ProgramParameters4dvNV(target, index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameters4dvNV(target: DummyEnum; index: UInt32; count: Int32; var v: double) := ProgramParameters4dvNV(target, index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameters4dvNV(target: DummyEnum; index: UInt32; count: Int32; v: pointer) := z_ProgramParameters4dvNV(target, index, count, v); + + public z_ProgramParameters4fvNV: procedure(target: DummyEnum; index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glProgramParameters4fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameters4fvNV(target: DummyEnum; index: UInt32; count: Int32; v: array of single) := ProgramParameters4fvNV(target, index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameters4fvNV(target: DummyEnum; index: UInt32; count: Int32; var v: single) := ProgramParameters4fvNV(target, index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramParameters4fvNV(target: DummyEnum; index: UInt32; count: Int32; v: pointer) := z_ProgramParameters4fvNV(target, index, count, v); + + public z_TrackMatrixNV: procedure(target: DummyEnum; address: UInt32; matrix: DummyEnum; transform: DummyEnum) := GetGLFuncOrNil&('glTrackMatrixNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TrackMatrixNV(target: DummyEnum; address: UInt32; matrix: DummyEnum; transform: DummyEnum) := z_TrackMatrixNV(target, address, matrix, transform); + + public z_VertexAttribPointerNV: procedure(index: UInt32; fsize: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glVertexAttribPointerNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribPointerNV(index: UInt32; fsize: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_VertexAttribPointerNV(index, fsize, &type, stride, _pointer); + + public z_VertexAttrib1sNV: procedure(index: UInt32; x: Int16) := GetGLFuncOrNil&('glVertexAttrib1sNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1sNV(index: UInt32; x: Int16) := z_VertexAttrib1sNV(index, x); + + public z_VertexAttrib1fNV: procedure(index: UInt32; x: single) := GetGLFuncOrNil&('glVertexAttrib1fNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fNV(index: UInt32; x: single) := z_VertexAttrib1fNV(index, x); + + public z_VertexAttrib1dNV: procedure(index: UInt32; x: double) := GetGLFuncOrNil&('glVertexAttrib1dNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dNV(index: UInt32; x: double) := z_VertexAttrib1dNV(index, x); + + public z_VertexAttrib2sNV: procedure(index: UInt32; x: Int16; y: Int16) := GetGLFuncOrNil&('glVertexAttrib2sNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2sNV(index: UInt32; x: Int16; y: Int16) := z_VertexAttrib2sNV(index, x, y); + + public z_VertexAttrib2fNV: procedure(index: UInt32; x: single; y: single) := GetGLFuncOrNil&('glVertexAttrib2fNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fNV(index: UInt32; x: single; y: single) := z_VertexAttrib2fNV(index, x, y); + + public z_VertexAttrib2dNV: procedure(index: UInt32; x: double; y: double) := GetGLFuncOrNil&('glVertexAttrib2dNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dNV(index: UInt32; x: double; y: double) := z_VertexAttrib2dNV(index, x, y); + + public z_VertexAttrib3sNV: procedure(index: UInt32; x: Int16; y: Int16; z: Int16) := GetGLFuncOrNil&('glVertexAttrib3sNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3sNV(index: UInt32; x: Int16; y: Int16; z: Int16) := z_VertexAttrib3sNV(index, x, y, z); + + public z_VertexAttrib3fNV: procedure(index: UInt32; x: single; y: single; z: single) := GetGLFuncOrNil&('glVertexAttrib3fNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fNV(index: UInt32; x: single; y: single; z: single) := z_VertexAttrib3fNV(index, x, y, z); + + public z_VertexAttrib3dNV: procedure(index: UInt32; x: double; y: double; z: double) := GetGLFuncOrNil&('glVertexAttrib3dNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dNV(index: UInt32; x: double; y: double; z: double) := z_VertexAttrib3dNV(index, x, y, z); + + public z_VertexAttrib4sNV: procedure(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16) := GetGLFuncOrNil&('glVertexAttrib4sNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4sNV(index: UInt32; x: Int16; y: Int16; z: Int16; w: Int16) := z_VertexAttrib4sNV(index, x, y, z, w); + + public z_VertexAttrib4fNV: procedure(index: UInt32; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glVertexAttrib4fNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fNV(index: UInt32; x: single; y: single; z: single; w: single) := z_VertexAttrib4fNV(index, x, y, z, w); + + public z_VertexAttrib4dNV: procedure(index: UInt32; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glVertexAttrib4dNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dNV(index: UInt32; x: double; y: double; z: double; w: double) := z_VertexAttrib4dNV(index, x, y, z, w); + + public z_VertexAttrib4ubNV: procedure(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte) := GetGLFuncOrNil&('glVertexAttrib4ubNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubNV(index: UInt32; x: Byte; y: Byte; z: Byte; w: Byte) := z_VertexAttrib4ubNV(index, x, y, z, w); + + public z_VertexAttrib1svNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1svNV(index: UInt32; v: array of Int16) := VertexAttrib1svNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1svNV(index: UInt32; var v: Int16) := VertexAttrib1svNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1svNV(index: UInt32; v: pointer) := z_VertexAttrib1svNV(index, v); + + public z_VertexAttrib1fvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fvNV(index: UInt32; v: array of single) := VertexAttrib1fvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fvNV(index: UInt32; var v: single) := VertexAttrib1fvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1fvNV(index: UInt32; v: pointer) := z_VertexAttrib1fvNV(index, v); + + public z_VertexAttrib1dvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dvNV(index: UInt32; v: array of double) := VertexAttrib1dvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dvNV(index: UInt32; var v: double) := VertexAttrib1dvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1dvNV(index: UInt32; v: pointer) := z_VertexAttrib1dvNV(index, v); + + public z_VertexAttrib2svNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2svNV(index: UInt32; v: array of Int16) := VertexAttrib2svNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2svNV(index: UInt32; var v: Int16) := VertexAttrib2svNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2svNV(index: UInt32; v: pointer) := z_VertexAttrib2svNV(index, v); + + public z_VertexAttrib2fvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fvNV(index: UInt32; v: array of single) := VertexAttrib2fvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fvNV(index: UInt32; var v: single) := VertexAttrib2fvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2fvNV(index: UInt32; v: pointer) := z_VertexAttrib2fvNV(index, v); + + public z_VertexAttrib2dvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dvNV(index: UInt32; v: array of double) := VertexAttrib2dvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dvNV(index: UInt32; var v: double) := VertexAttrib2dvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2dvNV(index: UInt32; v: pointer) := z_VertexAttrib2dvNV(index, v); + + public z_VertexAttrib3svNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3svNV(index: UInt32; v: array of Int16) := VertexAttrib3svNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3svNV(index: UInt32; var v: Int16) := VertexAttrib3svNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3svNV(index: UInt32; v: pointer) := z_VertexAttrib3svNV(index, v); + + public z_VertexAttrib3fvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fvNV(index: UInt32; v: array of single) := VertexAttrib3fvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fvNV(index: UInt32; var v: single) := VertexAttrib3fvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3fvNV(index: UInt32; v: pointer) := z_VertexAttrib3fvNV(index, v); + + public z_VertexAttrib3dvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dvNV(index: UInt32; v: array of double) := VertexAttrib3dvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dvNV(index: UInt32; var v: double) := VertexAttrib3dvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3dvNV(index: UInt32; v: pointer) := z_VertexAttrib3dvNV(index, v); + + public z_VertexAttrib4svNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4svNV(index: UInt32; v: array of Int16) := VertexAttrib4svNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4svNV(index: UInt32; var v: Int16) := VertexAttrib4svNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4svNV(index: UInt32; v: pointer) := z_VertexAttrib4svNV(index, v); + + public z_VertexAttrib4fvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fvNV(index: UInt32; v: array of single) := VertexAttrib4fvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fvNV(index: UInt32; var v: single) := VertexAttrib4fvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4fvNV(index: UInt32; v: pointer) := z_VertexAttrib4fvNV(index, v); + + public z_VertexAttrib4dvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dvNV(index: UInt32; v: array of double) := VertexAttrib4dvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dvNV(index: UInt32; var v: double) := VertexAttrib4dvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4dvNV(index: UInt32; v: pointer) := z_VertexAttrib4dvNV(index, v); + + public z_VertexAttrib4ubvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4ubvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubvNV(index: UInt32; v: array of Byte) := VertexAttrib4ubvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubvNV(index: UInt32; var v: Byte) := VertexAttrib4ubvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4ubvNV(index: UInt32; v: pointer) := z_VertexAttrib4ubvNV(index, v); + + public z_VertexAttribs1svNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs1svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1svNV(index: UInt32; count: Int32; v: array of Int16) := VertexAttribs1svNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1svNV(index: UInt32; count: Int32; var v: Int16) := VertexAttribs1svNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1svNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs1svNV(index, count, v); + + public z_VertexAttribs1fvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs1fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1fvNV(index: UInt32; count: Int32; v: array of single) := VertexAttribs1fvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1fvNV(index: UInt32; count: Int32; var v: single) := VertexAttribs1fvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1fvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs1fvNV(index, count, v); + + public z_VertexAttribs1dvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs1dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1dvNV(index: UInt32; count: Int32; v: array of double) := VertexAttribs1dvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1dvNV(index: UInt32; count: Int32; var v: double) := VertexAttribs1dvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1dvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs1dvNV(index, count, v); + + public z_VertexAttribs2svNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs2svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2svNV(index: UInt32; count: Int32; v: array of Int16) := VertexAttribs2svNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2svNV(index: UInt32; count: Int32; var v: Int16) := VertexAttribs2svNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2svNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs2svNV(index, count, v); + + public z_VertexAttribs2fvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs2fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2fvNV(index: UInt32; count: Int32; v: array of single) := VertexAttribs2fvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2fvNV(index: UInt32; count: Int32; var v: single) := VertexAttribs2fvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2fvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs2fvNV(index, count, v); + + public z_VertexAttribs2dvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs2dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2dvNV(index: UInt32; count: Int32; v: array of double) := VertexAttribs2dvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2dvNV(index: UInt32; count: Int32; var v: double) := VertexAttribs2dvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2dvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs2dvNV(index, count, v); + + public z_VertexAttribs3svNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs3svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3svNV(index: UInt32; count: Int32; v: array of Int16) := VertexAttribs3svNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3svNV(index: UInt32; count: Int32; var v: Int16) := VertexAttribs3svNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3svNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs3svNV(index, count, v); + + public z_VertexAttribs3fvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs3fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3fvNV(index: UInt32; count: Int32; v: array of single) := VertexAttribs3fvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3fvNV(index: UInt32; count: Int32; var v: single) := VertexAttribs3fvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3fvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs3fvNV(index, count, v); + + public z_VertexAttribs3dvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs3dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3dvNV(index: UInt32; count: Int32; v: array of double) := VertexAttribs3dvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3dvNV(index: UInt32; count: Int32; var v: double) := VertexAttribs3dvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3dvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs3dvNV(index, count, v); + + public z_VertexAttribs4svNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs4svNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4svNV(index: UInt32; count: Int32; v: array of Int16) := VertexAttribs4svNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4svNV(index: UInt32; count: Int32; var v: Int16) := VertexAttribs4svNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4svNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs4svNV(index, count, v); + + public z_VertexAttribs4fvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs4fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4fvNV(index: UInt32; count: Int32; v: array of single) := VertexAttribs4fvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4fvNV(index: UInt32; count: Int32; var v: single) := VertexAttribs4fvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4fvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs4fvNV(index, count, v); + + public z_VertexAttribs4dvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs4dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4dvNV(index: UInt32; count: Int32; v: array of double) := VertexAttribs4dvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4dvNV(index: UInt32; count: Int32; var v: double) := VertexAttribs4dvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4dvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs4dvNV(index, count, v); + + public z_VertexAttribs4ubvNV: procedure(index: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs4ubvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4ubvNV(index: UInt32; count: Int32; v: array of Byte) := VertexAttribs4ubvNV(index, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4ubvNV(index: UInt32; count: Int32; var v: Byte) := VertexAttribs4ubvNV(index, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4ubvNV(index: UInt32; count: Int32; v: pointer) := z_VertexAttribs4ubvNV(index, count, v); + + {$endregion NV_vertex_program} + + {$region NV_conditional_render} + + public z_BeginConditionalRenderNV: procedure(id: UInt32; mode: DummyEnum) := GetGLFuncOrNil&('glBeginConditionalRenderNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginConditionalRenderNV(id: UInt32; mode: DummyEnum) := z_BeginConditionalRenderNV(id, mode); + + public z_EndConditionalRenderNV: procedure := GetGLFuncOrNil&('glEndConditionalRenderNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndConditionalRenderNV := z_EndConditionalRenderNV; + + {$endregion NV_conditional_render} + + {$region NV_occlusion_query} + + public z_GenOcclusionQueriesNV: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glGenOcclusionQueriesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenOcclusionQueriesNV(n: Int32; ids: array of UInt32) := GenOcclusionQueriesNV(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenOcclusionQueriesNV(n: Int32; var ids: UInt32) := GenOcclusionQueriesNV(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenOcclusionQueriesNV(n: Int32; ids: pointer) := z_GenOcclusionQueriesNV(n, ids); + + public z_DeleteOcclusionQueriesNV: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glDeleteOcclusionQueriesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteOcclusionQueriesNV(n: Int32; ids: array of UInt32) := DeleteOcclusionQueriesNV(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteOcclusionQueriesNV(n: Int32; var ids: UInt32) := DeleteOcclusionQueriesNV(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteOcclusionQueriesNV(n: Int32; ids: pointer) := z_DeleteOcclusionQueriesNV(n, ids); + + public z_IsOcclusionQueryNV: function(id: UInt32): Byte := GetGLFuncOrNil&('glIsOcclusionQueryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsOcclusionQueryNV(id: UInt32): Byte := z_IsOcclusionQueryNV(id); + + public z_BeginOcclusionQueryNV: procedure(id: UInt32) := GetGLFuncOrNil&('glBeginOcclusionQueryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginOcclusionQueryNV(id: UInt32) := z_BeginOcclusionQueryNV(id); + + public z_EndOcclusionQueryNV: procedure := GetGLFuncOrNil&('glEndOcclusionQueryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndOcclusionQueryNV := z_EndOcclusionQueryNV; + + public z_GetOcclusionQueryivNV: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetOcclusionQueryivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetOcclusionQueryivNV(id: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetOcclusionQueryivNV(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetOcclusionQueryivNV(id: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetOcclusionQueryivNV(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetOcclusionQueryivNV(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetOcclusionQueryivNV(id, pname, ¶ms); + + public z_GetOcclusionQueryuivNV: procedure(id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetOcclusionQueryuivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetOcclusionQueryuivNV(id: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetOcclusionQueryuivNV(id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetOcclusionQueryuivNV(id: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetOcclusionQueryuivNV(id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetOcclusionQueryuivNV(id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetOcclusionQueryuivNV(id, pname, ¶ms); + + {$endregion NV_occlusion_query} + + {$region NV_parameter_buffer_object NV_transform_feedback} + + public z_BindBufferRangeNV: procedure(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glBindBufferRangeNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferRangeNV(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr; size: UIntPtr) := z_BindBufferRangeNV(target, index, buffer, offset, size); + + public z_BindBufferOffsetNV: procedure(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr) := GetGLFuncOrNil&('glBindBufferOffsetNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferOffsetNV(target: DummyEnum; index: UInt32; buffer: UInt32; offset: IntPtr) := z_BindBufferOffsetNV(target, index, buffer, offset); + + public z_BindBufferBaseNV: procedure(target: DummyEnum; index: UInt32; buffer: UInt32) := GetGLFuncOrNil&('glBindBufferBaseNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindBufferBaseNV(target: DummyEnum; index: UInt32; buffer: UInt32) := z_BindBufferBaseNV(target, index, buffer); + + {$endregion NV_parameter_buffer_object NV_transform_feedback} + + {$region NV_shading_rate_image} + + public z_BindShadingRateImageNV: procedure(texture: UInt32) := GetGLFuncOrNil&('glBindShadingRateImageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindShadingRateImageNV(texture: UInt32) := z_BindShadingRateImageNV(texture); + + public z_ShadingRateImagePaletteNV: procedure(viewport: UInt32; first: UInt32; count: Int32; rates: pointer) := GetGLFuncOrNil&('glShadingRateImagePaletteNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadingRateImagePaletteNV(viewport: UInt32; first: UInt32; count: Int32; rates: array of DummyEnum) := ShadingRateImagePaletteNV(viewport, first, count, rates[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadingRateImagePaletteNV(viewport: UInt32; first: UInt32; count: Int32; var rates: DummyEnum) := ShadingRateImagePaletteNV(viewport, first, count, @rates); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadingRateImagePaletteNV(viewport: UInt32; first: UInt32; count: Int32; rates: pointer) := z_ShadingRateImagePaletteNV(viewport, first, count, rates); + + public z_GetShadingRateImagePaletteNV: procedure(viewport: UInt32; entry: UInt32; rate: pointer) := GetGLFuncOrNil&('glGetShadingRateImagePaletteNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShadingRateImagePaletteNV(viewport: UInt32; entry: UInt32; rate: array of DummyEnum) := GetShadingRateImagePaletteNV(viewport, entry, rate[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShadingRateImagePaletteNV(viewport: UInt32; entry: UInt32; var rate: DummyEnum) := GetShadingRateImagePaletteNV(viewport, entry, @rate); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShadingRateImagePaletteNV(viewport: UInt32; entry: UInt32; rate: pointer) := z_GetShadingRateImagePaletteNV(viewport, entry, rate); + + public z_ShadingRateSampleOrderCustomNV: procedure(rate: DummyEnum; samples: UInt32; locations: pointer) := GetGLFuncOrNil&('glShadingRateSampleOrderCustomNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadingRateSampleOrderCustomNV(rate: DummyEnum; samples: UInt32; locations: array of Int32) := ShadingRateSampleOrderCustomNV(rate, samples, locations[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadingRateSampleOrderCustomNV(rate: DummyEnum; samples: UInt32; var locations: Int32) := ShadingRateSampleOrderCustomNV(rate, samples, @locations); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadingRateSampleOrderCustomNV(rate: DummyEnum; samples: UInt32; locations: pointer) := z_ShadingRateSampleOrderCustomNV(rate, samples, locations); + + public z_GetShadingRateSampleLocationivNV: procedure(rate: DummyEnum; samples: UInt32; index: UInt32; location: pointer) := GetGLFuncOrNil&('glGetShadingRateSampleLocationivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShadingRateSampleLocationivNV(rate: DummyEnum; samples: UInt32; index: UInt32; location: array of Int32) := GetShadingRateSampleLocationivNV(rate, samples, index, location[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShadingRateSampleLocationivNV(rate: DummyEnum; samples: UInt32; index: UInt32; var location: Int32) := GetShadingRateSampleLocationivNV(rate, samples, index, @location); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetShadingRateSampleLocationivNV(rate: DummyEnum; samples: UInt32; index: UInt32; location: pointer) := z_GetShadingRateSampleLocationivNV(rate, samples, index, location); + + {$endregion NV_shading_rate_image} + + {$region NV_transform_feedback2} + + public z_BindTransformFeedbackNV: procedure(target: DummyEnum; id: UInt32) := GetGLFuncOrNil&('glBindTransformFeedbackNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindTransformFeedbackNV(target: DummyEnum; id: UInt32) := z_BindTransformFeedbackNV(target, id); + + public z_DeleteTransformFeedbacksNV: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glDeleteTransformFeedbacksNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTransformFeedbacksNV(n: Int32; ids: array of UInt32) := DeleteTransformFeedbacksNV(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTransformFeedbacksNV(n: Int32; var ids: UInt32) := DeleteTransformFeedbacksNV(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteTransformFeedbacksNV(n: Int32; ids: pointer) := z_DeleteTransformFeedbacksNV(n, ids); + + public z_GenTransformFeedbacksNV: procedure(n: Int32; ids: pointer) := GetGLFuncOrNil&('glGenTransformFeedbacksNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTransformFeedbacksNV(n: Int32; ids: array of UInt32) := GenTransformFeedbacksNV(n, ids[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTransformFeedbacksNV(n: Int32; var ids: UInt32) := GenTransformFeedbacksNV(n, @ids); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenTransformFeedbacksNV(n: Int32; ids: pointer) := z_GenTransformFeedbacksNV(n, ids); + + public z_IsTransformFeedbackNV: function(id: UInt32): Byte := GetGLFuncOrNil&('glIsTransformFeedbackNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsTransformFeedbackNV(id: UInt32): Byte := z_IsTransformFeedbackNV(id); + + public z_PauseTransformFeedbackNV: procedure := GetGLFuncOrNil&('glPauseTransformFeedbackNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PauseTransformFeedbackNV := z_PauseTransformFeedbackNV; + + public z_ResumeTransformFeedbackNV: procedure := GetGLFuncOrNil&('glResumeTransformFeedbackNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResumeTransformFeedbackNV := z_ResumeTransformFeedbackNV; + + public z_DrawTransformFeedbackNV: procedure(mode: DummyEnum; id: UInt32) := GetGLFuncOrNil&('glDrawTransformFeedbackNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTransformFeedbackNV(mode: DummyEnum; id: UInt32) := z_DrawTransformFeedbackNV(mode, id); + + {$endregion NV_transform_feedback2} + + {$region NV_blend_equation_advanced} + + public z_BlendParameteriNV: procedure(pname: DummyEnum; value: Int32) := GetGLFuncOrNil&('glBlendParameteriNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendParameteriNV(pname: DummyEnum; value: Int32) := z_BlendParameteriNV(pname, value); + + public z_BlendBarrierNV: procedure := GetGLFuncOrNil&('glBlendBarrierNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendBarrierNV := z_BlendBarrierNV; + + {$endregion NV_blend_equation_advanced} + + {$region NV_framebuffer_blit} + + public z_BlitFramebufferNV: procedure(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := GetGLFuncOrNil&('glBlitFramebufferNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlitFramebufferNV(srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := z_BlitFramebufferNV(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + + {$endregion NV_framebuffer_blit} + + {$region NV_vertex_buffer_unified_memory} + + public z_BufferAddressRangeNV: procedure(pname: DummyEnum; index: UInt32; address: UInt64; length: UIntPtr) := GetGLFuncOrNil&('glBufferAddressRangeNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferAddressRangeNV(pname: DummyEnum; index: UInt32; address: UInt64; length: UIntPtr) := z_BufferAddressRangeNV(pname, index, address, length); + + public z_VertexFormatNV: procedure(size: Int32; &type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glVertexFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexFormatNV(size: Int32; &type: DummyEnum; stride: Int32) := z_VertexFormatNV(size, &type, stride); + + public z_NormalFormatNV: procedure(&type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glNormalFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NormalFormatNV(&type: DummyEnum; stride: Int32) := z_NormalFormatNV(&type, stride); + + public z_ColorFormatNV: procedure(size: Int32; &type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glColorFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorFormatNV(size: Int32; &type: DummyEnum; stride: Int32) := z_ColorFormatNV(size, &type, stride); + + public z_IndexFormatNV: procedure(&type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glIndexFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexFormatNV(&type: DummyEnum; stride: Int32) := z_IndexFormatNV(&type, stride); + + public z_TexCoordFormatNV: procedure(size: Int32; &type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glTexCoordFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoordFormatNV(size: Int32; &type: DummyEnum; stride: Int32) := z_TexCoordFormatNV(size, &type, stride); + + public z_EdgeFlagFormatNV: procedure(stride: Int32) := GetGLFuncOrNil&('glEdgeFlagFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EdgeFlagFormatNV(stride: Int32) := z_EdgeFlagFormatNV(stride); + + public z_SecondaryColorFormatNV: procedure(size: Int32; &type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glSecondaryColorFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColorFormatNV(size: Int32; &type: DummyEnum; stride: Int32) := z_SecondaryColorFormatNV(size, &type, stride); + + public z_FogCoordFormatNV: procedure(&type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glFogCoordFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordFormatNV(&type: DummyEnum; stride: Int32) := z_FogCoordFormatNV(&type, stride); + + public z_VertexAttribFormatNV: procedure(index: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; stride: Int32) := GetGLFuncOrNil&('glVertexAttribFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribFormatNV(index: UInt32; size: Int32; &type: DummyEnum; normalized: Byte; stride: Int32) := z_VertexAttribFormatNV(index, size, &type, normalized, stride); + + public z_VertexAttribIFormatNV: procedure(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glVertexAttribIFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribIFormatNV(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32) := z_VertexAttribIFormatNV(index, size, &type, stride); + + public z_GetIntegerui64i_vNV: procedure(value: GLGetQueries; index: UInt32; result: pointer) := GetGLFuncOrNil&('glGetIntegerui64i_vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerui64i_vNV(value: GLGetQueries; index: UInt32; result: array of UInt64) := GetIntegerui64i_vNV(value, index, result[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerui64i_vNV(value: GLGetQueries; index: UInt32; var result: UInt64) := GetIntegerui64i_vNV(value, index, @result); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerui64i_vNV(value: GLGetQueries; index: UInt32; result: pointer) := z_GetIntegerui64i_vNV(value, index, result); + + {$endregion NV_vertex_buffer_unified_memory} + + {$region NV_memory_attachment} + + public z_GetMemoryObjectDetachedResourcesuivNV: procedure(memory: UInt32; pname: DummyEnum; first: Int32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetMemoryObjectDetachedResourcesuivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMemoryObjectDetachedResourcesuivNV(memory: UInt32; pname: DummyEnum; first: Int32; count: Int32; ¶ms: array of UInt32) := GetMemoryObjectDetachedResourcesuivNV(memory, pname, first, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMemoryObjectDetachedResourcesuivNV(memory: UInt32; pname: DummyEnum; first: Int32; count: Int32; var ¶ms: UInt32) := GetMemoryObjectDetachedResourcesuivNV(memory, pname, first, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMemoryObjectDetachedResourcesuivNV(memory: UInt32; pname: DummyEnum; first: Int32; count: Int32; ¶ms: pointer) := z_GetMemoryObjectDetachedResourcesuivNV(memory, pname, first, count, ¶ms); + + public z_ResetMemoryObjectParameterNV: procedure(memory: UInt32; pname: DummyEnum) := GetGLFuncOrNil&('glResetMemoryObjectParameterNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResetMemoryObjectParameterNV(memory: UInt32; pname: DummyEnum) := z_ResetMemoryObjectParameterNV(memory, pname); + + public z_TexAttachMemoryNV: procedure(target: DummyEnum; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTexAttachMemoryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexAttachMemoryNV(target: DummyEnum; memory: UInt32; offset: UInt64) := z_TexAttachMemoryNV(target, memory, offset); + + public z_BufferAttachMemoryNV: procedure(target: DummyEnum; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glBufferAttachMemoryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BufferAttachMemoryNV(target: DummyEnum; memory: UInt32; offset: UInt64) := z_BufferAttachMemoryNV(target, memory, offset); + + public z_TextureAttachMemoryNV: procedure(texture: UInt32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glTextureAttachMemoryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureAttachMemoryNV(texture: UInt32; memory: UInt32; offset: UInt64) := z_TextureAttachMemoryNV(texture, memory, offset); + + public z_NamedBufferAttachMemoryNV: procedure(buffer: UInt32; memory: UInt32; offset: UInt64) := GetGLFuncOrNil&('glNamedBufferAttachMemoryNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedBufferAttachMemoryNV(buffer: UInt32; memory: UInt32; offset: UInt64) := z_NamedBufferAttachMemoryNV(buffer, memory, offset); + + {$endregion NV_memory_attachment} + + {$region NV_command_list} + + public z_CreateStatesNV: procedure(n: Int32; states: pointer) := GetGLFuncOrNil&('glCreateStatesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateStatesNV(n: Int32; states: array of UInt32) := CreateStatesNV(n, states[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateStatesNV(n: Int32; var states: UInt32) := CreateStatesNV(n, @states); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateStatesNV(n: Int32; states: pointer) := z_CreateStatesNV(n, states); + + public z_DeleteStatesNV: procedure(n: Int32; states: pointer) := GetGLFuncOrNil&('glDeleteStatesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteStatesNV(n: Int32; states: array of UInt32) := DeleteStatesNV(n, states[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteStatesNV(n: Int32; var states: UInt32) := DeleteStatesNV(n, @states); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteStatesNV(n: Int32; states: pointer) := z_DeleteStatesNV(n, states); + + public z_IsStateNV: function(state: UInt32): Byte := GetGLFuncOrNil&('glIsStateNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsStateNV(state: UInt32): Byte := z_IsStateNV(state); + + public z_StateCaptureNV: procedure(state: UInt32; mode: DummyEnum) := GetGLFuncOrNil&('glStateCaptureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StateCaptureNV(state: UInt32; mode: DummyEnum) := z_StateCaptureNV(state, mode); + + public z_GetCommandHeaderNV: function(tokenID: DummyEnum; size: UInt32): UInt32 := GetGLFuncOrNil&('glGetCommandHeaderNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetCommandHeaderNV(tokenID: DummyEnum; size: UInt32): UInt32 := z_GetCommandHeaderNV(tokenID, size); + + public z_GetStageIndexNV: function(shadertype: DummyEnum): UInt16 := GetGLFuncOrNil&('glGetStageIndexNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetStageIndexNV(shadertype: DummyEnum): UInt16 := z_GetStageIndexNV(shadertype); + + public z_DrawCommandsNV: procedure(primitiveMode: DummyEnum; buffer: UInt32; indirects: pointer; sizes: pointer; count: UInt32) := GetGLFuncOrNil&('glDrawCommandsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, indirects[0], sizes[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, indirects[0], @sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; indirects: array of IntPtr; sizes: pointer; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, indirects[0], sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, @indirects, sizes[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; var indirects: IntPtr; var sizes: Int32; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, @indirects, @sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; var indirects: IntPtr; sizes: pointer; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, @indirects, sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; indirects: pointer; sizes: array of Int32; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, indirects, sizes[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; indirects: pointer; var sizes: Int32; count: UInt32) := DrawCommandsNV(primitiveMode, buffer, indirects, @sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsNV(primitiveMode: DummyEnum; buffer: UInt32; indirects: pointer; sizes: pointer; count: UInt32) := z_DrawCommandsNV(primitiveMode, buffer, indirects, sizes, count); + + public z_DrawCommandsAddressNV: procedure(primitiveMode: DummyEnum; indirects: pointer; sizes: pointer; count: UInt32) := GetGLFuncOrNil&('glDrawCommandsAddressNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; indirects: array of UInt64; sizes: array of Int32; count: UInt32) := DrawCommandsAddressNV(primitiveMode, indirects[0], sizes[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; indirects: array of UInt64; var sizes: Int32; count: UInt32) := DrawCommandsAddressNV(primitiveMode, indirects[0], @sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; indirects: array of UInt64; sizes: pointer; count: UInt32) := DrawCommandsAddressNV(primitiveMode, indirects[0], sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; var indirects: UInt64; sizes: array of Int32; count: UInt32) := DrawCommandsAddressNV(primitiveMode, @indirects, sizes[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; var indirects: UInt64; var sizes: Int32; count: UInt32) := DrawCommandsAddressNV(primitiveMode, @indirects, @sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; var indirects: UInt64; sizes: pointer; count: UInt32) := DrawCommandsAddressNV(primitiveMode, @indirects, sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; indirects: pointer; sizes: array of Int32; count: UInt32) := DrawCommandsAddressNV(primitiveMode, indirects, sizes[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; indirects: pointer; var sizes: Int32; count: UInt32) := DrawCommandsAddressNV(primitiveMode, indirects, @sizes, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsAddressNV(primitiveMode: DummyEnum; indirects: pointer; sizes: pointer; count: UInt32) := z_DrawCommandsAddressNV(primitiveMode, indirects, sizes, count); + + public z_DrawCommandsStatesNV: procedure(buffer: UInt32; indirects: pointer; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := GetGLFuncOrNil&('glDrawCommandsStatesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: array of IntPtr; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects[0], sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; var indirects: IntPtr; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, @indirects, sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesNV(buffer, indirects, sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesNV(buffer: UInt32; indirects: pointer; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := z_DrawCommandsStatesNV(buffer, indirects, sizes, states, fbos, count); + + public z_DrawCommandsStatesAddressNV: procedure(indirects: pointer; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := GetGLFuncOrNil&('glDrawCommandsStatesAddressNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: array of UInt64; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects[0], sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(var indirects: UInt64; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(@indirects, sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := DrawCommandsStatesAddressNV(indirects, sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawCommandsStatesAddressNV(indirects: pointer; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := z_DrawCommandsStatesAddressNV(indirects, sizes, states, fbos, count); + + public z_CreateCommandListsNV: procedure(n: Int32; lists: pointer) := GetGLFuncOrNil&('glCreateCommandListsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateCommandListsNV(n: Int32; lists: array of UInt32) := CreateCommandListsNV(n, lists[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateCommandListsNV(n: Int32; var lists: UInt32) := CreateCommandListsNV(n, @lists); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CreateCommandListsNV(n: Int32; lists: pointer) := z_CreateCommandListsNV(n, lists); + + public z_DeleteCommandListsNV: procedure(n: Int32; lists: pointer) := GetGLFuncOrNil&('glDeleteCommandListsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteCommandListsNV(n: Int32; lists: array of UInt32) := DeleteCommandListsNV(n, lists[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteCommandListsNV(n: Int32; var lists: UInt32) := DeleteCommandListsNV(n, @lists); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteCommandListsNV(n: Int32; lists: pointer) := z_DeleteCommandListsNV(n, lists); + + public z_IsCommandListNV: function(list: UInt32): Byte := GetGLFuncOrNil&('glIsCommandListNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsCommandListNV(list: UInt32): Byte := z_IsCommandListNV(list); + + public z_ListDrawCommandsStatesClientNV: procedure(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := GetGLFuncOrNil&('glListDrawCommandsStatesClientNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: array of IntPtr; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects[0], sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; var indirects: IntPtr; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, @indirects, sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: array of Int32; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes[0], states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; var sizes: Int32; states: pointer; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, @sizes, states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; states: array of UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states[0], fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; states: array of UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states[0], @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; states: array of UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states[0], fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; var states: UInt32; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, @states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; var states: UInt32; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, @states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; var states: UInt32; fbos: pointer; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, @states, fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; states: pointer; fbos: array of UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states, fbos[0], count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; states: pointer; var fbos: UInt32; count: UInt32) := ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states, @fbos, count); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ListDrawCommandsStatesClientNV(list: UInt32; segment: UInt32; indirects: pointer; sizes: pointer; states: pointer; fbos: pointer; count: UInt32) := z_ListDrawCommandsStatesClientNV(list, segment, indirects, sizes, states, fbos, count); + + public z_CommandListSegmentsNV: procedure(list: UInt32; segments: UInt32) := GetGLFuncOrNil&('glCommandListSegmentsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CommandListSegmentsNV(list: UInt32; segments: UInt32) := z_CommandListSegmentsNV(list, segments); + + public z_CompileCommandListNV: procedure(list: UInt32) := GetGLFuncOrNil&('glCompileCommandListNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompileCommandListNV(list: UInt32) := z_CompileCommandListNV(list); + + public z_CallCommandListNV: procedure(list: UInt32) := GetGLFuncOrNil&('glCallCommandListNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CallCommandListNV(list: UInt32) := z_CallCommandListNV(list); + + {$endregion NV_command_list} + + {$region NV_depth_buffer_float} + + public z_DepthRangedNV: procedure(zNear: double; zFar: double) := GetGLFuncOrNil&('glDepthRangedNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangedNV(zNear: double; zFar: double) := z_DepthRangedNV(zNear, zFar); + + public z_ClearDepthdNV: procedure(depth: double) := GetGLFuncOrNil&('glClearDepthdNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearDepthdNV(depth: double) := z_ClearDepthdNV(depth); + + public z_DepthBoundsdNV: procedure(zmin: double; zmax: double) := GetGLFuncOrNil&('glDepthBoundsdNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthBoundsdNV(zmin: double; zmax: double) := z_DepthBoundsdNV(zmin, zmax); + + {$endregion NV_depth_buffer_float} + + {$region NV_half_float} + + public z_Vertex2hNV: procedure(x: half; y: half) := GetGLFuncOrNil&('glVertex2hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2hNV(x: half; y: half) := z_Vertex2hNV(x, y); + + public z_Vertex2hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glVertex2hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2hvNV(v: array of half) := Vertex2hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2hvNV(var v: half) := Vertex2hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2hvNV(v: pointer) := z_Vertex2hvNV(v); + + public z_Vertex3hNV: procedure(x: half; y: half; z: half) := GetGLFuncOrNil&('glVertex3hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3hNV(x: half; y: half; z: half) := z_Vertex3hNV(x, y, z); + + public z_Vertex3hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glVertex3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3hvNV(v: array of half) := Vertex3hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3hvNV(var v: half) := Vertex3hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3hvNV(v: pointer) := z_Vertex3hvNV(v); + + public z_Vertex4hNV: procedure(x: half; y: half; z: half; w: half) := GetGLFuncOrNil&('glVertex4hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4hNV(x: half; y: half; z: half; w: half) := z_Vertex4hNV(x, y, z, w); + + public z_Vertex4hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glVertex4hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4hvNV(v: array of half) := Vertex4hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4hvNV(var v: half) := Vertex4hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4hvNV(v: pointer) := z_Vertex4hvNV(v); + + public z_Normal3hNV: procedure(nx: half; ny: half; nz: half) := GetGLFuncOrNil&('glNormal3hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3hNV(nx: half; ny: half; nz: half) := z_Normal3hNV(nx, ny, nz); + + public z_Normal3hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glNormal3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3hvNV(v: array of half) := Normal3hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3hvNV(var v: half) := Normal3hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3hvNV(v: pointer) := z_Normal3hvNV(v); + + public z_Color3hNV: procedure(red: half; green: half; blue: half) := GetGLFuncOrNil&('glColor3hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3hNV(red: half; green: half; blue: half) := z_Color3hNV(red, green, blue); + + public z_Color3hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glColor3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3hvNV(v: array of half) := Color3hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3hvNV(var v: half) := Color3hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3hvNV(v: pointer) := z_Color3hvNV(v); + + public z_Color4hNV: procedure(red: half; green: half; blue: half; alpha: half) := GetGLFuncOrNil&('glColor4hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4hNV(red: half; green: half; blue: half; alpha: half) := z_Color4hNV(red, green, blue, alpha); + + public z_Color4hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glColor4hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4hvNV(v: array of half) := Color4hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4hvNV(var v: half) := Color4hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4hvNV(v: pointer) := z_Color4hvNV(v); + + public z_TexCoord1hNV: procedure(s: half) := GetGLFuncOrNil&('glTexCoord1hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1hNV(s: half) := z_TexCoord1hNV(s); + + public z_TexCoord1hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glTexCoord1hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1hvNV(v: array of half) := TexCoord1hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1hvNV(var v: half) := TexCoord1hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1hvNV(v: pointer) := z_TexCoord1hvNV(v); + + public z_TexCoord2hNV: procedure(s: half; t: half) := GetGLFuncOrNil&('glTexCoord2hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2hNV(s: half; t: half) := z_TexCoord2hNV(s, t); + + public z_TexCoord2hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glTexCoord2hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2hvNV(v: array of half) := TexCoord2hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2hvNV(var v: half) := TexCoord2hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2hvNV(v: pointer) := z_TexCoord2hvNV(v); + + public z_TexCoord3hNV: procedure(s: half; t: half; r: half) := GetGLFuncOrNil&('glTexCoord3hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3hNV(s: half; t: half; r: half) := z_TexCoord3hNV(s, t, r); + + public z_TexCoord3hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glTexCoord3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3hvNV(v: array of half) := TexCoord3hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3hvNV(var v: half) := TexCoord3hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3hvNV(v: pointer) := z_TexCoord3hvNV(v); + + public z_TexCoord4hNV: procedure(s: half; t: half; r: half; q: half) := GetGLFuncOrNil&('glTexCoord4hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4hNV(s: half; t: half; r: half; q: half) := z_TexCoord4hNV(s, t, r, q); + + public z_TexCoord4hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glTexCoord4hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4hvNV(v: array of half) := TexCoord4hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4hvNV(var v: half) := TexCoord4hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4hvNV(v: pointer) := z_TexCoord4hvNV(v); + + public z_MultiTexCoord1hNV: procedure(target: DummyEnum; s: half) := GetGLFuncOrNil&('glMultiTexCoord1hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1hNV(target: DummyEnum; s: half) := z_MultiTexCoord1hNV(target, s); + + public z_MultiTexCoord1hvNV: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord1hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1hvNV(target: DummyEnum; v: array of half) := MultiTexCoord1hvNV(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1hvNV(target: DummyEnum; var v: half) := MultiTexCoord1hvNV(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1hvNV(target: DummyEnum; v: pointer) := z_MultiTexCoord1hvNV(target, v); + + public z_MultiTexCoord2hNV: procedure(target: DummyEnum; s: half; t: half) := GetGLFuncOrNil&('glMultiTexCoord2hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2hNV(target: DummyEnum; s: half; t: half) := z_MultiTexCoord2hNV(target, s, t); + + public z_MultiTexCoord2hvNV: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord2hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2hvNV(target: DummyEnum; v: array of half) := MultiTexCoord2hvNV(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2hvNV(target: DummyEnum; var v: half) := MultiTexCoord2hvNV(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2hvNV(target: DummyEnum; v: pointer) := z_MultiTexCoord2hvNV(target, v); + + public z_MultiTexCoord3hNV: procedure(target: DummyEnum; s: half; t: half; r: half) := GetGLFuncOrNil&('glMultiTexCoord3hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3hNV(target: DummyEnum; s: half; t: half; r: half) := z_MultiTexCoord3hNV(target, s, t, r); + + public z_MultiTexCoord3hvNV: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3hvNV(target: DummyEnum; v: array of half) := MultiTexCoord3hvNV(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3hvNV(target: DummyEnum; var v: half) := MultiTexCoord3hvNV(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3hvNV(target: DummyEnum; v: pointer) := z_MultiTexCoord3hvNV(target, v); + + public z_MultiTexCoord4hNV: procedure(target: DummyEnum; s: half; t: half; r: half; q: half) := GetGLFuncOrNil&('glMultiTexCoord4hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4hNV(target: DummyEnum; s: half; t: half; r: half; q: half) := z_MultiTexCoord4hNV(target, s, t, r, q); + + public z_MultiTexCoord4hvNV: procedure(target: DummyEnum; v: pointer) := GetGLFuncOrNil&('glMultiTexCoord4hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4hvNV(target: DummyEnum; v: array of half) := MultiTexCoord4hvNV(target, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4hvNV(target: DummyEnum; var v: half) := MultiTexCoord4hvNV(target, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4hvNV(target: DummyEnum; v: pointer) := z_MultiTexCoord4hvNV(target, v); + + public z_VertexAttrib1hNV: procedure(index: UInt32; x: half) := GetGLFuncOrNil&('glVertexAttrib1hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1hNV(index: UInt32; x: half) := z_VertexAttrib1hNV(index, x); + + public z_VertexAttrib1hvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib1hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1hvNV(index: UInt32; v: array of half) := VertexAttrib1hvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1hvNV(index: UInt32; var v: half) := VertexAttrib1hvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib1hvNV(index: UInt32; v: pointer) := z_VertexAttrib1hvNV(index, v); + + public z_VertexAttrib2hNV: procedure(index: UInt32; x: half; y: half) := GetGLFuncOrNil&('glVertexAttrib2hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2hNV(index: UInt32; x: half; y: half) := z_VertexAttrib2hNV(index, x, y); + + public z_VertexAttrib2hvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib2hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2hvNV(index: UInt32; v: array of half) := VertexAttrib2hvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2hvNV(index: UInt32; var v: half) := VertexAttrib2hvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib2hvNV(index: UInt32; v: pointer) := z_VertexAttrib2hvNV(index, v); + + public z_VertexAttrib3hNV: procedure(index: UInt32; x: half; y: half; z: half) := GetGLFuncOrNil&('glVertexAttrib3hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3hNV(index: UInt32; x: half; y: half; z: half) := z_VertexAttrib3hNV(index, x, y, z); + + public z_VertexAttrib3hvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3hvNV(index: UInt32; v: array of half) := VertexAttrib3hvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3hvNV(index: UInt32; var v: half) := VertexAttrib3hvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib3hvNV(index: UInt32; v: pointer) := z_VertexAttrib3hvNV(index, v); + + public z_VertexAttrib4hNV: procedure(index: UInt32; x: half; y: half; z: half; w: half) := GetGLFuncOrNil&('glVertexAttrib4hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4hNV(index: UInt32; x: half; y: half; z: half; w: half) := z_VertexAttrib4hNV(index, x, y, z, w); + + public z_VertexAttrib4hvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttrib4hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4hvNV(index: UInt32; v: array of half) := VertexAttrib4hvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4hvNV(index: UInt32; var v: half) := VertexAttrib4hvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttrib4hvNV(index: UInt32; v: pointer) := z_VertexAttrib4hvNV(index, v); + + public z_VertexAttribs1hvNV: procedure(index: UInt32; n: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs1hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1hvNV(index: UInt32; n: Int32; v: array of half) := VertexAttribs1hvNV(index, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1hvNV(index: UInt32; n: Int32; var v: half) := VertexAttribs1hvNV(index, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs1hvNV(index: UInt32; n: Int32; v: pointer) := z_VertexAttribs1hvNV(index, n, v); + + public z_VertexAttribs2hvNV: procedure(index: UInt32; n: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs2hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2hvNV(index: UInt32; n: Int32; v: array of half) := VertexAttribs2hvNV(index, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2hvNV(index: UInt32; n: Int32; var v: half) := VertexAttribs2hvNV(index, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs2hvNV(index: UInt32; n: Int32; v: pointer) := z_VertexAttribs2hvNV(index, n, v); + + public z_VertexAttribs3hvNV: procedure(index: UInt32; n: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3hvNV(index: UInt32; n: Int32; v: array of half) := VertexAttribs3hvNV(index, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3hvNV(index: UInt32; n: Int32; var v: half) := VertexAttribs3hvNV(index, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs3hvNV(index: UInt32; n: Int32; v: pointer) := z_VertexAttribs3hvNV(index, n, v); + + public z_VertexAttribs4hvNV: procedure(index: UInt32; n: Int32; v: pointer) := GetGLFuncOrNil&('glVertexAttribs4hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4hvNV(index: UInt32; n: Int32; v: array of half) := VertexAttribs4hvNV(index, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4hvNV(index: UInt32; n: Int32; var v: half) := VertexAttribs4hvNV(index, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribs4hvNV(index: UInt32; n: Int32; v: pointer) := z_VertexAttribs4hvNV(index, n, v); + + public z_FogCoordhNV: procedure(fog: half) := GetGLFuncOrNil&('glFogCoordhNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordhNV(fog: half) := z_FogCoordhNV(fog); + + public z_FogCoordhvNV: procedure(fog: pointer) := GetGLFuncOrNil&('glFogCoordhvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordhvNV(fog: array of half) := FogCoordhvNV(fog[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordhvNV(var fog: half) := FogCoordhvNV(@fog); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogCoordhvNV(fog: pointer) := z_FogCoordhvNV(fog); + + public z_SecondaryColor3hNV: procedure(red: half; green: half; blue: half) := GetGLFuncOrNil&('glSecondaryColor3hNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3hNV(red: half; green: half; blue: half) := z_SecondaryColor3hNV(red, green, blue); + + public z_SecondaryColor3hvNV: procedure(v: pointer) := GetGLFuncOrNil&('glSecondaryColor3hvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3hvNV(v: array of half) := SecondaryColor3hvNV(v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3hvNV(var v: half) := SecondaryColor3hvNV(@v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SecondaryColor3hvNV(v: pointer) := z_SecondaryColor3hvNV(v); + + public z_VertexWeighthNV: procedure(weight: half) := GetGLFuncOrNil&('glVertexWeighthNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeighthNV(weight: half) := z_VertexWeighthNV(weight); + + public z_VertexWeighthvNV: procedure(weight: pointer) := GetGLFuncOrNil&('glVertexWeighthvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeighthvNV(weight: array of half) := VertexWeighthvNV(weight[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeighthvNV(var weight: half) := VertexWeighthvNV(@weight); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexWeighthvNV(weight: pointer) := z_VertexWeighthvNV(weight); + + {$endregion NV_half_float} + + {$region NV_register_combiners} + + public z_CombinerParameterfvNV: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glCombinerParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameterfvNV(pname: DummyEnum; ¶ms: array of single) := CombinerParameterfvNV(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameterfvNV(pname: DummyEnum; var ¶ms: single) := CombinerParameterfvNV(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameterfvNV(pname: DummyEnum; ¶ms: pointer) := z_CombinerParameterfvNV(pname, ¶ms); + + public z_CombinerParameterivNV: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glCombinerParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameterivNV(pname: DummyEnum; ¶ms: array of Int32) := CombinerParameterivNV(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameterivNV(pname: DummyEnum; var ¶ms: Int32) := CombinerParameterivNV(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameterivNV(pname: DummyEnum; ¶ms: pointer) := z_CombinerParameterivNV(pname, ¶ms); + + public z_CombinerParameterfNV: procedure(pname: DummyEnum; param: single) := GetGLFuncOrNil&('glCombinerParameterfNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameterfNV(pname: DummyEnum; param: single) := z_CombinerParameterfNV(pname, param); + + public z_CombinerParameteriNV: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glCombinerParameteriNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerParameteriNV(pname: DummyEnum; param: Int32) := z_CombinerParameteriNV(pname, param); + + public z_CombinerInputNV: procedure(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; input: DummyEnum; mapping: DummyEnum; componentUsage: DummyEnum) := GetGLFuncOrNil&('glCombinerInputNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerInputNV(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; input: DummyEnum; mapping: DummyEnum; componentUsage: DummyEnum) := z_CombinerInputNV(stage, portion, variable, input, mapping, componentUsage); + + public z_CombinerOutputNV: procedure(stage: DummyEnum; portion: DummyEnum; abOutput: DummyEnum; cdOutput: DummyEnum; sumOutput: DummyEnum; scale: DummyEnum; bias: DummyEnum; abDotProduct: Byte; cdDotProduct: Byte; muxSum: Byte) := GetGLFuncOrNil&('glCombinerOutputNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerOutputNV(stage: DummyEnum; portion: DummyEnum; abOutput: DummyEnum; cdOutput: DummyEnum; sumOutput: DummyEnum; scale: DummyEnum; bias: DummyEnum; abDotProduct: Byte; cdDotProduct: Byte; muxSum: Byte) := z_CombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum); + + public z_FinalCombinerInputNV: procedure(variable: DummyEnum; input: DummyEnum; mapping: DummyEnum; componentUsage: DummyEnum) := GetGLFuncOrNil&('glFinalCombinerInputNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FinalCombinerInputNV(variable: DummyEnum; input: DummyEnum; mapping: DummyEnum; componentUsage: DummyEnum) := z_FinalCombinerInputNV(variable, input, mapping, componentUsage); + + public z_GetCombinerInputParameterfvNV: procedure(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetCombinerInputParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerInputParameterfvNV(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetCombinerInputParameterfvNV(stage, portion, variable, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerInputParameterfvNV(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetCombinerInputParameterfvNV(stage, portion, variable, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerInputParameterfvNV(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetCombinerInputParameterfvNV(stage, portion, variable, pname, ¶ms); + + public z_GetCombinerInputParameterivNV: procedure(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetCombinerInputParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerInputParameterivNV(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetCombinerInputParameterivNV(stage, portion, variable, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerInputParameterivNV(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetCombinerInputParameterivNV(stage, portion, variable, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerInputParameterivNV(stage: DummyEnum; portion: DummyEnum; variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetCombinerInputParameterivNV(stage, portion, variable, pname, ¶ms); + + public z_GetCombinerOutputParameterfvNV: procedure(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetCombinerOutputParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerOutputParameterfvNV(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetCombinerOutputParameterfvNV(stage, portion, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerOutputParameterfvNV(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetCombinerOutputParameterfvNV(stage, portion, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerOutputParameterfvNV(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetCombinerOutputParameterfvNV(stage, portion, pname, ¶ms); + + public z_GetCombinerOutputParameterivNV: procedure(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetCombinerOutputParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerOutputParameterivNV(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetCombinerOutputParameterivNV(stage, portion, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerOutputParameterivNV(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetCombinerOutputParameterivNV(stage, portion, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerOutputParameterivNV(stage: DummyEnum; portion: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetCombinerOutputParameterivNV(stage, portion, pname, ¶ms); + + public z_GetFinalCombinerInputParameterfvNV: procedure(variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetFinalCombinerInputParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFinalCombinerInputParameterfvNV(variable: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetFinalCombinerInputParameterfvNV(variable, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFinalCombinerInputParameterfvNV(variable: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetFinalCombinerInputParameterfvNV(variable, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFinalCombinerInputParameterfvNV(variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetFinalCombinerInputParameterfvNV(variable, pname, ¶ms); + + public z_GetFinalCombinerInputParameterivNV: procedure(variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetFinalCombinerInputParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFinalCombinerInputParameterivNV(variable: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetFinalCombinerInputParameterivNV(variable, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFinalCombinerInputParameterivNV(variable: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetFinalCombinerInputParameterivNV(variable, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFinalCombinerInputParameterivNV(variable: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetFinalCombinerInputParameterivNV(variable, pname, ¶ms); + + {$endregion NV_register_combiners} + + {$region NV_register_combiners2} + + public z_CombinerStageParameterfvNV: procedure(stage: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glCombinerStageParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerStageParameterfvNV(stage: DummyEnum; pname: DummyEnum; ¶ms: array of single) := CombinerStageParameterfvNV(stage, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerStageParameterfvNV(stage: DummyEnum; pname: DummyEnum; var ¶ms: single) := CombinerStageParameterfvNV(stage, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CombinerStageParameterfvNV(stage: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_CombinerStageParameterfvNV(stage, pname, ¶ms); + + public z_GetCombinerStageParameterfvNV: procedure(stage: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetCombinerStageParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerStageParameterfvNV(stage: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetCombinerStageParameterfvNV(stage, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerStageParameterfvNV(stage: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetCombinerStageParameterfvNV(stage, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCombinerStageParameterfvNV(stage: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetCombinerStageParameterfvNV(stage, pname, ¶ms); + + {$endregion NV_register_combiners2} + + {$region NV_conservative_raster_dilate} + + public z_ConservativeRasterParameterfNV: procedure(pname: DummyEnum; value: single) := GetGLFuncOrNil&('glConservativeRasterParameterfNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConservativeRasterParameterfNV(pname: DummyEnum; value: single) := z_ConservativeRasterParameterfNV(pname, value); + + {$endregion NV_conservative_raster_dilate} + + {$region NV_conservative_raster_pre_snap_triangles} + + public z_ConservativeRasterParameteriNV: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glConservativeRasterParameteriNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConservativeRasterParameteriNV(pname: DummyEnum; param: Int32) := z_ConservativeRasterParameteriNV(pname, param); + + {$endregion NV_conservative_raster_pre_snap_triangles} + + {$region NV_copy_buffer} + + public z_CopyBufferSubDataNV: procedure(readTarget: DummyEnum; writeTarget: DummyEnum; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glCopyBufferSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyBufferSubDataNV(readTarget: DummyEnum; writeTarget: DummyEnum; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := z_CopyBufferSubDataNV(readTarget, writeTarget, readOffset, writeOffset, size); + + {$endregion NV_copy_buffer} + + {$region NV_copy_image} + + public z_CopyImageSubDataNV: procedure(srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32) := GetGLFuncOrNil&('glCopyImageSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyImageSubDataNV(srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32) := z_CopyImageSubDataNV(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); + + {$endregion NV_copy_image} + + {$region NV_coverage_sample} + + public z_CoverageMaskNV: procedure(mask: Byte) := GetGLFuncOrNil&('glCoverageMaskNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CoverageMaskNV(mask: Byte) := z_CoverageMaskNV(mask); + + public z_CoverageOperationNV: procedure(operation: DummyEnum) := GetGLFuncOrNil&('glCoverageOperationNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CoverageOperationNV(operation: DummyEnum) := z_CoverageOperationNV(operation); + + {$endregion NV_coverage_sample} + + {$region NV_framebuffer_mixed_samples} + + public z_CoverageModulationTableNV: procedure(n: Int32; v: pointer) := GetGLFuncOrNil&('glCoverageModulationTableNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CoverageModulationTableNV(n: Int32; v: array of single) := CoverageModulationTableNV(n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CoverageModulationTableNV(n: Int32; var v: single) := CoverageModulationTableNV(n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CoverageModulationTableNV(n: Int32; v: pointer) := z_CoverageModulationTableNV(n, v); + + public z_GetCoverageModulationTableNV: procedure(bufsize: Int32; v: pointer) := GetGLFuncOrNil&('glGetCoverageModulationTableNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCoverageModulationTableNV(bufsize: Int32; v: array of single) := GetCoverageModulationTableNV(bufsize, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCoverageModulationTableNV(bufsize: Int32; var v: single) := GetCoverageModulationTableNV(bufsize, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetCoverageModulationTableNV(bufsize: Int32; v: pointer) := z_GetCoverageModulationTableNV(bufsize, v); + + public z_CoverageModulationNV: procedure(components: DummyEnum) := GetGLFuncOrNil&('glCoverageModulationNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CoverageModulationNV(components: DummyEnum) := z_CoverageModulationNV(components); + + {$endregion NV_framebuffer_mixed_samples} + + {$region NV_fence} + + public z_GenFencesNV: procedure(n: Int32; fences: pointer) := GetGLFuncOrNil&('glGenFencesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFencesNV(n: Int32; fences: array of UInt32) := GenFencesNV(n, fences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFencesNV(n: Int32; var fences: UInt32) := GenFencesNV(n, @fences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFencesNV(n: Int32; fences: pointer) := z_GenFencesNV(n, fences); + + public z_DeleteFencesNV: procedure(n: Int32; fences: pointer) := GetGLFuncOrNil&('glDeleteFencesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFencesNV(n: Int32; fences: array of UInt32) := DeleteFencesNV(n, fences[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFencesNV(n: Int32; var fences: UInt32) := DeleteFencesNV(n, @fences); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFencesNV(n: Int32; fences: pointer) := z_DeleteFencesNV(n, fences); + + public z_SetFenceNV: procedure(fence: UInt32; condition: DummyEnum) := GetGLFuncOrNil&('glSetFenceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SetFenceNV(fence: UInt32; condition: DummyEnum) := z_SetFenceNV(fence, condition); + + public z_TestFenceNV: function(fence: UInt32): Byte := GetGLFuncOrNil&('glTestFenceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function TestFenceNV(fence: UInt32): Byte := z_TestFenceNV(fence); + + public z_FinishFenceNV: procedure(fence: UInt32) := GetGLFuncOrNil&('glFinishFenceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FinishFenceNV(fence: UInt32) := z_FinishFenceNV(fence); + + public z_IsFenceNV: function(fence: UInt32): Byte := GetGLFuncOrNil&('glIsFenceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsFenceNV(fence: UInt32): Byte := z_IsFenceNV(fence); + + public z_GetFenceivNV: procedure(fence: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetFenceivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFenceivNV(fence: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetFenceivNV(fence, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFenceivNV(fence: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetFenceivNV(fence, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFenceivNV(fence: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetFenceivNV(fence, pname, ¶ms); + + {$endregion NV_fence} + + {$region NV_query_resource_tag} + + public z_GenQueryResourceTagNV: procedure(n: Int32; tagIds: pointer) := GetGLFuncOrNil&('glGenQueryResourceTagNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueryResourceTagNV(n: Int32; tagIds: array of Int32) := GenQueryResourceTagNV(n, tagIds[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueryResourceTagNV(n: Int32; var tagIds: Int32) := GenQueryResourceTagNV(n, @tagIds); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenQueryResourceTagNV(n: Int32; tagIds: pointer) := z_GenQueryResourceTagNV(n, tagIds); + + public z_DeleteQueryResourceTagNV: procedure(n: Int32; tagIds: pointer) := GetGLFuncOrNil&('glDeleteQueryResourceTagNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueryResourceTagNV(n: Int32; tagIds: array of Int32) := DeleteQueryResourceTagNV(n, tagIds[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueryResourceTagNV(n: Int32; var tagIds: Int32) := DeleteQueryResourceTagNV(n, @tagIds); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteQueryResourceTagNV(n: Int32; tagIds: pointer) := z_DeleteQueryResourceTagNV(n, tagIds); + + public z_QueryResourceTagNV: procedure(tagId: Int32; tagString: IntPtr) := GetGLFuncOrNil&('glQueryResourceTagNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryResourceTagNV(tagId: Int32; tagString: string); begin var ptr_2 := Marshal.StringToHGlobalAnsi(tagString); QueryResourceTagNV(tagId, ptr_2); Marshal.FreeHGlobal(ptr_2); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure QueryResourceTagNV(tagId: Int32; tagString: IntPtr) := z_QueryResourceTagNV(tagId, tagString); + + {$endregion NV_query_resource_tag} + + {$region NV_viewport_array} + + public z_ViewportArrayvNV: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glViewportArrayvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayvNV(first: UInt32; count: Int32; v: array of single) := ViewportArrayvNV(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayvNV(first: UInt32; count: Int32; var v: single) := ViewportArrayvNV(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayvNV(first: UInt32; count: Int32; v: pointer) := z_ViewportArrayvNV(first, count, v); + + public z_ViewportIndexedfNV: procedure(index: UInt32; x: single; y: single; w: single; h: single) := GetGLFuncOrNil&('glViewportIndexedfNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfNV(index: UInt32; x: single; y: single; w: single; h: single) := z_ViewportIndexedfNV(index, x, y, w, h); + + public z_ViewportIndexedfvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glViewportIndexedfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfvNV(index: UInt32; v: array of single) := ViewportIndexedfvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfvNV(index: UInt32; var v: single) := ViewportIndexedfvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfvNV(index: UInt32; v: pointer) := z_ViewportIndexedfvNV(index, v); + + public z_ScissorArrayvNV: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glScissorArrayvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayvNV(first: UInt32; count: Int32; v: array of Int32) := ScissorArrayvNV(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayvNV(first: UInt32; count: Int32; var v: Int32) := ScissorArrayvNV(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayvNV(first: UInt32; count: Int32; v: pointer) := z_ScissorArrayvNV(first, count, v); + + public z_ScissorIndexedNV: procedure(index: UInt32; left: Int32; bottom: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glScissorIndexedNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedNV(index: UInt32; left: Int32; bottom: Int32; width: Int32; height: Int32) := z_ScissorIndexedNV(index, left, bottom, width, height); + + public z_ScissorIndexedvNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glScissorIndexedvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedvNV(index: UInt32; v: array of Int32) := ScissorIndexedvNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedvNV(index: UInt32; var v: Int32) := ScissorIndexedvNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedvNV(index: UInt32; v: pointer) := z_ScissorIndexedvNV(index, v); + + public z_DepthRangeArrayfvNV: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glDepthRangeArrayfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayfvNV(first: UInt32; count: Int32; v: array of single) := DepthRangeArrayfvNV(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayfvNV(first: UInt32; count: Int32; var v: single) := DepthRangeArrayfvNV(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayfvNV(first: UInt32; count: Int32; v: pointer) := z_DepthRangeArrayfvNV(first, count, v); + + public z_DepthRangeIndexedfNV: procedure(index: UInt32; n: single; f: single) := GetGLFuncOrNil&('glDepthRangeIndexedfNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeIndexedfNV(index: UInt32; n: single; f: single) := z_DepthRangeIndexedfNV(index, n, f); + + public z_GetFloati_vNV: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetFloati_vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_vNV(target: GLGetQueries; index: UInt32; data: array of single) := GetFloati_vNV(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_vNV(target: GLGetQueries; index: UInt32; var data: single) := GetFloati_vNV(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_vNV(target: GLGetQueries; index: UInt32; data: pointer) := z_GetFloati_vNV(target, index, data); + + public z_EnableiNV: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glEnableiNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableiNV(target: DummyEnum; index: UInt32) := z_EnableiNV(target, index); + + public z_DisableiNV: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glDisableiNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableiNV(target: DummyEnum; index: UInt32) := z_DisableiNV(target, index); + + public z_IsEnablediNV: function(target: DummyEnum; index: UInt32): Byte := GetGLFuncOrNil&('glIsEnablediNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnablediNV(target: DummyEnum; index: UInt32): Byte := z_IsEnablediNV(target, index); + + {$endregion NV_viewport_array} + + {$region NV_draw_instanced} + + public z_DrawArraysInstancedNV: procedure(mode: DummyEnum; first: Int32; count: Int32; primcount: Int32) := GetGLFuncOrNil&('glDrawArraysInstancedNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawArraysInstancedNV(mode: DummyEnum; first: Int32; count: Int32; primcount: Int32) := z_DrawArraysInstancedNV(mode, first, count, primcount); + + public z_DrawElementsInstancedNV: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := GetGLFuncOrNil&('glDrawElementsInstancedNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedNV(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; primcount: Int32) := z_DrawElementsInstancedNV(mode, count, &type, indices, primcount); + + {$endregion NV_draw_instanced} + + {$region NV_draw_buffers} + + public z_DrawBuffersNV: procedure(n: Int32; bufs: pointer) := GetGLFuncOrNil&('glDrawBuffersNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersNV(n: Int32; bufs: array of DummyEnum) := DrawBuffersNV(n, bufs[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersNV(n: Int32; var bufs: DummyEnum) := DrawBuffersNV(n, @bufs); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawBuffersNV(n: Int32; bufs: pointer) := z_DrawBuffersNV(n, bufs); + + {$endregion NV_draw_buffers} + + {$region NV_mesh_shader} + + public z_DrawMeshTasksNV: procedure(first: UInt32; count: UInt32) := GetGLFuncOrNil&('glDrawMeshTasksNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawMeshTasksNV(first: UInt32; count: UInt32) := z_DrawMeshTasksNV(first, count); + + public z_DrawMeshTasksIndirectNV: procedure(indirect: IntPtr) := GetGLFuncOrNil&('glDrawMeshTasksIndirectNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawMeshTasksIndirectNV(indirect: IntPtr) := z_DrawMeshTasksIndirectNV(indirect); + + public z_MultiDrawMeshTasksIndirectNV: procedure(indirect: IntPtr; drawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawMeshTasksIndirectNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawMeshTasksIndirectNV(indirect: IntPtr; drawcount: Int32; stride: Int32) := z_MultiDrawMeshTasksIndirectNV(indirect, drawcount, stride); + + public z_MultiDrawMeshTasksIndirectCountNV: procedure(indirect: IntPtr; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := GetGLFuncOrNil&('glMultiDrawMeshTasksIndirectCountNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawMeshTasksIndirectCountNV(indirect: IntPtr; drawcount: IntPtr; maxdrawcount: Int32; stride: Int32) := z_MultiDrawMeshTasksIndirectCountNV(indirect, drawcount, maxdrawcount, stride); + + {$endregion NV_mesh_shader} + + {$region NV_draw_texture} + + public z_DrawTextureNV: procedure(texture: UInt32; sampler: UInt32; x0: single; y0: single; x1: single; y1: single; z: single; s0: single; t0: single; s1: single; t1: single) := GetGLFuncOrNil&('glDrawTextureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawTextureNV(texture: UInt32; sampler: UInt32; x0: single; y0: single; x1: single; y1: single; z: single; s0: single; t0: single; s1: single; t1: single) := z_DrawTextureNV(texture, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1); + + {$endregion NV_draw_texture} + + {$region NV_draw_vulkan_image} + + public z_DrawVkImageNV: procedure(vkImage: UInt64; sampler: UInt32; x0: single; y0: single; x1: single; y1: single; z: single; s0: single; t0: single; s1: single; t1: single) := GetGLFuncOrNil&('glDrawVkImageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawVkImageNV(vkImage: UInt64; sampler: UInt32; x0: single; y0: single; x1: single; y1: single; z: single; s0: single; t0: single; s1: single; t1: single) := z_DrawVkImageNV(vkImage, sampler, x0, y0, x1, y1, z, s0, t0, s1, t1); + + public z_GetVkProcAddrNV: function(name: IntPtr): GLVULKANPROCNV := GetGLFuncOrNil&('glGetVkProcAddrNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVkProcAddrNV(name: string): GLVULKANPROCNV; begin var ptr_1 := Marshal.StringToHGlobalAnsi(name); Result := GetVkProcAddrNV(ptr_1); Marshal.FreeHGlobal(ptr_1); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetVkProcAddrNV(name: IntPtr): GLVULKANPROCNV := z_GetVkProcAddrNV(name); + + public z_WaitVkSemaphoreNV: procedure(vkSemaphore: UInt64) := GetGLFuncOrNil&('glWaitVkSemaphoreNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitVkSemaphoreNV(vkSemaphore: UInt64) := z_WaitVkSemaphoreNV(vkSemaphore); + + public z_SignalVkSemaphoreNV: procedure(vkSemaphore: UInt64) := GetGLFuncOrNil&('glSignalVkSemaphoreNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalVkSemaphoreNV(vkSemaphore: UInt64) := z_SignalVkSemaphoreNV(vkSemaphore); + + public z_SignalVkFenceNV: procedure(vkFence: UInt64) := GetGLFuncOrNil&('glSignalVkFenceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalVkFenceNV(vkFence: UInt64) := z_SignalVkFenceNV(vkFence); + + {$endregion NV_draw_vulkan_image} + + {$region NV_evaluators} + + public z_MapControlPointsNV: procedure(target: DummyEnum; index: UInt32; &type: DummyEnum; ustride: Int32; vstride: Int32; uorder: Int32; vorder: Int32; &packed: Byte; points: pointer) := GetGLFuncOrNil&('glMapControlPointsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapControlPointsNV(target: DummyEnum; index: UInt32; &type: DummyEnum; ustride: Int32; vstride: Int32; uorder: Int32; vorder: Int32; &packed: Byte; points: pointer) := z_MapControlPointsNV(target, index, &type, ustride, vstride, uorder, vorder, &packed, points); + + public z_MapParameterivNV: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glMapParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapParameterivNV(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := MapParameterivNV(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapParameterivNV(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := MapParameterivNV(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapParameterivNV(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_MapParameterivNV(target, pname, ¶ms); + + public z_MapParameterfvNV: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glMapParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapParameterfvNV(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := MapParameterfvNV(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapParameterfvNV(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := MapParameterfvNV(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapParameterfvNV(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_MapParameterfvNV(target, pname, ¶ms); + + public z_GetMapControlPointsNV: procedure(target: DummyEnum; index: UInt32; &type: DummyEnum; ustride: Int32; vstride: Int32; &packed: Byte; points: pointer) := GetGLFuncOrNil&('glGetMapControlPointsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapControlPointsNV(target: DummyEnum; index: UInt32; &type: DummyEnum; ustride: Int32; vstride: Int32; &packed: Byte; points: pointer) := z_GetMapControlPointsNV(target, index, &type, ustride, vstride, &packed, points); + + public z_GetMapParameterivNV: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMapParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapParameterivNV(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetMapParameterivNV(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapParameterivNV(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetMapParameterivNV(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapParameterivNV(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetMapParameterivNV(target, pname, ¶ms); + + public z_GetMapParameterfvNV: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMapParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapParameterfvNV(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetMapParameterfvNV(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapParameterfvNV(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetMapParameterfvNV(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapParameterfvNV(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetMapParameterfvNV(target, pname, ¶ms); + + public z_GetMapAttribParameterivNV: procedure(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMapAttribParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapAttribParameterivNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetMapAttribParameterivNV(target, index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapAttribParameterivNV(target: DummyEnum; index: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetMapAttribParameterivNV(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapAttribParameterivNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetMapAttribParameterivNV(target, index, pname, ¶ms); + + public z_GetMapAttribParameterfvNV: procedure(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetMapAttribParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapAttribParameterfvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: array of single) := GetMapAttribParameterfvNV(target, index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapAttribParameterfvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; var ¶ms: single) := GetMapAttribParameterfvNV(target, index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapAttribParameterfvNV(target: DummyEnum; index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetMapAttribParameterfvNV(target, index, pname, ¶ms); + + public z_EvalMapsNV: procedure(target: DummyEnum; mode: DummyEnum) := GetGLFuncOrNil&('glEvalMapsNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalMapsNV(target: DummyEnum; mode: DummyEnum) := z_EvalMapsNV(target, mode); + + {$endregion NV_evaluators} + + {$region NV_pixel_data_range} + + public z_PixelDataRangeNV: procedure(target: DummyEnum; length: Int32; _pointer: pointer) := GetGLFuncOrNil&('glPixelDataRangeNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelDataRangeNV(target: DummyEnum; length: Int32; _pointer: pointer) := z_PixelDataRangeNV(target, length, _pointer); + + public z_FlushPixelDataRangeNV: procedure(target: DummyEnum) := GetGLFuncOrNil&('glFlushPixelDataRangeNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FlushPixelDataRangeNV(target: DummyEnum) := z_FlushPixelDataRangeNV(target); + + {$endregion NV_pixel_data_range} + + {$region NV_fragment_coverage_to_color} + + public z_FragmentCoverageColorNV: procedure(color: UInt32) := GetGLFuncOrNil&('glFragmentCoverageColorNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FragmentCoverageColorNV(color: UInt32) := z_FragmentCoverageColorNV(color); + + {$endregion NV_fragment_coverage_to_color} + + {$region NV_sample_locations} + + public z_FramebufferSampleLocationsfvNV: procedure(target: DummyEnum; start: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glFramebufferSampleLocationsfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSampleLocationsfvNV(target: DummyEnum; start: UInt32; count: Int32; v: array of single) := FramebufferSampleLocationsfvNV(target, start, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSampleLocationsfvNV(target: DummyEnum; start: UInt32; count: Int32; var v: single) := FramebufferSampleLocationsfvNV(target, start, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferSampleLocationsfvNV(target: DummyEnum; start: UInt32; count: Int32; v: pointer) := z_FramebufferSampleLocationsfvNV(target, start, count, v); + + public z_NamedFramebufferSampleLocationsfvNV: procedure(framebuffer: UInt32; start: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glNamedFramebufferSampleLocationsfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSampleLocationsfvNV(framebuffer: UInt32; start: UInt32; count: Int32; v: array of single) := NamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSampleLocationsfvNV(framebuffer: UInt32; start: UInt32; count: Int32; var v: single) := NamedFramebufferSampleLocationsfvNV(framebuffer, start, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferSampleLocationsfvNV(framebuffer: UInt32; start: UInt32; count: Int32; v: pointer) := z_NamedFramebufferSampleLocationsfvNV(framebuffer, start, count, v); + + public z_ResolveDepthValuesNV: procedure := GetGLFuncOrNil&('glResolveDepthValuesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ResolveDepthValuesNV := z_ResolveDepthValuesNV; + + {$endregion NV_sample_locations} + + {$region NV_shader_buffer_load} + + public z_MakeBufferResidentNV: procedure(target: DummyEnum; access: DummyEnum) := GetGLFuncOrNil&('glMakeBufferResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeBufferResidentNV(target: DummyEnum; access: DummyEnum) := z_MakeBufferResidentNV(target, access); + + public z_MakeBufferNonResidentNV: procedure(target: DummyEnum) := GetGLFuncOrNil&('glMakeBufferNonResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeBufferNonResidentNV(target: DummyEnum) := z_MakeBufferNonResidentNV(target); + + public z_IsBufferResidentNV: function(target: DummyEnum): Byte := GetGLFuncOrNil&('glIsBufferResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsBufferResidentNV(target: DummyEnum): Byte := z_IsBufferResidentNV(target); + + public z_MakeNamedBufferResidentNV: procedure(buffer: UInt32; access: DummyEnum) := GetGLFuncOrNil&('glMakeNamedBufferResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeNamedBufferResidentNV(buffer: UInt32; access: DummyEnum) := z_MakeNamedBufferResidentNV(buffer, access); + + public z_MakeNamedBufferNonResidentNV: procedure(buffer: UInt32) := GetGLFuncOrNil&('glMakeNamedBufferNonResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeNamedBufferNonResidentNV(buffer: UInt32) := z_MakeNamedBufferNonResidentNV(buffer); + + public z_IsNamedBufferResidentNV: function(buffer: UInt32): Byte := GetGLFuncOrNil&('glIsNamedBufferResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsNamedBufferResidentNV(buffer: UInt32): Byte := z_IsNamedBufferResidentNV(buffer); + + public z_GetBufferParameterui64vNV: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetBufferParameterui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameterui64vNV(target: DummyEnum; pname: DummyEnum; ¶ms: array of UInt64) := GetBufferParameterui64vNV(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameterui64vNV(target: DummyEnum; pname: DummyEnum; var ¶ms: UInt64) := GetBufferParameterui64vNV(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferParameterui64vNV(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetBufferParameterui64vNV(target, pname, ¶ms); + + public z_GetNamedBufferParameterui64vNV: procedure(buffer: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetNamedBufferParameterui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameterui64vNV(buffer: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := GetNamedBufferParameterui64vNV(buffer, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameterui64vNV(buffer: UInt32; pname: DummyEnum; var ¶ms: UInt64) := GetNamedBufferParameterui64vNV(buffer, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetNamedBufferParameterui64vNV(buffer: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetNamedBufferParameterui64vNV(buffer, pname, ¶ms); + + public z_GetIntegerui64vNV: procedure(value: GLGetQueries; result: pointer) := GetGLFuncOrNil&('glGetIntegerui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerui64vNV(value: GLGetQueries; result: array of UInt64) := GetIntegerui64vNV(value, result[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerui64vNV(value: GLGetQueries; var result: UInt64) := GetIntegerui64vNV(value, @result); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetIntegerui64vNV(value: GLGetQueries; result: pointer) := z_GetIntegerui64vNV(value, result); + + public z_Uniformui64NV: procedure(location: Int32; value: UInt64) := GetGLFuncOrNil&('glUniformui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniformui64NV(location: Int32; value: UInt64) := z_Uniformui64NV(location, value); + + public z_Uniformui64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniformui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniformui64vNV(location: Int32; count: Int32; value: array of UInt64) := Uniformui64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniformui64vNV(location: Int32; count: Int32; var value: UInt64) := Uniformui64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniformui64vNV(location: Int32; count: Int32; value: pointer) := z_Uniformui64vNV(location, count, value); + + public z_ProgramUniformui64NV: procedure(&program: UInt32; location: Int32; value: UInt64) := GetGLFuncOrNil&('glProgramUniformui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformui64NV(&program: UInt32; location: Int32; value: UInt64) := z_ProgramUniformui64NV(&program, location, value); + + public z_ProgramUniformui64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniformui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformui64vNV(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniformui64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformui64vNV(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniformui64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformui64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniformui64vNV(&program, location, count, value); + + {$endregion NV_shader_buffer_load} + + {$region NV_bindless_texture} + + public z_GetTextureHandleNV: function(texture: UInt32): UInt64 := GetGLFuncOrNil&('glGetTextureHandleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTextureHandleNV(texture: UInt32): UInt64 := z_GetTextureHandleNV(texture); + + public z_GetTextureSamplerHandleNV: function(texture: UInt32; sampler: UInt32): UInt64 := GetGLFuncOrNil&('glGetTextureSamplerHandleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetTextureSamplerHandleNV(texture: UInt32; sampler: UInt32): UInt64 := z_GetTextureSamplerHandleNV(texture, sampler); + + public z_MakeTextureHandleResidentNV: procedure(handle: UInt64) := GetGLFuncOrNil&('glMakeTextureHandleResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeTextureHandleResidentNV(handle: UInt64) := z_MakeTextureHandleResidentNV(handle); + + public z_MakeTextureHandleNonResidentNV: procedure(handle: UInt64) := GetGLFuncOrNil&('glMakeTextureHandleNonResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeTextureHandleNonResidentNV(handle: UInt64) := z_MakeTextureHandleNonResidentNV(handle); + + public z_GetImageHandleNV: function(texture: UInt32; level: Int32; layered: Byte; layer: Int32; format: DummyEnum): UInt64 := GetGLFuncOrNil&('glGetImageHandleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetImageHandleNV(texture: UInt32; level: Int32; layered: Byte; layer: Int32; format: DummyEnum): UInt64 := z_GetImageHandleNV(texture, level, layered, layer, format); + + public z_MakeImageHandleResidentNV: procedure(handle: UInt64; access: DummyEnum) := GetGLFuncOrNil&('glMakeImageHandleResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeImageHandleResidentNV(handle: UInt64; access: DummyEnum) := z_MakeImageHandleResidentNV(handle, access); + + public z_MakeImageHandleNonResidentNV: procedure(handle: UInt64) := GetGLFuncOrNil&('glMakeImageHandleNonResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MakeImageHandleNonResidentNV(handle: UInt64) := z_MakeImageHandleNonResidentNV(handle); + + public z_UniformHandleui64NV: procedure(location: Int32; value: UInt64) := GetGLFuncOrNil&('glUniformHandleui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64NV(location: Int32; value: UInt64) := z_UniformHandleui64NV(location, value); + + public z_UniformHandleui64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniformHandleui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vNV(location: Int32; count: Int32; value: array of UInt64) := UniformHandleui64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vNV(location: Int32; count: Int32; var value: UInt64) := UniformHandleui64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformHandleui64vNV(location: Int32; count: Int32; value: pointer) := z_UniformHandleui64vNV(location, count, value); + + public z_ProgramUniformHandleui64NV: procedure(&program: UInt32; location: Int32; value: UInt64) := GetGLFuncOrNil&('glProgramUniformHandleui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64NV(&program: UInt32; location: Int32; value: UInt64) := z_ProgramUniformHandleui64NV(&program, location, value); + + public z_ProgramUniformHandleui64vNV: procedure(&program: UInt32; location: Int32; count: Int32; values: pointer) := GetGLFuncOrNil&('glProgramUniformHandleui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vNV(&program: UInt32; location: Int32; count: Int32; values: array of UInt64) := ProgramUniformHandleui64vNV(&program, location, count, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vNV(&program: UInt32; location: Int32; count: Int32; var values: UInt64) := ProgramUniformHandleui64vNV(&program, location, count, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniformHandleui64vNV(&program: UInt32; location: Int32; count: Int32; values: pointer) := z_ProgramUniformHandleui64vNV(&program, location, count, values); + + public z_IsTextureHandleResidentNV: function(handle: UInt64): Byte := GetGLFuncOrNil&('glIsTextureHandleResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsTextureHandleResidentNV(handle: UInt64): Byte := z_IsTextureHandleResidentNV(handle); + + public z_IsImageHandleResidentNV: function(handle: UInt64): Byte := GetGLFuncOrNil&('glIsImageHandleResidentNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsImageHandleResidentNV(handle: UInt64): Byte := z_IsImageHandleResidentNV(handle); + + {$endregion NV_bindless_texture} + + {$region NV_internalformat_sample_query} + + public z_GetInternalformatSampleivNV: procedure(target: DummyEnum; internalformat: DummyEnum; samples: Int32; pname: DummyEnum; bufSize: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetInternalformatSampleivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformatSampleivNV(target: DummyEnum; internalformat: DummyEnum; samples: Int32; pname: DummyEnum; bufSize: Int32; ¶ms: array of Int32) := GetInternalformatSampleivNV(target, internalformat, samples, pname, bufSize, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformatSampleivNV(target: DummyEnum; internalformat: DummyEnum; samples: Int32; pname: DummyEnum; bufSize: Int32; var ¶ms: Int32) := GetInternalformatSampleivNV(target, internalformat, samples, pname, bufSize, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetInternalformatSampleivNV(target: DummyEnum; internalformat: DummyEnum; samples: Int32; pname: DummyEnum; bufSize: Int32; ¶ms: pointer) := z_GetInternalformatSampleivNV(target, internalformat, samples, pname, bufSize, ¶ms); + + {$endregion NV_internalformat_sample_query} + + {$region NV_explicit_multisample} + + public z_GetMultisamplefvNV: procedure(pname: DummyEnum; index: UInt32; val: pointer) := GetGLFuncOrNil&('glGetMultisamplefvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMultisamplefvNV(pname: DummyEnum; index: UInt32; val: array of single) := GetMultisamplefvNV(pname, index, val[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMultisamplefvNV(pname: DummyEnum; index: UInt32; var val: single) := GetMultisamplefvNV(pname, index, @val); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMultisamplefvNV(pname: DummyEnum; index: UInt32; val: pointer) := z_GetMultisamplefvNV(pname, index, val); + + public z_SampleMaskIndexedNV: procedure(index: UInt32; mask: DummyFlags) := GetGLFuncOrNil&('glSampleMaskIndexedNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleMaskIndexedNV(index: UInt32; mask: DummyFlags) := z_SampleMaskIndexedNV(index, mask); + + public z_TexRenderbufferNV: procedure(target: DummyEnum; renderbuffer: UInt32) := GetGLFuncOrNil&('glTexRenderbufferNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexRenderbufferNV(target: DummyEnum; renderbuffer: UInt32) := z_TexRenderbufferNV(target, renderbuffer); + + {$endregion NV_explicit_multisample} + + {$region NV_gpu_program4} + + public z_ProgramLocalParameterI4iNV: procedure(target: DummyEnum; index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := GetGLFuncOrNil&('glProgramLocalParameterI4iNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4iNV(target: DummyEnum; index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := z_ProgramLocalParameterI4iNV(target, index, x, y, z, w); + + public z_ProgramLocalParameterI4ivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramLocalParameterI4ivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4ivNV(target: DummyEnum; index: UInt32; ¶ms: array of Int32) := ProgramLocalParameterI4ivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4ivNV(target: DummyEnum; index: UInt32; var ¶ms: Int32) := ProgramLocalParameterI4ivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4ivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramLocalParameterI4ivNV(target, index, ¶ms); + + public z_ProgramLocalParametersI4ivNV: procedure(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramLocalParametersI4ivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParametersI4ivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: array of Int32) := ProgramLocalParametersI4ivNV(target, index, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParametersI4ivNV(target: DummyEnum; index: UInt32; count: Int32; var ¶ms: Int32) := ProgramLocalParametersI4ivNV(target, index, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParametersI4ivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := z_ProgramLocalParametersI4ivNV(target, index, count, ¶ms); + + public z_ProgramLocalParameterI4uiNV: procedure(target: DummyEnum; index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := GetGLFuncOrNil&('glProgramLocalParameterI4uiNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4uiNV(target: DummyEnum; index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := z_ProgramLocalParameterI4uiNV(target, index, x, y, z, w); + + public z_ProgramLocalParameterI4uivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramLocalParameterI4uivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4uivNV(target: DummyEnum; index: UInt32; ¶ms: array of UInt32) := ProgramLocalParameterI4uivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4uivNV(target: DummyEnum; index: UInt32; var ¶ms: UInt32) := ProgramLocalParameterI4uivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParameterI4uivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramLocalParameterI4uivNV(target, index, ¶ms); + + public z_ProgramLocalParametersI4uivNV: procedure(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramLocalParametersI4uivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParametersI4uivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: array of UInt32) := ProgramLocalParametersI4uivNV(target, index, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParametersI4uivNV(target: DummyEnum; index: UInt32; count: Int32; var ¶ms: UInt32) := ProgramLocalParametersI4uivNV(target, index, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramLocalParametersI4uivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := z_ProgramLocalParametersI4uivNV(target, index, count, ¶ms); + + public z_ProgramEnvParameterI4iNV: procedure(target: DummyEnum; index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := GetGLFuncOrNil&('glProgramEnvParameterI4iNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4iNV(target: DummyEnum; index: UInt32; x: Int32; y: Int32; z: Int32; w: Int32) := z_ProgramEnvParameterI4iNV(target, index, x, y, z, w); + + public z_ProgramEnvParameterI4ivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramEnvParameterI4ivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4ivNV(target: DummyEnum; index: UInt32; ¶ms: array of Int32) := ProgramEnvParameterI4ivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4ivNV(target: DummyEnum; index: UInt32; var ¶ms: Int32) := ProgramEnvParameterI4ivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4ivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramEnvParameterI4ivNV(target, index, ¶ms); + + public z_ProgramEnvParametersI4ivNV: procedure(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramEnvParametersI4ivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParametersI4ivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: array of Int32) := ProgramEnvParametersI4ivNV(target, index, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParametersI4ivNV(target: DummyEnum; index: UInt32; count: Int32; var ¶ms: Int32) := ProgramEnvParametersI4ivNV(target, index, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParametersI4ivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := z_ProgramEnvParametersI4ivNV(target, index, count, ¶ms); + + public z_ProgramEnvParameterI4uiNV: procedure(target: DummyEnum; index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := GetGLFuncOrNil&('glProgramEnvParameterI4uiNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4uiNV(target: DummyEnum; index: UInt32; x: UInt32; y: UInt32; z: UInt32; w: UInt32) := z_ProgramEnvParameterI4uiNV(target, index, x, y, z, w); + + public z_ProgramEnvParameterI4uivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramEnvParameterI4uivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4uivNV(target: DummyEnum; index: UInt32; ¶ms: array of UInt32) := ProgramEnvParameterI4uivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4uivNV(target: DummyEnum; index: UInt32; var ¶ms: UInt32) := ProgramEnvParameterI4uivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParameterI4uivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_ProgramEnvParameterI4uivNV(target, index, ¶ms); + + public z_ProgramEnvParametersI4uivNV: procedure(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramEnvParametersI4uivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParametersI4uivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: array of UInt32) := ProgramEnvParametersI4uivNV(target, index, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParametersI4uivNV(target: DummyEnum; index: UInt32; count: Int32; var ¶ms: UInt32) := ProgramEnvParametersI4uivNV(target, index, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramEnvParametersI4uivNV(target: DummyEnum; index: UInt32; count: Int32; ¶ms: pointer) := z_ProgramEnvParametersI4uivNV(target, index, count, ¶ms); + + public z_GetProgramLocalParameterIivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramLocalParameterIivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterIivNV(target: DummyEnum; index: UInt32; ¶ms: array of Int32) := GetProgramLocalParameterIivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterIivNV(target: DummyEnum; index: UInt32; var ¶ms: Int32) := GetProgramLocalParameterIivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterIivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramLocalParameterIivNV(target, index, ¶ms); + + public z_GetProgramLocalParameterIuivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramLocalParameterIuivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterIuivNV(target: DummyEnum; index: UInt32; ¶ms: array of UInt32) := GetProgramLocalParameterIuivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterIuivNV(target: DummyEnum; index: UInt32; var ¶ms: UInt32) := GetProgramLocalParameterIuivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramLocalParameterIuivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramLocalParameterIuivNV(target, index, ¶ms); + + public z_GetProgramEnvParameterIivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramEnvParameterIivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterIivNV(target: DummyEnum; index: UInt32; ¶ms: array of Int32) := GetProgramEnvParameterIivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterIivNV(target: DummyEnum; index: UInt32; var ¶ms: Int32) := GetProgramEnvParameterIivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterIivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramEnvParameterIivNV(target, index, ¶ms); + + public z_GetProgramEnvParameterIuivNV: procedure(target: DummyEnum; index: UInt32; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramEnvParameterIuivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterIuivNV(target: DummyEnum; index: UInt32; ¶ms: array of UInt32) := GetProgramEnvParameterIuivNV(target, index, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterIuivNV(target: DummyEnum; index: UInt32; var ¶ms: UInt32) := GetProgramEnvParameterIuivNV(target, index, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramEnvParameterIuivNV(target: DummyEnum; index: UInt32; ¶ms: pointer) := z_GetProgramEnvParameterIuivNV(target, index, ¶ms); + + {$endregion NV_gpu_program4} + + {$region NV_fragment_program} + + public z_ProgramNamedParameter4fNV: procedure(id: UInt32; len: Int32; name: pointer; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glProgramNamedParameter4fNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fNV(id: UInt32; len: Int32; name: array of Byte; x: single; y: single; z: single; w: single) := ProgramNamedParameter4fNV(id, len, name[0], x, y, z, w); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fNV(id: UInt32; len: Int32; var name: Byte; x: single; y: single; z: single; w: single) := ProgramNamedParameter4fNV(id, len, @name, x, y, z, w); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fNV(id: UInt32; len: Int32; name: pointer; x: single; y: single; z: single; w: single) := z_ProgramNamedParameter4fNV(id, len, name, x, y, z, w); + + public z_ProgramNamedParameter4dNV: procedure(id: UInt32; len: Int32; name: pointer; x: double; y: double; z: double; w: double) := GetGLFuncOrNil&('glProgramNamedParameter4dNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dNV(id: UInt32; len: Int32; name: array of Byte; x: double; y: double; z: double; w: double) := ProgramNamedParameter4dNV(id, len, name[0], x, y, z, w); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dNV(id: UInt32; len: Int32; var name: Byte; x: double; y: double; z: double; w: double) := ProgramNamedParameter4dNV(id, len, @name, x, y, z, w); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dNV(id: UInt32; len: Int32; name: pointer; x: double; y: double; z: double; w: double) := z_ProgramNamedParameter4dNV(id, len, name, x, y, z, w); + + public z_ProgramNamedParameter4fvNV: procedure(id: UInt32; len: Int32; name: pointer; v: pointer) := GetGLFuncOrNil&('glProgramNamedParameter4fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; name: array of Byte; v: array of single) := ProgramNamedParameter4fvNV(id, len, name[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; name: array of Byte; var v: single) := ProgramNamedParameter4fvNV(id, len, name[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; name: array of Byte; v: pointer) := ProgramNamedParameter4fvNV(id, len, name[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; var name: Byte; v: array of single) := ProgramNamedParameter4fvNV(id, len, @name, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; var name: Byte; var v: single) := ProgramNamedParameter4fvNV(id, len, @name, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; var name: Byte; v: pointer) := ProgramNamedParameter4fvNV(id, len, @name, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; name: pointer; v: array of single) := ProgramNamedParameter4fvNV(id, len, name, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; name: pointer; var v: single) := ProgramNamedParameter4fvNV(id, len, name, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4fvNV(id: UInt32; len: Int32; name: pointer; v: pointer) := z_ProgramNamedParameter4fvNV(id, len, name, v); + + public z_ProgramNamedParameter4dvNV: procedure(id: UInt32; len: Int32; name: pointer; v: pointer) := GetGLFuncOrNil&('glProgramNamedParameter4dvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; name: array of Byte; v: array of double) := ProgramNamedParameter4dvNV(id, len, name[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; name: array of Byte; var v: double) := ProgramNamedParameter4dvNV(id, len, name[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; name: array of Byte; v: pointer) := ProgramNamedParameter4dvNV(id, len, name[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; var name: Byte; v: array of double) := ProgramNamedParameter4dvNV(id, len, @name, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; var name: Byte; var v: double) := ProgramNamedParameter4dvNV(id, len, @name, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; var name: Byte; v: pointer) := ProgramNamedParameter4dvNV(id, len, @name, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; name: pointer; v: array of double) := ProgramNamedParameter4dvNV(id, len, name, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; name: pointer; var v: double) := ProgramNamedParameter4dvNV(id, len, name, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramNamedParameter4dvNV(id: UInt32; len: Int32; name: pointer; v: pointer) := z_ProgramNamedParameter4dvNV(id, len, name, v); + + public z_GetProgramNamedParameterfvNV: procedure(id: UInt32; len: Int32; name: pointer; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramNamedParameterfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; name: array of Byte; ¶ms: array of single) := GetProgramNamedParameterfvNV(id, len, name[0], ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; name: array of Byte; var ¶ms: single) := GetProgramNamedParameterfvNV(id, len, name[0], @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; name: array of Byte; ¶ms: pointer) := GetProgramNamedParameterfvNV(id, len, name[0], ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; var name: Byte; ¶ms: array of single) := GetProgramNamedParameterfvNV(id, len, @name, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; var name: Byte; var ¶ms: single) := GetProgramNamedParameterfvNV(id, len, @name, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; var name: Byte; ¶ms: pointer) := GetProgramNamedParameterfvNV(id, len, @name, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; name: pointer; ¶ms: array of single) := GetProgramNamedParameterfvNV(id, len, name, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; name: pointer; var ¶ms: single) := GetProgramNamedParameterfvNV(id, len, name, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterfvNV(id: UInt32; len: Int32; name: pointer; ¶ms: pointer) := z_GetProgramNamedParameterfvNV(id, len, name, ¶ms); + + public z_GetProgramNamedParameterdvNV: procedure(id: UInt32; len: Int32; name: pointer; ¶ms: pointer) := GetGLFuncOrNil&('glGetProgramNamedParameterdvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; name: array of Byte; ¶ms: array of double) := GetProgramNamedParameterdvNV(id, len, name[0], ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; name: array of Byte; var ¶ms: double) := GetProgramNamedParameterdvNV(id, len, name[0], @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; name: array of Byte; ¶ms: pointer) := GetProgramNamedParameterdvNV(id, len, name[0], ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; var name: Byte; ¶ms: array of double) := GetProgramNamedParameterdvNV(id, len, @name, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; var name: Byte; var ¶ms: double) := GetProgramNamedParameterdvNV(id, len, @name, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; var name: Byte; ¶ms: pointer) := GetProgramNamedParameterdvNV(id, len, @name, ¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; name: pointer; ¶ms: array of double) := GetProgramNamedParameterdvNV(id, len, name, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; name: pointer; var ¶ms: double) := GetProgramNamedParameterdvNV(id, len, name, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramNamedParameterdvNV(id: UInt32; len: Int32; name: pointer; ¶ms: pointer) := z_GetProgramNamedParameterdvNV(id, len, name, ¶ms); + + {$endregion NV_fragment_program} + + {$region AMD_gpu_shader_int64 NV_gpu_shader5} + + public z_Uniform1i64NV: procedure(location: Int32; x: Int64) := GetGLFuncOrNil&('glUniform1i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64NV(location: Int32; x: Int64) := z_Uniform1i64NV(location, x); + + public z_Uniform2i64NV: procedure(location: Int32; x: Int64; y: Int64) := GetGLFuncOrNil&('glUniform2i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64NV(location: Int32; x: Int64; y: Int64) := z_Uniform2i64NV(location, x, y); + + public z_Uniform3i64NV: procedure(location: Int32; x: Int64; y: Int64; z: Int64) := GetGLFuncOrNil&('glUniform3i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64NV(location: Int32; x: Int64; y: Int64; z: Int64) := z_Uniform3i64NV(location, x, y, z); + + public z_Uniform4i64NV: procedure(location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := GetGLFuncOrNil&('glUniform4i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64NV(location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := z_Uniform4i64NV(location, x, y, z, w); + + public z_Uniform1i64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64vNV(location: Int32; count: Int32; value: array of Int64) := Uniform1i64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64vNV(location: Int32; count: Int32; var value: Int64) := Uniform1i64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1i64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform1i64vNV(location, count, value); + + public z_Uniform2i64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64vNV(location: Int32; count: Int32; value: array of Int64) := Uniform2i64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64vNV(location: Int32; count: Int32; var value: Int64) := Uniform2i64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2i64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform2i64vNV(location, count, value); + + public z_Uniform3i64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64vNV(location: Int32; count: Int32; value: array of Int64) := Uniform3i64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64vNV(location: Int32; count: Int32; var value: Int64) := Uniform3i64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3i64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform3i64vNV(location, count, value); + + public z_Uniform4i64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64vNV(location: Int32; count: Int32; value: array of Int64) := Uniform4i64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64vNV(location: Int32; count: Int32; var value: Int64) := Uniform4i64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4i64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform4i64vNV(location, count, value); + + public z_Uniform1ui64NV: procedure(location: Int32; x: UInt64) := GetGLFuncOrNil&('glUniform1ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64NV(location: Int32; x: UInt64) := z_Uniform1ui64NV(location, x); + + public z_Uniform2ui64NV: procedure(location: Int32; x: UInt64; y: UInt64) := GetGLFuncOrNil&('glUniform2ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64NV(location: Int32; x: UInt64; y: UInt64) := z_Uniform2ui64NV(location, x, y); + + public z_Uniform3ui64NV: procedure(location: Int32; x: UInt64; y: UInt64; z: UInt64) := GetGLFuncOrNil&('glUniform3ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64NV(location: Int32; x: UInt64; y: UInt64; z: UInt64) := z_Uniform3ui64NV(location, x, y, z); + + public z_Uniform4ui64NV: procedure(location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := GetGLFuncOrNil&('glUniform4ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64NV(location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := z_Uniform4ui64NV(location, x, y, z, w); + + public z_Uniform1ui64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform1ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64vNV(location: Int32; count: Int32; value: array of UInt64) := Uniform1ui64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64vNV(location: Int32; count: Int32; var value: UInt64) := Uniform1ui64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform1ui64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform1ui64vNV(location, count, value); + + public z_Uniform2ui64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform2ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64vNV(location: Int32; count: Int32; value: array of UInt64) := Uniform2ui64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64vNV(location: Int32; count: Int32; var value: UInt64) := Uniform2ui64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform2ui64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform2ui64vNV(location, count, value); + + public z_Uniform3ui64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform3ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64vNV(location: Int32; count: Int32; value: array of UInt64) := Uniform3ui64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64vNV(location: Int32; count: Int32; var value: UInt64) := Uniform3ui64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform3ui64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform3ui64vNV(location, count, value); + + public z_Uniform4ui64vNV: procedure(location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glUniform4ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64vNV(location: Int32; count: Int32; value: array of UInt64) := Uniform4ui64vNV(location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64vNV(location: Int32; count: Int32; var value: UInt64) := Uniform4ui64vNV(location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Uniform4ui64vNV(location: Int32; count: Int32; value: pointer) := z_Uniform4ui64vNV(location, count, value); + + public z_GetUniformi64vNV: procedure(&program: UInt32; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformi64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformi64vNV(&program: UInt32; location: Int32; ¶ms: array of Int64) := GetUniformi64vNV(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformi64vNV(&program: UInt32; location: Int32; var ¶ms: Int64) := GetUniformi64vNV(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformi64vNV(&program: UInt32; location: Int32; ¶ms: pointer) := z_GetUniformi64vNV(&program, location, ¶ms); + + public z_ProgramUniform1i64NV: procedure(&program: UInt32; location: Int32; x: Int64) := GetGLFuncOrNil&('glProgramUniform1i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64NV(&program: UInt32; location: Int32; x: Int64) := z_ProgramUniform1i64NV(&program, location, x); + + public z_ProgramUniform2i64NV: procedure(&program: UInt32; location: Int32; x: Int64; y: Int64) := GetGLFuncOrNil&('glProgramUniform2i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64NV(&program: UInt32; location: Int32; x: Int64; y: Int64) := z_ProgramUniform2i64NV(&program, location, x, y); + + public z_ProgramUniform3i64NV: procedure(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64) := GetGLFuncOrNil&('glProgramUniform3i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64NV(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64) := z_ProgramUniform3i64NV(&program, location, x, y, z); + + public z_ProgramUniform4i64NV: procedure(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := GetGLFuncOrNil&('glProgramUniform4i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64NV(&program: UInt32; location: Int32; x: Int64; y: Int64; z: Int64; w: Int64) := z_ProgramUniform4i64NV(&program, location, x, y, z, w); + + public z_ProgramUniform1i64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64vNV(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform1i64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64vNV(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform1i64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1i64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1i64vNV(&program, location, count, value); + + public z_ProgramUniform2i64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64vNV(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform2i64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64vNV(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform2i64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2i64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2i64vNV(&program, location, count, value); + + public z_ProgramUniform3i64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64vNV(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform3i64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64vNV(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform3i64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3i64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3i64vNV(&program, location, count, value); + + public z_ProgramUniform4i64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64vNV(&program: UInt32; location: Int32; count: Int32; value: array of Int64) := ProgramUniform4i64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64vNV(&program: UInt32; location: Int32; count: Int32; var value: Int64) := ProgramUniform4i64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4i64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4i64vNV(&program, location, count, value); + + public z_ProgramUniform1ui64NV: procedure(&program: UInt32; location: Int32; x: UInt64) := GetGLFuncOrNil&('glProgramUniform1ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64NV(&program: UInt32; location: Int32; x: UInt64) := z_ProgramUniform1ui64NV(&program, location, x); + + public z_ProgramUniform2ui64NV: procedure(&program: UInt32; location: Int32; x: UInt64; y: UInt64) := GetGLFuncOrNil&('glProgramUniform2ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64NV(&program: UInt32; location: Int32; x: UInt64; y: UInt64) := z_ProgramUniform2ui64NV(&program, location, x, y); + + public z_ProgramUniform3ui64NV: procedure(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64) := GetGLFuncOrNil&('glProgramUniform3ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64NV(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64) := z_ProgramUniform3ui64NV(&program, location, x, y, z); + + public z_ProgramUniform4ui64NV: procedure(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := GetGLFuncOrNil&('glProgramUniform4ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64NV(&program: UInt32; location: Int32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := z_ProgramUniform4ui64NV(&program, location, x, y, z, w); + + public z_ProgramUniform1ui64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform1ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64vNV(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform1ui64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64vNV(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform1ui64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform1ui64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform1ui64vNV(&program, location, count, value); + + public z_ProgramUniform2ui64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform2ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64vNV(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform2ui64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64vNV(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform2ui64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform2ui64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform2ui64vNV(&program, location, count, value); + + public z_ProgramUniform3ui64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform3ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64vNV(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform3ui64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64vNV(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform3ui64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform3ui64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform3ui64vNV(&program, location, count, value); + + public z_ProgramUniform4ui64vNV: procedure(&program: UInt32; location: Int32; count: Int32; value: pointer) := GetGLFuncOrNil&('glProgramUniform4ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64vNV(&program: UInt32; location: Int32; count: Int32; value: array of UInt64) := ProgramUniform4ui64vNV(&program, location, count, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64vNV(&program: UInt32; location: Int32; count: Int32; var value: UInt64) := ProgramUniform4ui64vNV(&program, location, count, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramUniform4ui64vNV(&program: UInt32; location: Int32; count: Int32; value: pointer) := z_ProgramUniform4ui64vNV(&program, location, count, value); + + {$endregion AMD_gpu_shader_int64 NV_gpu_shader5} + + {$region AMD_gpu_shader_int64 NV_gpu_shader5 NV_shader_buffer_load} + + public z_GetUniformui64vNV: procedure(&program: UInt32; location: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glGetUniformui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformui64vNV(&program: UInt32; location: Int32; ¶ms: array of UInt64) := GetUniformui64vNV(&program, location, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformui64vNV(&program: UInt32; location: Int32; var ¶ms: UInt64) := GetUniformui64vNV(&program, location, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetUniformui64vNV(&program: UInt32; location: Int32; ¶ms: pointer) := z_GetUniformui64vNV(&program, location, ¶ms); + + {$endregion AMD_gpu_shader_int64 NV_gpu_shader5 NV_shader_buffer_load} + + {$region NV_vertex_attrib_integer_64bit} + + public z_VertexAttribL1i64NV: procedure(index: UInt32; x: Int64) := GetGLFuncOrNil&('glVertexAttribL1i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1i64NV(index: UInt32; x: Int64) := z_VertexAttribL1i64NV(index, x); + + public z_VertexAttribL2i64NV: procedure(index: UInt32; x: Int64; y: Int64) := GetGLFuncOrNil&('glVertexAttribL2i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2i64NV(index: UInt32; x: Int64; y: Int64) := z_VertexAttribL2i64NV(index, x, y); + + public z_VertexAttribL3i64NV: procedure(index: UInt32; x: Int64; y: Int64; z: Int64) := GetGLFuncOrNil&('glVertexAttribL3i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3i64NV(index: UInt32; x: Int64; y: Int64; z: Int64) := z_VertexAttribL3i64NV(index, x, y, z); + + public z_VertexAttribL4i64NV: procedure(index: UInt32; x: Int64; y: Int64; z: Int64; w: Int64) := GetGLFuncOrNil&('glVertexAttribL4i64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4i64NV(index: UInt32; x: Int64; y: Int64; z: Int64; w: Int64) := z_VertexAttribL4i64NV(index, x, y, z, w); + + public z_VertexAttribL1i64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL1i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1i64vNV(index: UInt32; v: array of Int64) := VertexAttribL1i64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1i64vNV(index: UInt32; var v: Int64) := VertexAttribL1i64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1i64vNV(index: UInt32; v: pointer) := z_VertexAttribL1i64vNV(index, v); + + public z_VertexAttribL2i64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL2i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2i64vNV(index: UInt32; v: array of Int64) := VertexAttribL2i64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2i64vNV(index: UInt32; var v: Int64) := VertexAttribL2i64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2i64vNV(index: UInt32; v: pointer) := z_VertexAttribL2i64vNV(index, v); + + public z_VertexAttribL3i64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL3i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3i64vNV(index: UInt32; v: array of Int64) := VertexAttribL3i64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3i64vNV(index: UInt32; var v: Int64) := VertexAttribL3i64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3i64vNV(index: UInt32; v: pointer) := z_VertexAttribL3i64vNV(index, v); + + public z_VertexAttribL4i64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL4i64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4i64vNV(index: UInt32; v: array of Int64) := VertexAttribL4i64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4i64vNV(index: UInt32; var v: Int64) := VertexAttribL4i64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4i64vNV(index: UInt32; v: pointer) := z_VertexAttribL4i64vNV(index, v); + + public z_VertexAttribL1ui64NV: procedure(index: UInt32; x: UInt64) := GetGLFuncOrNil&('glVertexAttribL1ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64NV(index: UInt32; x: UInt64) := z_VertexAttribL1ui64NV(index, x); + + public z_VertexAttribL2ui64NV: procedure(index: UInt32; x: UInt64; y: UInt64) := GetGLFuncOrNil&('glVertexAttribL2ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2ui64NV(index: UInt32; x: UInt64; y: UInt64) := z_VertexAttribL2ui64NV(index, x, y); + + public z_VertexAttribL3ui64NV: procedure(index: UInt32; x: UInt64; y: UInt64; z: UInt64) := GetGLFuncOrNil&('glVertexAttribL3ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3ui64NV(index: UInt32; x: UInt64; y: UInt64; z: UInt64) := z_VertexAttribL3ui64NV(index, x, y, z); + + public z_VertexAttribL4ui64NV: procedure(index: UInt32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := GetGLFuncOrNil&('glVertexAttribL4ui64NV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4ui64NV(index: UInt32; x: UInt64; y: UInt64; z: UInt64; w: UInt64) := z_VertexAttribL4ui64NV(index, x, y, z, w); + + public z_VertexAttribL1ui64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL1ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64vNV(index: UInt32; v: array of UInt64) := VertexAttribL1ui64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64vNV(index: UInt32; var v: UInt64) := VertexAttribL1ui64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL1ui64vNV(index: UInt32; v: pointer) := z_VertexAttribL1ui64vNV(index, v); + + public z_VertexAttribL2ui64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL2ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2ui64vNV(index: UInt32; v: array of UInt64) := VertexAttribL2ui64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2ui64vNV(index: UInt32; var v: UInt64) := VertexAttribL2ui64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL2ui64vNV(index: UInt32; v: pointer) := z_VertexAttribL2ui64vNV(index, v); + + public z_VertexAttribL3ui64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL3ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3ui64vNV(index: UInt32; v: array of UInt64) := VertexAttribL3ui64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3ui64vNV(index: UInt32; var v: UInt64) := VertexAttribL3ui64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL3ui64vNV(index: UInt32; v: pointer) := z_VertexAttribL3ui64vNV(index, v); + + public z_VertexAttribL4ui64vNV: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glVertexAttribL4ui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4ui64vNV(index: UInt32; v: array of UInt64) := VertexAttribL4ui64vNV(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4ui64vNV(index: UInt32; var v: UInt64) := VertexAttribL4ui64vNV(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribL4ui64vNV(index: UInt32; v: pointer) := z_VertexAttribL4ui64vNV(index, v); + + public z_GetVertexAttribLi64vNV: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribLi64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLi64vNV(index: UInt32; pname: DummyEnum; ¶ms: array of Int64) := GetVertexAttribLi64vNV(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLi64vNV(index: UInt32; pname: DummyEnum; var ¶ms: Int64) := GetVertexAttribLi64vNV(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLi64vNV(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribLi64vNV(index, pname, ¶ms); + + public z_GetVertexAttribLui64vNV: procedure(index: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetVertexAttribLui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLui64vNV(index: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := GetVertexAttribLui64vNV(index, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLui64vNV(index: UInt32; pname: DummyEnum; var ¶ms: UInt64) := GetVertexAttribLui64vNV(index, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetVertexAttribLui64vNV(index: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetVertexAttribLui64vNV(index, pname, ¶ms); + + public z_VertexAttribLFormatNV: procedure(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32) := GetGLFuncOrNil&('glVertexAttribLFormatNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribLFormatNV(index: UInt32; size: Int32; &type: DummyEnum; stride: Int32) := z_VertexAttribLFormatNV(index, size, &type, stride); + + {$endregion NV_vertex_attrib_integer_64bit} + + {$region NV_gpu_multicast} + + public z_RenderGpuMaskNV: procedure(mask: DummyFlags) := GetGLFuncOrNil&('glRenderGpuMaskNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderGpuMaskNV(mask: DummyFlags) := z_RenderGpuMaskNV(mask); + + public z_MulticastBufferSubDataNV: procedure(gpuMask: DummyFlags; buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glMulticastBufferSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastBufferSubDataNV(gpuMask: DummyFlags; buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer) := z_MulticastBufferSubDataNV(gpuMask, buffer, offset, size, data); + + public z_MulticastCopyBufferSubDataNV: procedure(readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glMulticastCopyBufferSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastCopyBufferSubDataNV(readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr) := z_MulticastCopyBufferSubDataNV(readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size); + + public z_MulticastCopyImageSubDataNV: procedure(srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := GetGLFuncOrNil&('glMulticastCopyImageSubDataNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastCopyImageSubDataNV(srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := z_MulticastCopyImageSubDataNV(srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + + public z_MulticastBlitFramebufferNV: procedure(srcGpu: UInt32; dstGpu: UInt32; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := GetGLFuncOrNil&('glMulticastBlitFramebufferNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastBlitFramebufferNV(srcGpu: UInt32; dstGpu: UInt32; srcX0: Int32; srcY0: Int32; srcX1: Int32; srcY1: Int32; dstX0: Int32; dstY0: Int32; dstX1: Int32; dstY1: Int32; mask: DummyFlags; filter: DummyEnum) := z_MulticastBlitFramebufferNV(srcGpu, dstGpu, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + + public z_MulticastFramebufferSampleLocationsfvNV: procedure(gpu: UInt32; framebuffer: UInt32; start: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glMulticastFramebufferSampleLocationsfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastFramebufferSampleLocationsfvNV(gpu: UInt32; framebuffer: UInt32; start: UInt32; count: Int32; v: array of single) := MulticastFramebufferSampleLocationsfvNV(gpu, framebuffer, start, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastFramebufferSampleLocationsfvNV(gpu: UInt32; framebuffer: UInt32; start: UInt32; count: Int32; var v: single) := MulticastFramebufferSampleLocationsfvNV(gpu, framebuffer, start, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastFramebufferSampleLocationsfvNV(gpu: UInt32; framebuffer: UInt32; start: UInt32; count: Int32; v: pointer) := z_MulticastFramebufferSampleLocationsfvNV(gpu, framebuffer, start, count, v); + + public z_MulticastBarrierNV: procedure := GetGLFuncOrNil&('glMulticastBarrierNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastBarrierNV := z_MulticastBarrierNV; + + public z_MulticastWaitSyncNV: procedure(signalGpu: UInt32; waitGpuMask: DummyFlags) := GetGLFuncOrNil&('glMulticastWaitSyncNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastWaitSyncNV(signalGpu: UInt32; waitGpuMask: DummyFlags) := z_MulticastWaitSyncNV(signalGpu, waitGpuMask); + + public z_MulticastGetQueryObjectivNV: procedure(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glMulticastGetQueryObjectivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectivNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: array of Int32) := MulticastGetQueryObjectivNV(gpu, id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectivNV(gpu: UInt32; id: UInt32; pname: DummyEnum; var ¶ms: Int32) := MulticastGetQueryObjectivNV(gpu, id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectivNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_MulticastGetQueryObjectivNV(gpu, id, pname, ¶ms); + + public z_MulticastGetQueryObjectuivNV: procedure(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glMulticastGetQueryObjectuivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectuivNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := MulticastGetQueryObjectuivNV(gpu, id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectuivNV(gpu: UInt32; id: UInt32; pname: DummyEnum; var ¶ms: UInt32) := MulticastGetQueryObjectuivNV(gpu, id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectuivNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_MulticastGetQueryObjectuivNV(gpu, id, pname, ¶ms); + + public z_MulticastGetQueryObjecti64vNV: procedure(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glMulticastGetQueryObjecti64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjecti64vNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: array of Int64) := MulticastGetQueryObjecti64vNV(gpu, id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjecti64vNV(gpu: UInt32; id: UInt32; pname: DummyEnum; var ¶ms: Int64) := MulticastGetQueryObjecti64vNV(gpu, id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjecti64vNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_MulticastGetQueryObjecti64vNV(gpu, id, pname, ¶ms); + + public z_MulticastGetQueryObjectui64vNV: procedure(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glMulticastGetQueryObjectui64vNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectui64vNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: array of UInt64) := MulticastGetQueryObjectui64vNV(gpu, id, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectui64vNV(gpu: UInt32; id: UInt32; pname: DummyEnum; var ¶ms: UInt64) := MulticastGetQueryObjectui64vNV(gpu, id, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastGetQueryObjectui64vNV(gpu: UInt32; id: UInt32; pname: DummyEnum; ¶ms: pointer) := z_MulticastGetQueryObjectui64vNV(gpu, id, pname, ¶ms); + + {$endregion NV_gpu_multicast} + + {$region NV_bindless_multi_draw_indirect_count} + + public z_MultiDrawArraysIndirectBindlessCountNV: procedure(mode: DummyEnum; indirect: pointer; drawCount: Int32; maxDrawCount: Int32; stride: Int32; vertexBufferCount: Int32) := GetGLFuncOrNil&('glMultiDrawArraysIndirectBindlessCountNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectBindlessCountNV(mode: DummyEnum; indirect: pointer; drawCount: Int32; maxDrawCount: Int32; stride: Int32; vertexBufferCount: Int32) := z_MultiDrawArraysIndirectBindlessCountNV(mode, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + + public z_MultiDrawElementsIndirectBindlessCountNV: procedure(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawCount: Int32; maxDrawCount: Int32; stride: Int32; vertexBufferCount: Int32) := GetGLFuncOrNil&('glMultiDrawElementsIndirectBindlessCountNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirectBindlessCountNV(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawCount: Int32; maxDrawCount: Int32; stride: Int32; vertexBufferCount: Int32) := z_MultiDrawElementsIndirectBindlessCountNV(mode, &type, indirect, drawCount, maxDrawCount, stride, vertexBufferCount); + + {$endregion NV_bindless_multi_draw_indirect_count} + + {$region NV_bindless_multi_draw_indirect} + + public z_MultiDrawArraysIndirectBindlessNV: procedure(mode: DummyEnum; indirect: pointer; drawCount: Int32; stride: Int32; vertexBufferCount: Int32) := GetGLFuncOrNil&('glMultiDrawArraysIndirectBindlessNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawArraysIndirectBindlessNV(mode: DummyEnum; indirect: pointer; drawCount: Int32; stride: Int32; vertexBufferCount: Int32) := z_MultiDrawArraysIndirectBindlessNV(mode, indirect, drawCount, stride, vertexBufferCount); + + public z_MultiDrawElementsIndirectBindlessNV: procedure(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawCount: Int32; stride: Int32; vertexBufferCount: Int32) := GetGLFuncOrNil&('glMultiDrawElementsIndirectBindlessNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiDrawElementsIndirectBindlessNV(mode: DummyEnum; &type: DummyEnum; indirect: pointer; drawCount: Int32; stride: Int32; vertexBufferCount: Int32) := z_MultiDrawElementsIndirectBindlessNV(mode, &type, indirect, drawCount, stride, vertexBufferCount); + + {$endregion NV_bindless_multi_draw_indirect} + + {$region NV_point_sprite} + + public z_PointParameteriNV: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glPointParameteriNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameteriNV(pname: DummyEnum; param: Int32) := z_PointParameteriNV(pname, param); + + public z_PointParameterivNV: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPointParameterivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterivNV(pname: DummyEnum; ¶ms: array of Int32) := PointParameterivNV(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterivNV(pname: DummyEnum; var ¶ms: Int32) := PointParameterivNV(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterivNV(pname: DummyEnum; ¶ms: pointer) := z_PointParameterivNV(pname, ¶ms); + + {$endregion NV_point_sprite} + + {$region NV_polygon_mode} + + public z_PolygonModeNV: procedure(face: DummyEnum; mode: DummyEnum) := GetGLFuncOrNil&('glPolygonModeNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonModeNV(face: DummyEnum; mode: DummyEnum) := z_PolygonModeNV(face, mode); + + {$endregion NV_polygon_mode} + + {$region NV_primitive_restart} + + public z_PrimitiveRestartNV: procedure := GetGLFuncOrNil&('glPrimitiveRestartNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrimitiveRestartNV := z_PrimitiveRestartNV; + + public z_PrimitiveRestartIndexNV: procedure(index: UInt32) := GetGLFuncOrNil&('glPrimitiveRestartIndexNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrimitiveRestartIndexNV(index: UInt32) := z_PrimitiveRestartIndexNV(index); + + {$endregion NV_primitive_restart} + + {$region NV_parameter_buffer_object} + + public z_ProgramBufferParametersfvNV: procedure(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramBufferParametersfvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersfvNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: array of single) := ProgramBufferParametersfvNV(target, bindingIndex, wordIndex, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersfvNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; var ¶ms: single) := ProgramBufferParametersfvNV(target, bindingIndex, wordIndex, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersfvNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: pointer) := z_ProgramBufferParametersfvNV(target, bindingIndex, wordIndex, count, ¶ms); + + public z_ProgramBufferParametersIivNV: procedure(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramBufferParametersIivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersIivNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: array of Int32) := ProgramBufferParametersIivNV(target, bindingIndex, wordIndex, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersIivNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; var ¶ms: Int32) := ProgramBufferParametersIivNV(target, bindingIndex, wordIndex, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersIivNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: pointer) := z_ProgramBufferParametersIivNV(target, bindingIndex, wordIndex, count, ¶ms); + + public z_ProgramBufferParametersIuivNV: procedure(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: pointer) := GetGLFuncOrNil&('glProgramBufferParametersIuivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersIuivNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: array of UInt32) := ProgramBufferParametersIuivNV(target, bindingIndex, wordIndex, count, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersIuivNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; var ¶ms: UInt32) := ProgramBufferParametersIuivNV(target, bindingIndex, wordIndex, count, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBufferParametersIuivNV(target: DummyEnum; bindingIndex: UInt32; wordIndex: UInt32; count: Int32; ¶ms: pointer) := z_ProgramBufferParametersIuivNV(target, bindingIndex, wordIndex, count, ¶ms); + + {$endregion NV_parameter_buffer_object} + + {$region NV_geometry_program4} + + public z_ProgramVertexLimitNV: procedure(target: DummyEnum; limit: Int32) := GetGLFuncOrNil&('glProgramVertexLimitNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramVertexLimitNV(target: DummyEnum; limit: Int32) := z_ProgramVertexLimitNV(target, limit); + + {$endregion NV_geometry_program4} + + {$region NV_query_resource} + + public z_QueryResourceNV: function(queryType: DummyEnum; tagId: Int32; bufSize: UInt32; buffer: pointer): Int32 := GetGLFuncOrNil&('glQueryResourceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryResourceNV(queryType: DummyEnum; tagId: Int32; bufSize: UInt32; buffer: array of Int32): Int32 := QueryResourceNV(queryType, tagId, bufSize, buffer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryResourceNV(queryType: DummyEnum; tagId: Int32; bufSize: UInt32; var buffer: Int32): Int32 := QueryResourceNV(queryType, tagId, bufSize, @buffer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryResourceNV(queryType: DummyEnum; tagId: Int32; bufSize: UInt32; buffer: pointer): Int32 := z_QueryResourceNV(queryType, tagId, bufSize, buffer); + + {$endregion NV_query_resource} + + {$region NV_read_buffer NV_read_buffer_front} + + public z_ReadBufferNV: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glReadBufferNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReadBufferNV(mode: DummyEnum) := z_ReadBufferNV(mode); + + {$endregion NV_read_buffer NV_read_buffer_front} + + {$region NV_framebuffer_multisample_coverage} + + public z_RenderbufferStorageMultisampleCoverageNV: procedure(target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisampleCoverageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisampleCoverageNV(target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height); + + {$endregion NV_framebuffer_multisample_coverage} + + {$region NV_framebuffer_multisample} + + public z_RenderbufferStorageMultisampleNV: procedure(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageMultisampleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageMultisampleNV(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageMultisampleNV(target, samples, internalformat, width, height); + + {$endregion NV_framebuffer_multisample} + + {$region NV_scissor_exclusive} + + public z_ScissorExclusiveArrayvNV: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glScissorExclusiveArrayvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorExclusiveArrayvNV(first: UInt32; count: Int32; v: array of Int32) := ScissorExclusiveArrayvNV(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorExclusiveArrayvNV(first: UInt32; count: Int32; var v: Int32) := ScissorExclusiveArrayvNV(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorExclusiveArrayvNV(first: UInt32; count: Int32; v: pointer) := z_ScissorExclusiveArrayvNV(first, count, v); + + public z_ScissorExclusiveNV: procedure(x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glScissorExclusiveNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorExclusiveNV(x: Int32; y: Int32; width: Int32; height: Int32) := z_ScissorExclusiveNV(x, y, width, height); + + {$endregion NV_scissor_exclusive} + + {$region NV_shading_rate_image NV_shading_rate_image} + + public z_ShadingRateImageBarrierNV: procedure(synchronize: Byte) := GetGLFuncOrNil&('glShadingRateImageBarrierNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ShadingRateImageBarrierNV(synchronize: Byte) := z_ShadingRateImageBarrierNV(synchronize); + + {$endregion NV_shading_rate_image NV_shading_rate_image} + + {$region NV_3dvision_settings} + + public z_StereoParameterfNV: procedure(pname: DummyEnum; param: single) := GetGLFuncOrNil&('glStereoParameterfNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StereoParameterfNV(pname: DummyEnum; param: single) := z_StereoParameterfNV(pname, param); + + public z_StereoParameteriNV: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glStereoParameteriNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StereoParameteriNV(pname: DummyEnum; param: Int32) := z_StereoParameteriNV(pname, param); + + {$endregion NV_3dvision_settings} + + {$region NV_conservative_raster} + + public z_SubpixelPrecisionBiasNV: procedure(xbits: UInt32; ybits: UInt32) := GetGLFuncOrNil&('glSubpixelPrecisionBiasNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SubpixelPrecisionBiasNV(xbits: UInt32; ybits: UInt32) := z_SubpixelPrecisionBiasNV(xbits, ybits); + + {$endregion NV_conservative_raster} + + {$region NV_texture_multisample} + + public z_TexImage2DMultisampleCoverageNV: procedure(target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte) := GetGLFuncOrNil&('glTexImage2DMultisampleCoverageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage2DMultisampleCoverageNV(target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte) := z_TexImage2DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); + + public z_TexImage3DMultisampleCoverageNV: procedure(target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte) := GetGLFuncOrNil&('glTexImage3DMultisampleCoverageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage3DMultisampleCoverageNV(target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte) := z_TexImage3DMultisampleCoverageNV(target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); + + public z_TextureImage2DMultisampleNV: procedure(texture: UInt32; target: DummyEnum; samples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte) := GetGLFuncOrNil&('glTextureImage2DMultisampleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureImage2DMultisampleNV(texture: UInt32; target: DummyEnum; samples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte) := z_TextureImage2DMultisampleNV(texture, target, samples, internalFormat, width, height, fixedSampleLocations); + + public z_TextureImage3DMultisampleNV: procedure(texture: UInt32; target: DummyEnum; samples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte) := GetGLFuncOrNil&('glTextureImage3DMultisampleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureImage3DMultisampleNV(texture: UInt32; target: DummyEnum; samples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte) := z_TextureImage3DMultisampleNV(texture, target, samples, internalFormat, width, height, depth, fixedSampleLocations); + + public z_TextureImage2DMultisampleCoverageNV: procedure(texture: UInt32; target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte) := GetGLFuncOrNil&('glTextureImage2DMultisampleCoverageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureImage2DMultisampleCoverageNV(texture: UInt32; target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; fixedSampleLocations: Byte) := z_TextureImage2DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, fixedSampleLocations); + + public z_TextureImage3DMultisampleCoverageNV: procedure(texture: UInt32; target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte) := GetGLFuncOrNil&('glTextureImage3DMultisampleCoverageNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureImage3DMultisampleCoverageNV(texture: UInt32; target: DummyEnum; coverageSamples: Int32; colorSamples: Int32; internalFormat: Int32; width: Int32; height: Int32; depth: Int32; fixedSampleLocations: Byte) := z_TextureImage3DMultisampleCoverageNV(texture, target, coverageSamples, colorSamples, internalFormat, width, height, depth, fixedSampleLocations); + + {$endregion NV_texture_multisample} + + {$region NV_texture_barrier} + + public z_TextureBarrierNV: procedure := GetGLFuncOrNil&('glTextureBarrierNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureBarrierNV := z_TextureBarrierNV; + + {$endregion NV_texture_barrier} + + {$region NV_non_square_matrices} + + public z_UniformMatrix2x3fvNV: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2x3fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3fvNV(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix2x3fvNV(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3fvNV(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix2x3fvNV(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x3fvNV(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix2x3fvNV(location, count, transpose, value); + + public z_UniformMatrix3x2fvNV: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3x2fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2fvNV(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix3x2fvNV(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2fvNV(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix3x2fvNV(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x2fvNV(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix3x2fvNV(location, count, transpose, value); + + public z_UniformMatrix2x4fvNV: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix2x4fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4fvNV(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix2x4fvNV(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4fvNV(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix2x4fvNV(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix2x4fvNV(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix2x4fvNV(location, count, transpose, value); + + public z_UniformMatrix4x2fvNV: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4x2fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2fvNV(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix4x2fvNV(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2fvNV(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix4x2fvNV(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x2fvNV(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix4x2fvNV(location, count, transpose, value); + + public z_UniformMatrix3x4fvNV: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix3x4fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4fvNV(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix3x4fvNV(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4fvNV(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix3x4fvNV(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix3x4fvNV(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix3x4fvNV(location, count, transpose, value); + + public z_UniformMatrix4x3fvNV: procedure(location: Int32; count: Int32; transpose: Byte; value: pointer) := GetGLFuncOrNil&('glUniformMatrix4x3fvNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3fvNV(location: Int32; count: Int32; transpose: Byte; value: array of single) := UniformMatrix4x3fvNV(location, count, transpose, value[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3fvNV(location: Int32; count: Int32; transpose: Byte; var value: single) := UniformMatrix4x3fvNV(location, count, transpose, @value); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UniformMatrix4x3fvNV(location: Int32; count: Int32; transpose: Byte; value: pointer) := z_UniformMatrix4x3fvNV(location, count, transpose, value); + + {$endregion NV_non_square_matrices} + + {$region NV_vdpau_interop} + + public z_VDPAUInitNV: procedure(vdpDevice: pointer; getProcAddress: pointer) := GetGLFuncOrNil&('glVDPAUInitNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUInitNV(vdpDevice: pointer; getProcAddress: pointer) := z_VDPAUInitNV(vdpDevice, getProcAddress); + + public z_VDPAUFiniNV: procedure := GetGLFuncOrNil&('glVDPAUFiniNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUFiniNV := z_VDPAUFiniNV; + + public z_VDPAURegisterVideoSurfaceNV: function(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: pointer): GLvdpauSurfaceNV := GetGLFuncOrNil&('glVDPAURegisterVideoSurfaceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterVideoSurfaceNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: array of UInt32): GLvdpauSurfaceNV := VDPAURegisterVideoSurfaceNV(vdpSurface, target, numTextureNames, textureNames[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterVideoSurfaceNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; var textureNames: UInt32): GLvdpauSurfaceNV := VDPAURegisterVideoSurfaceNV(vdpSurface, target, numTextureNames, @textureNames); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterVideoSurfaceNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: pointer): GLvdpauSurfaceNV := z_VDPAURegisterVideoSurfaceNV(vdpSurface, target, numTextureNames, textureNames); + + public z_VDPAURegisterOutputSurfaceNV: function(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: pointer): GLvdpauSurfaceNV := GetGLFuncOrNil&('glVDPAURegisterOutputSurfaceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterOutputSurfaceNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: array of UInt32): GLvdpauSurfaceNV := VDPAURegisterOutputSurfaceNV(vdpSurface, target, numTextureNames, textureNames[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterOutputSurfaceNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; var textureNames: UInt32): GLvdpauSurfaceNV := VDPAURegisterOutputSurfaceNV(vdpSurface, target, numTextureNames, @textureNames); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterOutputSurfaceNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: pointer): GLvdpauSurfaceNV := z_VDPAURegisterOutputSurfaceNV(vdpSurface, target, numTextureNames, textureNames); + + public z_VDPAUIsSurfaceNV: function(surface: GLvdpauSurfaceNV): Byte := GetGLFuncOrNil&('glVDPAUIsSurfaceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAUIsSurfaceNV(surface: GLvdpauSurfaceNV): Byte := z_VDPAUIsSurfaceNV(surface); + + public z_VDPAUUnregisterSurfaceNV: procedure(surface: GLvdpauSurfaceNV) := GetGLFuncOrNil&('glVDPAUUnregisterSurfaceNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUUnregisterSurfaceNV(surface: GLvdpauSurfaceNV) := z_VDPAUUnregisterSurfaceNV(surface); + + public z_VDPAUGetSurfaceivNV: procedure(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; length: pointer; values: pointer) := GetGLFuncOrNil&('glVDPAUGetSurfaceivNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; length: array of Int32; values: array of Int32) := VDPAUGetSurfaceivNV(surface, pname, bufSize, length[0], values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; length: array of Int32; var values: Int32) := VDPAUGetSurfaceivNV(surface, pname, bufSize, length[0], @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; length: array of Int32; values: pointer) := VDPAUGetSurfaceivNV(surface, pname, bufSize, length[0], values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; var length: Int32; values: array of Int32) := VDPAUGetSurfaceivNV(surface, pname, bufSize, @length, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; var length: Int32; var values: Int32) := VDPAUGetSurfaceivNV(surface, pname, bufSize, @length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; var length: Int32; values: pointer) := VDPAUGetSurfaceivNV(surface, pname, bufSize, @length, values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; length: pointer; values: array of Int32) := VDPAUGetSurfaceivNV(surface, pname, bufSize, length, values[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; length: pointer; var values: Int32) := VDPAUGetSurfaceivNV(surface, pname, bufSize, length, @values); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUGetSurfaceivNV(surface: GLvdpauSurfaceNV; pname: DummyEnum; bufSize: Int32; length: pointer; values: pointer) := z_VDPAUGetSurfaceivNV(surface, pname, bufSize, length, values); + + public z_VDPAUSurfaceAccessNV: procedure(surface: GLvdpauSurfaceNV; access: DummyEnum) := GetGLFuncOrNil&('glVDPAUSurfaceAccessNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUSurfaceAccessNV(surface: GLvdpauSurfaceNV; access: DummyEnum) := z_VDPAUSurfaceAccessNV(surface, access); + + public z_VDPAUMapSurfacesNV: procedure(numSurfaces: Int32; surfaces: pointer) := GetGLFuncOrNil&('glVDPAUMapSurfacesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUMapSurfacesNV(numSurfaces: Int32; surfaces: array of GLvdpauSurfaceNV) := VDPAUMapSurfacesNV(numSurfaces, surfaces[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUMapSurfacesNV(numSurfaces: Int32; var surfaces: GLvdpauSurfaceNV) := VDPAUMapSurfacesNV(numSurfaces, @surfaces); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUMapSurfacesNV(numSurfaces: Int32; surfaces: pointer) := z_VDPAUMapSurfacesNV(numSurfaces, surfaces); + + public z_VDPAUUnmapSurfacesNV: procedure(numSurface: Int32; surfaces: pointer) := GetGLFuncOrNil&('glVDPAUUnmapSurfacesNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUUnmapSurfacesNV(numSurface: Int32; surfaces: array of GLvdpauSurfaceNV) := VDPAUUnmapSurfacesNV(numSurface, surfaces[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUUnmapSurfacesNV(numSurface: Int32; var surfaces: GLvdpauSurfaceNV) := VDPAUUnmapSurfacesNV(numSurface, @surfaces); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VDPAUUnmapSurfacesNV(numSurface: Int32; surfaces: pointer) := z_VDPAUUnmapSurfacesNV(numSurface, surfaces); + + {$endregion NV_vdpau_interop} + + {$region NV_vdpau_interop2} + + public z_VDPAURegisterVideoSurfaceWithPictureStructureNV: function(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: pointer; isFrameStructure: Byte): GLvdpauSurfaceNV := GetGLFuncOrNil&('glVDPAURegisterVideoSurfaceWithPictureStructureNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: array of UInt32; isFrameStructure: Byte): GLvdpauSurfaceNV := VDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface, target, numTextureNames, textureNames[0], isFrameStructure); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; var textureNames: UInt32; isFrameStructure: Byte): GLvdpauSurfaceNV := VDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface, target, numTextureNames, @textureNames, isFrameStructure); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function VDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface: pointer; target: DummyEnum; numTextureNames: Int32; textureNames: pointer; isFrameStructure: Byte): GLvdpauSurfaceNV := z_VDPAURegisterVideoSurfaceWithPictureStructureNV(vdpSurface, target, numTextureNames, textureNames, isFrameStructure); + + {$endregion NV_vdpau_interop2} + + {$region NV_instanced_arrays} + + public z_VertexAttribDivisorNV: procedure(index: UInt32; divisor: UInt32) := GetGLFuncOrNil&('glVertexAttribDivisorNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure VertexAttribDivisorNV(index: UInt32; divisor: UInt32) := z_VertexAttribDivisorNV(index, divisor); + + {$endregion NV_instanced_arrays} + + {$region NV_clip_space_w_scaling} + + public z_ViewportPositionWScaleNV: procedure(index: UInt32; xcoeff: single; ycoeff: single) := GetGLFuncOrNil&('glViewportPositionWScaleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportPositionWScaleNV(index: UInt32; xcoeff: single; ycoeff: single) := z_ViewportPositionWScaleNV(index, xcoeff, ycoeff); + + {$endregion NV_clip_space_w_scaling} + + {$region NV_viewport_swizzle} + + public z_ViewportSwizzleNV: procedure(index: UInt32; swizzlex: DummyEnum; swizzley: DummyEnum; swizzlez: DummyEnum; swizzlew: DummyEnum) := GetGLFuncOrNil&('glViewportSwizzleNV'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportSwizzleNV(index: UInt32; swizzlex: DummyEnum; swizzley: DummyEnum; swizzlez: DummyEnum; swizzlew: DummyEnum) := z_ViewportSwizzleNV(index, swizzlex, swizzley, swizzlez, swizzlew); + + {$endregion NV_viewport_swizzle} + + end; + + gl_NVX = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region NVX_gpu_multicast2} + + public z_AsyncCopyImageSubDataNVX: function(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := GetGLFuncOrNil&('glAsyncCopyImageSubDataNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: array of UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray[0], srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var waitValueArray: UInt64; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyImageSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; waitValueArray: pointer; srcGpu: UInt32; dstGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := z_AsyncCopyImageSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, waitValueArray, srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + + public z_AsyncCopyBufferSubDataNVX: function(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := GetGLFuncOrNil&('glAsyncCopyBufferSubDataNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: array of UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray[0], fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; var waitSemaphoreArray: UInt32; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, @waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: array of UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray[0], readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; var fenceValueArray: UInt64; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, @fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: array of UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray[0], signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; var signalSemaphoreArray: UInt32; signalValueArray: pointer): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, @signalSemaphoreArray, signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: array of UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; var signalValueArray: UInt64): UInt32 := AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, @signalValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function AsyncCopyBufferSubDataNVX(waitSemaphoreCount: Int32; waitSemaphoreArray: pointer; fenceValueArray: pointer; readGpu: UInt32; writeGpuMask: DummyFlags; readBuffer: UInt32; writeBuffer: UInt32; readOffset: IntPtr; writeOffset: IntPtr; size: UIntPtr; signalSemaphoreCount: Int32; signalSemaphoreArray: pointer; signalValueArray: pointer): UInt32 := z_AsyncCopyBufferSubDataNVX(waitSemaphoreCount, waitSemaphoreArray, fenceValueArray, readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size, signalSemaphoreCount, signalSemaphoreArray, signalValueArray); + + public z_UploadGpuMaskNVX: procedure(mask: DummyFlags) := GetGLFuncOrNil&('glUploadGpuMaskNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure UploadGpuMaskNVX(mask: DummyFlags) := z_UploadGpuMaskNVX(mask); + + public z_MulticastViewportArrayvNVX: procedure(gpu: UInt32; first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glMulticastViewportArrayvNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastViewportArrayvNVX(gpu: UInt32; first: UInt32; count: Int32; v: array of single) := MulticastViewportArrayvNVX(gpu, first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastViewportArrayvNVX(gpu: UInt32; first: UInt32; count: Int32; var v: single) := MulticastViewportArrayvNVX(gpu, first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastViewportArrayvNVX(gpu: UInt32; first: UInt32; count: Int32; v: pointer) := z_MulticastViewportArrayvNVX(gpu, first, count, v); + + public z_MulticastScissorArrayvNVX: procedure(gpu: UInt32; first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glMulticastScissorArrayvNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastScissorArrayvNVX(gpu: UInt32; first: UInt32; count: Int32; v: array of Int32) := MulticastScissorArrayvNVX(gpu, first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastScissorArrayvNVX(gpu: UInt32; first: UInt32; count: Int32; var v: Int32) := MulticastScissorArrayvNVX(gpu, first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastScissorArrayvNVX(gpu: UInt32; first: UInt32; count: Int32; v: pointer) := z_MulticastScissorArrayvNVX(gpu, first, count, v); + + public z_MulticastViewportPositionWScaleNVX: procedure(gpu: UInt32; index: UInt32; xcoeff: single; ycoeff: single) := GetGLFuncOrNil&('glMulticastViewportPositionWScaleNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MulticastViewportPositionWScaleNVX(gpu: UInt32; index: UInt32; xcoeff: single; ycoeff: single) := z_MulticastViewportPositionWScaleNVX(gpu, index, xcoeff, ycoeff); + + {$endregion NVX_gpu_multicast2} + + {$region NVX_conditional_render} + + public z_BeginConditionalRenderNVX: procedure(id: UInt32) := GetGLFuncOrNil&('glBeginConditionalRenderNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BeginConditionalRenderNVX(id: UInt32) := z_BeginConditionalRenderNVX(id); + + public z_EndConditionalRenderNVX: procedure := GetGLFuncOrNil&('glEndConditionalRenderNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndConditionalRenderNVX := z_EndConditionalRenderNVX; + + {$endregion NVX_conditional_render} + + {$region NVX_progress_fence} + + public z_CreateProgressFenceNVX: function: UInt32 := GetGLFuncOrNil&('glCreateProgressFenceNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateProgressFenceNVX: UInt32 := z_CreateProgressFenceNVX; + + public z_SignalSemaphoreui64NVX: procedure(signalGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: pointer) := GetGLFuncOrNil&('glSignalSemaphoreui64NVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: array of UInt32; fenceValueArray: array of UInt64) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, semaphoreArray[0], fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: array of UInt32; var fenceValueArray: UInt64) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, semaphoreArray[0], @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: array of UInt32; fenceValueArray: pointer) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, semaphoreArray[0], fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; var semaphoreArray: UInt32; fenceValueArray: array of UInt64) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, @semaphoreArray, fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; var semaphoreArray: UInt32; var fenceValueArray: UInt64) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, @semaphoreArray, @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; var semaphoreArray: UInt32; fenceValueArray: pointer) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, @semaphoreArray, fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: array of UInt64) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, semaphoreArray, fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; var fenceValueArray: UInt64) := SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, semaphoreArray, @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SignalSemaphoreui64NVX(signalGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: pointer) := z_SignalSemaphoreui64NVX(signalGpu, fenceObjectCount, semaphoreArray, fenceValueArray); + + public z_WaitSemaphoreui64NVX: procedure(waitGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: pointer) := GetGLFuncOrNil&('glWaitSemaphoreui64NVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: array of UInt32; fenceValueArray: array of UInt64) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, semaphoreArray[0], fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: array of UInt32; var fenceValueArray: UInt64) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, semaphoreArray[0], @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: array of UInt32; fenceValueArray: pointer) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, semaphoreArray[0], fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; var semaphoreArray: UInt32; fenceValueArray: array of UInt64) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, @semaphoreArray, fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; var semaphoreArray: UInt32; var fenceValueArray: UInt64) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, @semaphoreArray, @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; var semaphoreArray: UInt32; fenceValueArray: pointer) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, @semaphoreArray, fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: array of UInt64) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, semaphoreArray, fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; var fenceValueArray: UInt64) := WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, semaphoreArray, @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WaitSemaphoreui64NVX(waitGpu: UInt32; fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: pointer) := z_WaitSemaphoreui64NVX(waitGpu, fenceObjectCount, semaphoreArray, fenceValueArray); + + public z_ClientWaitSemaphoreui64NVX: procedure(fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: pointer) := GetGLFuncOrNil&('glClientWaitSemaphoreui64NVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; semaphoreArray: array of UInt32; fenceValueArray: array of UInt64) := ClientWaitSemaphoreui64NVX(fenceObjectCount, semaphoreArray[0], fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; semaphoreArray: array of UInt32; var fenceValueArray: UInt64) := ClientWaitSemaphoreui64NVX(fenceObjectCount, semaphoreArray[0], @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; semaphoreArray: array of UInt32; fenceValueArray: pointer) := ClientWaitSemaphoreui64NVX(fenceObjectCount, semaphoreArray[0], fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; var semaphoreArray: UInt32; fenceValueArray: array of UInt64) := ClientWaitSemaphoreui64NVX(fenceObjectCount, @semaphoreArray, fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; var semaphoreArray: UInt32; var fenceValueArray: UInt64) := ClientWaitSemaphoreui64NVX(fenceObjectCount, @semaphoreArray, @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; var semaphoreArray: UInt32; fenceValueArray: pointer) := ClientWaitSemaphoreui64NVX(fenceObjectCount, @semaphoreArray, fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: array of UInt64) := ClientWaitSemaphoreui64NVX(fenceObjectCount, semaphoreArray, fenceValueArray[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; semaphoreArray: pointer; var fenceValueArray: UInt64) := ClientWaitSemaphoreui64NVX(fenceObjectCount, semaphoreArray, @fenceValueArray); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClientWaitSemaphoreui64NVX(fenceObjectCount: Int32; semaphoreArray: pointer; fenceValueArray: pointer) := z_ClientWaitSemaphoreui64NVX(fenceObjectCount, semaphoreArray, fenceValueArray); + + {$endregion NVX_progress_fence} + + {$region NVX_linked_gpu_multicast} + + public z_LGPUNamedBufferSubDataNVX: procedure(gpuMask: DummyFlags; buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer) := GetGLFuncOrNil&('glLGPUNamedBufferSubDataNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LGPUNamedBufferSubDataNVX(gpuMask: DummyFlags; buffer: UInt32; offset: IntPtr; size: UIntPtr; data: pointer) := z_LGPUNamedBufferSubDataNVX(gpuMask, buffer, offset, size, data); + + public z_LGPUCopyImageSubDataNVX: procedure(sourceGpu: UInt32; destinationGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srxY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32) := GetGLFuncOrNil&('glLGPUCopyImageSubDataNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LGPUCopyImageSubDataNVX(sourceGpu: UInt32; destinationGpuMask: DummyFlags; srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srxY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; width: Int32; height: Int32; depth: Int32) := z_LGPUCopyImageSubDataNVX(sourceGpu, destinationGpuMask, srcName, srcTarget, srcLevel, srcX, srxY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth); + + public z_LGPUInterlockNVX: procedure := GetGLFuncOrNil&('glLGPUInterlockNVX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LGPUInterlockNVX := z_LGPUInterlockNVX; + + {$endregion NVX_linked_gpu_multicast} + + end; + + gl_OES = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region OES_fixed_point} + + public z_Vertex2xOES: procedure(x: fixed) := GetGLFuncOrNil&('glVertex2xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2xOES(x: fixed) := z_Vertex2xOES(x); + + public z_Vertex3xOES: procedure(x: fixed; y: fixed) := GetGLFuncOrNil&('glVertex3xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3xOES(x: fixed; y: fixed) := z_Vertex3xOES(x, y); + + public z_Vertex4xOES: procedure(x: fixed; y: fixed; z: fixed) := GetGLFuncOrNil&('glVertex4xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4xOES(x: fixed; y: fixed; z: fixed) := z_Vertex4xOES(x, y, z); + + public z_Vertex2xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glVertex2xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2xvOES(coords: array of fixed) := Vertex2xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2xvOES(var coords: fixed) := Vertex2xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex2xvOES(coords: pointer) := z_Vertex2xvOES(coords); + + public z_Vertex3xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glVertex3xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3xvOES(coords: array of fixed) := Vertex3xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3xvOES(var coords: fixed) := Vertex3xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex3xvOES(coords: pointer) := z_Vertex3xvOES(coords); + + public z_Vertex4xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glVertex4xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4xvOES(coords: array of fixed) := Vertex4xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4xvOES(var coords: fixed) := Vertex4xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Vertex4xvOES(coords: pointer) := z_Vertex4xvOES(coords); + + public z_Normal3xOES: procedure(nx: fixed; ny: fixed; nz: fixed) := GetGLFuncOrNil&('glNormal3xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3xOES(nx: fixed; ny: fixed; nz: fixed) := z_Normal3xOES(nx, ny, nz); + + public z_Normal3xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glNormal3xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3xvOES(coords: array of fixed) := Normal3xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3xvOES(var coords: fixed) := Normal3xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3xvOES(coords: pointer) := z_Normal3xvOES(coords); + + public z_TexCoord1xOES: procedure(s: fixed) := GetGLFuncOrNil&('glTexCoord1xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1xOES(s: fixed) := z_TexCoord1xOES(s); + + public z_TexCoord2xOES: procedure(s: fixed; t: fixed) := GetGLFuncOrNil&('glTexCoord2xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2xOES(s: fixed; t: fixed) := z_TexCoord2xOES(s, t); + + public z_TexCoord3xOES: procedure(s: fixed; t: fixed; r: fixed) := GetGLFuncOrNil&('glTexCoord3xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3xOES(s: fixed; t: fixed; r: fixed) := z_TexCoord3xOES(s, t, r); + + public z_TexCoord4xOES: procedure(s: fixed; t: fixed; r: fixed; q: fixed) := GetGLFuncOrNil&('glTexCoord4xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4xOES(s: fixed; t: fixed; r: fixed; q: fixed) := z_TexCoord4xOES(s, t, r, q); + + public z_TexCoord1xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glTexCoord1xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1xvOES(coords: array of fixed) := TexCoord1xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1xvOES(var coords: fixed) := TexCoord1xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord1xvOES(coords: pointer) := z_TexCoord1xvOES(coords); + + public z_TexCoord2xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glTexCoord2xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2xvOES(coords: array of fixed) := TexCoord2xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2xvOES(var coords: fixed) := TexCoord2xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2xvOES(coords: pointer) := z_TexCoord2xvOES(coords); + + public z_TexCoord3xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glTexCoord3xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3xvOES(coords: array of fixed) := TexCoord3xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3xvOES(var coords: fixed) := TexCoord3xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord3xvOES(coords: pointer) := z_TexCoord3xvOES(coords); + + public z_TexCoord4xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glTexCoord4xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4xvOES(coords: array of fixed) := TexCoord4xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4xvOES(var coords: fixed) := TexCoord4xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4xvOES(coords: pointer) := z_TexCoord4xvOES(coords); + + public z_MultiTexCoord1xOES: procedure(texture: DummyEnum; s: fixed) := GetGLFuncOrNil&('glMultiTexCoord1xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1xOES(texture: DummyEnum; s: fixed) := z_MultiTexCoord1xOES(texture, s); + + public z_MultiTexCoord2xOES: procedure(texture: DummyEnum; s: fixed; t: fixed) := GetGLFuncOrNil&('glMultiTexCoord2xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2xOES(texture: DummyEnum; s: fixed; t: fixed) := z_MultiTexCoord2xOES(texture, s, t); + + public z_MultiTexCoord3xOES: procedure(texture: DummyEnum; s: fixed; t: fixed; r: fixed) := GetGLFuncOrNil&('glMultiTexCoord3xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3xOES(texture: DummyEnum; s: fixed; t: fixed; r: fixed) := z_MultiTexCoord3xOES(texture, s, t, r); + + public z_MultiTexCoord4xOES: procedure(texture: DummyEnum; s: fixed; t: fixed; r: fixed; q: fixed) := GetGLFuncOrNil&('glMultiTexCoord4xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4xOES(texture: DummyEnum; s: fixed; t: fixed; r: fixed; q: fixed) := z_MultiTexCoord4xOES(texture, s, t, r, q); + + public z_MultiTexCoord1xvOES: procedure(texture: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoord1xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1xvOES(texture: DummyEnum; coords: array of fixed) := MultiTexCoord1xvOES(texture, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1xvOES(texture: DummyEnum; var coords: fixed) := MultiTexCoord1xvOES(texture, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord1xvOES(texture: DummyEnum; coords: pointer) := z_MultiTexCoord1xvOES(texture, coords); + + public z_MultiTexCoord2xvOES: procedure(texture: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoord2xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2xvOES(texture: DummyEnum; coords: array of fixed) := MultiTexCoord2xvOES(texture, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2xvOES(texture: DummyEnum; var coords: fixed) := MultiTexCoord2xvOES(texture, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord2xvOES(texture: DummyEnum; coords: pointer) := z_MultiTexCoord2xvOES(texture, coords); + + public z_MultiTexCoord3xvOES: procedure(texture: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoord3xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3xvOES(texture: DummyEnum; coords: array of fixed) := MultiTexCoord3xvOES(texture, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3xvOES(texture: DummyEnum; var coords: fixed) := MultiTexCoord3xvOES(texture, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord3xvOES(texture: DummyEnum; coords: pointer) := z_MultiTexCoord3xvOES(texture, coords); + + public z_MultiTexCoord4xvOES: procedure(texture: DummyEnum; coords: pointer) := GetGLFuncOrNil&('glMultiTexCoord4xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4xvOES(texture: DummyEnum; coords: array of fixed) := MultiTexCoord4xvOES(texture, coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4xvOES(texture: DummyEnum; var coords: fixed) := MultiTexCoord4xvOES(texture, @coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultiTexCoord4xvOES(texture: DummyEnum; coords: pointer) := z_MultiTexCoord4xvOES(texture, coords); + + public z_Color3xOES: procedure(red: fixed; green: fixed; blue: fixed) := GetGLFuncOrNil&('glColor3xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3xOES(red: fixed; green: fixed; blue: fixed) := z_Color3xOES(red, green, blue); + + public z_Color4xOES: procedure(red: fixed; green: fixed; blue: fixed; alpha: fixed) := GetGLFuncOrNil&('glColor4xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4xOES(red: fixed; green: fixed; blue: fixed; alpha: fixed) := z_Color4xOES(red, green, blue, alpha); + + public z_Color3xvOES: procedure(components: pointer) := GetGLFuncOrNil&('glColor3xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3xvOES(components: array of fixed) := Color3xvOES(components[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3xvOES(var components: fixed) := Color3xvOES(@components); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3xvOES(components: pointer) := z_Color3xvOES(components); + + public z_Color4xvOES: procedure(components: pointer) := GetGLFuncOrNil&('glColor4xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4xvOES(components: array of fixed) := Color4xvOES(components[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4xvOES(var components: fixed) := Color4xvOES(@components); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4xvOES(components: pointer) := z_Color4xvOES(components); + + public z_IndexxOES: procedure(component: fixed) := GetGLFuncOrNil&('glIndexxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexxOES(component: fixed) := z_IndexxOES(component); + + public z_IndexxvOES: procedure(component: pointer) := GetGLFuncOrNil&('glIndexxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexxvOES(component: array of fixed) := IndexxvOES(component[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexxvOES(var component: fixed) := IndexxvOES(@component); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IndexxvOES(component: pointer) := z_IndexxvOES(component); + + public z_RectxOES: procedure(x1: fixed; y1: fixed; x2: fixed; y2: fixed) := GetGLFuncOrNil&('glRectxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxOES(x1: fixed; y1: fixed; x2: fixed; y2: fixed) := z_RectxOES(x1, y1, x2, y2); + + public z_RectxvOES: procedure(v1: pointer; v2: pointer) := GetGLFuncOrNil&('glRectxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(v1: array of fixed; v2: array of fixed) := RectxvOES(v1[0], v2[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(v1: array of fixed; var v2: fixed) := RectxvOES(v1[0], @v2); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(v1: array of fixed; v2: pointer) := RectxvOES(v1[0], v2); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(var v1: fixed; v2: array of fixed) := RectxvOES(@v1, v2[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(var v1: fixed; var v2: fixed) := RectxvOES(@v1, @v2); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(var v1: fixed; v2: pointer) := RectxvOES(@v1, v2); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(v1: pointer; v2: array of fixed) := RectxvOES(v1, v2[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(v1: pointer; var v2: fixed) := RectxvOES(v1, @v2); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RectxvOES(v1: pointer; v2: pointer) := z_RectxvOES(v1, v2); + + public z_DepthRangexOES: procedure(n: fixed; f: fixed) := GetGLFuncOrNil&('glDepthRangexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangexOES(n: fixed; f: fixed) := z_DepthRangexOES(n, f); + + public z_LoadMatrixxOES: procedure(m: pointer) := GetGLFuncOrNil&('glLoadMatrixxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadMatrixxOES(m: array of fixed) := LoadMatrixxOES(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadMatrixxOES(var m: fixed) := LoadMatrixxOES(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadMatrixxOES(m: pointer) := z_LoadMatrixxOES(m); + + public z_MultMatrixxOES: procedure(m: pointer) := GetGLFuncOrNil&('glMultMatrixxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultMatrixxOES(m: array of fixed) := MultMatrixxOES(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultMatrixxOES(var m: fixed) := MultMatrixxOES(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultMatrixxOES(m: pointer) := z_MultMatrixxOES(m); + + public z_LoadTransposeMatrixxOES: procedure(m: pointer) := GetGLFuncOrNil&('glLoadTransposeMatrixxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixxOES(m: array of fixed) := LoadTransposeMatrixxOES(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixxOES(var m: fixed) := LoadTransposeMatrixxOES(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadTransposeMatrixxOES(m: pointer) := z_LoadTransposeMatrixxOES(m); + + public z_MultTransposeMatrixxOES: procedure(m: pointer) := GetGLFuncOrNil&('glMultTransposeMatrixxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixxOES(m: array of fixed) := MultTransposeMatrixxOES(m[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixxOES(var m: fixed) := MultTransposeMatrixxOES(@m); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultTransposeMatrixxOES(m: pointer) := z_MultTransposeMatrixxOES(m); + + public z_RotatexOES: procedure(angle: fixed; x: fixed; y: fixed; z: fixed) := GetGLFuncOrNil&('glRotatexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RotatexOES(angle: fixed; x: fixed; y: fixed; z: fixed) := z_RotatexOES(angle, x, y, z); + + public z_ScalexOES: procedure(x: fixed; y: fixed; z: fixed) := GetGLFuncOrNil&('glScalexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScalexOES(x: fixed; y: fixed; z: fixed) := z_ScalexOES(x, y, z); + + public z_TranslatexOES: procedure(x: fixed; y: fixed; z: fixed) := GetGLFuncOrNil&('glTranslatexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TranslatexOES(x: fixed; y: fixed; z: fixed) := z_TranslatexOES(x, y, z); + + public z_FrustumxOES: procedure(l: fixed; r: fixed; b: fixed; t: fixed; n: fixed; f: fixed) := GetGLFuncOrNil&('glFrustumxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FrustumxOES(l: fixed; r: fixed; b: fixed; t: fixed; n: fixed; f: fixed) := z_FrustumxOES(l, r, b, t, n, f); + + public z_OrthoxOES: procedure(l: fixed; r: fixed; b: fixed; t: fixed; n: fixed; f: fixed) := GetGLFuncOrNil&('glOrthoxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure OrthoxOES(l: fixed; r: fixed; b: fixed; t: fixed; n: fixed; f: fixed) := z_OrthoxOES(l, r, b, t, n, f); + + public z_ClipPlanexOES: procedure(plane: DummyEnum; equation: pointer) := GetGLFuncOrNil&('glClipPlanexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanexOES(plane: DummyEnum; equation: array of fixed) := ClipPlanexOES(plane, equation[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanexOES(plane: DummyEnum; var equation: fixed) := ClipPlanexOES(plane, @equation); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanexOES(plane: DummyEnum; equation: pointer) := z_ClipPlanexOES(plane, equation); + + public z_GetClipPlanexOES: procedure(plane: DummyEnum; equation: pointer) := GetGLFuncOrNil&('glGetClipPlanexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetClipPlanexOES(plane: DummyEnum; equation: array of fixed) := GetClipPlanexOES(plane, equation[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetClipPlanexOES(plane: DummyEnum; var equation: fixed) := GetClipPlanexOES(plane, @equation); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetClipPlanexOES(plane: DummyEnum; equation: pointer) := z_GetClipPlanexOES(plane, equation); + + public z_RasterPos2xOES: procedure(x: fixed; y: fixed) := GetGLFuncOrNil&('glRasterPos2xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos2xOES(x: fixed; y: fixed) := z_RasterPos2xOES(x, y); + + public z_RasterPos3xOES: procedure(x: fixed; y: fixed; z: fixed) := GetGLFuncOrNil&('glRasterPos3xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos3xOES(x: fixed; y: fixed; z: fixed) := z_RasterPos3xOES(x, y, z); + + public z_RasterPos4xOES: procedure(x: fixed; y: fixed; z: fixed; w: fixed) := GetGLFuncOrNil&('glRasterPos4xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos4xOES(x: fixed; y: fixed; z: fixed; w: fixed) := z_RasterPos4xOES(x, y, z, w); + + public z_RasterPos2xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glRasterPos2xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos2xvOES(coords: array of fixed) := RasterPos2xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos2xvOES(var coords: fixed) := RasterPos2xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos2xvOES(coords: pointer) := z_RasterPos2xvOES(coords); + + public z_RasterPos3xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glRasterPos3xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos3xvOES(coords: array of fixed) := RasterPos3xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos3xvOES(var coords: fixed) := RasterPos3xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos3xvOES(coords: pointer) := z_RasterPos3xvOES(coords); + + public z_RasterPos4xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glRasterPos4xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos4xvOES(coords: array of fixed) := RasterPos4xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos4xvOES(var coords: fixed) := RasterPos4xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RasterPos4xvOES(coords: pointer) := z_RasterPos4xvOES(coords); + + public z_MaterialxOES: procedure(face: DummyEnum; pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glMaterialxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MaterialxOES(face: DummyEnum; pname: DummyEnum; param: fixed) := z_MaterialxOES(face, pname, param); + + public z_MaterialxvOES: procedure(face: DummyEnum; pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glMaterialxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MaterialxvOES(face: DummyEnum; pname: DummyEnum; param: array of fixed) := MaterialxvOES(face, pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MaterialxvOES(face: DummyEnum; pname: DummyEnum; var param: fixed) := MaterialxvOES(face, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MaterialxvOES(face: DummyEnum; pname: DummyEnum; param: pointer) := z_MaterialxvOES(face, pname, param); + + public z_GetMaterialxOES: procedure(face: DummyEnum; pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glGetMaterialxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMaterialxOES(face: DummyEnum; pname: DummyEnum; param: fixed) := z_GetMaterialxOES(face, pname, param); + + public z_LightxOES: procedure(light: DummyEnum; pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glLightxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightxOES(light: DummyEnum; pname: DummyEnum; param: fixed) := z_LightxOES(light, pname, param); + + public z_LightxvOES: procedure(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glLightxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightxvOES(light: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := LightxvOES(light, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightxvOES(light: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := LightxvOES(light, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightxvOES(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_LightxvOES(light, pname, ¶ms); + + public z_GetLightxOES: procedure(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetLightxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLightxOES(light: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := GetLightxOES(light, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLightxOES(light: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := GetLightxOES(light, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetLightxOES(light: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetLightxOES(light, pname, ¶ms); + + public z_LightModelxOES: procedure(pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glLightModelxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelxOES(pname: DummyEnum; param: fixed) := z_LightModelxOES(pname, param); + + public z_LightModelxvOES: procedure(pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glLightModelxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelxvOES(pname: DummyEnum; param: array of fixed) := LightModelxvOES(pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelxvOES(pname: DummyEnum; var param: fixed) := LightModelxvOES(pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LightModelxvOES(pname: DummyEnum; param: pointer) := z_LightModelxvOES(pname, param); + + public z_PointSizexOES: procedure(size: fixed) := GetGLFuncOrNil&('glPointSizexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointSizexOES(size: fixed) := z_PointSizexOES(size); + + public z_PointParameterxvOES: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPointParameterxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterxvOES(pname: DummyEnum; ¶ms: array of fixed) := PointParameterxvOES(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterxvOES(pname: DummyEnum; var ¶ms: fixed) := PointParameterxvOES(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointParameterxvOES(pname: DummyEnum; ¶ms: pointer) := z_PointParameterxvOES(pname, ¶ms); + + public z_LineWidthxOES: procedure(width: fixed) := GetGLFuncOrNil&('glLineWidthxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LineWidthxOES(width: fixed) := z_LineWidthxOES(width); + + public z_PolygonOffsetxOES: procedure(factor: fixed; units: fixed) := GetGLFuncOrNil&('glPolygonOffsetxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PolygonOffsetxOES(factor: fixed; units: fixed) := z_PolygonOffsetxOES(factor, units); + + public z_PixelTransferxOES: procedure(pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glPixelTransferxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransferxOES(pname: DummyEnum; param: fixed) := z_PixelTransferxOES(pname, param); + + public z_ConvolutionParameterxOES: procedure(target: DummyEnum; pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glConvolutionParameterxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterxOES(target: DummyEnum; pname: DummyEnum; param: fixed) := z_ConvolutionParameterxOES(target, pname, param); + + public z_ConvolutionParameterxvOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glConvolutionParameterxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := ConvolutionParameterxvOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterxvOES(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := ConvolutionParameterxvOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ConvolutionParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ConvolutionParameterxvOES(target, pname, ¶ms); + + public z_GetConvolutionParameterxvOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetConvolutionParameterxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := GetConvolutionParameterxvOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterxvOES(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := GetConvolutionParameterxvOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetConvolutionParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetConvolutionParameterxvOES(target, pname, ¶ms); + + public z_GetHistogramParameterxvOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetHistogramParameterxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := GetHistogramParameterxvOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterxvOES(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := GetHistogramParameterxvOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetHistogramParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetHistogramParameterxvOES(target, pname, ¶ms); + + public z_PixelZoomxOES: procedure(xfactor: fixed; yfactor: fixed) := GetGLFuncOrNil&('glPixelZoomxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelZoomxOES(xfactor: fixed; yfactor: fixed) := z_PixelZoomxOES(xfactor, yfactor); + + public z_BitmapxOES: procedure(width: Int32; height: Int32; xorig: fixed; yorig: fixed; xmove: fixed; ymove: fixed; bitmap: pointer) := GetGLFuncOrNil&('glBitmapxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BitmapxOES(width: Int32; height: Int32; xorig: fixed; yorig: fixed; xmove: fixed; ymove: fixed; bitmap: array of Byte) := BitmapxOES(width, height, xorig, yorig, xmove, ymove, bitmap[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BitmapxOES(width: Int32; height: Int32; xorig: fixed; yorig: fixed; xmove: fixed; ymove: fixed; var bitmap: Byte) := BitmapxOES(width, height, xorig, yorig, xmove, ymove, @bitmap); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BitmapxOES(width: Int32; height: Int32; xorig: fixed; yorig: fixed; xmove: fixed; ymove: fixed; bitmap: pointer) := z_BitmapxOES(width, height, xorig, yorig, xmove, ymove, bitmap); + + public z_TexParameterxOES: procedure(target: DummyEnum; pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glTexParameterxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterxOES(target: DummyEnum; pname: DummyEnum; param: fixed) := z_TexParameterxOES(target, pname, param); + + public z_TexParameterxvOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := TexParameterxvOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterxvOES(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := TexParameterxvOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexParameterxvOES(target, pname, ¶ms); + + public z_GetTexParameterxvOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := GetTexParameterxvOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterxvOES(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := GetTexParameterxvOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexParameterxvOES(target, pname, ¶ms); + + public z_GetTexLevelParameterxvOES: procedure(target: DummyEnum; level: Int32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexLevelParameterxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameterxvOES(target: DummyEnum; level: Int32; pname: DummyEnum; ¶ms: array of fixed) := GetTexLevelParameterxvOES(target, level, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameterxvOES(target: DummyEnum; level: Int32; pname: DummyEnum; var ¶ms: fixed) := GetTexLevelParameterxvOES(target, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexLevelParameterxvOES(target: DummyEnum; level: Int32; pname: DummyEnum; ¶ms: pointer) := z_GetTexLevelParameterxvOES(target, level, pname, ¶ms); + + public z_PrioritizeTexturesxOES: procedure(n: Int32; textures: pointer; priorities: pointer) := GetGLFuncOrNil&('glPrioritizeTexturesxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; textures: array of UInt32; priorities: array of fixed) := PrioritizeTexturesxOES(n, textures[0], priorities[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; textures: array of UInt32; var priorities: fixed) := PrioritizeTexturesxOES(n, textures[0], @priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; textures: array of UInt32; priorities: pointer) := PrioritizeTexturesxOES(n, textures[0], priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; var textures: UInt32; priorities: array of fixed) := PrioritizeTexturesxOES(n, @textures, priorities[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; var textures: UInt32; var priorities: fixed) := PrioritizeTexturesxOES(n, @textures, @priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; var textures: UInt32; priorities: pointer) := PrioritizeTexturesxOES(n, @textures, priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; textures: pointer; priorities: array of fixed) := PrioritizeTexturesxOES(n, textures, priorities[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; textures: pointer; var priorities: fixed) := PrioritizeTexturesxOES(n, textures, @priorities); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrioritizeTexturesxOES(n: Int32; textures: pointer; priorities: pointer) := z_PrioritizeTexturesxOES(n, textures, priorities); + + public z_TexEnvxOES: procedure(target: DummyEnum; pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glTexEnvxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvxOES(target: DummyEnum; pname: DummyEnum; param: fixed) := z_TexEnvxOES(target, pname, param); + + public z_TexEnvxvOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexEnvxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := TexEnvxvOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvxvOES(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := TexEnvxvOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexEnvxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexEnvxvOES(target, pname, ¶ms); + + public z_GetTexEnvxvOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexEnvxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnvxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := GetTexEnvxvOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnvxvOES(target: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := GetTexEnvxvOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexEnvxvOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexEnvxvOES(target, pname, ¶ms); + + public z_FogxOES: procedure(pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glFogxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogxOES(pname: DummyEnum; param: fixed) := z_FogxOES(pname, param); + + public z_FogxvOES: procedure(pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glFogxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogxvOES(pname: DummyEnum; param: array of fixed) := FogxvOES(pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogxvOES(pname: DummyEnum; var param: fixed) := FogxvOES(pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FogxvOES(pname: DummyEnum; param: pointer) := z_FogxvOES(pname, param); + + public z_SampleCoveragexOES: procedure(value: Int32; invert: Byte) := GetGLFuncOrNil&('glSampleCoveragexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleCoveragexOES(value: Int32; invert: Byte) := z_SampleCoveragexOES(value, invert); + + public z_AlphaFuncxOES: procedure(func: DummyEnum; ref: fixed) := GetGLFuncOrNil&('glAlphaFuncxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AlphaFuncxOES(func: DummyEnum; ref: fixed) := z_AlphaFuncxOES(func, ref); + + public z_BlendColorxOES: procedure(red: fixed; green: fixed; blue: fixed; alpha: fixed) := GetGLFuncOrNil&('glBlendColorxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendColorxOES(red: fixed; green: fixed; blue: fixed; alpha: fixed) := z_BlendColorxOES(red, green, blue, alpha); + + public z_ClearColorxOES: procedure(red: fixed; green: fixed; blue: fixed; alpha: fixed) := GetGLFuncOrNil&('glClearColorxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearColorxOES(red: fixed; green: fixed; blue: fixed; alpha: fixed) := z_ClearColorxOES(red, green, blue, alpha); + + public z_ClearDepthxOES: procedure(depth: fixed) := GetGLFuncOrNil&('glClearDepthxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearDepthxOES(depth: fixed) := z_ClearDepthxOES(depth); + + public z_ClearAccumxOES: procedure(red: fixed; green: fixed; blue: fixed; alpha: fixed) := GetGLFuncOrNil&('glClearAccumxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearAccumxOES(red: fixed; green: fixed; blue: fixed; alpha: fixed) := z_ClearAccumxOES(red, green, blue, alpha); + + public z_AccumxOES: procedure(op: DummyEnum; value: fixed) := GetGLFuncOrNil&('glAccumxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AccumxOES(op: DummyEnum; value: fixed) := z_AccumxOES(op, value); + + public z_Map1xOES: procedure(target: DummyEnum; u1: fixed; u2: fixed; stride: Int32; order: Int32; points: fixed) := GetGLFuncOrNil&('glMap1xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Map1xOES(target: DummyEnum; u1: fixed; u2: fixed; stride: Int32; order: Int32; points: fixed) := z_Map1xOES(target, u1, u2, stride, order, points); + + public z_Map2xOES: procedure(target: DummyEnum; u1: fixed; u2: fixed; ustride: Int32; uorder: Int32; v1: fixed; v2: fixed; vstride: Int32; vorder: Int32; points: fixed) := GetGLFuncOrNil&('glMap2xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Map2xOES(target: DummyEnum; u1: fixed; u2: fixed; ustride: Int32; uorder: Int32; v1: fixed; v2: fixed; vstride: Int32; vorder: Int32; points: fixed) := z_Map2xOES(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + + public z_MapGrid1xOES: procedure(n: Int32; u1: fixed; u2: fixed) := GetGLFuncOrNil&('glMapGrid1xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapGrid1xOES(n: Int32; u1: fixed; u2: fixed) := z_MapGrid1xOES(n, u1, u2); + + public z_MapGrid2xOES: procedure(n: Int32; u1: fixed; u2: fixed; v1: fixed; v2: fixed) := GetGLFuncOrNil&('glMapGrid2xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MapGrid2xOES(n: Int32; u1: fixed; u2: fixed; v1: fixed; v2: fixed) := z_MapGrid2xOES(n, u1, u2, v1, v2); + + public z_GetMapxvOES: procedure(target: DummyEnum; query: DummyEnum; v: pointer) := GetGLFuncOrNil&('glGetMapxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapxvOES(target: DummyEnum; query: DummyEnum; v: array of fixed) := GetMapxvOES(target, query, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapxvOES(target: DummyEnum; query: DummyEnum; var v: fixed) := GetMapxvOES(target, query, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetMapxvOES(target: DummyEnum; query: DummyEnum; v: pointer) := z_GetMapxvOES(target, query, v); + + public z_EvalCoord1xOES: procedure(u: fixed) := GetGLFuncOrNil&('glEvalCoord1xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord1xOES(u: fixed) := z_EvalCoord1xOES(u); + + public z_EvalCoord2xOES: procedure(u: fixed; v: fixed) := GetGLFuncOrNil&('glEvalCoord2xOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord2xOES(u: fixed; v: fixed) := z_EvalCoord2xOES(u, v); + + public z_EvalCoord1xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glEvalCoord1xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord1xvOES(coords: array of fixed) := EvalCoord1xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord1xvOES(var coords: fixed) := EvalCoord1xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord1xvOES(coords: pointer) := z_EvalCoord1xvOES(coords); + + public z_EvalCoord2xvOES: procedure(coords: pointer) := GetGLFuncOrNil&('glEvalCoord2xvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord2xvOES(coords: array of fixed) := EvalCoord2xvOES(coords[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord2xvOES(var coords: fixed) := EvalCoord2xvOES(@coords); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EvalCoord2xvOES(coords: pointer) := z_EvalCoord2xvOES(coords); + + public z_FeedbackBufferxOES: procedure(n: Int32; &type: DummyEnum; buffer: pointer) := GetGLFuncOrNil&('glFeedbackBufferxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FeedbackBufferxOES(n: Int32; &type: DummyEnum; buffer: array of fixed) := FeedbackBufferxOES(n, &type, buffer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FeedbackBufferxOES(n: Int32; &type: DummyEnum; var buffer: fixed) := FeedbackBufferxOES(n, &type, @buffer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FeedbackBufferxOES(n: Int32; &type: DummyEnum; buffer: pointer) := z_FeedbackBufferxOES(n, &type, buffer); + + public z_PassThroughxOES: procedure(token: fixed) := GetGLFuncOrNil&('glPassThroughxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PassThroughxOES(token: fixed) := z_PassThroughxOES(token); + + public z_GetFixedvOES: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetFixedvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFixedvOES(pname: DummyEnum; ¶ms: array of fixed) := GetFixedvOES(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFixedvOES(pname: DummyEnum; var ¶ms: fixed) := GetFixedvOES(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFixedvOES(pname: DummyEnum; ¶ms: pointer) := z_GetFixedvOES(pname, ¶ms); + + {$endregion OES_fixed_point} + + {$region OES_framebuffer_object} + + public z_IsRenderbufferOES: function(renderbuffer: UInt32): Byte := GetGLFuncOrNil&('glIsRenderbufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsRenderbufferOES(renderbuffer: UInt32): Byte := z_IsRenderbufferOES(renderbuffer); + + public z_BindRenderbufferOES: procedure(target: DummyEnum; renderbuffer: UInt32) := GetGLFuncOrNil&('glBindRenderbufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindRenderbufferOES(target: DummyEnum; renderbuffer: UInt32) := z_BindRenderbufferOES(target, renderbuffer); + + public z_DeleteRenderbuffersOES: procedure(n: Int32; renderbuffers: pointer) := GetGLFuncOrNil&('glDeleteRenderbuffersOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteRenderbuffersOES(n: Int32; renderbuffers: array of UInt32) := DeleteRenderbuffersOES(n, renderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteRenderbuffersOES(n: Int32; var renderbuffers: UInt32) := DeleteRenderbuffersOES(n, @renderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteRenderbuffersOES(n: Int32; renderbuffers: pointer) := z_DeleteRenderbuffersOES(n, renderbuffers); + + public z_GenRenderbuffersOES: procedure(n: Int32; renderbuffers: pointer) := GetGLFuncOrNil&('glGenRenderbuffersOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenRenderbuffersOES(n: Int32; renderbuffers: array of UInt32) := GenRenderbuffersOES(n, renderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenRenderbuffersOES(n: Int32; var renderbuffers: UInt32) := GenRenderbuffersOES(n, @renderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenRenderbuffersOES(n: Int32; renderbuffers: pointer) := z_GenRenderbuffersOES(n, renderbuffers); + + public z_RenderbufferStorageOES: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32) := GetGLFuncOrNil&('glRenderbufferStorageOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure RenderbufferStorageOES(target: DummyEnum; internalformat: DummyEnum; width: Int32; height: Int32) := z_RenderbufferStorageOES(target, internalformat, width, height); + + public z_GetRenderbufferParameterivOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetRenderbufferParameterivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetRenderbufferParameterivOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetRenderbufferParameterivOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetRenderbufferParameterivOES(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetRenderbufferParameterivOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetRenderbufferParameterivOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetRenderbufferParameterivOES(target, pname, ¶ms); + + public z_IsFramebufferOES: function(framebuffer: UInt32): Byte := GetGLFuncOrNil&('glIsFramebufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsFramebufferOES(framebuffer: UInt32): Byte := z_IsFramebufferOES(framebuffer); + + public z_BindFramebufferOES: procedure(target: DummyEnum; framebuffer: UInt32) := GetGLFuncOrNil&('glBindFramebufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindFramebufferOES(target: DummyEnum; framebuffer: UInt32) := z_BindFramebufferOES(target, framebuffer); + + public z_DeleteFramebuffersOES: procedure(n: Int32; framebuffers: pointer) := GetGLFuncOrNil&('glDeleteFramebuffersOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFramebuffersOES(n: Int32; framebuffers: array of UInt32) := DeleteFramebuffersOES(n, framebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFramebuffersOES(n: Int32; var framebuffers: UInt32) := DeleteFramebuffersOES(n, @framebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteFramebuffersOES(n: Int32; framebuffers: pointer) := z_DeleteFramebuffersOES(n, framebuffers); + + public z_GenFramebuffersOES: procedure(n: Int32; framebuffers: pointer) := GetGLFuncOrNil&('glGenFramebuffersOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFramebuffersOES(n: Int32; framebuffers: array of UInt32) := GenFramebuffersOES(n, framebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFramebuffersOES(n: Int32; var framebuffers: UInt32) := GenFramebuffersOES(n, @framebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenFramebuffersOES(n: Int32; framebuffers: pointer) := z_GenFramebuffersOES(n, framebuffers); + + public z_CheckFramebufferStatusOES: function(target: DummyEnum): DummyEnum := GetGLFuncOrNil&('glCheckFramebufferStatusOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CheckFramebufferStatusOES(target: DummyEnum): DummyEnum := z_CheckFramebufferStatusOES(target); + + public z_FramebufferTexture2DOES: procedure(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32) := GetGLFuncOrNil&('glFramebufferTexture2DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture2DOES(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32) := z_FramebufferTexture2DOES(target, attachment, textarget, texture, level); + + public z_FramebufferRenderbufferOES: procedure(target: DummyEnum; attachment: DummyEnum; renderbuffertarget: DummyEnum; renderbuffer: UInt32) := GetGLFuncOrNil&('glFramebufferRenderbufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferRenderbufferOES(target: DummyEnum; attachment: DummyEnum; renderbuffertarget: DummyEnum; renderbuffer: UInt32) := z_FramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer); + + public z_GetFramebufferAttachmentParameterivOES: procedure(target: DummyEnum; attachment: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetFramebufferAttachmentParameterivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameterivOES(target: DummyEnum; attachment: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetFramebufferAttachmentParameterivOES(target, attachment, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameterivOES(target: DummyEnum; attachment: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetFramebufferAttachmentParameterivOES(target, attachment, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFramebufferAttachmentParameterivOES(target: DummyEnum; attachment: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetFramebufferAttachmentParameterivOES(target, attachment, pname, ¶ms); + + public z_GenerateMipmapOES: procedure(target: DummyEnum) := GetGLFuncOrNil&('glGenerateMipmapOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenerateMipmapOES(target: DummyEnum) := z_GenerateMipmapOES(target); + + {$endregion OES_framebuffer_object} + + {$region OES_vertex_array_object} + + public z_BindVertexArrayOES: procedure(&array: UInt32) := GetGLFuncOrNil&('glBindVertexArrayOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BindVertexArrayOES(&array: UInt32) := z_BindVertexArrayOES(&array); + + public z_DeleteVertexArraysOES: procedure(n: Int32; arrays: pointer) := GetGLFuncOrNil&('glDeleteVertexArraysOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArraysOES(n: Int32; arrays: array of UInt32) := DeleteVertexArraysOES(n, arrays[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArraysOES(n: Int32; var arrays: UInt32) := DeleteVertexArraysOES(n, @arrays); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeleteVertexArraysOES(n: Int32; arrays: pointer) := z_DeleteVertexArraysOES(n, arrays); + + public z_GenVertexArraysOES: procedure(n: Int32; arrays: pointer) := GetGLFuncOrNil&('glGenVertexArraysOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArraysOES(n: Int32; arrays: array of UInt32) := GenVertexArraysOES(n, arrays[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArraysOES(n: Int32; var arrays: UInt32) := GenVertexArraysOES(n, @arrays); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GenVertexArraysOES(n: Int32; arrays: pointer) := z_GenVertexArraysOES(n, arrays); + + public z_IsVertexArrayOES: function(&array: UInt32): Byte := GetGLFuncOrNil&('glIsVertexArrayOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsVertexArrayOES(&array: UInt32): Byte := z_IsVertexArrayOES(&array); + + {$endregion OES_vertex_array_object} + + {$region OES_draw_buffers_indexed} + + public z_BlendEquationiOES: procedure(buf: UInt32; mode: DummyEnum) := GetGLFuncOrNil&('glBlendEquationiOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationiOES(buf: UInt32; mode: DummyEnum) := z_BlendEquationiOES(buf, mode); + + public z_BlendEquationSeparateiOES: procedure(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendEquationSeparateiOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparateiOES(buf: UInt32; modeRGB: DummyEnum; modeAlpha: DummyEnum) := z_BlendEquationSeparateiOES(buf, modeRGB, modeAlpha); + + public z_BlendFunciOES: procedure(buf: UInt32; src: DummyEnum; dst: DummyEnum) := GetGLFuncOrNil&('glBlendFunciOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFunciOES(buf: UInt32; src: DummyEnum; dst: DummyEnum) := z_BlendFunciOES(buf, src, dst); + + public z_BlendFuncSeparateiOES: procedure(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendFuncSeparateiOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparateiOES(buf: UInt32; srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := z_BlendFuncSeparateiOES(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + + public z_ColorMaskiOES: procedure(index: UInt32; r: Byte; g: Byte; b: Byte; a: Byte) := GetGLFuncOrNil&('glColorMaskiOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorMaskiOES(index: UInt32; r: Byte; g: Byte; b: Byte; a: Byte) := z_ColorMaskiOES(index, r, g, b, a); + + {$endregion OES_draw_buffers_indexed} + + {$region OES_blend_subtract} + + public z_BlendEquationOES: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glBlendEquationOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationOES(mode: DummyEnum) := z_BlendEquationOES(mode); + + {$endregion OES_blend_subtract} + + {$region OES_blend_equation_separate} + + public z_BlendEquationSeparateOES: procedure(modeRGB: DummyEnum; modeAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendEquationSeparateOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendEquationSeparateOES(modeRGB: DummyEnum; modeAlpha: DummyEnum) := z_BlendEquationSeparateOES(modeRGB, modeAlpha); + + {$endregion OES_blend_equation_separate} + + {$region OES_blend_func_separate} + + public z_BlendFuncSeparateOES: procedure(srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := GetGLFuncOrNil&('glBlendFuncSeparateOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure BlendFuncSeparateOES(srcRGB: DummyEnum; dstRGB: DummyEnum; srcAlpha: DummyEnum; dstAlpha: DummyEnum) := z_BlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha); + + {$endregion OES_blend_func_separate} + + {$region OES_single_precision} + + public z_DepthRangefOES: procedure(n: single; f: single) := GetGLFuncOrNil&('glDepthRangefOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangefOES(n: single; f: single) := z_DepthRangefOES(n, f); + + public z_FrustumfOES: procedure(l: single; r: single; b: single; t: single; n: single; f: single) := GetGLFuncOrNil&('glFrustumfOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FrustumfOES(l: single; r: single; b: single; t: single; n: single; f: single) := z_FrustumfOES(l, r, b, t, n, f); + + public z_OrthofOES: procedure(l: single; r: single; b: single; t: single; n: single; f: single) := GetGLFuncOrNil&('glOrthofOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure OrthofOES(l: single; r: single; b: single; t: single; n: single; f: single) := z_OrthofOES(l, r, b, t, n, f); + + public z_ClipPlanefOES: procedure(plane: DummyEnum; equation: pointer) := GetGLFuncOrNil&('glClipPlanefOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanefOES(plane: DummyEnum; equation: array of single) := ClipPlanefOES(plane, equation[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanefOES(plane: DummyEnum; var equation: single) := ClipPlanefOES(plane, @equation); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClipPlanefOES(plane: DummyEnum; equation: pointer) := z_ClipPlanefOES(plane, equation); + + public z_GetClipPlanefOES: procedure(plane: DummyEnum; equation: pointer) := GetGLFuncOrNil&('glGetClipPlanefOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetClipPlanefOES(plane: DummyEnum; equation: array of single) := GetClipPlanefOES(plane, equation[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetClipPlanefOES(plane: DummyEnum; var equation: single) := GetClipPlanefOES(plane, @equation); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetClipPlanefOES(plane: DummyEnum; equation: pointer) := z_GetClipPlanefOES(plane, equation); + + public z_ClearDepthfOES: procedure(depth: single) := GetGLFuncOrNil&('glClearDepthfOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ClearDepthfOES(depth: single) := z_ClearDepthfOES(depth); + + {$endregion OES_single_precision} + + {$region OES_texture_3D} + + public z_TexImage3DOES: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := GetGLFuncOrNil&('glTexImage3DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexImage3DOES(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := z_TexImage3DOES(target, level, internalformat, width, height, depth, border, format, &type, pixels); + + public z_TexSubImage3DOES: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := GetGLFuncOrNil&('glTexSubImage3DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexSubImage3DOES(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; pixels: pointer) := z_TexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, pixels); + + public z_CopyTexSubImage3DOES: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glCopyTexSubImage3DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyTexSubImage3DOES(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; x: Int32; y: Int32; width: Int32; height: Int32) := z_CopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height); + + public z_CompressedTexImage3DOES: procedure(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexImage3DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexImage3DOES(target: DummyEnum; level: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; border: Int32; imageSize: Int32; data: pointer) := z_CompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data); + + public z_CompressedTexSubImage3DOES: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := GetGLFuncOrNil&('glCompressedTexSubImage3DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CompressedTexSubImage3DOES(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; imageSize: Int32; data: pointer) := z_CompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + + public z_FramebufferTexture3DOES: procedure(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; zoffset: Int32) := GetGLFuncOrNil&('glFramebufferTexture3DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTexture3DOES(target: DummyEnum; attachment: DummyEnum; textarget: DummyEnum; texture: UInt32; level: Int32; zoffset: Int32) := z_FramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset); + + {$endregion OES_texture_3D} + + {$region OES_copy_image} + + public z_CopyImageSubDataOES: procedure(srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := GetGLFuncOrNil&('glCopyImageSubDataOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyImageSubDataOES(srcName: UInt32; srcTarget: DummyEnum; srcLevel: Int32; srcX: Int32; srcY: Int32; srcZ: Int32; dstName: UInt32; dstTarget: DummyEnum; dstLevel: Int32; dstX: Int32; dstY: Int32; dstZ: Int32; srcWidth: Int32; srcHeight: Int32; srcDepth: Int32) := z_CopyImageSubDataOES(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + + {$endregion OES_copy_image} + + {$region OES_matrix_palette} + + public z_CurrentPaletteMatrixOES: procedure(matrixpaletteindex: UInt32) := GetGLFuncOrNil&('glCurrentPaletteMatrixOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CurrentPaletteMatrixOES(matrixpaletteindex: UInt32) := z_CurrentPaletteMatrixOES(matrixpaletteindex); + + public z_LoadPaletteFromModelViewMatrixOES: procedure := GetGLFuncOrNil&('glLoadPaletteFromModelViewMatrixOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadPaletteFromModelViewMatrixOES := z_LoadPaletteFromModelViewMatrixOES; + + public z_MatrixIndexPointerOES: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glMatrixIndexPointerOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MatrixIndexPointerOES(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_MatrixIndexPointerOES(size, &type, stride, _pointer); + + public z_WeightPointerOES: procedure(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glWeightPointerOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure WeightPointerOES(size: Int32; &type: DummyEnum; stride: Int32; _pointer: pointer) := z_WeightPointerOES(size, &type, stride, _pointer); + + {$endregion OES_matrix_palette} + + {$region OES_viewport_array} + + public z_ViewportArrayvOES: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glViewportArrayvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayvOES(first: UInt32; count: Int32; v: array of single) := ViewportArrayvOES(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayvOES(first: UInt32; count: Int32; var v: single) := ViewportArrayvOES(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportArrayvOES(first: UInt32; count: Int32; v: pointer) := z_ViewportArrayvOES(first, count, v); + + public z_ViewportIndexedfOES: procedure(index: UInt32; x: single; y: single; w: single; h: single) := GetGLFuncOrNil&('glViewportIndexedfOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfOES(index: UInt32; x: single; y: single; w: single; h: single) := z_ViewportIndexedfOES(index, x, y, w, h); + + public z_ViewportIndexedfvOES: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glViewportIndexedfvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfvOES(index: UInt32; v: array of single) := ViewportIndexedfvOES(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfvOES(index: UInt32; var v: single) := ViewportIndexedfvOES(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ViewportIndexedfvOES(index: UInt32; v: pointer) := z_ViewportIndexedfvOES(index, v); + + public z_ScissorArrayvOES: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glScissorArrayvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayvOES(first: UInt32; count: Int32; v: array of Int32) := ScissorArrayvOES(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayvOES(first: UInt32; count: Int32; var v: Int32) := ScissorArrayvOES(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorArrayvOES(first: UInt32; count: Int32; v: pointer) := z_ScissorArrayvOES(first, count, v); + + public z_ScissorIndexedOES: procedure(index: UInt32; left: Int32; bottom: Int32; width: Int32; height: Int32) := GetGLFuncOrNil&('glScissorIndexedOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedOES(index: UInt32; left: Int32; bottom: Int32; width: Int32; height: Int32) := z_ScissorIndexedOES(index, left, bottom, width, height); + + public z_ScissorIndexedvOES: procedure(index: UInt32; v: pointer) := GetGLFuncOrNil&('glScissorIndexedvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedvOES(index: UInt32; v: array of Int32) := ScissorIndexedvOES(index, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedvOES(index: UInt32; var v: Int32) := ScissorIndexedvOES(index, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ScissorIndexedvOES(index: UInt32; v: pointer) := z_ScissorIndexedvOES(index, v); + + public z_DepthRangeArrayfvOES: procedure(first: UInt32; count: Int32; v: pointer) := GetGLFuncOrNil&('glDepthRangeArrayfvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayfvOES(first: UInt32; count: Int32; v: array of single) := DepthRangeArrayfvOES(first, count, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayfvOES(first: UInt32; count: Int32; var v: single) := DepthRangeArrayfvOES(first, count, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeArrayfvOES(first: UInt32; count: Int32; v: pointer) := z_DepthRangeArrayfvOES(first, count, v); + + public z_DepthRangeIndexedfOES: procedure(index: UInt32; n: single; f: single) := GetGLFuncOrNil&('glDepthRangeIndexedfOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DepthRangeIndexedfOES(index: UInt32; n: single; f: single) := z_DepthRangeIndexedfOES(index, n, f); + + public z_GetFloati_vOES: procedure(target: GLGetQueries; index: UInt32; data: pointer) := GetGLFuncOrNil&('glGetFloati_vOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_vOES(target: GLGetQueries; index: UInt32; data: array of single) := GetFloati_vOES(target, index, data[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_vOES(target: GLGetQueries; index: UInt32; var data: single) := GetFloati_vOES(target, index, @data); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetFloati_vOES(target: GLGetQueries; index: UInt32; data: pointer) := z_GetFloati_vOES(target, index, data); + + {$endregion OES_viewport_array} + + {$region OES_draw_buffers_indexed OES_viewport_array} + + public z_EnableiOES: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glEnableiOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableiOES(target: DummyEnum; index: UInt32) := z_EnableiOES(target, index); + + public z_DisableiOES: procedure(target: DummyEnum; index: UInt32) := GetGLFuncOrNil&('glDisableiOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableiOES(target: DummyEnum; index: UInt32) := z_DisableiOES(target, index); + + public z_IsEnablediOES: function(target: DummyEnum; index: UInt32): Byte := GetGLFuncOrNil&('glIsEnablediOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function IsEnablediOES(target: DummyEnum; index: UInt32): Byte := z_IsEnablediOES(target, index); + + {$endregion OES_draw_buffers_indexed OES_viewport_array} + + {$region OES_draw_elements_base_vertex} + + public z_DrawElementsBaseVertexOES: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := GetGLFuncOrNil&('glDrawElementsBaseVertexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsBaseVertexOES(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := z_DrawElementsBaseVertexOES(mode, count, &type, indices, basevertex); + + public z_DrawRangeElementsBaseVertexOES: procedure(mode: DummyEnum; start: UInt32; &end: UInt32; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := GetGLFuncOrNil&('glDrawRangeElementsBaseVertexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawRangeElementsBaseVertexOES(mode: DummyEnum; start: UInt32; &end: UInt32; count: Int32; &type: DummyEnum; indices: pointer; basevertex: Int32) := z_DrawRangeElementsBaseVertexOES(mode, start, &end, count, &type, indices, basevertex); + + public z_DrawElementsInstancedBaseVertexOES: procedure(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; basevertex: Int32) := GetGLFuncOrNil&('glDrawElementsInstancedBaseVertexOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawElementsInstancedBaseVertexOES(mode: DummyEnum; count: Int32; &type: DummyEnum; indices: pointer; instancecount: Int32; basevertex: Int32) := z_DrawElementsInstancedBaseVertexOES(mode, count, &type, indices, instancecount, basevertex); + + {$endregion OES_draw_elements_base_vertex} + + {$region OES_EGL_image} + + public z_EGLImageTargetRenderbufferStorageOES: procedure(target: DummyEnum; image: GLeglImageOES) := GetGLFuncOrNil&('glEGLImageTargetRenderbufferStorageOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetRenderbufferStorageOES(target: DummyEnum; image: GLeglImageOES) := z_EGLImageTargetRenderbufferStorageOES(target, image); + + {$endregion OES_EGL_image} + + {$region OES_EGL_image OES_EGL_image_external} + + public z_EGLImageTargetTexture2DOES: procedure(target: DummyEnum; image: GLeglImageOES) := GetGLFuncOrNil&('glEGLImageTargetTexture2DOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EGLImageTargetTexture2DOES(target: DummyEnum; image: GLeglImageOES) := z_EGLImageTargetTexture2DOES(target, image); + + {$endregion OES_EGL_image OES_EGL_image_external} + + {$region OES_geometry_shader} + + public z_FramebufferTextureOES: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32) := GetGLFuncOrNil&('glFramebufferTextureOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureOES(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32) := z_FramebufferTextureOES(target, attachment, texture, level); + + {$endregion OES_geometry_shader} + + {$region OES_mapbuffer} + + public z_GetBufferPointervOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetBufferPointervOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointervOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of IntPtr) := GetBufferPointervOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointervOES(target: DummyEnum; pname: DummyEnum; var ¶ms: IntPtr) := GetBufferPointervOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetBufferPointervOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetBufferPointervOES(target, pname, ¶ms); + + public z_MapBufferOES: function(target: DummyEnum; access: DummyEnum): pointer := GetGLFuncOrNil&('glMapBufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function MapBufferOES(target: DummyEnum; access: DummyEnum): pointer := z_MapBufferOES(target, access); + + public z_UnmapBufferOES: function(target: DummyEnum): Byte := GetGLFuncOrNil&('glUnmapBufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function UnmapBufferOES(target: DummyEnum): Byte := z_UnmapBufferOES(target); + + {$endregion OES_mapbuffer} + + {$region OES_get_program_binary} + + public z_GetProgramBinaryOES: procedure(&program: UInt32; bufSize: Int32; length: pointer; binaryFormat: pointer; binary: pointer) := GetGLFuncOrNil&('glGetProgramBinaryOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; length: array of Int32; binaryFormat: array of DummyEnum; binary: pointer) := GetProgramBinaryOES(&program, bufSize, length[0], binaryFormat[0], binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; length: array of Int32; var binaryFormat: DummyEnum; binary: pointer) := GetProgramBinaryOES(&program, bufSize, length[0], @binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; length: array of Int32; binaryFormat: pointer; binary: pointer) := GetProgramBinaryOES(&program, bufSize, length[0], binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; var length: Int32; binaryFormat: array of DummyEnum; binary: pointer) := GetProgramBinaryOES(&program, bufSize, @length, binaryFormat[0], binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; var length: Int32; var binaryFormat: DummyEnum; binary: pointer) := GetProgramBinaryOES(&program, bufSize, @length, @binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; var length: Int32; binaryFormat: pointer; binary: pointer) := GetProgramBinaryOES(&program, bufSize, @length, binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; length: pointer; binaryFormat: array of DummyEnum; binary: pointer) := GetProgramBinaryOES(&program, bufSize, length, binaryFormat[0], binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; length: pointer; var binaryFormat: DummyEnum; binary: pointer) := GetProgramBinaryOES(&program, bufSize, length, @binaryFormat, binary); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetProgramBinaryOES(&program: UInt32; bufSize: Int32; length: pointer; binaryFormat: pointer; binary: pointer) := z_GetProgramBinaryOES(&program, bufSize, length, binaryFormat, binary); + + public z_ProgramBinaryOES: procedure(&program: UInt32; binaryFormat: DummyEnum; binary: pointer; length: Int32) := GetGLFuncOrNil&('glProgramBinaryOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ProgramBinaryOES(&program: UInt32; binaryFormat: DummyEnum; binary: pointer; length: Int32) := z_ProgramBinaryOES(&program, binaryFormat, binary, length); + + {$endregion OES_get_program_binary} + + {$region OES_texture_border_clamp} + + public z_TexParameterIivOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterIivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIivOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := TexParameterIivOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIivOES(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := TexParameterIivOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIivOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexParameterIivOES(target, pname, ¶ms); + + public z_TexParameterIuivOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexParameterIuivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuivOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of UInt32) := TexParameterIuivOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuivOES(target: DummyEnum; pname: DummyEnum; var ¶ms: UInt32) := TexParameterIuivOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexParameterIuivOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexParameterIuivOES(target, pname, ¶ms); + + public z_GetTexParameterIivOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterIivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIivOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetTexParameterIivOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIivOES(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetTexParameterIivOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIivOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexParameterIivOES(target, pname, ¶ms); + + public z_GetTexParameterIuivOES: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexParameterIuivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuivOES(target: DummyEnum; pname: DummyEnum; ¶ms: array of UInt32) := GetTexParameterIuivOES(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuivOES(target: DummyEnum; pname: DummyEnum; var ¶ms: UInt32) := GetTexParameterIuivOES(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexParameterIuivOES(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexParameterIuivOES(target, pname, ¶ms); + + public z_SamplerParameterIivOES: procedure(sampler: UInt32; pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glSamplerParameterIivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIivOES(sampler: UInt32; pname: DummyEnum; param: array of Int32) := SamplerParameterIivOES(sampler, pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIivOES(sampler: UInt32; pname: DummyEnum; var param: Int32) := SamplerParameterIivOES(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIivOES(sampler: UInt32; pname: DummyEnum; param: pointer) := z_SamplerParameterIivOES(sampler, pname, param); + + public z_SamplerParameterIuivOES: procedure(sampler: UInt32; pname: DummyEnum; param: pointer) := GetGLFuncOrNil&('glSamplerParameterIuivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuivOES(sampler: UInt32; pname: DummyEnum; param: array of UInt32) := SamplerParameterIuivOES(sampler, pname, param[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuivOES(sampler: UInt32; pname: DummyEnum; var param: UInt32) := SamplerParameterIuivOES(sampler, pname, @param); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplerParameterIuivOES(sampler: UInt32; pname: DummyEnum; param: pointer) := z_SamplerParameterIuivOES(sampler, pname, param); + + public z_GetSamplerParameterIivOES: procedure(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameterIivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIivOES(sampler: UInt32; pname: DummyEnum; ¶ms: array of Int32) := GetSamplerParameterIivOES(sampler, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIivOES(sampler: UInt32; pname: DummyEnum; var ¶ms: Int32) := GetSamplerParameterIivOES(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIivOES(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetSamplerParameterIivOES(sampler, pname, ¶ms); + + public z_GetSamplerParameterIuivOES: procedure(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetSamplerParameterIuivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuivOES(sampler: UInt32; pname: DummyEnum; ¶ms: array of UInt32) := GetSamplerParameterIuivOES(sampler, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuivOES(sampler: UInt32; pname: DummyEnum; var ¶ms: UInt32) := GetSamplerParameterIuivOES(sampler, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSamplerParameterIuivOES(sampler: UInt32; pname: DummyEnum; ¶ms: pointer) := z_GetSamplerParameterIuivOES(sampler, pname, ¶ms); + + {$endregion OES_texture_border_clamp} + + {$region OES_texture_cube_map} + + public z_TexGenfOES: procedure(coord: DummyEnum; pname: DummyEnum; param: single) := GetGLFuncOrNil&('glTexGenfOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenfOES(coord: DummyEnum; pname: DummyEnum; param: single) := z_TexGenfOES(coord, pname, param); + + public z_TexGenfvOES: procedure(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexGenfvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenfvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: array of single) := TexGenfvOES(coord, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenfvOES(coord: DummyEnum; pname: DummyEnum; var ¶ms: single) := TexGenfvOES(coord, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenfvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexGenfvOES(coord, pname, ¶ms); + + public z_TexGeniOES: procedure(coord: DummyEnum; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glTexGeniOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGeniOES(coord: DummyEnum; pname: DummyEnum; param: Int32) := z_TexGeniOES(coord, pname, param); + + public z_TexGenivOES: procedure(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexGenivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenivOES(coord: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := TexGenivOES(coord, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenivOES(coord: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := TexGenivOES(coord, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenivOES(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexGenivOES(coord, pname, ¶ms); + + public z_GetTexGenfvOES: procedure(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexGenfvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenfvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetTexGenfvOES(coord, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenfvOES(coord: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetTexGenfvOES(coord, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenfvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexGenfvOES(coord, pname, ¶ms); + + public z_GetTexGenivOES: procedure(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexGenivOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenivOES(coord: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetTexGenivOES(coord, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenivOES(coord: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetTexGenivOES(coord, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenivOES(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexGenivOES(coord, pname, ¶ms); + + {$endregion OES_texture_cube_map} + + {$region OES_fixed_point OES_texture_cube_map} + + public z_TexGenxOES: procedure(coord: DummyEnum; pname: DummyEnum; param: fixed) := GetGLFuncOrNil&('glTexGenxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenxOES(coord: DummyEnum; pname: DummyEnum; param: fixed) := z_TexGenxOES(coord, pname, param); + + public z_TexGenxvOES: procedure(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glTexGenxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenxvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := TexGenxvOES(coord, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenxvOES(coord: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := TexGenxvOES(coord, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexGenxvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_TexGenxvOES(coord, pname, ¶ms); + + public z_GetTexGenxvOES: procedure(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetTexGenxvOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenxvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: array of fixed) := GetTexGenxvOES(coord, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenxvOES(coord: DummyEnum; pname: DummyEnum; var ¶ms: fixed) := GetTexGenxvOES(coord, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexGenxvOES(coord: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetTexGenxvOES(coord, pname, ¶ms); + + {$endregion OES_fixed_point OES_texture_cube_map} + + {$region OES_sample_shading} + + public z_MinSampleShadingOES: procedure(value: single) := GetGLFuncOrNil&('glMinSampleShadingOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MinSampleShadingOES(value: single) := z_MinSampleShadingOES(value); + + {$endregion OES_sample_shading} + + {$region OES_tessellation_shader} + + public z_PatchParameteriOES: procedure(pname: DummyEnum; value: Int32) := GetGLFuncOrNil&('glPatchParameteriOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PatchParameteriOES(pname: DummyEnum; value: Int32) := z_PatchParameteriOES(pname, value); + + {$endregion OES_tessellation_shader} + + {$region OES_point_size_array} + + public z_PointSizePointerOES: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glPointSizePointerOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PointSizePointerOES(&type: DummyEnum; stride: Int32; _pointer: pointer) := z_PointSizePointerOES(&type, stride, _pointer); + + {$endregion OES_point_size_array} + + {$region OES_primitive_bounding_box} + + public z_PrimitiveBoundingBoxOES: procedure(minX: single; minY: single; minZ: single; minW: single; maxX: single; maxY: single; maxZ: single; maxW: single) := GetGLFuncOrNil&('glPrimitiveBoundingBoxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PrimitiveBoundingBoxOES(minX: single; minY: single; minZ: single; minW: single; maxX: single; maxY: single; maxZ: single; maxW: single) := z_PrimitiveBoundingBoxOES(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW); + + {$endregion OES_primitive_bounding_box} + + {$region OES_query_matrix} + + public z_QueryMatrixxOES: function(mantissa: pointer; exponent: pointer): DummyFlags := GetGLFuncOrNil&('glQueryMatrixxOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(mantissa: array of fixed; exponent: array of Int32): DummyFlags := QueryMatrixxOES(mantissa[0], exponent[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(mantissa: array of fixed; var exponent: Int32): DummyFlags := QueryMatrixxOES(mantissa[0], @exponent); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(mantissa: array of fixed; exponent: pointer): DummyFlags := QueryMatrixxOES(mantissa[0], exponent); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(var mantissa: fixed; exponent: array of Int32): DummyFlags := QueryMatrixxOES(@mantissa, exponent[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(var mantissa: fixed; var exponent: Int32): DummyFlags := QueryMatrixxOES(@mantissa, @exponent); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(var mantissa: fixed; exponent: pointer): DummyFlags := QueryMatrixxOES(@mantissa, exponent); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(mantissa: pointer; exponent: array of Int32): DummyFlags := QueryMatrixxOES(mantissa, exponent[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(mantissa: pointer; var exponent: Int32): DummyFlags := QueryMatrixxOES(mantissa, @exponent); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function QueryMatrixxOES(mantissa: pointer; exponent: pointer): DummyFlags := z_QueryMatrixxOES(mantissa, exponent); + + {$endregion OES_query_matrix} + + {$region OES_texture_buffer} + + public z_TexBufferOES: procedure(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32) := GetGLFuncOrNil&('glTexBufferOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBufferOES(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32) := z_TexBufferOES(target, internalformat, buffer); + + public z_TexBufferRangeOES: procedure(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32; offset: IntPtr; size: UIntPtr) := GetGLFuncOrNil&('glTexBufferRangeOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexBufferRangeOES(target: DummyEnum; internalformat: DummyEnum; buffer: UInt32; offset: IntPtr; size: UIntPtr) := z_TexBufferRangeOES(target, internalformat, buffer, offset, size); + + {$endregion OES_texture_buffer} + + {$region OES_texture_storage_multisample_2d_array} + + public z_TexStorage3DMultisampleOES: procedure(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: Byte) := GetGLFuncOrNil&('glTexStorage3DMultisampleOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexStorage3DMultisampleOES(target: DummyEnum; samples: Int32; internalformat: DummyEnum; width: Int32; height: Int32; depth: Int32; fixedsamplelocations: Byte) := z_TexStorage3DMultisampleOES(target, samples, internalformat, width, height, depth, fixedsamplelocations); + + {$endregion OES_texture_storage_multisample_2d_array} + + {$region OES_texture_view} + + public z_TextureViewOES: procedure(texture: UInt32; target: DummyEnum; origtexture: UInt32; internalformat: DummyEnum; minlevel: UInt32; numlevels: UInt32; minlayer: UInt32; numlayers: UInt32) := GetGLFuncOrNil&('glTextureViewOES'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureViewOES(texture: UInt32; target: DummyEnum; origtexture: UInt32; internalformat: DummyEnum; minlevel: UInt32; numlevels: UInt32; minlayer: UInt32; numlayers: UInt32) := z_TextureViewOES(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + + {$endregion OES_texture_view} + + end; + + gl_OVR = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region OVR_multiview_multisampled_render_to_texture} + + public z_FramebufferTextureMultisampleMultiviewOVR: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; samples: Int32; baseViewIndex: Int32; numViews: Int32) := GetGLFuncOrNil&('glFramebufferTextureMultisampleMultiviewOVR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureMultisampleMultiviewOVR(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; samples: Int32; baseViewIndex: Int32; numViews: Int32) := z_FramebufferTextureMultisampleMultiviewOVR(target, attachment, texture, level, samples, baseViewIndex, numViews); + + {$endregion OVR_multiview_multisampled_render_to_texture} + + {$region OVR_multiview} + + public z_FramebufferTextureMultiviewOVR: procedure(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; baseViewIndex: Int32; numViews: Int32) := GetGLFuncOrNil&('glFramebufferTextureMultiviewOVR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferTextureMultiviewOVR(target: DummyEnum; attachment: DummyEnum; texture: UInt32; level: Int32; baseViewIndex: Int32; numViews: Int32) := z_FramebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews); + + public z_NamedFramebufferTextureMultiviewOVR: procedure(framebuffer: UInt32; attachment: DummyEnum; texture: UInt32; level: Int32; baseViewIndex: Int32; numViews: Int32) := GetGLFuncOrNil&('glNamedFramebufferTextureMultiviewOVR'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure NamedFramebufferTextureMultiviewOVR(framebuffer: UInt32; attachment: DummyEnum; texture: UInt32; level: Int32; baseViewIndex: Int32; numViews: Int32) := z_NamedFramebufferTextureMultiviewOVR(framebuffer, attachment, texture, level, baseViewIndex, numViews); + + {$endregion OVR_multiview} + + end; + + gl_QCOM = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region QCOM_alpha_test} + + public z_AlphaFuncQCOM: procedure(func: DummyEnum; ref: single) := GetGLFuncOrNil&('glAlphaFuncQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure AlphaFuncQCOM(func: DummyEnum; ref: single) := z_AlphaFuncQCOM(func, ref); + + {$endregion QCOM_alpha_test} + + {$region QCOM_driver_control} + + public z_GetDriverControlsQCOM: procedure(num: pointer; size: Int32; driverControls: pointer) := GetGLFuncOrNil&('glGetDriverControlsQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(num: array of Int32; size: Int32; driverControls: array of UInt32) := GetDriverControlsQCOM(num[0], size, driverControls[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(num: array of Int32; size: Int32; var driverControls: UInt32) := GetDriverControlsQCOM(num[0], size, @driverControls); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(num: array of Int32; size: Int32; driverControls: pointer) := GetDriverControlsQCOM(num[0], size, driverControls); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(var num: Int32; size: Int32; driverControls: array of UInt32) := GetDriverControlsQCOM(@num, size, driverControls[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(var num: Int32; size: Int32; var driverControls: UInt32) := GetDriverControlsQCOM(@num, size, @driverControls); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(var num: Int32; size: Int32; driverControls: pointer) := GetDriverControlsQCOM(@num, size, driverControls); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(num: pointer; size: Int32; driverControls: array of UInt32) := GetDriverControlsQCOM(num, size, driverControls[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(num: pointer; size: Int32; var driverControls: UInt32) := GetDriverControlsQCOM(num, size, @driverControls); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlsQCOM(num: pointer; size: Int32; driverControls: pointer) := z_GetDriverControlsQCOM(num, size, driverControls); + + public z_GetDriverControlStringQCOM: procedure(driverControl: UInt32; bufSize: Int32; length: pointer; driverControlString: IntPtr) := GetGLFuncOrNil&('glGetDriverControlStringQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlStringQCOM(driverControl: UInt32; bufSize: Int32; length: array of Int32; driverControlString: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(driverControlString); GetDriverControlStringQCOM(driverControl, bufSize, length[0], ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlStringQCOM(driverControl: UInt32; bufSize: Int32; length: array of Int32; driverControlString: IntPtr) := GetDriverControlStringQCOM(driverControl, bufSize, length[0], driverControlString); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlStringQCOM(driverControl: UInt32; bufSize: Int32; var length: Int32; driverControlString: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(driverControlString); GetDriverControlStringQCOM(driverControl, bufSize, @length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlStringQCOM(driverControl: UInt32; bufSize: Int32; var length: Int32; driverControlString: IntPtr) := GetDriverControlStringQCOM(driverControl, bufSize, @length, driverControlString); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlStringQCOM(driverControl: UInt32; bufSize: Int32; length: pointer; driverControlString: string); begin var ptr_4 := Marshal.StringToHGlobalAnsi(driverControlString); GetDriverControlStringQCOM(driverControl, bufSize, length, ptr_4); Marshal.FreeHGlobal(ptr_4); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDriverControlStringQCOM(driverControl: UInt32; bufSize: Int32; length: pointer; driverControlString: IntPtr) := z_GetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString); + + public z_EnableDriverControlQCOM: procedure(driverControl: UInt32) := GetGLFuncOrNil&('glEnableDriverControlQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EnableDriverControlQCOM(driverControl: UInt32) := z_EnableDriverControlQCOM(driverControl); + + public z_DisableDriverControlQCOM: procedure(driverControl: UInt32) := GetGLFuncOrNil&('glDisableDriverControlQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DisableDriverControlQCOM(driverControl: UInt32) := z_DisableDriverControlQCOM(driverControl); + + {$endregion QCOM_driver_control} + + {$region QCOM_tiled_rendering} + + public z_StartTilingQCOM: procedure(x: UInt32; y: UInt32; width: UInt32; height: UInt32; preserveMask: DummyFlags) := GetGLFuncOrNil&('glStartTilingQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure StartTilingQCOM(x: UInt32; y: UInt32; width: UInt32; height: UInt32; preserveMask: DummyFlags) := z_StartTilingQCOM(x, y, width, height, preserveMask); + + public z_EndTilingQCOM: procedure(preserveMask: DummyFlags) := GetGLFuncOrNil&('glEndTilingQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure EndTilingQCOM(preserveMask: DummyFlags) := z_EndTilingQCOM(preserveMask); + + {$endregion QCOM_tiled_rendering} + + {$region QCOM_extended_get} + + public z_ExtGetTexturesQCOM: procedure(textures: pointer; maxTextures: Int32; numTextures: pointer) := GetGLFuncOrNil&('glExtGetTexturesQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(textures: array of UInt32; maxTextures: Int32; numTextures: array of Int32) := ExtGetTexturesQCOM(textures[0], maxTextures, numTextures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(textures: array of UInt32; maxTextures: Int32; var numTextures: Int32) := ExtGetTexturesQCOM(textures[0], maxTextures, @numTextures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(textures: array of UInt32; maxTextures: Int32; numTextures: pointer) := ExtGetTexturesQCOM(textures[0], maxTextures, numTextures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(var textures: UInt32; maxTextures: Int32; numTextures: array of Int32) := ExtGetTexturesQCOM(@textures, maxTextures, numTextures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(var textures: UInt32; maxTextures: Int32; var numTextures: Int32) := ExtGetTexturesQCOM(@textures, maxTextures, @numTextures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(var textures: UInt32; maxTextures: Int32; numTextures: pointer) := ExtGetTexturesQCOM(@textures, maxTextures, numTextures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(textures: pointer; maxTextures: Int32; numTextures: array of Int32) := ExtGetTexturesQCOM(textures, maxTextures, numTextures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(textures: pointer; maxTextures: Int32; var numTextures: Int32) := ExtGetTexturesQCOM(textures, maxTextures, @numTextures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexturesQCOM(textures: pointer; maxTextures: Int32; numTextures: pointer) := z_ExtGetTexturesQCOM(textures, maxTextures, numTextures); + + public z_ExtGetBuffersQCOM: procedure(buffers: pointer; maxBuffers: Int32; numBuffers: pointer) := GetGLFuncOrNil&('glExtGetBuffersQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(buffers: array of UInt32; maxBuffers: Int32; numBuffers: array of Int32) := ExtGetBuffersQCOM(buffers[0], maxBuffers, numBuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(buffers: array of UInt32; maxBuffers: Int32; var numBuffers: Int32) := ExtGetBuffersQCOM(buffers[0], maxBuffers, @numBuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(buffers: array of UInt32; maxBuffers: Int32; numBuffers: pointer) := ExtGetBuffersQCOM(buffers[0], maxBuffers, numBuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(var buffers: UInt32; maxBuffers: Int32; numBuffers: array of Int32) := ExtGetBuffersQCOM(@buffers, maxBuffers, numBuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(var buffers: UInt32; maxBuffers: Int32; var numBuffers: Int32) := ExtGetBuffersQCOM(@buffers, maxBuffers, @numBuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(var buffers: UInt32; maxBuffers: Int32; numBuffers: pointer) := ExtGetBuffersQCOM(@buffers, maxBuffers, numBuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(buffers: pointer; maxBuffers: Int32; numBuffers: array of Int32) := ExtGetBuffersQCOM(buffers, maxBuffers, numBuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(buffers: pointer; maxBuffers: Int32; var numBuffers: Int32) := ExtGetBuffersQCOM(buffers, maxBuffers, @numBuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBuffersQCOM(buffers: pointer; maxBuffers: Int32; numBuffers: pointer) := z_ExtGetBuffersQCOM(buffers, maxBuffers, numBuffers); + + public z_ExtGetRenderbuffersQCOM: procedure(renderbuffers: pointer; maxRenderbuffers: Int32; numRenderbuffers: pointer) := GetGLFuncOrNil&('glExtGetRenderbuffersQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(renderbuffers: array of UInt32; maxRenderbuffers: Int32; numRenderbuffers: array of Int32) := ExtGetRenderbuffersQCOM(renderbuffers[0], maxRenderbuffers, numRenderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(renderbuffers: array of UInt32; maxRenderbuffers: Int32; var numRenderbuffers: Int32) := ExtGetRenderbuffersQCOM(renderbuffers[0], maxRenderbuffers, @numRenderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(renderbuffers: array of UInt32; maxRenderbuffers: Int32; numRenderbuffers: pointer) := ExtGetRenderbuffersQCOM(renderbuffers[0], maxRenderbuffers, numRenderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(var renderbuffers: UInt32; maxRenderbuffers: Int32; numRenderbuffers: array of Int32) := ExtGetRenderbuffersQCOM(@renderbuffers, maxRenderbuffers, numRenderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(var renderbuffers: UInt32; maxRenderbuffers: Int32; var numRenderbuffers: Int32) := ExtGetRenderbuffersQCOM(@renderbuffers, maxRenderbuffers, @numRenderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(var renderbuffers: UInt32; maxRenderbuffers: Int32; numRenderbuffers: pointer) := ExtGetRenderbuffersQCOM(@renderbuffers, maxRenderbuffers, numRenderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(renderbuffers: pointer; maxRenderbuffers: Int32; numRenderbuffers: array of Int32) := ExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(renderbuffers: pointer; maxRenderbuffers: Int32; var numRenderbuffers: Int32) := ExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, @numRenderbuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetRenderbuffersQCOM(renderbuffers: pointer; maxRenderbuffers: Int32; numRenderbuffers: pointer) := z_ExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers); + + public z_ExtGetFramebuffersQCOM: procedure(framebuffers: pointer; maxFramebuffers: Int32; numFramebuffers: pointer) := GetGLFuncOrNil&('glExtGetFramebuffersQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(framebuffers: array of UInt32; maxFramebuffers: Int32; numFramebuffers: array of Int32) := ExtGetFramebuffersQCOM(framebuffers[0], maxFramebuffers, numFramebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(framebuffers: array of UInt32; maxFramebuffers: Int32; var numFramebuffers: Int32) := ExtGetFramebuffersQCOM(framebuffers[0], maxFramebuffers, @numFramebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(framebuffers: array of UInt32; maxFramebuffers: Int32; numFramebuffers: pointer) := ExtGetFramebuffersQCOM(framebuffers[0], maxFramebuffers, numFramebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(var framebuffers: UInt32; maxFramebuffers: Int32; numFramebuffers: array of Int32) := ExtGetFramebuffersQCOM(@framebuffers, maxFramebuffers, numFramebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(var framebuffers: UInt32; maxFramebuffers: Int32; var numFramebuffers: Int32) := ExtGetFramebuffersQCOM(@framebuffers, maxFramebuffers, @numFramebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(var framebuffers: UInt32; maxFramebuffers: Int32; numFramebuffers: pointer) := ExtGetFramebuffersQCOM(@framebuffers, maxFramebuffers, numFramebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(framebuffers: pointer; maxFramebuffers: Int32; numFramebuffers: array of Int32) := ExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(framebuffers: pointer; maxFramebuffers: Int32; var numFramebuffers: Int32) := ExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, @numFramebuffers); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetFramebuffersQCOM(framebuffers: pointer; maxFramebuffers: Int32; numFramebuffers: pointer) := z_ExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers); + + public z_ExtGetTexLevelParameterivQCOM: procedure(texture: UInt32; face: DummyEnum; level: Int32; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glExtGetTexLevelParameterivQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexLevelParameterivQCOM(texture: UInt32; face: DummyEnum; level: Int32; pname: DummyEnum; ¶ms: array of Int32) := ExtGetTexLevelParameterivQCOM(texture, face, level, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexLevelParameterivQCOM(texture: UInt32; face: DummyEnum; level: Int32; pname: DummyEnum; var ¶ms: Int32) := ExtGetTexLevelParameterivQCOM(texture, face, level, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexLevelParameterivQCOM(texture: UInt32; face: DummyEnum; level: Int32; pname: DummyEnum; ¶ms: pointer) := z_ExtGetTexLevelParameterivQCOM(texture, face, level, pname, ¶ms); + + public z_ExtTexObjectStateOverrideiQCOM: procedure(target: DummyEnum; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glExtTexObjectStateOverrideiQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtTexObjectStateOverrideiQCOM(target: DummyEnum; pname: DummyEnum; param: Int32) := z_ExtTexObjectStateOverrideiQCOM(target, pname, param); + + public z_ExtGetTexSubImageQCOM: procedure(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; texels: pointer) := GetGLFuncOrNil&('glExtGetTexSubImageQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetTexSubImageQCOM(target: DummyEnum; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; width: Int32; height: Int32; depth: Int32; format: DummyEnum; &type: DummyEnum; texels: pointer) := z_ExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, &type, texels); + + public z_ExtGetBufferPointervQCOM: procedure(target: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glExtGetBufferPointervQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBufferPointervQCOM(target: DummyEnum; ¶ms: array of IntPtr) := ExtGetBufferPointervQCOM(target, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBufferPointervQCOM(target: DummyEnum; var ¶ms: IntPtr) := ExtGetBufferPointervQCOM(target, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetBufferPointervQCOM(target: DummyEnum; ¶ms: pointer) := z_ExtGetBufferPointervQCOM(target, ¶ms); + + {$endregion QCOM_extended_get} + + {$region QCOM_extended_get2} + + public z_ExtGetShadersQCOM: procedure(shaders: pointer; maxShaders: Int32; numShaders: pointer) := GetGLFuncOrNil&('glExtGetShadersQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(shaders: array of UInt32; maxShaders: Int32; numShaders: array of Int32) := ExtGetShadersQCOM(shaders[0], maxShaders, numShaders[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(shaders: array of UInt32; maxShaders: Int32; var numShaders: Int32) := ExtGetShadersQCOM(shaders[0], maxShaders, @numShaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(shaders: array of UInt32; maxShaders: Int32; numShaders: pointer) := ExtGetShadersQCOM(shaders[0], maxShaders, numShaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(var shaders: UInt32; maxShaders: Int32; numShaders: array of Int32) := ExtGetShadersQCOM(@shaders, maxShaders, numShaders[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(var shaders: UInt32; maxShaders: Int32; var numShaders: Int32) := ExtGetShadersQCOM(@shaders, maxShaders, @numShaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(var shaders: UInt32; maxShaders: Int32; numShaders: pointer) := ExtGetShadersQCOM(@shaders, maxShaders, numShaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(shaders: pointer; maxShaders: Int32; numShaders: array of Int32) := ExtGetShadersQCOM(shaders, maxShaders, numShaders[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(shaders: pointer; maxShaders: Int32; var numShaders: Int32) := ExtGetShadersQCOM(shaders, maxShaders, @numShaders); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetShadersQCOM(shaders: pointer; maxShaders: Int32; numShaders: pointer) := z_ExtGetShadersQCOM(shaders, maxShaders, numShaders); + + public z_ExtGetProgramsQCOM: procedure(programs: pointer; maxPrograms: Int32; numPrograms: pointer) := GetGLFuncOrNil&('glExtGetProgramsQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(programs: array of UInt32; maxPrograms: Int32; numPrograms: array of Int32) := ExtGetProgramsQCOM(programs[0], maxPrograms, numPrograms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(programs: array of UInt32; maxPrograms: Int32; var numPrograms: Int32) := ExtGetProgramsQCOM(programs[0], maxPrograms, @numPrograms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(programs: array of UInt32; maxPrograms: Int32; numPrograms: pointer) := ExtGetProgramsQCOM(programs[0], maxPrograms, numPrograms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(var programs: UInt32; maxPrograms: Int32; numPrograms: array of Int32) := ExtGetProgramsQCOM(@programs, maxPrograms, numPrograms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(var programs: UInt32; maxPrograms: Int32; var numPrograms: Int32) := ExtGetProgramsQCOM(@programs, maxPrograms, @numPrograms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(var programs: UInt32; maxPrograms: Int32; numPrograms: pointer) := ExtGetProgramsQCOM(@programs, maxPrograms, numPrograms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(programs: pointer; maxPrograms: Int32; numPrograms: array of Int32) := ExtGetProgramsQCOM(programs, maxPrograms, numPrograms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(programs: pointer; maxPrograms: Int32; var numPrograms: Int32) := ExtGetProgramsQCOM(programs, maxPrograms, @numPrograms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramsQCOM(programs: pointer; maxPrograms: Int32; numPrograms: pointer) := z_ExtGetProgramsQCOM(programs, maxPrograms, numPrograms); + + public z_ExtIsProgramBinaryQCOM: function(&program: UInt32): Byte := GetGLFuncOrNil&('glExtIsProgramBinaryQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function ExtIsProgramBinaryQCOM(&program: UInt32): Byte := z_ExtIsProgramBinaryQCOM(&program); + + public z_ExtGetProgramBinarySourceQCOM: procedure(&program: UInt32; shadertype: DummyEnum; source: IntPtr; length: pointer) := GetGLFuncOrNil&('glExtGetProgramBinarySourceQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramBinarySourceQCOM(&program: UInt32; shadertype: DummyEnum; source: string; length: array of Int32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(source); ExtGetProgramBinarySourceQCOM(&program, shadertype, ptr_3, length[0]); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramBinarySourceQCOM(&program: UInt32; shadertype: DummyEnum; source: string; var length: Int32); begin var ptr_3 := Marshal.StringToHGlobalAnsi(source); ExtGetProgramBinarySourceQCOM(&program, shadertype, ptr_3, @length); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramBinarySourceQCOM(&program: UInt32; shadertype: DummyEnum; source: string; length: pointer); begin var ptr_3 := Marshal.StringToHGlobalAnsi(source); ExtGetProgramBinarySourceQCOM(&program, shadertype, ptr_3, length); Marshal.FreeHGlobal(ptr_3); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramBinarySourceQCOM(&program: UInt32; shadertype: DummyEnum; source: IntPtr; length: array of Int32) := ExtGetProgramBinarySourceQCOM(&program, shadertype, source, length[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramBinarySourceQCOM(&program: UInt32; shadertype: DummyEnum; source: IntPtr; var length: Int32) := ExtGetProgramBinarySourceQCOM(&program, shadertype, source, @length); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ExtGetProgramBinarySourceQCOM(&program: UInt32; shadertype: DummyEnum; source: IntPtr; length: pointer) := z_ExtGetProgramBinarySourceQCOM(&program, shadertype, source, length); + + {$endregion QCOM_extended_get2} + + {$region QCOM_shader_framebuffer_fetch_noncoherent} + + public z_FramebufferFetchBarrierQCOM: procedure := GetGLFuncOrNil&('glFramebufferFetchBarrierQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferFetchBarrierQCOM := z_FramebufferFetchBarrierQCOM; + + {$endregion QCOM_shader_framebuffer_fetch_noncoherent} + + {$region QCOM_framebuffer_foveated} + + public z_FramebufferFoveationConfigQCOM: procedure(framebuffer: UInt32; numLayers: UInt32; focalPointsPerLayer: UInt32; requestedFeatures: UInt32; providedFeatures: pointer) := GetGLFuncOrNil&('glFramebufferFoveationConfigQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferFoveationConfigQCOM(framebuffer: UInt32; numLayers: UInt32; focalPointsPerLayer: UInt32; requestedFeatures: UInt32; providedFeatures: array of UInt32) := FramebufferFoveationConfigQCOM(framebuffer, numLayers, focalPointsPerLayer, requestedFeatures, providedFeatures[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferFoveationConfigQCOM(framebuffer: UInt32; numLayers: UInt32; focalPointsPerLayer: UInt32; requestedFeatures: UInt32; var providedFeatures: UInt32) := FramebufferFoveationConfigQCOM(framebuffer, numLayers, focalPointsPerLayer, requestedFeatures, @providedFeatures); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferFoveationConfigQCOM(framebuffer: UInt32; numLayers: UInt32; focalPointsPerLayer: UInt32; requestedFeatures: UInt32; providedFeatures: pointer) := z_FramebufferFoveationConfigQCOM(framebuffer, numLayers, focalPointsPerLayer, requestedFeatures, providedFeatures); + + public z_FramebufferFoveationParametersQCOM: procedure(framebuffer: UInt32; layer: UInt32; focalPoint: UInt32; focalX: single; focalY: single; gainX: single; gainY: single; foveaArea: single) := GetGLFuncOrNil&('glFramebufferFoveationParametersQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FramebufferFoveationParametersQCOM(framebuffer: UInt32; layer: UInt32; focalPoint: UInt32; focalX: single; focalY: single; gainX: single; gainY: single; foveaArea: single) := z_FramebufferFoveationParametersQCOM(framebuffer, layer, focalPoint, focalX, focalY, gainX, gainY, foveaArea); + + {$endregion QCOM_framebuffer_foveated} + + {$region QCOM_texture_foveated} + + public z_TextureFoveationParametersQCOM: procedure(texture: UInt32; layer: UInt32; focalPoint: UInt32; focalX: single; focalY: single; gainX: single; gainY: single; foveaArea: single) := GetGLFuncOrNil&('glTextureFoveationParametersQCOM'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureFoveationParametersQCOM(texture: UInt32; layer: UInt32; focalPoint: UInt32; focalX: single; focalY: single; gainX: single; gainY: single; foveaArea: single) := z_TextureFoveationParametersQCOM(texture, layer, focalPoint, focalX, focalY, gainX, gainY, foveaArea); + + {$endregion QCOM_texture_foveated} + + end; + + gl_SGI = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region SGI_color_table} + + public z_ColorTableSGI: procedure(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; table: pointer) := GetGLFuncOrNil&('glColorTableSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableSGI(target: DummyEnum; internalformat: DummyEnum; width: Int32; format: DummyEnum; &type: DummyEnum; table: pointer) := z_ColorTableSGI(target, internalformat, width, format, &type, table); + + public z_CopyColorTableSGI: procedure(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := GetGLFuncOrNil&('glCopyColorTableSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure CopyColorTableSGI(target: DummyEnum; internalformat: DummyEnum; x: Int32; y: Int32; width: Int32) := z_CopyColorTableSGI(target, internalformat, x, y, width); + + public z_ColorTableParameterivSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glColorTableParameterivSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := ColorTableParameterivSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterivSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := ColorTableParameterivSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ColorTableParameterivSGI(target, pname, ¶ms); + + public z_ColorTableParameterfvSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glColorTableParameterfvSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := ColorTableParameterfvSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterfvSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := ColorTableParameterfvSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ColorTableParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_ColorTableParameterfvSGI(target, pname, ¶ms); + + public z_GetColorTableSGI: procedure(target: DummyEnum; format: DummyEnum; &type: DummyEnum; table: pointer) := GetGLFuncOrNil&('glGetColorTableSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableSGI(target: DummyEnum; format: DummyEnum; &type: DummyEnum; table: pointer) := z_GetColorTableSGI(target, format, &type, table); + + public z_GetColorTableParameterivSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetColorTableParameterivSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetColorTableParameterivSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterivSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetColorTableParameterivSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetColorTableParameterivSGI(target, pname, ¶ms); + + public z_GetColorTableParameterfvSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetColorTableParameterfvSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetColorTableParameterfvSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfvSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetColorTableParameterfvSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetColorTableParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetColorTableParameterfvSGI(target, pname, ¶ms); + + {$endregion SGI_color_table} + + {$region SGI_fft} + + public z_PixelTransformSGI: procedure(target: DummyEnum) := GetGLFuncOrNil&('glPixelTransformSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformSGI(target: DummyEnum) := z_PixelTransformSGI(target); + + public z_PixelTransformParameterfSGI: procedure(target: DummyEnum; pname: DummyEnum; param: single) := GetGLFuncOrNil&('glPixelTransformParameterfSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfSGI(target: DummyEnum; pname: DummyEnum; param: single) := z_PixelTransformParameterfSGI(target, pname, param); + + public z_PixelTransformParameterfvSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPixelTransformParameterfvSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := PixelTransformParameterfvSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfvSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := PixelTransformParameterfvSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_PixelTransformParameterfvSGI(target, pname, ¶ms); + + public z_PixelTransformParameteriSGI: procedure(target: DummyEnum; pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glPixelTransformParameteriSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameteriSGI(target: DummyEnum; pname: DummyEnum; param: Int32) := z_PixelTransformParameteriSGI(target, pname, param); + + public z_PixelTransformParameterivSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glPixelTransformParameterivSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := PixelTransformParameterivSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterivSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := PixelTransformParameterivSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTransformParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_PixelTransformParameterivSGI(target, pname, ¶ms); + + public z_GetPixelTransformParameterfvSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetPixelTransformParameterfvSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of single) := GetPixelTransformParameterfvSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterfvSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: single) := GetPixelTransformParameterfvSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterfvSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetPixelTransformParameterfvSGI(target, pname, ¶ms); + + public z_GetPixelTransformParameterivSGI: procedure(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetPixelTransformParameterivSGI'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: array of Int32) := GetPixelTransformParameterivSGI(target, pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterivSGI(target: DummyEnum; pname: DummyEnum; var ¶ms: Int32) := GetPixelTransformParameterivSGI(target, pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTransformParameterivSGI(target: DummyEnum; pname: DummyEnum; ¶ms: pointer) := z_GetPixelTransformParameterivSGI(target, pname, ¶ms); + + {$endregion SGI_fft} + + end; + + gl_SGIS = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region SGIS_detail_texture} + + public z_DetailTexFuncSGIS: procedure(target: DummyEnum; n: Int32; points: pointer) := GetGLFuncOrNil&('glDetailTexFuncSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DetailTexFuncSGIS(target: DummyEnum; n: Int32; points: array of single) := DetailTexFuncSGIS(target, n, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DetailTexFuncSGIS(target: DummyEnum; n: Int32; var points: single) := DetailTexFuncSGIS(target, n, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DetailTexFuncSGIS(target: DummyEnum; n: Int32; points: pointer) := z_DetailTexFuncSGIS(target, n, points); + + public z_GetDetailTexFuncSGIS: procedure(target: DummyEnum; points: pointer) := GetGLFuncOrNil&('glGetDetailTexFuncSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDetailTexFuncSGIS(target: DummyEnum; points: array of single) := GetDetailTexFuncSGIS(target, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDetailTexFuncSGIS(target: DummyEnum; var points: single) := GetDetailTexFuncSGIS(target, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetDetailTexFuncSGIS(target: DummyEnum; points: pointer) := z_GetDetailTexFuncSGIS(target, points); + + {$endregion SGIS_detail_texture} + + {$region SGIS_pixel_texture} + + public z_PixelTexGenParameteriSGIS: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glPixelTexGenParameteriSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTexGenParameteriSGIS(pname: DummyEnum; param: Int32) := z_PixelTexGenParameteriSGIS(pname, param); + + public z_PixelTexGenParameterfSGIS: procedure(pname: DummyEnum; param: single) := GetGLFuncOrNil&('glPixelTexGenParameterfSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTexGenParameterfSGIS(pname: DummyEnum; param: single) := z_PixelTexGenParameterfSGIS(pname, param); + + public z_GetPixelTexGenParameterivSGIS: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetPixelTexGenParameterivSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTexGenParameterivSGIS(pname: DummyEnum; ¶ms: array of Int32) := GetPixelTexGenParameterivSGIS(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTexGenParameterivSGIS(pname: DummyEnum; var ¶ms: Int32) := GetPixelTexGenParameterivSGIS(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTexGenParameterivSGIS(pname: DummyEnum; ¶ms: pointer) := z_GetPixelTexGenParameterivSGIS(pname, ¶ms); + + public z_GetPixelTexGenParameterfvSGIS: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glGetPixelTexGenParameterfvSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTexGenParameterfvSGIS(pname: DummyEnum; ¶ms: array of single) := GetPixelTexGenParameterfvSGIS(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTexGenParameterfvSGIS(pname: DummyEnum; var ¶ms: single) := GetPixelTexGenParameterfvSGIS(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetPixelTexGenParameterfvSGIS(pname: DummyEnum; ¶ms: pointer) := z_GetPixelTexGenParameterfvSGIS(pname, ¶ms); + + {$endregion SGIS_pixel_texture} + + {$region SGIS_sharpen_texture} + + public z_SharpenTexFuncSGIS: procedure(target: DummyEnum; n: Int32; points: pointer) := GetGLFuncOrNil&('glSharpenTexFuncSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SharpenTexFuncSGIS(target: DummyEnum; n: Int32; points: array of single) := SharpenTexFuncSGIS(target, n, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SharpenTexFuncSGIS(target: DummyEnum; n: Int32; var points: single) := SharpenTexFuncSGIS(target, n, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SharpenTexFuncSGIS(target: DummyEnum; n: Int32; points: pointer) := z_SharpenTexFuncSGIS(target, n, points); + + public z_GetSharpenTexFuncSGIS: procedure(target: DummyEnum; points: pointer) := GetGLFuncOrNil&('glGetSharpenTexFuncSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSharpenTexFuncSGIS(target: DummyEnum; points: array of single) := GetSharpenTexFuncSGIS(target, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSharpenTexFuncSGIS(target: DummyEnum; var points: single) := GetSharpenTexFuncSGIS(target, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetSharpenTexFuncSGIS(target: DummyEnum; points: pointer) := z_GetSharpenTexFuncSGIS(target, points); + + {$endregion SGIS_sharpen_texture} + + {$region SGIS_texture_filter4} + + public z_TexFilterFuncSGIS: procedure(target: DummyEnum; filter: DummyEnum; n: Int32; weights: pointer) := GetGLFuncOrNil&('glTexFilterFuncSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexFilterFuncSGIS(target: DummyEnum; filter: DummyEnum; n: Int32; weights: array of single) := TexFilterFuncSGIS(target, filter, n, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexFilterFuncSGIS(target: DummyEnum; filter: DummyEnum; n: Int32; var weights: single) := TexFilterFuncSGIS(target, filter, n, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexFilterFuncSGIS(target: DummyEnum; filter: DummyEnum; n: Int32; weights: pointer) := z_TexFilterFuncSGIS(target, filter, n, weights); + + public z_GetTexFilterFuncSGIS: procedure(target: DummyEnum; filter: DummyEnum; weights: pointer) := GetGLFuncOrNil&('glGetTexFilterFuncSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexFilterFuncSGIS(target: DummyEnum; filter: DummyEnum; weights: array of single) := GetTexFilterFuncSGIS(target, filter, weights[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexFilterFuncSGIS(target: DummyEnum; filter: DummyEnum; var weights: single) := GetTexFilterFuncSGIS(target, filter, @weights); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GetTexFilterFuncSGIS(target: DummyEnum; filter: DummyEnum; weights: pointer) := z_GetTexFilterFuncSGIS(target, filter, weights); + + {$endregion SGIS_texture_filter4} + + {$region SGIS_multitexture} + + public z_InterleavedTextureCoordSetsSGIS: procedure(factor: Int32) := GetGLFuncOrNil&('glInterleavedTextureCoordSetsSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure InterleavedTextureCoordSetsSGIS(factor: Int32) := z_InterleavedTextureCoordSetsSGIS(factor); + + public z_SelectTextureSGIS: procedure(target: DummyEnum) := GetGLFuncOrNil&('glSelectTextureSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SelectTextureSGIS(target: DummyEnum) := z_SelectTextureSGIS(target); + + public z_SelectTextureCoordSetSGIS: procedure(target: DummyEnum) := GetGLFuncOrNil&('glSelectTextureCoordSetSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SelectTextureCoordSetSGIS(target: DummyEnum) := z_SelectTextureCoordSetSGIS(target); + + public z_SelectTextureTransformSGIS: procedure(target: DummyEnum) := GetGLFuncOrNil&('glSelectTextureTransformSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SelectTextureTransformSGIS(target: DummyEnum) := z_SelectTextureTransformSGIS(target); + + {$endregion SGIS_multitexture} + + {$region SGIS_shared_multisample} + + public z_MultisampleSubRectPosSGIS: procedure(x: Int32; y: Int32) := GetGLFuncOrNil&('glMultisampleSubRectPosSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure MultisampleSubRectPosSGIS(x: Int32; y: Int32) := z_MultisampleSubRectPosSGIS(x, y); + + {$endregion SGIS_shared_multisample} + + {$region SGIS_multisample} + + public z_SampleMaskSGIS: procedure(value: single; invert: Byte) := GetGLFuncOrNil&('glSampleMaskSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SampleMaskSGIS(value: single; invert: Byte) := z_SampleMaskSGIS(value, invert); + + public z_SamplePatternSGIS: procedure(pattern: DummyEnum) := GetGLFuncOrNil&('glSamplePatternSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SamplePatternSGIS(pattern: DummyEnum) := z_SamplePatternSGIS(pattern); + + {$endregion SGIS_multisample} + + {$region SGIS_texture_color_mask} + + public z_TextureColorMaskSGIS: procedure(red: Byte; green: Byte; blue: Byte; alpha: Byte) := GetGLFuncOrNil&('glTextureColorMaskSGIS'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TextureColorMaskSGIS(red: Byte; green: Byte; blue: Byte; alpha: Byte) := z_TextureColorMaskSGIS(red, green, blue, alpha); + + {$endregion SGIS_texture_color_mask} + + end; + + gl_SGIX = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region SGIX_polynomial_ffd} + + public z_DeformationMap3fSGIX: procedure(target: DummyEnum; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; w1: single; w2: single; wstride: Int32; worder: Int32; points: pointer) := GetGLFuncOrNil&('glDeformationMap3fSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeformationMap3fSGIX(target: DummyEnum; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; w1: single; w2: single; wstride: Int32; worder: Int32; points: array of single) := DeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeformationMap3fSGIX(target: DummyEnum; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; w1: single; w2: single; wstride: Int32; worder: Int32; var points: single) := DeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeformationMap3fSGIX(target: DummyEnum; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; w1: single; w2: single; wstride: Int32; worder: Int32; points: pointer) := z_DeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points); + + public z_DeformationMap3dSGIX: procedure(target: DummyEnum; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; w1: double; w2: double; wstride: Int32; worder: Int32; points: pointer) := GetGLFuncOrNil&('glDeformationMap3dSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeformationMap3dSGIX(target: DummyEnum; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; w1: double; w2: double; wstride: Int32; worder: Int32; points: array of double) := DeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeformationMap3dSGIX(target: DummyEnum; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; w1: double; w2: double; wstride: Int32; worder: Int32; var points: double) := DeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, @points); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeformationMap3dSGIX(target: DummyEnum; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; w1: double; w2: double; wstride: Int32; worder: Int32; points: pointer) := z_DeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points); + + public z_LoadIdentityDeformationMapSGIX: procedure(mask: DummyFlags) := GetGLFuncOrNil&('glLoadIdentityDeformationMapSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure LoadIdentityDeformationMapSGIX(mask: DummyFlags) := z_LoadIdentityDeformationMapSGIX(mask); + + public z_DeformSGIX: procedure(mask: DummyFlags) := GetGLFuncOrNil&('glDeformSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DeformSGIX(mask: DummyFlags) := z_DeformSGIX(mask); + + {$endregion SGIX_polynomial_ffd} + + {$region SGIX_framezoom} + + public z_FrameZoomSGIX: procedure(factor: Int32) := GetGLFuncOrNil&('glFrameZoomSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FrameZoomSGIX(factor: Int32) := z_FrameZoomSGIX(factor); + + {$endregion SGIX_framezoom} + + {$region SGIX_igloo_interface} + + public z_IglooInterfaceSGIX: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glIglooInterfaceSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure IglooInterfaceSGIX(pname: DummyEnum; ¶ms: pointer) := z_IglooInterfaceSGIX(pname, ¶ms); + + {$endregion SGIX_igloo_interface} + + {$region SGIX_pixel_texture} + + public z_PixelTexGenSGIX: procedure(mode: DummyEnum) := GetGLFuncOrNil&('glPixelTexGenSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure PixelTexGenSGIX(mode: DummyEnum) := z_PixelTexGenSGIX(mode); + + {$endregion SGIX_pixel_texture} + + {$region SGIX_reference_plane} + + public z_ReferencePlaneSGIX: procedure(equation: pointer) := GetGLFuncOrNil&('glReferencePlaneSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReferencePlaneSGIX(equation: array of double) := ReferencePlaneSGIX(equation[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReferencePlaneSGIX(var equation: double) := ReferencePlaneSGIX(@equation); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReferencePlaneSGIX(equation: pointer) := z_ReferencePlaneSGIX(equation); + + {$endregion SGIX_reference_plane} + + {$region SGIX_sprite} + + public z_SpriteParameteriSGIX: procedure(pname: DummyEnum; param: Int32) := GetGLFuncOrNil&('glSpriteParameteriSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameteriSGIX(pname: DummyEnum; param: Int32) := z_SpriteParameteriSGIX(pname, param); + + public z_SpriteParameterfSGIX: procedure(pname: DummyEnum; param: single) := GetGLFuncOrNil&('glSpriteParameterfSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameterfSGIX(pname: DummyEnum; param: single) := z_SpriteParameterfSGIX(pname, param); + + public z_SpriteParameterivSGIX: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glSpriteParameterivSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameterivSGIX(pname: DummyEnum; ¶ms: array of Int32) := SpriteParameterivSGIX(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameterivSGIX(pname: DummyEnum; var ¶ms: Int32) := SpriteParameterivSGIX(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameterivSGIX(pname: DummyEnum; ¶ms: pointer) := z_SpriteParameterivSGIX(pname, ¶ms); + + public z_SpriteParameterfvSGIX: procedure(pname: DummyEnum; ¶ms: pointer) := GetGLFuncOrNil&('glSpriteParameterfvSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameterfvSGIX(pname: DummyEnum; ¶ms: array of single) := SpriteParameterfvSGIX(pname, ¶ms[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameterfvSGIX(pname: DummyEnum; var ¶ms: single) := SpriteParameterfvSGIX(pname, @¶ms); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure SpriteParameterfvSGIX(pname: DummyEnum; ¶ms: pointer) := z_SpriteParameterfvSGIX(pname, ¶ms); + + {$endregion SGIX_sprite} + + {$region SGIX_tag_sample_buffer} + + public z_TagSampleBufferSGIX: procedure := GetGLFuncOrNil&('glTagSampleBufferSGIX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TagSampleBufferSGIX := z_TagSampleBufferSGIX; + + {$endregion SGIX_tag_sample_buffer} + + end; + + gl_SUN = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region SUN_vertex} + + public z_Color4ubVertex2fSUN: procedure(r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single) := GetGLFuncOrNil&('glColor4ubVertex2fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fSUN(r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single) := z_Color4ubVertex2fSUN(r, g, b, a, x, y); + + public z_Color4ubVertex2fvSUN: procedure(c: pointer; v: pointer) := GetGLFuncOrNil&('glColor4ubVertex2fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(c: array of Byte; v: array of single) := Color4ubVertex2fvSUN(c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(c: array of Byte; var v: single) := Color4ubVertex2fvSUN(c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(c: array of Byte; v: pointer) := Color4ubVertex2fvSUN(c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(var c: Byte; v: array of single) := Color4ubVertex2fvSUN(@c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(var c: Byte; var v: single) := Color4ubVertex2fvSUN(@c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(var c: Byte; v: pointer) := Color4ubVertex2fvSUN(@c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(c: pointer; v: array of single) := Color4ubVertex2fvSUN(c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(c: pointer; var v: single) := Color4ubVertex2fvSUN(c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex2fvSUN(c: pointer; v: pointer) := z_Color4ubVertex2fvSUN(c, v); + + public z_Color4ubVertex3fSUN: procedure(r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single) := GetGLFuncOrNil&('glColor4ubVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fSUN(r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single) := z_Color4ubVertex3fSUN(r, g, b, a, x, y, z); + + public z_Color4ubVertex3fvSUN: procedure(c: pointer; v: pointer) := GetGLFuncOrNil&('glColor4ubVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(c: array of Byte; v: array of single) := Color4ubVertex3fvSUN(c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(c: array of Byte; var v: single) := Color4ubVertex3fvSUN(c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(c: array of Byte; v: pointer) := Color4ubVertex3fvSUN(c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(var c: Byte; v: array of single) := Color4ubVertex3fvSUN(@c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(var c: Byte; var v: single) := Color4ubVertex3fvSUN(@c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(var c: Byte; v: pointer) := Color4ubVertex3fvSUN(@c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(c: pointer; v: array of single) := Color4ubVertex3fvSUN(c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(c: pointer; var v: single) := Color4ubVertex3fvSUN(c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4ubVertex3fvSUN(c: pointer; v: pointer) := z_Color4ubVertex3fvSUN(c, v); + + public z_Color3fVertex3fSUN: procedure(r: single; g: single; b: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glColor3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fSUN(r: single; g: single; b: single; x: single; y: single; z: single) := z_Color3fVertex3fSUN(r, g, b, x, y, z); + + public z_Color3fVertex3fvSUN: procedure(c: pointer; v: pointer) := GetGLFuncOrNil&('glColor3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(c: array of single; v: array of single) := Color3fVertex3fvSUN(c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(c: array of single; var v: single) := Color3fVertex3fvSUN(c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(c: array of single; v: pointer) := Color3fVertex3fvSUN(c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(var c: single; v: array of single) := Color3fVertex3fvSUN(@c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(var c: single; var v: single) := Color3fVertex3fvSUN(@c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(var c: single; v: pointer) := Color3fVertex3fvSUN(@c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(c: pointer; v: array of single) := Color3fVertex3fvSUN(c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(c: pointer; var v: single) := Color3fVertex3fvSUN(c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color3fVertex3fvSUN(c: pointer; v: pointer) := z_Color3fVertex3fvSUN(c, v); + + public z_Normal3fVertex3fSUN: procedure(nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fSUN(nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_Normal3fVertex3fSUN(nx, ny, nz, x, y, z); + + public z_Normal3fVertex3fvSUN: procedure(n: pointer; v: pointer) := GetGLFuncOrNil&('glNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(n: array of single; v: array of single) := Normal3fVertex3fvSUN(n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(n: array of single; var v: single) := Normal3fVertex3fvSUN(n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(n: array of single; v: pointer) := Normal3fVertex3fvSUN(n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(var n: single; v: array of single) := Normal3fVertex3fvSUN(@n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(var n: single; var v: single) := Normal3fVertex3fvSUN(@n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(var n: single; v: pointer) := Normal3fVertex3fvSUN(@n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(n: pointer; v: array of single) := Normal3fVertex3fvSUN(n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(n: pointer; var v: single) := Normal3fVertex3fvSUN(n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Normal3fVertex3fvSUN(n: pointer; v: pointer) := z_Normal3fVertex3fvSUN(n, v); + + public z_Color4fNormal3fVertex3fSUN: procedure(r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glColor4fNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fSUN(r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_Color4fNormal3fVertex3fSUN(r, g, b, a, nx, ny, nz, x, y, z); + + public z_Color4fNormal3fVertex3fvSUN: procedure(c: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glColor4fNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; n: array of single; v: array of single) := Color4fNormal3fVertex3fvSUN(c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; n: array of single; var v: single) := Color4fNormal3fVertex3fvSUN(c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; n: array of single; v: pointer) := Color4fNormal3fVertex3fvSUN(c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; var n: single; v: array of single) := Color4fNormal3fVertex3fvSUN(c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; var n: single; var v: single) := Color4fNormal3fVertex3fvSUN(c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; var n: single; v: pointer) := Color4fNormal3fVertex3fvSUN(c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; n: pointer; v: array of single) := Color4fNormal3fVertex3fvSUN(c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; n: pointer; var v: single) := Color4fNormal3fVertex3fvSUN(c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: array of single; n: pointer; v: pointer) := Color4fNormal3fVertex3fvSUN(c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; n: array of single; v: array of single) := Color4fNormal3fVertex3fvSUN(@c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; n: array of single; var v: single) := Color4fNormal3fVertex3fvSUN(@c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; n: array of single; v: pointer) := Color4fNormal3fVertex3fvSUN(@c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; var n: single; v: array of single) := Color4fNormal3fVertex3fvSUN(@c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; var n: single; var v: single) := Color4fNormal3fVertex3fvSUN(@c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; var n: single; v: pointer) := Color4fNormal3fVertex3fvSUN(@c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; n: pointer; v: array of single) := Color4fNormal3fVertex3fvSUN(@c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; n: pointer; var v: single) := Color4fNormal3fVertex3fvSUN(@c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(var c: single; n: pointer; v: pointer) := Color4fNormal3fVertex3fvSUN(@c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; n: array of single; v: array of single) := Color4fNormal3fVertex3fvSUN(c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; n: array of single; var v: single) := Color4fNormal3fVertex3fvSUN(c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; n: array of single; v: pointer) := Color4fNormal3fVertex3fvSUN(c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; var n: single; v: array of single) := Color4fNormal3fVertex3fvSUN(c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; var n: single; var v: single) := Color4fNormal3fVertex3fvSUN(c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; var n: single; v: pointer) := Color4fNormal3fVertex3fvSUN(c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; n: pointer; v: array of single) := Color4fNormal3fVertex3fvSUN(c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; n: pointer; var v: single) := Color4fNormal3fVertex3fvSUN(c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure Color4fNormal3fVertex3fvSUN(c: pointer; n: pointer; v: pointer) := z_Color4fNormal3fVertex3fvSUN(c, n, v); + + public z_TexCoord2fVertex3fSUN: procedure(s: single; t: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glTexCoord2fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fSUN(s: single; t: single; x: single; y: single; z: single) := z_TexCoord2fVertex3fSUN(s, t, x, y, z); + + public z_TexCoord2fVertex3fvSUN: procedure(tc: pointer; v: pointer) := GetGLFuncOrNil&('glTexCoord2fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(tc: array of single; v: array of single) := TexCoord2fVertex3fvSUN(tc[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(tc: array of single; var v: single) := TexCoord2fVertex3fvSUN(tc[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(tc: array of single; v: pointer) := TexCoord2fVertex3fvSUN(tc[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(var tc: single; v: array of single) := TexCoord2fVertex3fvSUN(@tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(var tc: single; var v: single) := TexCoord2fVertex3fvSUN(@tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(var tc: single; v: pointer) := TexCoord2fVertex3fvSUN(@tc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(tc: pointer; v: array of single) := TexCoord2fVertex3fvSUN(tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(tc: pointer; var v: single) := TexCoord2fVertex3fvSUN(tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fVertex3fvSUN(tc: pointer; v: pointer) := z_TexCoord2fVertex3fvSUN(tc, v); + + public z_TexCoord4fVertex4fSUN: procedure(s: single; t: single; p: single; q: single; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glTexCoord4fVertex4fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fSUN(s: single; t: single; p: single; q: single; x: single; y: single; z: single; w: single) := z_TexCoord4fVertex4fSUN(s, t, p, q, x, y, z, w); + + public z_TexCoord4fVertex4fvSUN: procedure(tc: pointer; v: pointer) := GetGLFuncOrNil&('glTexCoord4fVertex4fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(tc: array of single; v: array of single) := TexCoord4fVertex4fvSUN(tc[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(tc: array of single; var v: single) := TexCoord4fVertex4fvSUN(tc[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(tc: array of single; v: pointer) := TexCoord4fVertex4fvSUN(tc[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(var tc: single; v: array of single) := TexCoord4fVertex4fvSUN(@tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(var tc: single; var v: single) := TexCoord4fVertex4fvSUN(@tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(var tc: single; v: pointer) := TexCoord4fVertex4fvSUN(@tc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(tc: pointer; v: array of single) := TexCoord4fVertex4fvSUN(tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(tc: pointer; var v: single) := TexCoord4fVertex4fvSUN(tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fVertex4fvSUN(tc: pointer; v: pointer) := z_TexCoord4fVertex4fvSUN(tc, v); + + public z_TexCoord2fColor4ubVertex3fSUN: procedure(s: single; t: single; r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single) := GetGLFuncOrNil&('glTexCoord2fColor4ubVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fSUN(s: single; t: single; r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single) := z_TexCoord2fColor4ubVertex3fSUN(s, t, r, g, b, a, x, y, z); + + public z_TexCoord2fColor4ubVertex3fvSUN: procedure(tc: pointer; c: pointer; v: pointer) := GetGLFuncOrNil&('glTexCoord2fColor4ubVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; c: array of Byte; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(tc[0], c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; c: array of Byte; var v: single) := TexCoord2fColor4ubVertex3fvSUN(tc[0], c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; c: array of Byte; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(tc[0], c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; var c: Byte; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(tc[0], @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; var c: Byte; var v: single) := TexCoord2fColor4ubVertex3fvSUN(tc[0], @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; var c: Byte; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(tc[0], @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; c: pointer; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(tc[0], c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; c: pointer; var v: single) := TexCoord2fColor4ubVertex3fvSUN(tc[0], c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: array of single; c: pointer; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(tc[0], c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; c: array of Byte; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(@tc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; c: array of Byte; var v: single) := TexCoord2fColor4ubVertex3fvSUN(@tc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; c: array of Byte; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(@tc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; var c: Byte; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(@tc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; var c: Byte; var v: single) := TexCoord2fColor4ubVertex3fvSUN(@tc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; var c: Byte; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(@tc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; c: pointer; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(@tc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; c: pointer; var v: single) := TexCoord2fColor4ubVertex3fvSUN(@tc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(var tc: single; c: pointer; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(@tc, c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; c: array of Byte; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(tc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; c: array of Byte; var v: single) := TexCoord2fColor4ubVertex3fvSUN(tc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; c: array of Byte; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(tc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; var c: Byte; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(tc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; var c: Byte; var v: single) := TexCoord2fColor4ubVertex3fvSUN(tc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; var c: Byte; v: pointer) := TexCoord2fColor4ubVertex3fvSUN(tc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; c: pointer; v: array of single) := TexCoord2fColor4ubVertex3fvSUN(tc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; c: pointer; var v: single) := TexCoord2fColor4ubVertex3fvSUN(tc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4ubVertex3fvSUN(tc: pointer; c: pointer; v: pointer) := z_TexCoord2fColor4ubVertex3fvSUN(tc, c, v); + + public z_TexCoord2fColor3fVertex3fSUN: procedure(s: single; t: single; r: single; g: single; b: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glTexCoord2fColor3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fSUN(s: single; t: single; r: single; g: single; b: single; x: single; y: single; z: single) := z_TexCoord2fColor3fVertex3fSUN(s, t, r, g, b, x, y, z); + + public z_TexCoord2fColor3fVertex3fvSUN: procedure(tc: pointer; c: pointer; v: pointer) := GetGLFuncOrNil&('glTexCoord2fColor3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; c: array of single; v: array of single) := TexCoord2fColor3fVertex3fvSUN(tc[0], c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; c: array of single; var v: single) := TexCoord2fColor3fVertex3fvSUN(tc[0], c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; c: array of single; v: pointer) := TexCoord2fColor3fVertex3fvSUN(tc[0], c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; var c: single; v: array of single) := TexCoord2fColor3fVertex3fvSUN(tc[0], @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; var c: single; var v: single) := TexCoord2fColor3fVertex3fvSUN(tc[0], @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; var c: single; v: pointer) := TexCoord2fColor3fVertex3fvSUN(tc[0], @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; c: pointer; v: array of single) := TexCoord2fColor3fVertex3fvSUN(tc[0], c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; c: pointer; var v: single) := TexCoord2fColor3fVertex3fvSUN(tc[0], c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: array of single; c: pointer; v: pointer) := TexCoord2fColor3fVertex3fvSUN(tc[0], c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; c: array of single; v: array of single) := TexCoord2fColor3fVertex3fvSUN(@tc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; c: array of single; var v: single) := TexCoord2fColor3fVertex3fvSUN(@tc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; c: array of single; v: pointer) := TexCoord2fColor3fVertex3fvSUN(@tc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; var c: single; v: array of single) := TexCoord2fColor3fVertex3fvSUN(@tc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; var c: single; var v: single) := TexCoord2fColor3fVertex3fvSUN(@tc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; var c: single; v: pointer) := TexCoord2fColor3fVertex3fvSUN(@tc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; c: pointer; v: array of single) := TexCoord2fColor3fVertex3fvSUN(@tc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; c: pointer; var v: single) := TexCoord2fColor3fVertex3fvSUN(@tc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(var tc: single; c: pointer; v: pointer) := TexCoord2fColor3fVertex3fvSUN(@tc, c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; c: array of single; v: array of single) := TexCoord2fColor3fVertex3fvSUN(tc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; c: array of single; var v: single) := TexCoord2fColor3fVertex3fvSUN(tc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; c: array of single; v: pointer) := TexCoord2fColor3fVertex3fvSUN(tc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; var c: single; v: array of single) := TexCoord2fColor3fVertex3fvSUN(tc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; var c: single; var v: single) := TexCoord2fColor3fVertex3fvSUN(tc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; var c: single; v: pointer) := TexCoord2fColor3fVertex3fvSUN(tc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; c: pointer; v: array of single) := TexCoord2fColor3fVertex3fvSUN(tc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; c: pointer; var v: single) := TexCoord2fColor3fVertex3fvSUN(tc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor3fVertex3fvSUN(tc: pointer; c: pointer; v: pointer) := z_TexCoord2fColor3fVertex3fvSUN(tc, c, v); + + public z_TexCoord2fNormal3fVertex3fSUN: procedure(s: single; t: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glTexCoord2fNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fSUN(s: single; t: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_TexCoord2fNormal3fVertex3fSUN(s, t, nx, ny, nz, x, y, z); + + public z_TexCoord2fNormal3fVertex3fvSUN: procedure(tc: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glTexCoord2fNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; n: array of single; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(tc[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; n: array of single; var v: single) := TexCoord2fNormal3fVertex3fvSUN(tc[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; n: array of single; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(tc[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; var n: single; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(tc[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; var n: single; var v: single) := TexCoord2fNormal3fVertex3fvSUN(tc[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; var n: single; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(tc[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; n: pointer; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(tc[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; n: pointer; var v: single) := TexCoord2fNormal3fVertex3fvSUN(tc[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: array of single; n: pointer; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(tc[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; n: array of single; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(@tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; n: array of single; var v: single) := TexCoord2fNormal3fVertex3fvSUN(@tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; n: array of single; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(@tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; var n: single; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(@tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; var n: single; var v: single) := TexCoord2fNormal3fVertex3fvSUN(@tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; var n: single; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(@tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; n: pointer; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(@tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; n: pointer; var v: single) := TexCoord2fNormal3fVertex3fvSUN(@tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(var tc: single; n: pointer; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(@tc, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; n: array of single; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; n: array of single; var v: single) := TexCoord2fNormal3fVertex3fvSUN(tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; n: array of single; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; var n: single; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; var n: single; var v: single) := TexCoord2fNormal3fVertex3fvSUN(tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; var n: single; v: pointer) := TexCoord2fNormal3fVertex3fvSUN(tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; n: pointer; v: array of single) := TexCoord2fNormal3fVertex3fvSUN(tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; n: pointer; var v: single) := TexCoord2fNormal3fVertex3fvSUN(tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fNormal3fVertex3fvSUN(tc: pointer; n: pointer; v: pointer) := z_TexCoord2fNormal3fVertex3fvSUN(tc, n, v); + + public z_TexCoord2fColor4fNormal3fVertex3fSUN: procedure(s: single; t: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glTexCoord2fColor4fNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fSUN(s: single; t: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_TexCoord2fColor4fNormal3fVertex3fSUN(s, t, r, g, b, a, nx, ny, nz, x, y, z); + + public z_TexCoord2fColor4fNormal3fVertex3fvSUN: procedure(tc: pointer; c: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glTexCoord2fColor4fNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: array of single; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; var c: single; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: array of single; c: pointer; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc[0], c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: array of single; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; var c: single; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(var tc: single; c: pointer; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(@tc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: array of single; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; var c: single; n: pointer; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; n: array of single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; n: array of single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; n: array of single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; var n: single; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; var n: single; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; var n: single; v: pointer) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; n: pointer; v: array of single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; n: pointer; var v: single) := TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord2fColor4fNormal3fVertex3fvSUN(tc: pointer; c: pointer; n: pointer; v: pointer) := z_TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, v); + + public z_TexCoord4fColor4fNormal3fVertex4fSUN: procedure(s: single; t: single; p: single; q: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single; w: single) := GetGLFuncOrNil&('glTexCoord4fColor4fNormal3fVertex4fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fSUN(s: single; t: single; p: single; q: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single; w: single) := z_TexCoord4fColor4fNormal3fVertex4fSUN(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w); + + public z_TexCoord4fColor4fNormal3fVertex4fvSUN: procedure(tc: pointer; c: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glTexCoord4fColor4fNormal3fVertex4fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: array of single; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; var c: single; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: array of single; c: pointer; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc[0], c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: array of single; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; var c: single; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(var tc: single; c: pointer; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(@tc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: array of single; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; var c: single; n: pointer; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; n: array of single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; n: array of single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; n: array of single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; var n: single; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; var n: single; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; var n: single; v: pointer) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; n: pointer; v: array of single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; n: pointer; var v: single) := TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure TexCoord4fColor4fNormal3fVertex4fvSUN(tc: pointer; c: pointer; n: pointer; v: pointer) := z_TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, v); + + public z_ReplacementCodeuiVertex3fSUN: procedure(rc: UInt32; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fSUN(rc: UInt32; x: single; y: single; z: single) := z_ReplacementCodeuiVertex3fSUN(rc, x, y, z); + + public z_ReplacementCodeuiVertex3fvSUN: procedure(rc: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(rc: array of UInt32; v: array of single) := ReplacementCodeuiVertex3fvSUN(rc[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(rc: array of UInt32; var v: single) := ReplacementCodeuiVertex3fvSUN(rc[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(rc: array of UInt32; v: pointer) := ReplacementCodeuiVertex3fvSUN(rc[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(var rc: UInt32; v: array of single) := ReplacementCodeuiVertex3fvSUN(@rc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(var rc: UInt32; var v: single) := ReplacementCodeuiVertex3fvSUN(@rc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(var rc: UInt32; v: pointer) := ReplacementCodeuiVertex3fvSUN(@rc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(rc: pointer; v: array of single) := ReplacementCodeuiVertex3fvSUN(rc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(rc: pointer; var v: single) := ReplacementCodeuiVertex3fvSUN(rc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiVertex3fvSUN(rc: pointer; v: pointer) := z_ReplacementCodeuiVertex3fvSUN(rc, v); + + public z_ReplacementCodeuiColor4ubVertex3fSUN: procedure(rc: UInt32; r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiColor4ubVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fSUN(rc: UInt32; r: Byte; g: Byte; b: Byte; a: Byte; x: single; y: single; z: single) := z_ReplacementCodeuiColor4ubVertex3fSUN(rc, r, g, b, a, x, y, z); + + public z_ReplacementCodeuiColor4ubVertex3fvSUN: procedure(rc: pointer; c: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiColor4ubVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; c: array of Byte; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; c: array of Byte; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; c: array of Byte; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; var c: Byte; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; var c: Byte; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; var c: Byte; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; c: pointer; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; c: pointer; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: array of UInt32; c: pointer; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(rc[0], c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; c: array of Byte; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; c: array of Byte; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; c: array of Byte; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; var c: Byte; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; var c: Byte; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; var c: Byte; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; c: pointer; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; c: pointer; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(var rc: UInt32; c: pointer; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(@rc, c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; c: array of Byte; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; c: array of Byte; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; c: array of Byte; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; var c: Byte; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; var c: Byte; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; var c: Byte; v: pointer) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; c: pointer; v: array of single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; c: pointer; var v: single) := ReplacementCodeuiColor4ubVertex3fvSUN(rc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4ubVertex3fvSUN(rc: pointer; c: pointer; v: pointer) := z_ReplacementCodeuiColor4ubVertex3fvSUN(rc, c, v); + + public z_ReplacementCodeuiColor3fVertex3fSUN: procedure(rc: UInt32; r: single; g: single; b: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiColor3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fSUN(rc: UInt32; r: single; g: single; b: single; x: single; y: single; z: single) := z_ReplacementCodeuiColor3fVertex3fSUN(rc, r, g, b, x, y, z); + + public z_ReplacementCodeuiColor3fVertex3fvSUN: procedure(rc: pointer; c: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiColor3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; c: array of single; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; c: array of single; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; c: array of single; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; var c: single; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; var c: single; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; var c: single; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; c: pointer; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; c: pointer; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: array of UInt32; c: pointer; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(rc[0], c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; c: array of single; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; c: array of single; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; c: array of single; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; var c: single; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; var c: single; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; var c: single; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; c: pointer; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; c: pointer; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(var rc: UInt32; c: pointer; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(@rc, c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; c: array of single; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(rc, c[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; c: array of single; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(rc, c[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; c: array of single; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(rc, c[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; var c: single; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(rc, @c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; var c: single; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(rc, @c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; var c: single; v: pointer) := ReplacementCodeuiColor3fVertex3fvSUN(rc, @c, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; c: pointer; v: array of single) := ReplacementCodeuiColor3fVertex3fvSUN(rc, c, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; c: pointer; var v: single) := ReplacementCodeuiColor3fVertex3fvSUN(rc, c, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor3fVertex3fvSUN(rc: pointer; c: pointer; v: pointer) := z_ReplacementCodeuiColor3fVertex3fvSUN(rc, c, v); + + public z_ReplacementCodeuiNormal3fVertex3fSUN: procedure(rc: UInt32; nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fSUN(rc: UInt32; nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_ReplacementCodeuiNormal3fVertex3fSUN(rc, nx, ny, nz, x, y, z); + + public z_ReplacementCodeuiNormal3fVertex3fvSUN: procedure(rc: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; n: array of single; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; n: array of single; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; n: array of single; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; var n: single; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; var n: single; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; var n: single; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; n: pointer; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; n: pointer; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: array of UInt32; n: pointer; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(rc[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; n: array of single; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; n: array of single; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; n: array of single; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; var n: single; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; var n: single; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; var n: single; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; n: pointer; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; n: pointer; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(var rc: UInt32; n: pointer; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(@rc, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; n: array of single; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; n: array of single; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; n: array of single; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; var n: single; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; var n: single; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; var n: single; v: pointer) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; n: pointer; v: array of single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; n: pointer; var v: single) := ReplacementCodeuiNormal3fVertex3fvSUN(rc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiNormal3fVertex3fvSUN(rc: pointer; n: pointer; v: pointer) := z_ReplacementCodeuiNormal3fVertex3fvSUN(rc, n, v); + + public z_ReplacementCodeuiColor4fNormal3fVertex3fSUN: procedure(rc: UInt32; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiColor4fNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fSUN(rc: UInt32; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_ReplacementCodeuiColor4fNormal3fVertex3fSUN(rc, r, g, b, a, nx, ny, nz, x, y, z); + + public z_ReplacementCodeuiColor4fNormal3fVertex3fvSUN: procedure(rc: pointer; c: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiColor4fNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var c: single; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: array of UInt32; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc[0], c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; var c: single; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(var rc: UInt32; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(@rc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; var c: single; n: pointer; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; n: array of single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; var n: single; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; var n: single; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; var n: single; v: pointer) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; n: pointer; var v: single) := ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc: pointer; c: pointer; n: pointer; v: pointer) := z_ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, v); + + public z_ReplacementCodeuiTexCoord2fVertex3fSUN: procedure(rc: UInt32; s: single; t: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiTexCoord2fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fSUN(rc: UInt32; s: single; t: single; x: single; y: single; z: single) := z_ReplacementCodeuiTexCoord2fVertex3fSUN(rc, s, t, x, y, z); + + public z_ReplacementCodeuiTexCoord2fVertex3fvSUN: procedure(rc: pointer; tc: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiTexCoord2fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; tc: array of single; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], tc[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; tc: array of single; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], tc[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; tc: array of single; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], tc[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; var tc: single; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], @tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; var tc: single; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], @tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; var tc: single; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], @tc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; tc: pointer; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; tc: pointer; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: array of UInt32; tc: pointer; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc[0], tc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; tc: array of single; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, tc[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; tc: array of single; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, tc[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; tc: array of single; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, tc[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; var tc: single; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, @tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; var tc: single; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, @tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; var tc: single; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, @tc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; tc: pointer; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; tc: pointer; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(var rc: UInt32; tc: pointer; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(@rc, tc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; tc: array of single; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; tc: array of single; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; tc: array of single; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; var tc: single; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, @tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; var tc: single; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, @tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; var tc: single; v: pointer) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, @tc, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; tc: pointer; v: array of single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; tc: pointer; var v: single) := ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fVertex3fvSUN(rc: pointer; tc: pointer; v: pointer) := z_ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, v); + + public z_ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN: procedure(rc: UInt32; s: single; t: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc: UInt32; s: single; t: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc, s, t, nx, ny, nz, x, y, z); + + public z_ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN: procedure(rc: pointer; tc: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], @tc, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc[0], tc, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, @tc, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(@rc, tc, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; var tc: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, @tc, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; n: pointer; v: pointer) := z_ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, v); + + public z_ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN: procedure(rc: UInt32; s: single; t: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := GetGLFuncOrNil&('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc: UInt32; s: single; t: single; r: single; g: single; b: single; a: single; nx: single; ny: single; nz: single; x: single; y: single; z: single) := z_ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z); + + public z_ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN: procedure(rc: pointer; tc: pointer; c: pointer; n: pointer; v: pointer) := GetGLFuncOrNil&('glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: array of single; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc[0], c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; var tc: single; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], @tc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: array of UInt32; tc: pointer; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc[0], tc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: array of single; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc[0], c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; var tc: single; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, @tc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(var rc: UInt32; tc: pointer; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(@rc, tc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: array of single; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc[0], c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; var tc: single; c: pointer; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, @tc, c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: array of single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c[0], n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; var c: single; n: pointer; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, @c, n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; n: array of single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n[0], v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; n: array of single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n[0], @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; n: array of single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n[0], v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; var n: single; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, @n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; var n: single; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, @n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; var n: single; v: pointer) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, @n, v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; n: pointer; v: array of single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, v[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; n: pointer; var v: single) := ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, @v); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc: pointer; tc: pointer; c: pointer; n: pointer; v: pointer) := z_ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, v); + + {$endregion SUN_vertex} + + {$region SUN_mesh_array} + + public z_DrawMeshArraysSUN: procedure(mode: DummyEnum; first: Int32; count: Int32; width: Int32) := GetGLFuncOrNil&('glDrawMeshArraysSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure DrawMeshArraysSUN(mode: DummyEnum; first: Int32; count: Int32; width: Int32) := z_DrawMeshArraysSUN(mode, first, count, width); + + {$endregion SUN_mesh_array} + + {$region SUN_global_alpha} + + public z_GlobalAlphaFactorbSUN: procedure(factor: SByte) := GetGLFuncOrNil&('glGlobalAlphaFactorbSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactorbSUN(factor: SByte) := z_GlobalAlphaFactorbSUN(factor); + + public z_GlobalAlphaFactorsSUN: procedure(factor: Int16) := GetGLFuncOrNil&('glGlobalAlphaFactorsSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactorsSUN(factor: Int16) := z_GlobalAlphaFactorsSUN(factor); + + public z_GlobalAlphaFactoriSUN: procedure(factor: Int32) := GetGLFuncOrNil&('glGlobalAlphaFactoriSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactoriSUN(factor: Int32) := z_GlobalAlphaFactoriSUN(factor); + + public z_GlobalAlphaFactorfSUN: procedure(factor: single) := GetGLFuncOrNil&('glGlobalAlphaFactorfSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactorfSUN(factor: single) := z_GlobalAlphaFactorfSUN(factor); + + public z_GlobalAlphaFactordSUN: procedure(factor: double) := GetGLFuncOrNil&('glGlobalAlphaFactordSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactordSUN(factor: double) := z_GlobalAlphaFactordSUN(factor); + + public z_GlobalAlphaFactorubSUN: procedure(factor: Byte) := GetGLFuncOrNil&('glGlobalAlphaFactorubSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactorubSUN(factor: Byte) := z_GlobalAlphaFactorubSUN(factor); + + public z_GlobalAlphaFactorusSUN: procedure(factor: UInt16) := GetGLFuncOrNil&('glGlobalAlphaFactorusSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactorusSUN(factor: UInt16) := z_GlobalAlphaFactorusSUN(factor); + + public z_GlobalAlphaFactoruiSUN: procedure(factor: UInt32) := GetGLFuncOrNil&('glGlobalAlphaFactoruiSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure GlobalAlphaFactoruiSUN(factor: UInt32) := z_GlobalAlphaFactoruiSUN(factor); + + {$endregion SUN_global_alpha} + + {$region SUN_triangle_list} + + public z_ReplacementCodeuiSUN: procedure(code: UInt32) := GetGLFuncOrNil&('glReplacementCodeuiSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuiSUN(code: UInt32) := z_ReplacementCodeuiSUN(code); + + public z_ReplacementCodeusSUN: procedure(code: UInt16) := GetGLFuncOrNil&('glReplacementCodeusSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeusSUN(code: UInt16) := z_ReplacementCodeusSUN(code); + + public z_ReplacementCodeubSUN: procedure(code: Byte) := GetGLFuncOrNil&('glReplacementCodeubSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeubSUN(code: Byte) := z_ReplacementCodeubSUN(code); + + public z_ReplacementCodeuivSUN: procedure(code: pointer) := GetGLFuncOrNil&('glReplacementCodeuivSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuivSUN(code: array of UInt32) := ReplacementCodeuivSUN(code[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuivSUN(var code: UInt32) := ReplacementCodeuivSUN(@code); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeuivSUN(code: pointer) := z_ReplacementCodeuivSUN(code); + + public z_ReplacementCodeusvSUN: procedure(code: pointer) := GetGLFuncOrNil&('glReplacementCodeusvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeusvSUN(code: array of UInt16) := ReplacementCodeusvSUN(code[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeusvSUN(var code: UInt16) := ReplacementCodeusvSUN(@code); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeusvSUN(code: pointer) := z_ReplacementCodeusvSUN(code); + + public z_ReplacementCodeubvSUN: procedure(code: pointer) := GetGLFuncOrNil&('glReplacementCodeubvSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeubvSUN(code: array of Byte) := ReplacementCodeubvSUN(code[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeubvSUN(var code: Byte) := ReplacementCodeubvSUN(@code); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodeubvSUN(code: pointer) := z_ReplacementCodeubvSUN(code); + + public z_ReplacementCodePointerSUN: procedure(&type: DummyEnum; stride: Int32; _pointer: pointer) := GetGLFuncOrNil&('glReplacementCodePointerSUN'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodePointerSUN(&type: DummyEnum; stride: Int32; _pointer: array of IntPtr) := ReplacementCodePointerSUN(&type, stride, _pointer[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodePointerSUN(&type: DummyEnum; stride: Int32; var _pointer: IntPtr) := ReplacementCodePointerSUN(&type, stride, @_pointer); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure ReplacementCodePointerSUN(&type: DummyEnum; stride: Int32; _pointer: pointer) := z_ReplacementCodePointerSUN(&type, stride, _pointer); + + {$endregion SUN_triangle_list} + + end; + + gl_SUNX = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + {$region SUNX_constant_data} + + public z_FinishTextureSUNX: procedure := GetGLFuncOrNil&('glFinishTextureSUNX'); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] procedure FinishTextureSUNX := z_FinishTextureSUNX; + + {$endregion SUNX_constant_data} + + end; + + gdi = sealed class + private static function _GetGLFuncAdr(lpszProc: IntPtr): IntPtr; + external 'opengl32.dll' name 'wglGetProcAddress'; + public static GetGLFuncAdr := _GetGLFuncAdr; + public static function GetGLFuncOrNil(fn: string): T; + begin + var str_ptr := Marshal.StringToHGlobalAnsi(fn); + var ptr := GetGLFuncAdr(str_ptr); + Marshal.FreeHGlobal(str_ptr); + Result := ptr=IntPtr.Zero ? default(T) : Marshal.GetDelegateForFunctionPointer&(ptr); + end; + + private static function _ChoosePixelFormat(hDc: GDI_DC; pPfd: pointer): Int32; external 'gdi32.dll' name 'ChoosePixelFormat'; + public static z_ChoosePixelFormat: function(hDc: GDI_DC; pPfd: pointer): Int32 := _ChoosePixelFormat; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function ChoosePixelFormat(hDc: GDI_DC; pPfd: array of GDI_PixelFormatDescriptor): Int32 := ChoosePixelFormat(hDc, pPfd[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function ChoosePixelFormat(hDc: GDI_DC; var pPfd: GDI_PixelFormatDescriptor): Int32 := ChoosePixelFormat(hDc, @pPfd); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function ChoosePixelFormat(hDc: GDI_DC; pPfd: pointer): Int32 := z_ChoosePixelFormat(hDc, pPfd); + + private static function _DescribePixelFormat(hdc: GDI_DC; ipfd: Int32; cjpfd: UInt32; ppfd: pointer): Int32; external 'gdi32.dll' name 'DescribePixelFormat'; + public static z_DescribePixelFormat: function(hdc: GDI_DC; ipfd: Int32; cjpfd: UInt32; ppfd: pointer): Int32 := _DescribePixelFormat; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function DescribePixelFormat(hdc: GDI_DC; ipfd: Int32; cjpfd: UInt32; ppfd: array of GDI_PixelFormatDescriptor): Int32 := DescribePixelFormat(hdc, ipfd, cjpfd, ppfd[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function DescribePixelFormat(hdc: GDI_DC; ipfd: Int32; cjpfd: UInt32; var ppfd: GDI_PixelFormatDescriptor): Int32 := DescribePixelFormat(hdc, ipfd, cjpfd, @ppfd); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function DescribePixelFormat(hdc: GDI_DC; ipfd: Int32; cjpfd: UInt32; ppfd: pointer): Int32 := z_DescribePixelFormat(hdc, ipfd, cjpfd, ppfd); + + private static function _GetEnhMetaFilePixelFormat(hemf: GDI_HENHMetafile; ppfd: pointer): UInt32; external 'gdi32.dll' name 'GetEnhMetaFilePixelFormat'; + public static z_GetEnhMetaFilePixelFormat: function(hemf: GDI_HENHMetafile; ppfd: pointer): UInt32 := _GetEnhMetaFilePixelFormat; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetEnhMetaFilePixelFormat(hemf: GDI_HENHMetafile; ppfd: array of GDI_PixelFormatDescriptor): UInt32 := GetEnhMetaFilePixelFormat(hemf, ppfd[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetEnhMetaFilePixelFormat(hemf: GDI_HENHMetafile; var ppfd: GDI_PixelFormatDescriptor): UInt32 := GetEnhMetaFilePixelFormat(hemf, @ppfd); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetEnhMetaFilePixelFormat(hemf: GDI_HENHMetafile; ppfd: pointer): UInt32 := z_GetEnhMetaFilePixelFormat(hemf, ppfd); + + private static function _GetPixelFormat(hdc: GDI_DC): Int32; external 'gdi32.dll' name 'GetPixelFormat'; + public static z_GetPixelFormat: function(hdc: GDI_DC): Int32 := _GetPixelFormat; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetPixelFormat(hdc: GDI_DC): Int32 := z_GetPixelFormat(hdc); + + private static function _SetPixelFormat(hdc: GDI_DC; ipfd: Int32; ppfd: pointer): UInt32; external 'gdi32.dll' name 'SetPixelFormat'; + public static z_SetPixelFormat: function(hdc: GDI_DC; ipfd: Int32; ppfd: pointer): UInt32 := _SetPixelFormat; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SetPixelFormat(hdc: GDI_DC; ipfd: Int32; ppfd: array of GDI_PixelFormatDescriptor): UInt32 := SetPixelFormat(hdc, ipfd, ppfd[0]); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SetPixelFormat(hdc: GDI_DC; ipfd: Int32; var ppfd: GDI_PixelFormatDescriptor): UInt32 := SetPixelFormat(hdc, ipfd, @ppfd); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SetPixelFormat(hdc: GDI_DC; ipfd: Int32; ppfd: pointer): UInt32 := z_SetPixelFormat(hdc, ipfd, ppfd); + + private static function _SwapBuffers(hdc: GDI_DC): UInt32; external 'gdi32.dll' name 'SwapBuffers'; + public static z_SwapBuffers: function(hdc: GDI_DC): UInt32 := _SwapBuffers; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SwapBuffers(hdc: GDI_DC): UInt32 := z_SwapBuffers(hdc); + + end; + + ///Методы для интеграции с gdi + gl_gdi = static class + {$reference System.Windows.Forms.dll} {$region Misc} - static procedure AlphaFunc(func: ActivationFunc; ref: single); - external 'opengl32.dll' name 'glAlphaFunc'; - - static procedure Bitmap(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; [MarshalAs(UnmanagedType.LPArray)] bitmap: array of byte); - external 'opengl32.dll' name 'glBitmap'; - static procedure Bitmap(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; bitmap: IntPtr); - external 'opengl32.dll' name 'glBitmap'; - static procedure Bitmap(width: Int32; height: Int32; xorig: single; yorig: single; xmove: single; ymove: single; bitmap: pointer); - external 'opengl32.dll' name 'glBitmap'; - - static procedure CopyPixels(x: Int32; y: Int32; width: Int32; height: Int32; &type: CopyableImageBuffer); - external 'opengl32.dll' name 'glCopyPixels'; - - static procedure DrawPixels(width: Int32; height: Int32; format: DataFormat; &type: CopyableImageBuffer; pixels: pointer); - external 'opengl32.dll' name 'glDrawPixels'; - - static procedure ColorPointer(size: Int32; &type: DataType; stride: Int32; _pointer: pointer); // может быть надо другие перегрузки, напишите если очень надо добавить - external 'opengl32.dll' name 'glColorPointer'; - - static procedure ClientActiveTexture(texture: TextureUnitId); - external 'opengl32.dll' name 'glClientActiveTexture'; - - static procedure DisableClientState(&array: UInt32); // array это энум который тут не описан, напишите если очень надо добавить - external 'opengl32.dll' name 'glDisableClientState'; - - static procedure EnableClientState(&array: UInt32); - external 'opengl32.dll' name 'glEnableClientState'; + ///Создаёт новую поверхность рисования GDI для дескриптора элемента управления + public static function GetControlDC(hwnd: IntPtr): GDI_DC; + external 'user32.dll' name 'GetDC'; {$endregion Misc} - {$endregion Deprecated} - - end; - - /// Расширение OVR - (наверное) OpenVR - /// Сцена то у обоих глаз общая, отличается только точка обзора - /// Поэтому рендеринг можно сильно ускорить, сделав всё параллельно и без лишних движений - gl_OVR = static class - - {$region OVR} - - static procedure FramebufferTextureMultiviewOVR(target: UInt32; attachment: UInt32; texture: UInt32; level: Int32; baseViewIndex: Int32; numViews: Int32); - external 'opengl32.dll' name 'glFramebufferTextureMultiviewOVR'; - - {$endregion OVR} - - end; - - /// Расширения для разного дебага - gl_KHR = static class - - {$region KHR} - - static procedure BlendBarrierKHR; - external 'opengl32.dll' name 'glBlendBarrierKHR'; - - static procedure MaxShaderCompilerThreadsKHR(count: UInt32); - external 'opengl32.dll' name 'glMaxShaderCompilerThreadsKHR'; - - {$endregion KHR} - - end; - - /// Расширения для телефонов, консолей и т.п. - /// В общем для всего того, на чём вы фиг не запустите программу на паскале - gl_OES = static class - - {$region OES} - - static procedure MultiTexCoord1bOES(texture: ErrorCode; s: SByte); - external 'opengl32.dll' name 'glMultiTexCoord1bOES'; - - static procedure MultiTexCoord1bvOES(texture: ErrorCode; coords: ^SByte); - external 'opengl32.dll' name 'glMultiTexCoord1bvOES'; - - static procedure MultiTexCoord2bOES(texture: ErrorCode; s: SByte; t: SByte); - external 'opengl32.dll' name 'glMultiTexCoord2bOES'; - - static procedure MultiTexCoord2bvOES(texture: ErrorCode; coords: ^SByte); - external 'opengl32.dll' name 'glMultiTexCoord2bvOES'; - - static procedure MultiTexCoord3bOES(texture: ErrorCode; s: SByte; t: SByte; r: SByte); - external 'opengl32.dll' name 'glMultiTexCoord3bOES'; - - static procedure MultiTexCoord3bvOES(texture: ErrorCode; coords: ^SByte); - external 'opengl32.dll' name 'glMultiTexCoord3bvOES'; - - static procedure MultiTexCoord4bOES(texture: ErrorCode; s: SByte; t: SByte; r: SByte; q: SByte); - external 'opengl32.dll' name 'glMultiTexCoord4bOES'; - - static procedure MultiTexCoord4bvOES(texture: ErrorCode; coords: ^SByte); - external 'opengl32.dll' name 'glMultiTexCoord4bvOES'; - - static procedure TexCoord1bOES(s: SByte); - external 'opengl32.dll' name 'glTexCoord1bOES'; - - static procedure TexCoord1bvOES(coords: ^SByte); - external 'opengl32.dll' name 'glTexCoord1bvOES'; - - static procedure TexCoord2bOES(s: SByte; t: SByte); - external 'opengl32.dll' name 'glTexCoord2bOES'; - - static procedure TexCoord2bvOES(coords: ^SByte); - external 'opengl32.dll' name 'glTexCoord2bvOES'; - - static procedure TexCoord3bOES(s: SByte; t: SByte; r: SByte); - external 'opengl32.dll' name 'glTexCoord3bOES'; - - static procedure TexCoord3bvOES(coords: ^SByte); - external 'opengl32.dll' name 'glTexCoord3bvOES'; - - static procedure TexCoord4bOES(s: SByte; t: SByte; r: SByte; q: SByte); - external 'opengl32.dll' name 'glTexCoord4bOES'; - - static procedure TexCoord4bvOES(coords: ^SByte); - external 'opengl32.dll' name 'glTexCoord4bvOES'; - - static procedure Vertex2bOES(x: SByte; y: SByte); - external 'opengl32.dll' name 'glVertex2bOES'; - - static procedure Vertex2bvOES(coords: ^SByte); - external 'opengl32.dll' name 'glVertex2bvOES'; - - static procedure Vertex3bOES(x: SByte; y: SByte; z: SByte); - external 'opengl32.dll' name 'glVertex3bOES'; - - static procedure Vertex3bvOES(coords: ^SByte); - external 'opengl32.dll' name 'glVertex3bvOES'; - - static procedure Vertex4bOES(x: SByte; y: SByte; z: SByte; w: SByte); - external 'opengl32.dll' name 'glVertex4bOES'; - - static procedure Vertex4bvOES(coords: ^SByte); - external 'opengl32.dll' name 'glVertex4bvOES'; - - static procedure AlphaFuncxOES(func: ErrorCode; ref: fixed); - external 'opengl32.dll' name 'glAlphaFuncxOES'; - - static procedure ClearColorxOES(red: fixed; green: fixed; blue: fixed; alpha: fixed); - external 'opengl32.dll' name 'glClearColorxOES'; - - static procedure ClearDepthxOES(depth: fixed); - external 'opengl32.dll' name 'glClearDepthxOES'; - - static procedure ClipPlanexOES(plane: ErrorCode; equation: ^fixed); - external 'opengl32.dll' name 'glClipPlanexOES'; - - static procedure Color4xOES(red: fixed; green: fixed; blue: fixed; alpha: fixed); - external 'opengl32.dll' name 'glColor4xOES'; - - static procedure DepthRangexOES(n: fixed; f: fixed); - external 'opengl32.dll' name 'glDepthRangexOES'; - - static procedure FogxOES(pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glFogxOES'; - - static procedure FogxvOES(pname: ErrorCode; param: ^fixed); - external 'opengl32.dll' name 'glFogxvOES'; - - static procedure FrustumxOES(l: fixed; r: fixed; b: fixed; t: fixed; n: fixed; f: fixed); - external 'opengl32.dll' name 'glFrustumxOES'; - - static procedure GetClipPlanexOES(plane: ErrorCode; equation: ^fixed); - external 'opengl32.dll' name 'glGetClipPlanexOES'; - - static procedure GetFixedvOES(pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetFixedvOES'; - - static procedure GetTexEnvxvOES(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetTexEnvxvOES'; - - static procedure GetTexParameterxvOES(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetTexParameterxvOES'; - - static procedure LightModelxOES(pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glLightModelxOES'; - - static procedure LightModelxvOES(pname: ErrorCode; param: ^fixed); - external 'opengl32.dll' name 'glLightModelxvOES'; - - static procedure LightxOES(light: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glLightxOES'; - - static procedure LightxvOES(light: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glLightxvOES'; - - static procedure LineWidthxOES(width: fixed); - external 'opengl32.dll' name 'glLineWidthxOES'; - - static procedure LoadMatrixxOES(m: ^fixed); - external 'opengl32.dll' name 'glLoadMatrixxOES'; - - static procedure MaterialxOES(face: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glMaterialxOES'; - - static procedure MaterialxvOES(face: ErrorCode; pname: ErrorCode; param: ^fixed); - external 'opengl32.dll' name 'glMaterialxvOES'; - - static procedure MultMatrixxOES(m: ^fixed); - external 'opengl32.dll' name 'glMultMatrixxOES'; - - static procedure MultiTexCoord4xOES(texture: ErrorCode; s: fixed; t: fixed; r: fixed; q: fixed); - external 'opengl32.dll' name 'glMultiTexCoord4xOES'; - - static procedure Normal3xOES(nx: fixed; ny: fixed; nz: fixed); - external 'opengl32.dll' name 'glNormal3xOES'; - - static procedure OrthoxOES(l: fixed; r: fixed; b: fixed; t: fixed; n: fixed; f: fixed); - external 'opengl32.dll' name 'glOrthoxOES'; - - static procedure PointParameterxvOES(pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glPointParameterxvOES'; - - static procedure PointSizexOES(size: fixed); - external 'opengl32.dll' name 'glPointSizexOES'; - - static procedure PolygonOffsetxOES(factor: fixed; units: fixed); - external 'opengl32.dll' name 'glPolygonOffsetxOES'; - - static procedure RotatexOES(angle: fixed; x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glRotatexOES'; - - static procedure ScalexOES(x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glScalexOES'; - - static procedure TexEnvxOES(target: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glTexEnvxOES'; - - static procedure TexEnvxvOES(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glTexEnvxvOES'; - - static procedure TexParameterxOES(target: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glTexParameterxOES'; - - static procedure TexParameterxvOES(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glTexParameterxvOES'; - - static procedure TranslatexOES(x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glTranslatexOES'; - - static procedure AccumxOES(op: ErrorCode; value: fixed); - external 'opengl32.dll' name 'glAccumxOES'; - - static procedure BitmapxOES(width: Int32; height: Int32; xorig: fixed; yorig: fixed; xmove: fixed; ymove: fixed; bitmap: ^Byte); - external 'opengl32.dll' name 'glBitmapxOES'; - - static procedure BlendColorxOES(red: fixed; green: fixed; blue: fixed; alpha: fixed); - external 'opengl32.dll' name 'glBlendColorxOES'; - - static procedure ClearAccumxOES(red: fixed; green: fixed; blue: fixed; alpha: fixed); - external 'opengl32.dll' name 'glClearAccumxOES'; - - static procedure Color3xOES(red: fixed; green: fixed; blue: fixed); - external 'opengl32.dll' name 'glColor3xOES'; - - static procedure Color3xvOES(components: ^fixed); - external 'opengl32.dll' name 'glColor3xvOES'; - - static procedure Color4xvOES(components: ^fixed); - external 'opengl32.dll' name 'glColor4xvOES'; - - static procedure ConvolutionParameterxOES(target: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glConvolutionParameterxOES'; - - static procedure ConvolutionParameterxvOES(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glConvolutionParameterxvOES'; - - static procedure EvalCoord1xOES(u: fixed); - external 'opengl32.dll' name 'glEvalCoord1xOES'; - - static procedure EvalCoord1xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glEvalCoord1xvOES'; - - static procedure EvalCoord2xOES(u: fixed; v: fixed); - external 'opengl32.dll' name 'glEvalCoord2xOES'; - - static procedure EvalCoord2xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glEvalCoord2xvOES'; - - static procedure FeedbackBufferxOES(n: Int32; &type: ErrorCode; buffer: ^fixed); - external 'opengl32.dll' name 'glFeedbackBufferxOES'; - - static procedure GetConvolutionParameterxvOES(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetConvolutionParameterxvOES'; - - static procedure GetHistogramParameterxvOES(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetHistogramParameterxvOES'; - - static procedure GetLightxOES(light: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetLightxOES'; - - static procedure GetMapxvOES(target: ErrorCode; query: ErrorCode; v: ^fixed); - external 'opengl32.dll' name 'glGetMapxvOES'; - - static procedure GetMaterialxOES(face: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glGetMaterialxOES'; - - static procedure GetTexGenxvOES(coord: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetTexGenxvOES'; - - static procedure GetTexLevelParameterxvOES(target: ErrorCode; level: Int32; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glGetTexLevelParameterxvOES'; - - static procedure IndexxOES(component: fixed); - external 'opengl32.dll' name 'glIndexxOES'; - - static procedure IndexxvOES(component: ^fixed); - external 'opengl32.dll' name 'glIndexxvOES'; - - static procedure LoadTransposeMatrixxOES(m: ^fixed); - external 'opengl32.dll' name 'glLoadTransposeMatrixxOES'; - - static procedure Map1xOES(target: ErrorCode; u1: fixed; u2: fixed; stride: Int32; order: Int32; points: fixed); - external 'opengl32.dll' name 'glMap1xOES'; - - static procedure Map2xOES(target: ErrorCode; u1: fixed; u2: fixed; ustride: Int32; uorder: Int32; v1: fixed; v2: fixed; vstride: Int32; vorder: Int32; points: fixed); - external 'opengl32.dll' name 'glMap2xOES'; - - static procedure MapGrid1xOES(n: Int32; u1: fixed; u2: fixed); - external 'opengl32.dll' name 'glMapGrid1xOES'; - - static procedure MapGrid2xOES(n: Int32; u1: fixed; u2: fixed; v1: fixed; v2: fixed); - external 'opengl32.dll' name 'glMapGrid2xOES'; - - static procedure MultTransposeMatrixxOES(m: ^fixed); - external 'opengl32.dll' name 'glMultTransposeMatrixxOES'; - - static procedure MultiTexCoord1xOES(texture: ErrorCode; s: fixed); - external 'opengl32.dll' name 'glMultiTexCoord1xOES'; - - static procedure MultiTexCoord1xvOES(texture: ErrorCode; coords: ^fixed); - external 'opengl32.dll' name 'glMultiTexCoord1xvOES'; - - static procedure MultiTexCoord2xOES(texture: ErrorCode; s: fixed; t: fixed); - external 'opengl32.dll' name 'glMultiTexCoord2xOES'; - - static procedure MultiTexCoord2xvOES(texture: ErrorCode; coords: ^fixed); - external 'opengl32.dll' name 'glMultiTexCoord2xvOES'; - - static procedure MultiTexCoord3xOES(texture: ErrorCode; s: fixed; t: fixed; r: fixed); - external 'opengl32.dll' name 'glMultiTexCoord3xOES'; - - static procedure MultiTexCoord3xvOES(texture: ErrorCode; coords: ^fixed); - external 'opengl32.dll' name 'glMultiTexCoord3xvOES'; - - static procedure MultiTexCoord4xvOES(texture: ErrorCode; coords: ^fixed); - external 'opengl32.dll' name 'glMultiTexCoord4xvOES'; - - static procedure Normal3xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glNormal3xvOES'; - - static procedure PassThroughxOES(token: fixed); - external 'opengl32.dll' name 'glPassThroughxOES'; - - static procedure PixelTransferxOES(pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glPixelTransferxOES'; - - static procedure PixelZoomxOES(xfactor: fixed; yfactor: fixed); - external 'opengl32.dll' name 'glPixelZoomxOES'; - - static procedure PrioritizeTexturesxOES(n: Int32; textures: ^UInt32; priorities: ^fixed); - external 'opengl32.dll' name 'glPrioritizeTexturesxOES'; - - static procedure RasterPos2xOES(x: fixed; y: fixed); - external 'opengl32.dll' name 'glRasterPos2xOES'; - - static procedure RasterPos2xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glRasterPos2xvOES'; - - static procedure RasterPos3xOES(x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glRasterPos3xOES'; - - static procedure RasterPos3xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glRasterPos3xvOES'; - - static procedure RasterPos4xOES(x: fixed; y: fixed; z: fixed; w: fixed); - external 'opengl32.dll' name 'glRasterPos4xOES'; - - static procedure RasterPos4xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glRasterPos4xvOES'; - - static procedure RectxOES(x1: fixed; y1: fixed; x2: fixed; y2: fixed); - external 'opengl32.dll' name 'glRectxOES'; - - static procedure RectxvOES(v1: ^fixed; v2: ^fixed); - external 'opengl32.dll' name 'glRectxvOES'; - - static procedure TexCoord1xOES(s: fixed); - external 'opengl32.dll' name 'glTexCoord1xOES'; - - static procedure TexCoord1xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glTexCoord1xvOES'; - - static procedure TexCoord2xOES(s: fixed; t: fixed); - external 'opengl32.dll' name 'glTexCoord2xOES'; - - static procedure TexCoord2xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glTexCoord2xvOES'; - - static procedure TexCoord3xOES(s: fixed; t: fixed; r: fixed); - external 'opengl32.dll' name 'glTexCoord3xOES'; - - static procedure TexCoord3xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glTexCoord3xvOES'; - - static procedure TexCoord4xOES(s: fixed; t: fixed; r: fixed; q: fixed); - external 'opengl32.dll' name 'glTexCoord4xOES'; - - static procedure TexCoord4xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glTexCoord4xvOES'; - - static procedure TexGenxOES(coord: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glTexGenxOES'; - - static procedure TexGenxvOES(coord: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glTexGenxvOES'; - - static procedure Vertex2xOES(x: fixed); - external 'opengl32.dll' name 'glVertex2xOES'; - - static procedure Vertex2xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glVertex2xvOES'; - - static procedure Vertex3xOES(x: fixed; y: fixed); - external 'opengl32.dll' name 'glVertex3xOES'; - - static procedure Vertex3xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glVertex3xvOES'; - - static procedure Vertex4xOES(x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glVertex4xOES'; - - static procedure Vertex4xvOES(coords: ^fixed); - external 'opengl32.dll' name 'glVertex4xvOES'; - - static function QueryMatrixxOES(mantissa: ^fixed; exponent: ^Int32): UInt32; - external 'opengl32.dll' name 'glQueryMatrixxOES'; - - static procedure ClearDepthfOES(depth: single); - external 'opengl32.dll' name 'glClearDepthfOES'; - - static procedure ClipPlanefOES(plane: ErrorCode; equation: ^single); - external 'opengl32.dll' name 'glClipPlanefOES'; - - static procedure DepthRangefOES(n: single; f: single); - external 'opengl32.dll' name 'glDepthRangefOES'; - - static procedure FrustumfOES(l: single; r: single; b: single; t: single; n: single; f: single); - external 'opengl32.dll' name 'glFrustumfOES'; - - static procedure GetClipPlanefOES(plane: ErrorCode; equation: ^single); - external 'opengl32.dll' name 'glGetClipPlanefOES'; - - static procedure OrthofOES(l: single; r: single; b: single; t: single; n: single; f: single); - external 'opengl32.dll' name 'glOrthofOES'; - - {$endregion OES} - - end; - - /// Расширения для надгрызенных яблок - gl_APPLE = static class - - {$region APPLE} - - static procedure ElementPointerAPPLE(&type: ErrorCode; _pointer: pointer); - external 'opengl32.dll' name 'glElementPointerAPPLE'; - - static procedure DrawElementArrayAPPLE(mode: ErrorCode; first: Int32; count: Int32); - external 'opengl32.dll' name 'glDrawElementArrayAPPLE'; - - static procedure DrawRangeElementArrayAPPLE(mode: ErrorCode; start: UInt32; &end: UInt32; first: Int32; count: Int32); - external 'opengl32.dll' name 'glDrawRangeElementArrayAPPLE'; - - static procedure MultiDrawElementArrayAPPLE(mode: ErrorCode; first: ^Int32; count: ^Int32; primcount: Int32); - external 'opengl32.dll' name 'glMultiDrawElementArrayAPPLE'; - - static procedure MultiDrawRangeElementArrayAPPLE(mode: ErrorCode; start: UInt32; &end: UInt32; first: ^Int32; count: ^Int32; primcount: Int32); - external 'opengl32.dll' name 'glMultiDrawRangeElementArrayAPPLE'; - - static procedure GenFencesAPPLE(n: Int32; fences: ^UInt32); - external 'opengl32.dll' name 'glGenFencesAPPLE'; - - static procedure DeleteFencesAPPLE(n: Int32; fences: ^UInt32); - external 'opengl32.dll' name 'glDeleteFencesAPPLE'; - - static procedure SetFenceAPPLE(fence: UInt32); - external 'opengl32.dll' name 'glSetFenceAPPLE'; - - static function IsFenceAPPLE(fence: UInt32): Byte; - external 'opengl32.dll' name 'glIsFenceAPPLE'; - - static function TestFenceAPPLE(fence: UInt32): Byte; - external 'opengl32.dll' name 'glTestFenceAPPLE'; - - static procedure FinishFenceAPPLE(fence: UInt32); - external 'opengl32.dll' name 'glFinishFenceAPPLE'; - - static function TestObjectAPPLE(object: ErrorCode; name: UInt32): Byte; - external 'opengl32.dll' name 'glTestObjectAPPLE'; - - static procedure FinishObjectAPPLE(object: ErrorCode; name: Int32); - external 'opengl32.dll' name 'glFinishObjectAPPLE'; - - static procedure BufferParameteriAPPLE(target: ErrorCode; pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glBufferParameteriAPPLE'; - - static procedure FlushMappedBufferRangeAPPLE(target: ErrorCode; offset: IntPtr; size: UIntPtr); - external 'opengl32.dll' name 'glFlushMappedBufferRangeAPPLE'; - - static function ObjectPurgeableAPPLE(objectType: ErrorCode; name: UInt32; option: ErrorCode): ErrorCode; - external 'opengl32.dll' name 'glObjectPurgeableAPPLE'; - - static function ObjectUnpurgeableAPPLE(objectType: ErrorCode; name: UInt32; option: ErrorCode): ErrorCode; - external 'opengl32.dll' name 'glObjectUnpurgeableAPPLE'; - - static procedure GetObjectParameterivAPPLE(objectType: ErrorCode; name: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetObjectParameterivAPPLE'; - - static procedure TextureRangeAPPLE(target: ErrorCode; length: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glTextureRangeAPPLE'; - - static procedure GetTexParameterPointervAPPLE(target: ErrorCode; pname: ErrorCode; ¶ms: ^pointer); - external 'opengl32.dll' name 'glGetTexParameterPointervAPPLE'; - - static procedure BindVertexArrayAPPLE(&array: UInt32); - external 'opengl32.dll' name 'glBindVertexArrayAPPLE'; - - static procedure DeleteVertexArraysAPPLE(n: Int32; arrays: ^UInt32); - external 'opengl32.dll' name 'glDeleteVertexArraysAPPLE'; - - static procedure GenVertexArraysAPPLE(n: Int32; arrays: ^UInt32); - external 'opengl32.dll' name 'glGenVertexArraysAPPLE'; - - static function IsVertexArrayAPPLE(&array: UInt32): Byte; - external 'opengl32.dll' name 'glIsVertexArrayAPPLE'; - - static procedure VertexArrayRangeAPPLE(length: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glVertexArrayRangeAPPLE'; - - static procedure FlushVertexArrayRangeAPPLE(length: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glFlushVertexArrayRangeAPPLE'; - - static procedure VertexArrayParameteriAPPLE(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glVertexArrayParameteriAPPLE'; - - static procedure EnableVertexAttribAPPLE(index: UInt32; pname: ErrorCode); - external 'opengl32.dll' name 'glEnableVertexAttribAPPLE'; - - static procedure DisableVertexAttribAPPLE(index: UInt32; pname: ErrorCode); - external 'opengl32.dll' name 'glDisableVertexAttribAPPLE'; - - static function IsVertexAttribEnabledAPPLE(index: UInt32; pname: ErrorCode): Byte; - external 'opengl32.dll' name 'glIsVertexAttribEnabledAPPLE'; - - static procedure MapVertexAttrib1dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; stride: Int32; order: Int32; points: ^double); - external 'opengl32.dll' name 'glMapVertexAttrib1dAPPLE'; - - static procedure MapVertexAttrib1fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; stride: Int32; order: Int32; points: ^single); - external 'opengl32.dll' name 'glMapVertexAttrib1fAPPLE'; - - static procedure MapVertexAttrib2dAPPLE(index: UInt32; size: UInt32; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; points: ^double); - external 'opengl32.dll' name 'glMapVertexAttrib2dAPPLE'; - - static procedure MapVertexAttrib2fAPPLE(index: UInt32; size: UInt32; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; points: ^single); - external 'opengl32.dll' name 'glMapVertexAttrib2fAPPLE'; - - {$endregion APPLE} - - end; - - /// Расширения GREMEDY для логирования - gl_GREMEDY = static class - - {$region GREMEDY} - - static procedure FrameTerminatorGREMEDY; - external 'opengl32.dll' name 'glFrameTerminatorGREMEDY'; - - static procedure StringMarkerGREMEDY(len: Int32; string: pointer); - external 'opengl32.dll' name 'glStringMarkerGREMEDY'; - - {$endregion GREMEDY} - - end; - - /// Расширения для ноутбуков от HP - /// Первая страница ответов в гугле заполнена: - /// "у меня не работает OpenGL на HP ноуте, хелп" - /// Выглядит как достаточнно инфы))) - gl_HP = static class - - {$region HP} - - static procedure ImageTransformParameteriHP(target: ErrorCode; pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glImageTransformParameteriHP'; - - static procedure ImageTransformParameterfHP(target: ErrorCode; pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glImageTransformParameterfHP'; - - static procedure ImageTransformParameterivHP(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glImageTransformParameterivHP'; - - static procedure ImageTransformParameterfvHP(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glImageTransformParameterfvHP'; - - static procedure GetImageTransformParameterivHP(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetImageTransformParameterivHP'; - - static procedure GetImageTransformParameterfvHP(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetImageTransformParameterfvHP'; - - {$endregion HP} - - end; - - /// Расширения для "International Business Machines" - /// То есть для электроники для бизнеса - gl_IBM = static class - - {$region IBM} - - static procedure MultiModeDrawArraysIBM(mode: ^ErrorCode; first: ^Int32; count: ^Int32; primcount: Int32; modestride: Int32); - external 'opengl32.dll' name 'glMultiModeDrawArraysIBM'; - - static procedure MultiModeDrawElementsIBM(mode: ^ErrorCode; count: ^Int32; &type: ErrorCode; indices: ^pointer; primcount: Int32; modestride: Int32); - external 'opengl32.dll' name 'glMultiModeDrawElementsIBM'; - - static procedure FlushStaticDataIBM(target: ErrorCode); - external 'opengl32.dll' name 'glFlushStaticDataIBM'; - - static procedure ColorPointerListIBM(size: Int32; &type: ErrorCode; stride: Int32; _pointer: ^pointer; ptrstride: Int32); - external 'opengl32.dll' name 'glColorPointerListIBM'; - - static procedure SecondaryColorPointerListIBM(size: Int32; &type: ErrorCode; stride: Int32; _pointer: ^pointer; ptrstride: Int32); - external 'opengl32.dll' name 'glSecondaryColorPointerListIBM'; - - static procedure EdgeFlagPointerListIBM(stride: Int32; _pointer: ^^Byte; ptrstride: Int32); - external 'opengl32.dll' name 'glEdgeFlagPointerListIBM'; - - static procedure FogCoordPointerListIBM(&type: ErrorCode; stride: Int32; _pointer: ^pointer; ptrstride: Int32); - external 'opengl32.dll' name 'glFogCoordPointerListIBM'; - - static procedure IndexPointerListIBM(&type: ErrorCode; stride: Int32; _pointer: ^pointer; ptrstride: Int32); - external 'opengl32.dll' name 'glIndexPointerListIBM'; - - static procedure NormalPointerListIBM(&type: ErrorCode; stride: Int32; _pointer: ^pointer; ptrstride: Int32); - external 'opengl32.dll' name 'glNormalPointerListIBM'; - - static procedure TexCoordPointerListIBM(size: Int32; &type: ErrorCode; stride: Int32; _pointer: ^pointer; ptrstride: Int32); - external 'opengl32.dll' name 'glTexCoordPointerListIBM'; - - static procedure VertexPointerListIBM(size: Int32; &type: ErrorCode; stride: Int32; _pointer: ^pointer; ptrstride: Int32); - external 'opengl32.dll' name 'glVertexPointerListIBM'; - - {$endregion IBM} - - end; - - /// Intergraph Corporation - /// Вроде что то древнее и влиятельное, вроде как на уровне Oracle и Microsoft - /// Ну понятно, поэтому у них аж 1 функция)) - gl_INGR = static class - - {$region INGR} - - static procedure BlendFuncSeparateINGR(sfactorRGB: ErrorCode; dfactorRGB: ErrorCode; sfactorAlpha: ErrorCode; dfactorAlpha: ErrorCode); - external 'opengl32.dll' name 'glBlendFuncSeparateINGR'; - - {$endregion INGR} - - end; - - /// Совместное с Vulkan расширение для 3D графики - /// Которое такое важное что на нём UNIX-подобные системы строятся и без него не работают - /// Vulkan, кстати, те же люди придумывали, что OpenGL - gl_MESA = static class - - {$region MESA} - - static procedure ResizeBuffersMESA; - external 'opengl32.dll' name 'glResizeBuffersMESA'; - - static procedure WindowPos2dMESA(x: double; y: double); - external 'opengl32.dll' name 'glWindowPos2dMESA'; - - static procedure WindowPos2dvMESA(v: ^double); - external 'opengl32.dll' name 'glWindowPos2dvMESA'; - - static procedure WindowPos2fMESA(x: single; y: single); - external 'opengl32.dll' name 'glWindowPos2fMESA'; - - static procedure WindowPos2fvMESA(v: ^single); - external 'opengl32.dll' name 'glWindowPos2fvMESA'; - - static procedure WindowPos2iMESA(x: Int32; y: Int32); - external 'opengl32.dll' name 'glWindowPos2iMESA'; - - static procedure WindowPos2ivMESA(v: ^Int32); - external 'opengl32.dll' name 'glWindowPos2ivMESA'; - - static procedure WindowPos2sMESA(x: Int16; y: Int16); - external 'opengl32.dll' name 'glWindowPos2sMESA'; - - static procedure WindowPos2svMESA(v: ^Int16); - external 'opengl32.dll' name 'glWindowPos2svMESA'; - - static procedure WindowPos3dMESA(x: double; y: double; z: double); - external 'opengl32.dll' name 'glWindowPos3dMESA'; - - static procedure WindowPos3dvMESA(v: ^double); - external 'opengl32.dll' name 'glWindowPos3dvMESA'; - - static procedure WindowPos3fMESA(x: single; y: single; z: single); - external 'opengl32.dll' name 'glWindowPos3fMESA'; - - static procedure WindowPos3fvMESA(v: ^single); - external 'opengl32.dll' name 'glWindowPos3fvMESA'; - - static procedure WindowPos3iMESA(x: Int32; y: Int32; z: Int32); - external 'opengl32.dll' name 'glWindowPos3iMESA'; - - static procedure WindowPos3ivMESA(v: ^Int32); - external 'opengl32.dll' name 'glWindowPos3ivMESA'; - - static procedure WindowPos3sMESA(x: Int16; y: Int16; z: Int16); - external 'opengl32.dll' name 'glWindowPos3sMESA'; - - static procedure WindowPos3svMESA(v: ^Int16); - external 'opengl32.dll' name 'glWindowPos3svMESA'; - - static procedure WindowPos4dMESA(x: double; y: double; z: double; w: double); - external 'opengl32.dll' name 'glWindowPos4dMESA'; - - static procedure WindowPos4dvMESA(v: ^double); - external 'opengl32.dll' name 'glWindowPos4dvMESA'; - - static procedure WindowPos4fMESA(x: single; y: single; z: single; w: single); - external 'opengl32.dll' name 'glWindowPos4fMESA'; - - static procedure WindowPos4fvMESA(v: ^single); - external 'opengl32.dll' name 'glWindowPos4fvMESA'; - - static procedure WindowPos4iMESA(x: Int32; y: Int32; z: Int32; w: Int32); - external 'opengl32.dll' name 'glWindowPos4iMESA'; - - static procedure WindowPos4ivMESA(v: ^Int32); - external 'opengl32.dll' name 'glWindowPos4ivMESA'; - - static procedure WindowPos4sMESA(x: Int16; y: Int16; z: Int16; w: Int16); - external 'opengl32.dll' name 'glWindowPos4sMESA'; - - static procedure WindowPos4svMESA(v: ^Int16); - external 'opengl32.dll' name 'glWindowPos4svMESA'; - - {$endregion MESA} - - end; - - /// Silicon Graphics, Inc. - gl_SGI = static class - - {$region SGI} - - static procedure ColorTableSGI(target: ErrorCode; internalformat: ErrorCode; width: Int32; format: ErrorCode; &type: ErrorCode; table: pointer); - external 'opengl32.dll' name 'glColorTableSGI'; - - static procedure ColorTableParameterfvSGI(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glColorTableParameterfvSGI'; - - static procedure ColorTableParameterivSGI(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glColorTableParameterivSGI'; - - static procedure CopyColorTableSGI(target: ErrorCode; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyColorTableSGI'; - - static procedure GetColorTableSGI(target: ErrorCode; format: ErrorCode; &type: ErrorCode; table: pointer); - external 'opengl32.dll' name 'glGetColorTableSGI'; - - static procedure GetColorTableParameterfvSGI(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetColorTableParameterfvSGI'; - - static procedure GetColorTableParameterivSGI(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetColorTableParameterivSGI'; - - {$endregion SGI} - - // эксперементальное, то есть то, что может быть удалено/изменено в любой момент: - - {$region SGIS} - - static procedure DetailTexFuncSGIS(target: ErrorCode; n: Int32; points: ^single); - external 'opengl32.dll' name 'glDetailTexFuncSGIS'; - - static procedure GetDetailTexFuncSGIS(target: ErrorCode; points: ^single); - external 'opengl32.dll' name 'glGetDetailTexFuncSGIS'; - - static procedure FogFuncSGIS(n: Int32; points: ^single); - external 'opengl32.dll' name 'glFogFuncSGIS'; - - static procedure GetFogFuncSGIS(points: ^single); - external 'opengl32.dll' name 'glGetFogFuncSGIS'; - - static procedure SampleMaskSGIS(value: single; invert: Byte); - external 'opengl32.dll' name 'glSampleMaskSGIS'; - - static procedure SamplePatternSGIS(pattern: ErrorCode); - external 'opengl32.dll' name 'glSamplePatternSGIS'; - - static procedure PixelTexGenParameteriSGIS(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glPixelTexGenParameteriSGIS'; - - static procedure PixelTexGenParameterivSGIS(pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glPixelTexGenParameterivSGIS'; - - static procedure PixelTexGenParameterfSGIS(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glPixelTexGenParameterfSGIS'; - - static procedure PixelTexGenParameterfvSGIS(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glPixelTexGenParameterfvSGIS'; - - static procedure GetPixelTexGenParameterivSGIS(pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetPixelTexGenParameterivSGIS'; - - static procedure GetPixelTexGenParameterfvSGIS(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetPixelTexGenParameterfvSGIS'; - - static procedure PointParameterfSGIS(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glPointParameterfSGIS'; - - static procedure PointParameterfvSGIS(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glPointParameterfvSGIS'; - - static procedure SharpenTexFuncSGIS(target: ErrorCode; n: Int32; points: ^single); - external 'opengl32.dll' name 'glSharpenTexFuncSGIS'; - - static procedure GetSharpenTexFuncSGIS(target: ErrorCode; points: ^single); - external 'opengl32.dll' name 'glGetSharpenTexFuncSGIS'; - - static procedure TexImage4DSGIS(target: ErrorCode; level: Int32; internalformat: ErrorCode; width: Int32; height: Int32; depth: Int32; size4d: Int32; border: Int32; format: ErrorCode; &type: ErrorCode; pixels: pointer); - external 'opengl32.dll' name 'glTexImage4DSGIS'; - - static procedure TexSubImage4DSGIS(target: ErrorCode; level: Int32; xoffset: Int32; yoffset: Int32; zoffset: Int32; woffset: Int32; width: Int32; height: Int32; depth: Int32; size4d: Int32; format: ErrorCode; &type: ErrorCode; pixels: pointer); - external 'opengl32.dll' name 'glTexSubImage4DSGIS'; - - static procedure TextureColorMaskSGIS(red: Byte; green: Byte; blue: Byte; alpha: Byte); - external 'opengl32.dll' name 'glTextureColorMaskSGIS'; - - static procedure GetTexFilterFuncSGIS(target: ErrorCode; filter: ErrorCode; weights: ^single); - external 'opengl32.dll' name 'glGetTexFilterFuncSGIS'; - - static procedure TexFilterFuncSGIS(target: ErrorCode; filter: ErrorCode; n: Int32; weights: ^single); - external 'opengl32.dll' name 'glTexFilterFuncSGIS'; - - {$endregion SGIS} - - {$region SGIX} - - static procedure AsyncMarkerSGIX(marker: UInt32); - external 'opengl32.dll' name 'glAsyncMarkerSGIX'; - - static function FinishAsyncSGIX(markerp: ^UInt32): Int32; - external 'opengl32.dll' name 'glFinishAsyncSGIX'; - - static function PollAsyncSGIX(markerp: ^UInt32): Int32; - external 'opengl32.dll' name 'glPollAsyncSGIX'; - - static function GenAsyncMarkersSGIX(range: Int32): UInt32; - external 'opengl32.dll' name 'glGenAsyncMarkersSGIX'; - - static procedure DeleteAsyncMarkersSGIX(marker: UInt32; range: Int32); - external 'opengl32.dll' name 'glDeleteAsyncMarkersSGIX'; - - static function IsAsyncMarkerSGIX(marker: UInt32): Byte; - external 'opengl32.dll' name 'glIsAsyncMarkerSGIX'; - - static procedure FlushRasterSGIX; - external 'opengl32.dll' name 'glFlushRasterSGIX'; - - static procedure FragmentColorMaterialSGIX(face: ErrorCode; mode: ErrorCode); - external 'opengl32.dll' name 'glFragmentColorMaterialSGIX'; - - static procedure FragmentLightfSGIX(light: ErrorCode; pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glFragmentLightfSGIX'; - - static procedure FragmentLightfvSGIX(light: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glFragmentLightfvSGIX'; - - static procedure FragmentLightiSGIX(light: ErrorCode; pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glFragmentLightiSGIX'; - - static procedure FragmentLightivSGIX(light: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glFragmentLightivSGIX'; - - static procedure FragmentLightModelfSGIX(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glFragmentLightModelfSGIX'; - - static procedure FragmentLightModelfvSGIX(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glFragmentLightModelfvSGIX'; - - static procedure FragmentLightModeliSGIX(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glFragmentLightModeliSGIX'; - - static procedure FragmentLightModelivSGIX(pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glFragmentLightModelivSGIX'; - - static procedure FragmentMaterialfSGIX(face: ErrorCode; pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glFragmentMaterialfSGIX'; - - static procedure FragmentMaterialfvSGIX(face: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glFragmentMaterialfvSGIX'; - - static procedure FragmentMaterialiSGIX(face: ErrorCode; pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glFragmentMaterialiSGIX'; - - static procedure FragmentMaterialivSGIX(face: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glFragmentMaterialivSGIX'; - - static procedure GetFragmentLightfvSGIX(light: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetFragmentLightfvSGIX'; - - static procedure GetFragmentLightivSGIX(light: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetFragmentLightivSGIX'; - - static procedure GetFragmentMaterialfvSGIX(face: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetFragmentMaterialfvSGIX'; - - static procedure GetFragmentMaterialivSGIX(face: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetFragmentMaterialivSGIX'; - - static procedure LightEnviSGIX(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glLightEnviSGIX'; - - static procedure FrameZoomSGIX(factor: Int32); - external 'opengl32.dll' name 'glFrameZoomSGIX'; - - static procedure IglooInterfaceSGIX(pname: ErrorCode; ¶ms: pointer); - external 'opengl32.dll' name 'glIglooInterfaceSGIX'; - - static function GetInstrumentsSGIX: Int32; - external 'opengl32.dll' name 'glGetInstrumentsSGIX'; - - static procedure InstrumentsBufferSGIX(size: Int32; buffer: ^Int32); - external 'opengl32.dll' name 'glInstrumentsBufferSGIX'; - - static function PollInstrumentsSGIX(marker_p: ^Int32): Int32; - external 'opengl32.dll' name 'glPollInstrumentsSGIX'; - - static procedure ReadInstrumentsSGIX(marker: Int32); - external 'opengl32.dll' name 'glReadInstrumentsSGIX'; - - static procedure StartInstrumentsSGIX; - external 'opengl32.dll' name 'glStartInstrumentsSGIX'; - - static procedure StopInstrumentsSGIX(marker: Int32); - external 'opengl32.dll' name 'glStopInstrumentsSGIX'; - - static procedure GetListParameterfvSGIX(list: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetListParameterfvSGIX'; - - static procedure GetListParameterivSGIX(list: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetListParameterivSGIX'; - - static procedure ListParameterfSGIX(list: UInt32; pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glListParameterfSGIX'; - - static procedure ListParameterfvSGIX(list: UInt32; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glListParameterfvSGIX'; - - static procedure ListParameteriSGIX(list: UInt32; pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glListParameteriSGIX'; - - static procedure ListParameterivSGIX(list: UInt32; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glListParameterivSGIX'; - - static procedure PixelTexGenSGIX(mode: ErrorCode); - external 'opengl32.dll' name 'glPixelTexGenSGIX'; - - static procedure DeformationMap3dSGIX(target: ErrorCode; u1: double; u2: double; ustride: Int32; uorder: Int32; v1: double; v2: double; vstride: Int32; vorder: Int32; w1: double; w2: double; wstride: Int32; worder: Int32; points: ^double); - external 'opengl32.dll' name 'glDeformationMap3dSGIX'; - - static procedure DeformationMap3fSGIX(target: ErrorCode; u1: single; u2: single; ustride: Int32; uorder: Int32; v1: single; v2: single; vstride: Int32; vorder: Int32; w1: single; w2: single; wstride: Int32; worder: Int32; points: ^single); - external 'opengl32.dll' name 'glDeformationMap3fSGIX'; - - static procedure DeformSGIX(mask: UInt32); - external 'opengl32.dll' name 'glDeformSGIX'; - - static procedure LoadIdentityDeformationMapSGIX(mask: UInt32); - external 'opengl32.dll' name 'glLoadIdentityDeformationMapSGIX'; - - static procedure ReferencePlaneSGIX(equation: ^double); - external 'opengl32.dll' name 'glReferencePlaneSGIX'; - - static procedure SpriteParameterfSGIX(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glSpriteParameterfSGIX'; - - static procedure SpriteParameterfvSGIX(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glSpriteParameterfvSGIX'; - - static procedure SpriteParameteriSGIX(pname: ErrorCode; param: Int32); - external 'opengl32.dll' name 'glSpriteParameteriSGIX'; - - static procedure SpriteParameterivSGIX(pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glSpriteParameterivSGIX'; - - static procedure TagSampleBufferSGIX; - external 'opengl32.dll' name 'glTagSampleBufferSGIX'; - - {$endregion SGIX} - - end; - - //ToDo досортировать - - /// То, до чего у меня дойдут руки позже - /// Наверное, большинство функций тут - устаревшие - /// Потому что их нет в спецификации ядра OpenGL - /// И у них нет приставки расширения на конце (несколько больших букв, как EXT или NV) - /// А других групп функций - я ещё не встречал - gl_unsorted = static class - - {$region unsorted} - - static procedure MultiTexCoord1d(target: ErrorCode; s: double); - external 'opengl32.dll' name 'glMultiTexCoord1d'; - - static procedure MultiTexCoord1dv(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord1dv'; - - static procedure MultiTexCoord1f(target: ErrorCode; s: single); - external 'opengl32.dll' name 'glMultiTexCoord1f'; - - static procedure MultiTexCoord1fv(target: ErrorCode; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord1fv'; - - static procedure MultiTexCoord1i(target: ErrorCode; s: Int32); - external 'opengl32.dll' name 'glMultiTexCoord1i'; - - static procedure MultiTexCoord1iv(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord1iv'; - - static procedure MultiTexCoord1s(target: ErrorCode; s: Int16); - external 'opengl32.dll' name 'glMultiTexCoord1s'; - - static procedure MultiTexCoord1sv(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord1sv'; - - static procedure MultiTexCoord2d(target: ErrorCode; s: double; t: double); - external 'opengl32.dll' name 'glMultiTexCoord2d'; - - static procedure MultiTexCoord2dv(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord2dv'; - - static procedure MultiTexCoord2i(target: ErrorCode; s: Int32; t: Int32); - external 'opengl32.dll' name 'glMultiTexCoord2i'; - - static procedure MultiTexCoord2iv(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord2iv'; - - static procedure MultiTexCoord2s(target: ErrorCode; s: Int16; t: Int16); - external 'opengl32.dll' name 'glMultiTexCoord2s'; - - static procedure MultiTexCoord2sv(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord2sv'; - - static procedure MultiTexCoord3d(target: ErrorCode; s: double; t: double; r: double); - external 'opengl32.dll' name 'glMultiTexCoord3d'; - - static procedure MultiTexCoord3dv(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord3dv'; - - static procedure MultiTexCoord3f(target: ErrorCode; s: single; t: single; r: single); - external 'opengl32.dll' name 'glMultiTexCoord3f'; - - static procedure MultiTexCoord3fv(target: ErrorCode; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord3fv'; - - static procedure MultiTexCoord3i(target: ErrorCode; s: Int32; t: Int32; r: Int32); - external 'opengl32.dll' name 'glMultiTexCoord3i'; - - static procedure MultiTexCoord3iv(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord3iv'; - - static procedure MultiTexCoord3s(target: ErrorCode; s: Int16; t: Int16; r: Int16); - external 'opengl32.dll' name 'glMultiTexCoord3s'; - - static procedure MultiTexCoord3sv(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord3sv'; - - static procedure MultiTexCoord4d(target: ErrorCode; s: double; t: double; r: double; q: double); - external 'opengl32.dll' name 'glMultiTexCoord4d'; - - static procedure MultiTexCoord4dv(target: ErrorCode; v: ^double); - external 'opengl32.dll' name 'glMultiTexCoord4dv'; - - static procedure MultiTexCoord4f(target: ErrorCode; s: single; t: single; r: single; q: single); - external 'opengl32.dll' name 'glMultiTexCoord4f'; - - static procedure MultiTexCoord4fv(target: ErrorCode; v: ^single); - external 'opengl32.dll' name 'glMultiTexCoord4fv'; - - static procedure MultiTexCoord4i(target: ErrorCode; s: Int32; t: Int32; r: Int32; q: Int32); - external 'opengl32.dll' name 'glMultiTexCoord4i'; - - static procedure MultiTexCoord4iv(target: ErrorCode; v: ^Int32); - external 'opengl32.dll' name 'glMultiTexCoord4iv'; - - static procedure MultiTexCoord4s(target: ErrorCode; s: Int16; t: Int16; r: Int16; q: Int16); - external 'opengl32.dll' name 'glMultiTexCoord4s'; - - static procedure MultiTexCoord4sv(target: ErrorCode; v: ^Int16); - external 'opengl32.dll' name 'glMultiTexCoord4sv'; - - static procedure LoadTransposeMatrixf(m: ^single); - external 'opengl32.dll' name 'glLoadTransposeMatrixf'; - - static procedure LoadTransposeMatrixd(m: ^double); - external 'opengl32.dll' name 'glLoadTransposeMatrixd'; - - static procedure MultTransposeMatrixf(m: ^single); - external 'opengl32.dll' name 'glMultTransposeMatrixf'; - - static procedure MultTransposeMatrixd(m: ^double); - external 'opengl32.dll' name 'glMultTransposeMatrixd'; - - static procedure FogCoordf(coord: single); - external 'opengl32.dll' name 'glFogCoordf'; - - static procedure FogCoordfv(coord: ^single); - external 'opengl32.dll' name 'glFogCoordfv'; - - static procedure FogCoordd(coord: double); - external 'opengl32.dll' name 'glFogCoordd'; - - static procedure FogCoorddv(coord: ^double); - external 'opengl32.dll' name 'glFogCoorddv'; - - static procedure FogCoordPointer(&type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glFogCoordPointer'; - - static procedure SecondaryColor3b(red: SByte; green: SByte; blue: SByte); - external 'opengl32.dll' name 'glSecondaryColor3b'; - - static procedure SecondaryColor3bv(v: ^SByte); - external 'opengl32.dll' name 'glSecondaryColor3bv'; - - static procedure SecondaryColor3d(red: double; green: double; blue: double); - external 'opengl32.dll' name 'glSecondaryColor3d'; - - static procedure SecondaryColor3dv(v: ^double); - external 'opengl32.dll' name 'glSecondaryColor3dv'; - - static procedure SecondaryColor3f(red: single; green: single; blue: single); - external 'opengl32.dll' name 'glSecondaryColor3f'; - - static procedure SecondaryColor3fv(v: ^single); - external 'opengl32.dll' name 'glSecondaryColor3fv'; - - static procedure SecondaryColor3i(red: Int32; green: Int32; blue: Int32); - external 'opengl32.dll' name 'glSecondaryColor3i'; - - static procedure SecondaryColor3iv(v: ^Int32); - external 'opengl32.dll' name 'glSecondaryColor3iv'; - - static procedure SecondaryColor3s(red: Int16; green: Int16; blue: Int16); - external 'opengl32.dll' name 'glSecondaryColor3s'; - - static procedure SecondaryColor3sv(v: ^Int16); - external 'opengl32.dll' name 'glSecondaryColor3sv'; - - static procedure SecondaryColor3ub(red: Byte; green: Byte; blue: Byte); - external 'opengl32.dll' name 'glSecondaryColor3ub'; - - static procedure SecondaryColor3ubv(v: ^Byte); - external 'opengl32.dll' name 'glSecondaryColor3ubv'; - - static procedure SecondaryColor3ui(red: UInt32; green: UInt32; blue: UInt32); - external 'opengl32.dll' name 'glSecondaryColor3ui'; - - static procedure SecondaryColor3uiv(v: ^UInt32); - external 'opengl32.dll' name 'glSecondaryColor3uiv'; - - static procedure SecondaryColor3us(red: UInt16; green: UInt16; blue: UInt16); - external 'opengl32.dll' name 'glSecondaryColor3us'; - - static procedure SecondaryColor3usv(v: ^UInt16); - external 'opengl32.dll' name 'glSecondaryColor3usv'; - - static procedure SecondaryColorPointer(size: Int32; &type: ErrorCode; stride: Int32; _pointer: pointer); - external 'opengl32.dll' name 'glSecondaryColorPointer'; - - static procedure WindowPos2d(x: double; y: double); - external 'opengl32.dll' name 'glWindowPos2d'; - - static procedure WindowPos2dv(v: ^double); - external 'opengl32.dll' name 'glWindowPos2dv'; - - static procedure WindowPos2f(x: single; y: single); - external 'opengl32.dll' name 'glWindowPos2f'; - - static procedure WindowPos2fv(v: ^single); - external 'opengl32.dll' name 'glWindowPos2fv'; - - static procedure WindowPos2i(x: Int32; y: Int32); - external 'opengl32.dll' name 'glWindowPos2i'; - - static procedure WindowPos2iv(v: ^Int32); - external 'opengl32.dll' name 'glWindowPos2iv'; - - static procedure WindowPos2s(x: Int16; y: Int16); - external 'opengl32.dll' name 'glWindowPos2s'; - - static procedure WindowPos2sv(v: ^Int16); - external 'opengl32.dll' name 'glWindowPos2sv'; - - static procedure WindowPos3d(x: double; y: double; z: double); - external 'opengl32.dll' name 'glWindowPos3d'; - - static procedure WindowPos3dv(v: ^double); - external 'opengl32.dll' name 'glWindowPos3dv'; - - static procedure WindowPos3f(x: single; y: single; z: single); - external 'opengl32.dll' name 'glWindowPos3f'; - - static procedure WindowPos3fv(v: ^single); - external 'opengl32.dll' name 'glWindowPos3fv'; - - static procedure WindowPos3i(x: Int32; y: Int32; z: Int32); - external 'opengl32.dll' name 'glWindowPos3i'; - - static procedure WindowPos3iv(v: ^Int32); - external 'opengl32.dll' name 'glWindowPos3iv'; - - static procedure WindowPos3s(x: Int16; y: Int16; z: Int16); - external 'opengl32.dll' name 'glWindowPos3s'; - - static procedure WindowPos3sv(v: ^Int16); - external 'opengl32.dll' name 'glWindowPos3sv'; - - static function CreateProgram: UInt32; - external 'opengl32.dll' name 'glCreateProgram'; - - static procedure VertexP2ui(&type: ErrorCode; value: UInt32); - external 'opengl32.dll' name 'glVertexP2ui'; - - static procedure VertexP2uiv(&type: ErrorCode; value: ^UInt32); - external 'opengl32.dll' name 'glVertexP2uiv'; - - static procedure VertexP3ui(&type: ErrorCode; value: UInt32); - external 'opengl32.dll' name 'glVertexP3ui'; - - static procedure VertexP3uiv(&type: ErrorCode; value: ^UInt32); - external 'opengl32.dll' name 'glVertexP3uiv'; - - static procedure VertexP4ui(&type: ErrorCode; value: UInt32); - external 'opengl32.dll' name 'glVertexP4ui'; - - static procedure VertexP4uiv(&type: ErrorCode; value: ^UInt32); - external 'opengl32.dll' name 'glVertexP4uiv'; - - static procedure TexCoordP1ui(&type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glTexCoordP1ui'; - - static procedure TexCoordP1uiv(&type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glTexCoordP1uiv'; - - static procedure TexCoordP2ui(&type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glTexCoordP2ui'; - - static procedure TexCoordP2uiv(&type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glTexCoordP2uiv'; - - static procedure TexCoordP3ui(&type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glTexCoordP3ui'; - - static procedure TexCoordP3uiv(&type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glTexCoordP3uiv'; - - static procedure TexCoordP4ui(&type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glTexCoordP4ui'; - - static procedure TexCoordP4uiv(&type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glTexCoordP4uiv'; - - static procedure MultiTexCoordP1ui(texture: ErrorCode; &type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP1ui'; - - static procedure MultiTexCoordP1uiv(texture: ErrorCode; &type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP1uiv'; - - static procedure MultiTexCoordP2ui(texture: ErrorCode; &type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP2ui'; - - static procedure MultiTexCoordP2uiv(texture: ErrorCode; &type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP2uiv'; - - static procedure MultiTexCoordP3ui(texture: ErrorCode; &type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP3ui'; - - static procedure MultiTexCoordP3uiv(texture: ErrorCode; &type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP3uiv'; - - static procedure MultiTexCoordP4ui(texture: ErrorCode; &type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP4ui'; - - static procedure MultiTexCoordP4uiv(texture: ErrorCode; &type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glMultiTexCoordP4uiv'; - - static procedure NormalP3ui(&type: ErrorCode; coords: UInt32); - external 'opengl32.dll' name 'glNormalP3ui'; - - static procedure NormalP3uiv(&type: ErrorCode; coords: ^UInt32); - external 'opengl32.dll' name 'glNormalP3uiv'; - - static procedure ColorP3ui(&type: ErrorCode; color: UInt32); - external 'opengl32.dll' name 'glColorP3ui'; - - static procedure ColorP3uiv(&type: ErrorCode; color: ^UInt32); - external 'opengl32.dll' name 'glColorP3uiv'; - - static procedure ColorP4ui(&type: ErrorCode; color: UInt32); - external 'opengl32.dll' name 'glColorP4ui'; - - static procedure ColorP4uiv(&type: ErrorCode; color: ^UInt32); - external 'opengl32.dll' name 'glColorP4uiv'; - - static procedure SecondaryColorP3ui(&type: ErrorCode; color: UInt32); - external 'opengl32.dll' name 'glSecondaryColorP3ui'; - - static procedure SecondaryColorP3uiv(&type: ErrorCode; color: ^UInt32); - external 'opengl32.dll' name 'glSecondaryColorP3uiv'; - - static procedure GetnMapdv(target: ErrorCode; query: ErrorCode; bufSize: Int32; v: ^double); - external 'opengl32.dll' name 'glGetnMapdv'; - - static procedure GetnMapfv(target: ErrorCode; query: ErrorCode; bufSize: Int32; v: ^single); - external 'opengl32.dll' name 'glGetnMapfv'; - - static procedure GetnMapiv(target: ErrorCode; query: ErrorCode; bufSize: Int32; v: ^Int32); - external 'opengl32.dll' name 'glGetnMapiv'; - - static procedure GetnPixelMapfv(map: ErrorCode; bufSize: Int32; values: ^single); - external 'opengl32.dll' name 'glGetnPixelMapfv'; - - static procedure GetnPixelMapuiv(map: ErrorCode; bufSize: Int32; values: ^UInt32); - external 'opengl32.dll' name 'glGetnPixelMapuiv'; - - static procedure GetnPixelMapusv(map: ErrorCode; bufSize: Int32; values: ^UInt16); - external 'opengl32.dll' name 'glGetnPixelMapusv'; - - static procedure GetnPolygonStipple(bufSize: Int32; pattern: ^Byte); - external 'opengl32.dll' name 'glGetnPolygonStipple'; - - static procedure GetnColorTable(target: ErrorCode; format: ErrorCode; &type: ErrorCode; bufSize: Int32; table: pointer); - external 'opengl32.dll' name 'glGetnColorTable'; - - static procedure GetnConvolutionFilter(target: ErrorCode; format: ErrorCode; &type: ErrorCode; bufSize: Int32; image: pointer); - external 'opengl32.dll' name 'glGetnConvolutionFilter'; - - static procedure GetnSeparableFilter(target: ErrorCode; format: ErrorCode; &type: ErrorCode; rowBufSize: Int32; row: pointer; columnBufSize: Int32; column: pointer; span: pointer); - external 'opengl32.dll' name 'glGetnSeparableFilter'; - - static procedure GetnHistogram(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; bufSize: Int32; values: pointer); - external 'opengl32.dll' name 'glGetnHistogram'; - - static procedure GetnMinmax(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; bufSize: Int32; values: pointer); - external 'opengl32.dll' name 'glGetnMinmax'; - - static procedure ColorTable(target: ErrorCode; internalformat: ErrorCode; width: Int32; format: ErrorCode; &type: ErrorCode; table: pointer); - external 'opengl32.dll' name 'glColorTable'; - - static procedure ColorTableParameterfv(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glColorTableParameterfv'; - - static procedure ColorTableParameteriv(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glColorTableParameteriv'; - - static procedure CopyColorTable(target: ErrorCode; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyColorTable'; - - static procedure GetColorTable(target: ErrorCode; format: ErrorCode; &type: ErrorCode; table: pointer); - external 'opengl32.dll' name 'glGetColorTable'; - - static procedure GetColorTableParameterfv(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetColorTableParameterfv'; - - static procedure GetColorTableParameteriv(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetColorTableParameteriv'; - - static procedure ColorSubTable(target: ErrorCode; start: Int32; count: Int32; format: ErrorCode; &type: ErrorCode; data: pointer); - external 'opengl32.dll' name 'glColorSubTable'; - - static procedure CopyColorSubTable(target: ErrorCode; start: Int32; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyColorSubTable'; - - static procedure ConvolutionFilter1D(target: ErrorCode; internalformat: ErrorCode; width: Int32; format: ErrorCode; &type: ErrorCode; image: pointer); - external 'opengl32.dll' name 'glConvolutionFilter1D'; - - static procedure ConvolutionFilter2D(target: ErrorCode; internalformat: ErrorCode; width: Int32; height: Int32; format: ErrorCode; &type: ErrorCode; image: pointer); - external 'opengl32.dll' name 'glConvolutionFilter2D'; - - static procedure ConvolutionParameterf(target: ErrorCode; pname: ErrorCode; ¶ms: single); - external 'opengl32.dll' name 'glConvolutionParameterf'; - - static procedure ConvolutionParameterfv(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glConvolutionParameterfv'; - - static procedure ConvolutionParameteri(target: ErrorCode; pname: ErrorCode; ¶ms: Int32); - external 'opengl32.dll' name 'glConvolutionParameteri'; - - static procedure ConvolutionParameteriv(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glConvolutionParameteriv'; - - static procedure CopyConvolutionFilter1D(target: ErrorCode; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32); - external 'opengl32.dll' name 'glCopyConvolutionFilter1D'; - - static procedure CopyConvolutionFilter2D(target: ErrorCode; internalformat: ErrorCode; x: Int32; y: Int32; width: Int32; height: Int32); - external 'opengl32.dll' name 'glCopyConvolutionFilter2D'; - - static procedure GetConvolutionFilter(target: ErrorCode; format: ErrorCode; &type: ErrorCode; image: pointer); - external 'opengl32.dll' name 'glGetConvolutionFilter'; - - static procedure GetConvolutionParameterfv(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetConvolutionParameterfv'; - - static procedure GetConvolutionParameteriv(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetConvolutionParameteriv'; - - static procedure GetSeparableFilter(target: ErrorCode; format: ErrorCode; &type: ErrorCode; row: pointer; column: pointer; span: pointer); - external 'opengl32.dll' name 'glGetSeparableFilter'; - - static procedure SeparableFilter2D(target: ErrorCode; internalformat: ErrorCode; width: Int32; height: Int32; format: ErrorCode; &type: ErrorCode; row: pointer; column: pointer); - external 'opengl32.dll' name 'glSeparableFilter2D'; - - static procedure GetHistogram(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; values: pointer); - external 'opengl32.dll' name 'glGetHistogram'; - - static procedure GetHistogramParameterfv(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetHistogramParameterfv'; - - static procedure GetHistogramParameteriv(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetHistogramParameteriv'; - - static procedure GetMinmax(target: ErrorCode; reset: Byte; format: ErrorCode; &type: ErrorCode; values: pointer); - external 'opengl32.dll' name 'glGetMinmax'; - - static procedure GetMinmaxParameterfv(target: ErrorCode; pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glGetMinmaxParameterfv'; - - static procedure GetMinmaxParameteriv(target: ErrorCode; pname: ErrorCode; ¶ms: ^Int32); - external 'opengl32.dll' name 'glGetMinmaxParameteriv'; - - static procedure Histogram(target: ErrorCode; width: Int32; internalformat: ErrorCode; sink: Byte); - external 'opengl32.dll' name 'glHistogram'; - - static procedure Minmax(target: ErrorCode; internalformat: ErrorCode; sink: Byte); - external 'opengl32.dll' name 'glMinmax'; - - static procedure ResetHistogram(target: ErrorCode); - external 'opengl32.dll' name 'glResetHistogram'; - - static procedure ResetMinmax(target: ErrorCode); - external 'opengl32.dll' name 'glResetMinmax'; - - static procedure GetPixelMapxv(map: ErrorCode; size: Int32; values: ^fixed); - external 'opengl32.dll' name 'glGetPixelMapxv'; - - static procedure PixelMapx(map: ErrorCode; size: Int32; values: ^fixed); - external 'opengl32.dll' name 'glPixelMapx'; - - static procedure PixelStorex(pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glPixelStorex'; - - static procedure TbufferMask3DFX(mask: UInt32); - external 'opengl32.dll' name 'glTbufferMask3DFX'; - - static procedure AlphaFuncx(func: ErrorCode; ref: Int32); - external 'opengl32.dll' name 'glAlphaFuncx'; - - static procedure ClearColorx(red: Int32; green: Int32; blue: Int32; alpha: Int32); - external 'opengl32.dll' name 'glClearColorx'; - - static procedure ClearDepthx(depth: Int32); - external 'opengl32.dll' name 'glClearDepthx'; - - static procedure Color4x(red: fixed; green: fixed; blue: fixed; alpha: fixed); - external 'opengl32.dll' name 'glColor4x'; - - static procedure DepthRangex(zNear: Int32; zFar: Int32); - external 'opengl32.dll' name 'glDepthRangex'; - - static procedure Fogf(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glFogf'; - - static procedure Fogfv(pname: ErrorCode; ¶ms: ^single); - external 'opengl32.dll' name 'glFogfv'; - - static procedure Fogx(pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glFogx'; - - static procedure Fogxv(pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glFogxv'; - - static procedure Frustumx(left: fixed; right: fixed; bottom: fixed; top: fixed; zNear: fixed; zFar: fixed); - external 'opengl32.dll' name 'glFrustumx'; - - static procedure LightModelf(pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glLightModelf'; - - static procedure LightModelx(pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glLightModelx'; - - static procedure LightModelxv(pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glLightModelxv'; - - static procedure Lightf(light: ErrorCode; pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glLightf'; - - static procedure Lightx(light: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glLightx'; - - static procedure Lightxv(light: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glLightxv'; - - static procedure LineWidthx(width: fixed); - external 'opengl32.dll' name 'glLineWidthx'; - - static procedure LoadMatrixx(m: ^fixed); - external 'opengl32.dll' name 'glLoadMatrixx'; - - static procedure Materialx(face: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glMaterialx'; - - static procedure Materialxv(face: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glMaterialxv'; - - static procedure MultMatrixx(m: ^fixed); - external 'opengl32.dll' name 'glMultMatrixx'; - - static procedure MultiTexCoord4x(target: ErrorCode; s: fixed; t: fixed; r: fixed; q: fixed); - external 'opengl32.dll' name 'glMultiTexCoord4x'; - - static procedure Normal3x(nx: fixed; ny: fixed; nz: fixed); - external 'opengl32.dll' name 'glNormal3x'; - - static procedure Orthox(left: fixed; right: fixed; bottom: fixed; top: fixed; zNear: fixed; zFar: fixed); - external 'opengl32.dll' name 'glOrthox'; - - static procedure PointSizex(size: fixed); - external 'opengl32.dll' name 'glPointSizex'; - - static procedure PolygonOffsetx(factor: fixed; units: fixed); - external 'opengl32.dll' name 'glPolygonOffsetx'; - - static procedure Rotatex(angle: fixed; x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glRotatex'; - - static procedure SampleCoveragex(value: Int32; invert: Byte); - external 'opengl32.dll' name 'glSampleCoveragex'; - - static procedure Scalex(x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glScalex'; - - static procedure TexEnvf(target: ErrorCode; pname: ErrorCode; param: single); - external 'opengl32.dll' name 'glTexEnvf'; - - static procedure TexEnvx(target: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glTexEnvx'; - - static procedure TexEnvxv(target: ErrorCode; pname: ErrorCode; ¶ms: ^fixed); - external 'opengl32.dll' name 'glTexEnvxv'; - - static procedure TexParameterx(target: ErrorCode; pname: ErrorCode; param: fixed); - external 'opengl32.dll' name 'glTexParameterx'; - - static procedure Translatex(x: fixed; y: fixed; z: fixed); - external 'opengl32.dll' name 'glTranslatex'; - - {$endregion unsorted} + {$region InitControl} + + ///Создаёт и настраивает поверхность рисования GDI элемента управления WF + ///hwnd - дескриптор элемента управления + public static function InitControl(hwnd: IntPtr): GDI_DC; + begin + Result := gl_gdi.GetControlDC(hwnd); + + var pfd: GDI_PixelFormatDescriptor; + pfd.nVersion := 1; + + pfd.dwFlags := + GDI_PixelFormatFlags.DRAW_TO_WINDOW or + GDI_PixelFormatFlags.SUPPORT_OPENGL or + GDI_PixelFormatFlags.DOUBLEBUFFER + ; + pfd.cColorBits := 24; + pfd.cDepthBits := 16; + + if 1 <> gdi.SetPixelFormat( + Result, + gdi.ChoosePixelFormat(Result, pfd), + pfd + ) then raise new InvalidOperationException; + + end; + + ///Создаёт и настраивает поверхность рисования GDI элемента управления WF + public static function InitControl(c: System.Windows.Forms.Control) := InitControl(c.Handle); + + {$endregion InitControl} + + {$region SetupControlRedrawing} + + ///Добавляет в эвент Form.Load формы (f) обработчик, который: + ///1. Создаёт контекст OpenGL на поверхности рисования GDI (hdc) + ///2. Запускает перерисовку (RedrawThreadProc) + public static procedure SetupControlRedrawing(f: System.Windows.Forms.Form; hdc: GDI_DC; RedrawThreadProc: procedure(EndFrame: ()->()); vsync_fps: integer := 65); + begin + + f.Load += (o,e)-> + System.Threading.Thread.Create(()-> + begin + + var context := wgl.z_CreateContext(hdc); + if 1 <> wgl.z_MakeCurrent(hdc, context) then raise new InvalidOperationException('Не удалось применить контекст'); + + var EndFrame: ()->(); + if vsync_fps<=0 then + EndFrame := ()->gdi.SwapBuffers(hdc) else + begin + var LastRedr := DateTime.UtcNow; + var FrameDuration := new TimeSpan(Trunc(TimeSpan.TicksPerSecond/vsync_fps)); + var MaxSlowDown := FrameDuration.Ticks*3; + + EndFrame := ()-> + begin + gdi.SwapBuffers(hdc); + + LastRedr := LastRedr+FrameDuration; + var time_left := LastRedr-DateTime.UtcNow; + + if time_left.Ticks>0 then + System.Threading.Thread.Sleep(time_left) else + if -time_left.Ticks > MaxSlowDown then + LastRedr := LastRedr.AddTicks(-time_left.Ticks - MaxSlowDown); + + end; + + end; + + RedrawThreadProc(EndFrame); + end).Start(); + + end; + + {$endregion SetupControlRedrawing} end; +implementation + +{$region MtrMlt} + +function operator*(m1: Mtr2x2f; m2: Mtr2x2f): Mtr2x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; +end; + +function operator*(m1: Mtr2x2f; m2: Mtr2x3f): Mtr2x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; +end; + +function operator*(m1: Mtr2x2f; m2: Mtr2x4f): Mtr2x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; +end; + +function operator*(m1: Mtr2x2f; m2: Mtr2x2d): Mtr2x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; +end; + +function operator*(m1: Mtr2x2f; m2: Mtr2x3d): Mtr2x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; +end; + +function operator*(m1: Mtr2x2f; m2: Mtr2x4d): Mtr2x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; +end; + +function operator*(m1: Mtr3x3f; m2: Mtr3x3f): Mtr3x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; +end; + +function operator*(m1: Mtr3x3f; m2: Mtr3x2f): Mtr3x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; +end; + +function operator*(m1: Mtr3x3f; m2: Mtr3x4f): Mtr3x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; +end; + +function operator*(m1: Mtr3x3f; m2: Mtr3x3d): Mtr3x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; +end; + +function operator*(m1: Mtr3x3f; m2: Mtr3x2d): Mtr3x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; +end; + +function operator*(m1: Mtr3x3f; m2: Mtr3x4d): Mtr3x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; +end; + +function operator*(m1: Mtr4x4f; m2: Mtr4x4f): Mtr4x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; +end; + +function operator*(m1: Mtr4x4f; m2: Mtr4x2f): Mtr4x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; +end; + +function operator*(m1: Mtr4x4f; m2: Mtr4x3f): Mtr4x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; +end; + +function operator*(m1: Mtr4x4f; m2: Mtr4x4d): Mtr4x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; +end; + +function operator*(m1: Mtr4x4f; m2: Mtr4x2d): Mtr4x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; +end; + +function operator*(m1: Mtr4x4f; m2: Mtr4x3d): Mtr4x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; +end; + +function operator*(m1: Mtr2x3f; m2: Mtr3x3f): Mtr2x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; +end; + +function operator*(m1: Mtr2x3f; m2: Mtr3x2f): Mtr2x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; +end; + +function operator*(m1: Mtr2x3f; m2: Mtr3x4f): Mtr2x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; +end; + +function operator*(m1: Mtr2x3f; m2: Mtr3x3d): Mtr2x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; +end; + +function operator*(m1: Mtr2x3f; m2: Mtr3x2d): Mtr2x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; +end; + +function operator*(m1: Mtr2x3f; m2: Mtr3x4d): Mtr2x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; +end; + +function operator*(m1: Mtr3x2f; m2: Mtr2x2f): Mtr3x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; +end; + +function operator*(m1: Mtr3x2f; m2: Mtr2x3f): Mtr3x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; +end; + +function operator*(m1: Mtr3x2f; m2: Mtr2x4f): Mtr3x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; +end; + +function operator*(m1: Mtr3x2f; m2: Mtr2x2d): Mtr3x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; +end; + +function operator*(m1: Mtr3x2f; m2: Mtr2x3d): Mtr3x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; +end; + +function operator*(m1: Mtr3x2f; m2: Mtr2x4d): Mtr3x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; +end; + +function operator*(m1: Mtr2x4f; m2: Mtr4x4f): Mtr2x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; +end; + +function operator*(m1: Mtr2x4f; m2: Mtr4x2f): Mtr2x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; +end; + +function operator*(m1: Mtr2x4f; m2: Mtr4x3f): Mtr2x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; +end; + +function operator*(m1: Mtr2x4f; m2: Mtr4x4d): Mtr2x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; +end; + +function operator*(m1: Mtr2x4f; m2: Mtr4x2d): Mtr2x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; +end; + +function operator*(m1: Mtr2x4f; m2: Mtr4x3d): Mtr2x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; +end; + +function operator*(m1: Mtr4x2f; m2: Mtr2x2f): Mtr4x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; +end; + +function operator*(m1: Mtr4x2f; m2: Mtr2x3f): Mtr4x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; +end; + +function operator*(m1: Mtr4x2f; m2: Mtr2x4f): Mtr4x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; +end; + +function operator*(m1: Mtr4x2f; m2: Mtr2x2d): Mtr4x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; +end; + +function operator*(m1: Mtr4x2f; m2: Mtr2x3d): Mtr4x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; +end; + +function operator*(m1: Mtr4x2f; m2: Mtr2x4d): Mtr4x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; +end; + +function operator*(m1: Mtr3x4f; m2: Mtr4x4f): Mtr3x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; +end; + +function operator*(m1: Mtr3x4f; m2: Mtr4x2f): Mtr3x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; +end; + +function operator*(m1: Mtr3x4f; m2: Mtr4x3f): Mtr3x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; +end; + +function operator*(m1: Mtr3x4f; m2: Mtr4x4d): Mtr3x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; +end; + +function operator*(m1: Mtr3x4f; m2: Mtr4x2d): Mtr3x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; +end; + +function operator*(m1: Mtr3x4f; m2: Mtr4x3d): Mtr3x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; +end; + +function operator*(m1: Mtr4x3f; m2: Mtr3x3f): Mtr4x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; +end; + +function operator*(m1: Mtr4x3f; m2: Mtr3x2f): Mtr4x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; +end; + +function operator*(m1: Mtr4x3f; m2: Mtr3x4f): Mtr4x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; +end; + +function operator*(m1: Mtr4x3f; m2: Mtr3x3d): Mtr4x3f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; +end; + +function operator*(m1: Mtr4x3f; m2: Mtr3x2d): Mtr4x2f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; +end; + +function operator*(m1: Mtr4x3f; m2: Mtr3x4d): Mtr4x4f; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; +end; + +function operator*(m1: Mtr2x2d; m2: Mtr2x2f): Mtr2x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; +end; + +function operator*(m1: Mtr2x2d; m2: Mtr2x3f): Mtr2x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; +end; + +function operator*(m1: Mtr2x2d; m2: Mtr2x4f): Mtr2x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; +end; + +function operator*(m1: Mtr2x2d; m2: Mtr2x2d): Mtr2x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; +end; + +function operator*(m1: Mtr2x2d; m2: Mtr2x3d): Mtr2x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; +end; + +function operator*(m1: Mtr2x2d; m2: Mtr2x4d): Mtr2x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; +end; + +function operator*(m1: Mtr3x3d; m2: Mtr3x3f): Mtr3x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; +end; + +function operator*(m1: Mtr3x3d; m2: Mtr3x2f): Mtr3x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; +end; + +function operator*(m1: Mtr3x3d; m2: Mtr3x4f): Mtr3x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; +end; + +function operator*(m1: Mtr3x3d; m2: Mtr3x3d): Mtr3x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; +end; + +function operator*(m1: Mtr3x3d; m2: Mtr3x2d): Mtr3x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; +end; + +function operator*(m1: Mtr3x3d; m2: Mtr3x4d): Mtr3x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; +end; + +function operator*(m1: Mtr4x4d; m2: Mtr4x4f): Mtr4x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; +end; + +function operator*(m1: Mtr4x4d; m2: Mtr4x2f): Mtr4x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; +end; + +function operator*(m1: Mtr4x4d; m2: Mtr4x3f): Mtr4x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; +end; + +function operator*(m1: Mtr4x4d; m2: Mtr4x4d): Mtr4x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23 + m1.val33*m2.val33; +end; + +function operator*(m1: Mtr4x4d; m2: Mtr4x2d): Mtr4x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; +end; + +function operator*(m1: Mtr4x4d; m2: Mtr4x3d): Mtr4x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20 + m1.val33*m2.val30; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21 + m1.val33*m2.val31; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22 + m1.val33*m2.val32; +end; + +function operator*(m1: Mtr2x3d; m2: Mtr3x3f): Mtr2x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; +end; + +function operator*(m1: Mtr2x3d; m2: Mtr3x2f): Mtr2x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; +end; + +function operator*(m1: Mtr2x3d; m2: Mtr3x4f): Mtr2x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; +end; + +function operator*(m1: Mtr2x3d; m2: Mtr3x3d): Mtr2x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; +end; + +function operator*(m1: Mtr2x3d; m2: Mtr3x2d): Mtr2x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; +end; + +function operator*(m1: Mtr2x3d; m2: Mtr3x4d): Mtr2x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; +end; + +function operator*(m1: Mtr3x2d; m2: Mtr2x2f): Mtr3x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; +end; + +function operator*(m1: Mtr3x2d; m2: Mtr2x3f): Mtr3x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; +end; + +function operator*(m1: Mtr3x2d; m2: Mtr2x4f): Mtr3x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; +end; + +function operator*(m1: Mtr3x2d; m2: Mtr2x2d): Mtr3x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; +end; + +function operator*(m1: Mtr3x2d; m2: Mtr2x3d): Mtr3x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; +end; + +function operator*(m1: Mtr3x2d; m2: Mtr2x4d): Mtr3x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; +end; + +function operator*(m1: Mtr2x4d; m2: Mtr4x4f): Mtr2x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; +end; + +function operator*(m1: Mtr2x4d; m2: Mtr4x2f): Mtr2x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; +end; + +function operator*(m1: Mtr2x4d; m2: Mtr4x3f): Mtr2x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; +end; + +function operator*(m1: Mtr2x4d; m2: Mtr4x4d): Mtr2x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; +end; + +function operator*(m1: Mtr2x4d; m2: Mtr4x2d): Mtr2x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; +end; + +function operator*(m1: Mtr2x4d; m2: Mtr4x3d): Mtr2x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; +end; + +function operator*(m1: Mtr4x2d; m2: Mtr2x2f): Mtr4x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; +end; + +function operator*(m1: Mtr4x2d; m2: Mtr2x3f): Mtr4x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; +end; + +function operator*(m1: Mtr4x2d; m2: Mtr2x4f): Mtr4x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; +end; + +function operator*(m1: Mtr4x2d; m2: Mtr2x2d): Mtr4x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; +end; + +function operator*(m1: Mtr4x2d; m2: Mtr2x3d): Mtr4x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; +end; + +function operator*(m1: Mtr4x2d; m2: Mtr2x4d): Mtr4x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13; +end; + +function operator*(m1: Mtr3x4d; m2: Mtr4x4f): Mtr3x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; +end; + +function operator*(m1: Mtr3x4d; m2: Mtr4x2f): Mtr3x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; +end; + +function operator*(m1: Mtr3x4d; m2: Mtr4x3f): Mtr3x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; +end; + +function operator*(m1: Mtr3x4d; m2: Mtr4x4d): Mtr3x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23 + m1.val03*m2.val33; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23 + m1.val13*m2.val33; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23 + m1.val23*m2.val33; +end; + +function operator*(m1: Mtr3x4d; m2: Mtr4x2d): Mtr3x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; +end; + +function operator*(m1: Mtr3x4d; m2: Mtr4x3d): Mtr3x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20 + m1.val03*m2.val30; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21 + m1.val03*m2.val31; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22 + m1.val03*m2.val32; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20 + m1.val13*m2.val30; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21 + m1.val13*m2.val31; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22 + m1.val13*m2.val32; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20 + m1.val23*m2.val30; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21 + m1.val23*m2.val31; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22 + m1.val23*m2.val32; +end; + +function operator*(m1: Mtr4x3d; m2: Mtr3x3f): Mtr4x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; +end; + +function operator*(m1: Mtr4x3d; m2: Mtr3x2f): Mtr4x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; +end; + +function operator*(m1: Mtr4x3d; m2: Mtr3x4f): Mtr4x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; +end; + +function operator*(m1: Mtr4x3d; m2: Mtr3x3d): Mtr4x3d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; +end; + +function operator*(m1: Mtr4x3d; m2: Mtr3x2d): Mtr4x2d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; +end; + +function operator*(m1: Mtr4x3d; m2: Mtr3x4d): Mtr4x4d; extensionmethod; +begin + Result.val00 := m1.val00*m2.val00 + m1.val01*m2.val10 + m1.val02*m2.val20; + Result.val01 := m1.val00*m2.val01 + m1.val01*m2.val11 + m1.val02*m2.val21; + Result.val02 := m1.val00*m2.val02 + m1.val01*m2.val12 + m1.val02*m2.val22; + Result.val03 := m1.val00*m2.val03 + m1.val01*m2.val13 + m1.val02*m2.val23; + Result.val10 := m1.val10*m2.val00 + m1.val11*m2.val10 + m1.val12*m2.val20; + Result.val11 := m1.val10*m2.val01 + m1.val11*m2.val11 + m1.val12*m2.val21; + Result.val12 := m1.val10*m2.val02 + m1.val11*m2.val12 + m1.val12*m2.val22; + Result.val13 := m1.val10*m2.val03 + m1.val11*m2.val13 + m1.val12*m2.val23; + Result.val20 := m1.val20*m2.val00 + m1.val21*m2.val10 + m1.val22*m2.val20; + Result.val21 := m1.val20*m2.val01 + m1.val21*m2.val11 + m1.val22*m2.val21; + Result.val22 := m1.val20*m2.val02 + m1.val21*m2.val12 + m1.val22*m2.val22; + Result.val23 := m1.val20*m2.val03 + m1.val21*m2.val13 + m1.val22*m2.val23; + Result.val30 := m1.val30*m2.val00 + m1.val31*m2.val10 + m1.val32*m2.val20; + Result.val31 := m1.val30*m2.val01 + m1.val31*m2.val11 + m1.val32*m2.val21; + Result.val32 := m1.val30*m2.val02 + m1.val31*m2.val12 + m1.val32*m2.val22; + Result.val33 := m1.val30*m2.val03 + m1.val31*m2.val13 + m1.val32*m2.val23; +end; + +{$endregion MtrMlt} + +{$region MtrTranspose} + +function Transpose(self: Mtr2x2f); extensionmethod := +new Mtr2x2f(self.val00, self.val10, self.val01, self.val11); + +function Transpose(self: Mtr3x3f); extensionmethod := +new Mtr3x3f(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22); + +function Transpose(self: Mtr4x4f); extensionmethod := +new Mtr4x4f(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32, self.val03, self.val13, self.val23, self.val33); + +function Transpose(self: Mtr2x3f); extensionmethod := +new Mtr3x2f(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12); +function Transpose(self: Mtr3x2f); extensionmethod := +new Mtr2x3f(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21); + +function Transpose(self: Mtr2x4f); extensionmethod := +new Mtr4x2f(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12, self.val03, self.val13); +function Transpose(self: Mtr4x2f); extensionmethod := +new Mtr2x4f(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31); + +function Transpose(self: Mtr3x4f); extensionmethod := +new Mtr4x3f(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22, self.val03, self.val13, self.val23); +function Transpose(self: Mtr4x3f); extensionmethod := +new Mtr3x4f(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32); + +function Transpose(self: Mtr2x2d); extensionmethod := +new Mtr2x2d(self.val00, self.val10, self.val01, self.val11); + +function Transpose(self: Mtr3x3d); extensionmethod := +new Mtr3x3d(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22); + +function Transpose(self: Mtr4x4d); extensionmethod := +new Mtr4x4d(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32, self.val03, self.val13, self.val23, self.val33); + +function Transpose(self: Mtr2x3d); extensionmethod := +new Mtr3x2d(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12); +function Transpose(self: Mtr3x2d); extensionmethod := +new Mtr2x3d(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21); + +function Transpose(self: Mtr2x4d); extensionmethod := +new Mtr4x2d(self.val00, self.val10, self.val01, self.val11, self.val02, self.val12, self.val03, self.val13); +function Transpose(self: Mtr4x2d); extensionmethod := +new Mtr2x4d(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31); + +function Transpose(self: Mtr3x4d); extensionmethod := +new Mtr4x3d(self.val00, self.val10, self.val20, self.val01, self.val11, self.val21, self.val02, self.val12, self.val22, self.val03, self.val13, self.val23); +function Transpose(self: Mtr4x3d); extensionmethod := +new Mtr3x4d(self.val00, self.val10, self.val20, self.val30, self.val01, self.val11, self.val21, self.val31, self.val02, self.val12, self.val22, self.val32); + +{$endregion MtrTranspose} + end. \ No newline at end of file diff --git a/bin/Lib/OpenGLABC.pas b/bin/Lib/OpenGLABC.pas index 6beff10b9..7459f44cc 100644 --- a/bin/Lib/OpenGLABC.pas +++ b/bin/Lib/OpenGLABC.pas @@ -1,4 +1,8 @@ -unit OpenGLABC; + +/// +///Модуль, зарезервированный для высокоуровневой оболочки модуля OpenGL +/// +unit OpenGLABC; interface From 85c78f737085eacdcf3974b2f9bf1a36bcd67e2c Mon Sep 17 00:00:00 2001 From: SunSerega Date: Mon, 9 Sep 2019 21:10:04 +0300 Subject: [PATCH 2/3] fixed modules --- bin/Lib/OpenCL.pas | 32 -------------------------------- bin/Lib/OpenCLABC.pas | 4 ---- bin/Lib/OpenGL.pas | 37 ------------------------------------- 3 files changed, 73 deletions(-) diff --git a/bin/Lib/OpenCL.pas b/bin/Lib/OpenCL.pas index bfd9934df..2e11e55c8 100644 --- a/bin/Lib/OpenCL.pas +++ b/bin/Lib/OpenCL.pas @@ -15,46 +15,14 @@ ///Код переведён отсюда: /// https://github.com/KhronosGroup/OpenCL-Headers/tree/master/CL /// -<<<<<<< HEAD ///Спецификации всех версий: /// https://www.khronos.org/registry/OpenCL/ /// ///Если не хватает функции, перечисления, или найдена ошибка - писать сюда: -======= -/// Спецификация: -/// www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_API.html -/// -/// Для замечаний: ->>>>>>> f5c2705c7d82a5914ebcf3b975f6ba0983ea4584 /// https://github.com/SunSerega/POCGL/issues /// unit OpenCL; -<<<<<<< HEAD -======= -//ToDo ^T -> pointer - -//ToDo расширения, с которыми непонятно что делать: -// -// - cl_ext.h -// -- cl_qcom_ext_host_ptr -// -- cl_qcom_ext_host_ptr_iocoherent -// -- cl_qcom_ion_host_ptr -// -- cl_qcom_android_native_buffer_host_ptr -// -- cl_img_yuv_image -// -// - cl_d3d11.h -// -- нет функций, есть только Enums и коды ошибок -// -// - cl_platform.h -// -- есть только описание типов и констант, которые нигде не используются - -//ToDo .h файлы, которые осталось перевести: -// - cl_ext_intel -// - cl_va_api_media_sharing_intel -// - cl_dx9_media_sharing_intel - ->>>>>>> f5c2705c7d82a5914ebcf3b975f6ba0983ea4584 uses System; uses System.Runtime.InteropServices; diff --git a/bin/Lib/OpenCLABC.pas b/bin/Lib/OpenCLABC.pas index 1ab22c224..062f8806c 100644 --- a/bin/Lib/OpenCLABC.pas +++ b/bin/Lib/OpenCLABC.pas @@ -16,11 +16,7 @@ /// OpenCL и OpenCLABC можно использовать одновременно /// Но контактировать они практически не будут /// -<<<<<<< HEAD ///Если не хватает типа/метода или найдена ошибка - писать сюда: -======= -/// Для замечаний: ->>>>>>> f5c2705c7d82a5914ebcf3b975f6ba0983ea4584 /// https://github.com/SunSerega/POCGL/issues /// ///Справка данного модуля находится в начале его исходника diff --git a/bin/Lib/OpenGL.pas b/bin/Lib/OpenGL.pas index 7dad0a7e5..7e7220426 100644 --- a/bin/Lib/OpenGL.pas +++ b/bin/Lib/OpenGL.pas @@ -6,12 +6,8 @@ // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ // Copyright (©) Сергей Латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega ) -<<<<<<< HEAD // Этот код распространяется с лицензией Unlicense // Подробнее в файле LICENSE или тут: -======= -// Код распространяется под Unlicense: ->>>>>>> f5c2705c7d82a5914ebcf3b975f6ba0983ea4584 // https://github.com/SunSerega/POCGL/blob/master/LICENSE //*****************************************************************************************************\\ @@ -20,39 +16,15 @@ /// https://github.com/KhronosGroup/OpenGL-Registry /// (Основная часть не_расширений - \api\GL\ ) /// -<<<<<<< HEAD ///Спецификации всех версий OpenGL: /// https://www.khronos.org/registry/OpenGL/specs/gl/ /// ///Если не хватает функции, перечисления, или найдена ошибка - писать сюда: -======= -/// Спецификация: -/// https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf -/// -/// Для замечаний: ->>>>>>> f5c2705c7d82a5914ebcf3b975f6ba0983ea4584 /// https://github.com/SunSerega/POCGL/issues /// unit OpenGL; -<<<<<<< HEAD interface -======= -// Матрицы в шейдерах передаются массивом столбцов и хранятся по столбцам - -//ToDo *Name -ам сделать отдельные типы - -//ToDo проверить получение указателя на строкку матрицы - -//ToDo проверить передачу external функции вместо лямбды - -//ToDo автоматический тестировщик - -//ToDo .ToString для всех возвращаемых перечислимых типов - -//ToDo issue компилятора: -// - #2029 ->>>>>>> f5c2705c7d82a5914ebcf3b975f6ba0983ea4584 uses System; uses System.Runtime.InteropServices; @@ -122,7 +94,6 @@ uses System.Runtime.CompilerServices; GLXVideoDeviceNV = UInt32; GLXFuncPtr = IntPtr; -<<<<<<< HEAD PDisplay = IntPtr; PXVisualInfo = IntPtr; @@ -142,14 +113,6 @@ uses System.Runtime.CompilerServices; -======= - // типы для совместимости с OpenCL - ///-- - cl_context = IntPtr; - ///-- - cl_event = IntPtr; - ->>>>>>> f5c2705c7d82a5914ebcf3b975f6ba0983ea4584 OpenGLException = class(Exception) constructor(text: string) := From 578267df34790fdd56b98c8e7b0d41f6acfe1008 Mon Sep 17 00:00:00 2001 From: SunSerega Date: Mon, 9 Sep 2019 21:16:00 +0300 Subject: [PATCH 3/3] changed encoding of 1 file --- .../OpenCL/OpenCLABC/Из справки/Readme.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt b/InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt index 743870af6..9831a72da 100644 --- a/InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt +++ b/InstallerSamples/OpenCL/OpenCLABC/Из справки/Readme.txt @@ -1,5 +1,5 @@ -Ñïðàâêà íàõîäèòñÿ â íà÷àëå èñõîäíèêà OpenCLABC +Справка находится в начале исходника OpenCLABC -Èñõîäíèê ìîæíî îòêðûòü, çàæàâ Ctrl â IDE è êëèêíóë íà ëþáîå èìÿ èç OpenCLABC (â òîì ÷èñëå èìÿ ìîäóëÿ â uses) +Исходник можно открыть, зажав Ctrl в IDE и кликнул на любое имя из OpenCLABC (в том числе имя модуля в uses) -(êñòàòè, ýòî ðàáîòàåò ñî âñåìè ìîäóëÿìè) +(кстати, это работает со всеми модулями)