diff --git a/.gitmodules b/.gitmodules
index 3b16b5edff..16f6d2f163 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,11 +1,11 @@
[submodule "submodules/terrafx.interop.windows"]
path = eng/submodules/terrafx.interop.windows
url = https://github.com/terrafx/terrafx.interop.windows
-[submodule "eng/submodules/opengl"]
- path = eng/submodules/opengl
+[submodule "eng/submodules/opengl-registry"]
+ path = eng/submodules/opengl-registry
url = https://github.com/KhronosGroup/OpenGL-Registry.git
-[submodule "eng/submodules/egl"]
- path = eng/submodules/egl
+[submodule "eng/submodules/egl-registry"]
+ path = eng/submodules/egl-registry
url = https://github.com/KhronosGroup/EGL-Registry/
[submodule "eng/submodules/sdl"]
path = eng/submodules/sdl
@@ -16,9 +16,45 @@
[submodule "eng/submodules/openal-soft"]
path = eng/submodules/openal-soft
url = https://github.com/kcat/openal-soft
-[submodule "eng/submodules/vulkan"]
- path = eng/submodules/vulkan
+[submodule "eng/submodules/vulkan-docs"]
+ path = eng/submodules/vulkan-docs
url = https://github.com/KhronosGroup/Vulkan-Docs.git
[submodule "eng/submodules/vulkan-headers"]
path = eng/submodules/vulkan-headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git
+[submodule "eng/submodules/assimp"]
+ path = eng/submodules/assimp
+ url = https://github.com/assimp/assimp
+[submodule "eng/submodules/spirv-tools"]
+ path = eng/submodules/spirv-tools
+ url = https://github.com/KhronosGroup/SPIRV-Tools
+[submodule "eng/submodules/spirv-reflect"]
+ path = eng/submodules/spirv-reflect
+ url = https://github.com/KhronosGroup/SPIRV-Reflect.git
+[submodule "eng/submodules/spirv-headers"]
+ path = eng/submodules/spirv-headers
+ url = https://github.com/KhronosGroup/SPIRV-Headers
+[submodule "eng/submodules/spirv-cross"]
+ path = eng/submodules/spirv-cross
+ url = https://github.com/KhronosGroup/SPIRV-Cross
+[submodule "eng/submodules/shaderc"]
+ path = eng/submodules/shaderc
+ url = https://github.com/google/shaderc
+[submodule "eng/submodules/moltenvk"]
+ path = eng/submodules/moltenvk
+ url = https://github.com/KhronosGroup/MoltenVK
+[submodule "eng/submodules/vulkan-memory-allocator"]
+ path = eng/submodules/vulkan-memory-allocator
+ url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
+[submodule "eng/submodules/glslang"]
+ path = eng/submodules/glslang
+ url = https://github.com/KhronosGroup/glslang.git
+[submodule "eng/submodules/openxr-sdk"]
+ path = eng/submodules/openxr-sdk
+ url = https://github.com/KhronosGroup/OpenXR-SDK.git
+[submodule "eng/submodules/opencl-docs"]
+ path = eng/submodules/opencl-docs
+ url = https://github.com/KhronosGroup/OpenCL-Docs.git
+[submodule "eng/submodules/opencl-headers"]
+ path = eng/submodules/opencl-headers
+ url = https://github.com/KhronosGroup/OpenCL-Headers.git
diff --git a/.silktouch/opencl-clangsharp.stout b/.silktouch/opencl-clangsharp.stout
new file mode 100644
index 0000000000..c3cee4b0a4
Binary files /dev/null and b/.silktouch/opencl-clangsharp.stout differ
diff --git a/.silktouch/openxr-clangsharp.stout b/.silktouch/openxr-clangsharp.stout
new file mode 100644
index 0000000000..252ca036b2
Binary files /dev/null and b/.silktouch/openxr-clangsharp.stout differ
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 73853120e8..6a64c60210 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -21,7 +21,7 @@
-
+
diff --git a/Silk.NET.slnx b/Silk.NET.slnx
index 3212772f0c..8ee5d577a6 100644
--- a/Silk.NET.slnx
+++ b/Silk.NET.slnx
@@ -17,6 +17,9 @@
+
+
+
@@ -54,9 +57,15 @@
+
+
+
+
+
+
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 5ff74b19d5..75b7998a2d 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -12,6 +12,8 @@ Silk.NET 3.0 Preview 1
- Added combined OpenGL bindings using the 3.0 bindings style.
- Added OpenAL bindings using the 3.0 bindings style.
+- Added OpenCL bindings using the 3.0 bindings style.
+- Added OpenXR bindings using the 3.0 bindings style.
- Added SDL3 bindings using the 3.0 bindings style.
- Added Vulkan bindings using the 3.0 bindings style.
- Improved the bindings style to be more accessible, IDE-friendly, and AOT-friendly. Learn more at **TODO ADD A LINK TO DOCUMENTATION HERE**.
diff --git a/docs/for-contributors/Generator/api-specific-notes.md b/docs/for-contributors/Generator/api-specific-notes.md
index 3d3c4175a4..921d8e8281 100644
--- a/docs/for-contributors/Generator/api-specific-notes.md
+++ b/docs/for-contributors/Generator/api-specific-notes.md
@@ -1,23 +1,73 @@
# API-Specific Notes
This document's purpose is to note down any decisions or quirks that are specific to a library that Silk is generating
-bindings for.
+bindings for. It is fine for a section to be empty if we do not have any notes specific to that library.
This is meant to be a living document. Please update this as new work is being done on the generator.
-## OpenAL
+Certain APIs are grouped together because they share similar characteristics.
-Currently empty.
+## C Bindings
+
+These are APIs that can be categorized as being straightforward C APIs or are C APIs that simply do not share
+characteristics with other bindings.
-## OpenGL
+### SDL
Currently empty.
-## SDL
+## Khronos Bindings
-Currently empty.
+These are APIs managed either by Khronos or APIs managed in a similar way to the official Khronos APIs.
+These use the `MixKhronosData` mod and come with an XML spec.
+
+Be aware that the XML spec links point to the latest version. Silk's repo may be using an older version of these XML
+files.
+
+---
+
+For APIs that use the `Flags/FlagBits` pattern, the `Flags` version of the name is use for both the native name and
+managed name. This is because the XML data uses the `Flags` version to provide base type data. There was a time where
+we preferred the `FlagBits` version instead for the `[NativeName]` attribute. This is because searching for the
+`FlagBits` version online brings up a more useful documentation page.
+
+### OpenAL
+
+Spec file used: https://raw.githubusercontent.com/kcat/openal-soft/master/registry/xml/al.xml
+
+### OpenCL
+
+Spec file used: https://raw.githubusercontent.com/KhronosGroup/OpenCL-Docs/main/xml/cl.xml
+
+The following warning is expected since we do not want to hardcode the version in our entrypoint header:
+
+```
+warning: cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 310 (OpenCL 3.1) [-W#pragma-messages]
+```
+
+### OpenGL
+
+Spec file used: https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/gl.xml
+
+### OpenXR
+
+Spec file used: https://raw.githubusercontent.com/KhronosGroup/OpenXR-SDK/main/specification/registry/xr.xml
+
+There will be the following errors in the generation log. This is expected. These types are part of the XML
+specification, but not part of the main `openxr.h` header.
+
+API Constants shows up here, but not in Vulkan because OpenXR's XML lacks the `type="constants"` attribute that
+Vulkan's XML has.
+
+```
+fail: Silk.NET.SilkTouch.Mods.MixKhronosData[0] Enum "API Constants" has no base type. Please add TypeMap entry to the configuration. This enum group will be skipped.
+fail: Silk.NET.SilkTouch.Mods.MixKhronosData[0] Enum "XrAndroidThreadTypeKHR" has no base type. Please add TypeMap entry to the configuration. This enum group will be skipped.
+fail: Silk.NET.SilkTouch.Mods.MixKhronosData[0] Enum "XrLoaderInterfaceStructs" has no base type. Please add TypeMap entry to the configuration. This enum group will be skipped.
+```
+
+### Vulkan
-## Vulkan
+Spec file used: https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/xml/vk.xml
There will be the following errors in the generation log. This is expected. These types are part of the XML
specification, but not part of the main `vulkan.h` header.
diff --git a/docs/for-contributors/Generator/generator-mods.md b/docs/for-contributors/Generator/generator-mods.md
index ff56581087..e21125f576 100644
--- a/docs/for-contributors/Generator/generator-mods.md
+++ b/docs/for-contributors/Generator/generator-mods.md
@@ -111,6 +111,9 @@ Stateless APIs are typically accessed through static methods, while stateful API
objects. More information on this can be found in the
[Static vs Instance Bindings](../../silk.net/static-vs-instance-bindings.md) document.
+`[DllImport]` is used over `[LibraryImport]` because `[LibraryImport]`'s source generator ends up using `[DllImport]`
+in its generated code.
+
Usage recommendations:
(TODO: To be added)
@@ -170,6 +173,9 @@ provide cross-platform bindings.
- Enums use `uint` as their backing type on Linux instead of `int` like on Windows. Silk handles this by using
`TransformEnums` to "coerce" the backing types to their Windows equivalents when possible.
+- C `long` is output as C# `long` on Windows and C# `nint` on Linux. Silk handles this by generating bindings on Windows
+ where possible.
+
Note: There may be other differences not yet documented here. In the case new differences are discovered, please
update this section. API-specific differences should not be documented here and should be documented in the
[API-Specific Notes](api-specific-notes.md) document.
@@ -496,13 +502,13 @@ the mod.
Khronos-style XML specifications:
-- OpenAL: https://raw.githubusercontent.com/kcat/openal-soft/refs/heads/master/registry/xml/al.xml
-- OpenCL: https://raw.githubusercontent.com/KhronosGroup/OpenCL-Docs/refs/heads/main/xml/cl.xml
-- OpenGL: https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/refs/heads/main/xml/gl.xml
+- OpenAL: https://raw.githubusercontent.com/kcat/openal-soft/master/registry/xml/al.xml
+- OpenCL: https://raw.githubusercontent.com/KhronosGroup/OpenCL-Docs/main/xml/cl.xml
+- OpenGL: https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/gl.xml
- OpenGL Windows: https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/wgl.xml
-- OpenGL X11: https://github.com/KhronosGroup/OpenGL-Registry/blob/main/xml/glx.xml
-- OpenXR: https://raw.githubusercontent.com/KhronosGroup/OpenXR-SDK-Source/main/specification/registry/xr.xml
-- Vulkan: https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/refs/heads/main/xml/vk.xml
+- OpenGL X11: https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/main/xml/glx.xml
+- OpenXR: https://raw.githubusercontent.com/KhronosGroup/OpenXR-SDK/main/specification/registry/xr.xml
+- Vulkan: https://raw.githubusercontent.com/KhronosGroup/Vulkan-Docs/main/xml/vk.xml
Be aware that these link to the latest version. Silk's repo may be using an older version of these XML files.
diff --git a/docs/for-contributors/Generator/using-the-generator.md b/docs/for-contributors/Generator/using-the-generator.md
index 70eb00493c..703fc9d3f1 100644
--- a/docs/for-contributors/Generator/using-the-generator.md
+++ b/docs/for-contributors/Generator/using-the-generator.md
@@ -15,12 +15,15 @@ Metal.
## Generator Overview
-There are two main things to configure:
+There are three main things to configure:
1. Silk 3 - This is the [`generator.json`](https://github.com/dotnet/Silk.NET/blob/develop/3.0/generator.json) file.
2. ClangSharpPInvokeGenerator - This is the [`eng/silktouch`](https://github.com/dotnet/Silk.NET/tree/develop/3.0/eng/silktouch) folder.
+3. C# Project File - This is your typical `.csproj` file and add it to your solution before running the SilkTouch
+ generator.
+
Both are organized by native API.
Note: For the average C API, SDL's generator configuration would be the best configuration to reference. Most options
@@ -62,8 +65,8 @@ files). These response files store command line arguments to be passed into Clan
Note that these files can be stored anywhere since the SilkTouch configuration lets you configure where the SilkTouch
generator looks for these response files.
-> To read more about ClangSharpPInvokeGenerator's command line arguments, a good option is to install the tool directly
-> and use `--help` to display its command line documentation.
+> To read more about ClangSharpPInvokeGenerator's command line arguments, you can either refer to
+> [ClangSharp's README](https://github.com/dotnet/ClangSharp) or install the tool locally:
>
> ```sh
> dotnet tool install --global ClangSharpPInvokeGenerator
@@ -211,14 +214,59 @@ static Vk()
}
```
+### Initial Project Creation
+
+You must create the initial project for the generated bindings to go in. This also goes for the solution file.
+SilkTouch does not modify either file.
+
+The paths for these files correspond to the following options in the `generator.json` file:
+- `Jobs.JOB_NAME.SourceProject`
+- `Jobs.JOB_NAME.Solution`
+
+(TODO: Does this apply to `Jobs.JOB_NAME.TestProject` as well?)
+
+For the source project file, ensure that the project references the `Silk.NET.Core` project or package by using the
+corresponding `ProjectReference` or `PackageReference`. Also ensure the `AllowUnsafeBlocks` property is set to true.
+
+> Note: In Silk's repository, `AllowUnsafeBlocks` is set globally by
+> [Directory.Build.props](https://github.com/dotnet/Silk.NET/blob/develop/3.0/Directory.Build.props).
+>
+> (TODO: Not sure if other properties are required.)
+
+For the solution file, both `.sln` and `.slnx` file formats are supported. This is because we defer to Roslyn and
+MSBuild under the hood.
+
+### Running the Generator
+
+The generator can be run directly from source using the following command:
+
+```sh
+dotnet run --project sources/SilkTouch/SilkTouch/Silk.NET.SilkTouch.csproj -c Release -- generator.json --only SDL
+```
+
+You may use the `--help` option to display additional information about available options.
+
+```
+dotnet run --project sources/SilkTouch/SilkTouch/Silk.NET.SilkTouch.csproj -c Release -- --help
+```
+
+Some notable options include the `--only` and `--skip` options. `--only` lets you specify the exact jobs to run.
+`--skip` is the opposite and lets you specify the jobs to skip. If `--only` and `--skip` is specified for the same job,
+`--skip` takes precedence.
+
+Warning: There are currently some generator bugs associated with running multiple jobs in the same process. We recommend
+that you use `--only` to ensure that only one job is executed per process. Running multiple processes in parallel is
+fine.
+
### Generated Bindings Output
All generated binding will be output to the `Jobs.JOB_NAME.SourceProject` path defined in `generator.json`.
-These generated files all have the `.gen.cs` suffix and most of them are partial type declarations.
-This means by creating a similarly named `.cs` file and using the `partial` C# keyword, you can add to the type.
+These generated files all have the `.gen.cs` suffix and most of them are partial type declarations. This means by
+creating a similarly named `.cs` file and using the `partial` C# keyword, you can add to the type.
-Do not modify the `.gen.cs` files since running the generator again will overwrite those changes.
+Do not modify the `.gen.cs` files since running the generator again will overwrite those changes. Files without this
+extension are left untouched by the generator.
### Packing the Generated Bindings
diff --git a/docs/silk.net/experimental-feed.md b/docs/silk.net/experimental-feed.md
index 8d1b9a73c3..dbe7affae4 100644
--- a/docs/silk.net/experimental-feed.md
+++ b/docs/silk.net/experimental-feed.md
@@ -45,6 +45,16 @@ In order to use the experimental feed, you must change this project file slightl
```
+Optionally, create a `nuget.config` file next to your solution file with the following contents:
+```xml
+
+
+
+
+
+
+```
+
## Install an experimental version
Now .NET has access to the experimental feed, it's time to install an experimental package. Check for the latest version on our [GitLab Package Registry](https://gitlab.com/silkdotnet/Silk.NET/-/packages).
@@ -57,7 +67,6 @@ At the time of writing, the latest version is `2.0.0-build97.0`. Now to install
```
-
> [!WARNING]
> Experimental Feed builds may be deleted without warning at the Silk.NET team's discretion.
diff --git a/eng/silktouch/opencl/header.txt b/eng/silktouch/opencl/header.txt
new file mode 100644
index 0000000000..494c8c8976
--- /dev/null
+++ b/eng/silktouch/opencl/header.txt
@@ -0,0 +1,5 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
diff --git a/eng/silktouch/opencl/opencl/generate.rsp b/eng/silktouch/opencl/opencl/generate.rsp
new file mode 100644
index 0000000000..387499087f
--- /dev/null
+++ b/eng/silktouch/opencl/opencl/generate.rsp
@@ -0,0 +1,17 @@
+@../settings.rsp
+@../remap.rsp
+--additional
+-Wno-invalid-constexpr
+--file
+opencl-opencl.h
+--methodClassName
+Cl
+--namespace
+Silk.NET.OpenCL
+--output
+../../../../sources/OpenCL/OpenCL
+--test-output
+../../../../tests/OpenCL/OpenCL
+--traverse
+../../../submodules/opencl-headers/CL/cl.h
+../../../submodules/opencl-headers/CL/cl_ext.h
diff --git a/eng/silktouch/opencl/opencl/opencl-opencl.h b/eng/silktouch/opencl/opencl/opencl-opencl.h
new file mode 100644
index 0000000000..2940f714b4
--- /dev/null
+++ b/eng/silktouch/opencl/opencl/opencl-opencl.h
@@ -0,0 +1,2 @@
+#include
+#include
diff --git a/eng/silktouch/opencl/remap.rsp b/eng/silktouch/opencl/remap.rsp
new file mode 100644
index 0000000000..5cc04603c6
--- /dev/null
+++ b/eng/silktouch/opencl/remap.rsp
@@ -0,0 +1,11 @@
+@../../remap-stdint.rsp
+--remap
+_cl_platform_id=cl_platform_id
+_cl_device_id=cl_device_id
+_cl_context=cl_context
+_cl_command_queue=cl_command_queue
+_cl_mem=cl_mem
+_cl_program=cl_program
+_cl_kernel=cl_kernel
+_cl_event=cl_event
+_cl_sampler=cl_sampler
diff --git a/eng/silktouch/opencl/settings.rsp b/eng/silktouch/opencl/settings.rsp
new file mode 100644
index 0000000000..623eb4ec0b
--- /dev/null
+++ b/eng/silktouch/opencl/settings.rsp
@@ -0,0 +1,11 @@
+@../../common.rsp
+--define-macro
+TODO_DEFINE_MACROS=HERE
+--headerFile
+../header.txt
+--include-directory
+../../../submodules/opencl-headers
+--with-callconv
+*=Winapi
+--with-librarypath
+*=opencl
diff --git a/eng/silktouch/opengl/settings.rsp b/eng/silktouch/opengl/settings.rsp
index 3b24402e78..547b53cd28 100644
--- a/eng/silktouch/opengl/settings.rsp
+++ b/eng/silktouch/opengl/settings.rsp
@@ -4,8 +4,8 @@ TODO_DEFINE_MACROS=HERE
--headerFile
../header.txt
--include-directory
-../../../submodules/opengl/api
-../../../submodules/egl/api
+../../../submodules/opengl-registry/api
+../../../submodules/egl-registry/api
../../../include
--with-callconv
*=Winapi
diff --git a/eng/silktouch/openxr/header.txt b/eng/silktouch/openxr/header.txt
new file mode 100644
index 0000000000..3fc9ef3798
--- /dev/null
+++ b/eng/silktouch/openxr/header.txt
@@ -0,0 +1,5 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+// Ported from the OpenXR headers and corresponding dependencies.
+// Original source is Copyright 2017-2026 The Khronos Group Inc. Licensed under the MIT license.
diff --git a/eng/silktouch/openxr/openxr/generate.rsp b/eng/silktouch/openxr/openxr/generate.rsp
new file mode 100644
index 0000000000..9c01404150
--- /dev/null
+++ b/eng/silktouch/openxr/openxr/generate.rsp
@@ -0,0 +1,16 @@
+@../settings.rsp
+@../remap.rsp
+--exclude
+XR_NULL_HANDLE
+--file
+openxr-openxr.h
+--methodClassName
+Xr
+--namespace
+Silk.NET.OpenXR
+--output
+../../../../sources/OpenXR/OpenXR
+--test-output
+../../../../tests/OpenXR/OpenXR
+--traverse
+../../../submodules/openxr-sdk/include/openxr/openxr.h
diff --git a/eng/silktouch/openxr/openxr/openxr-openxr.h b/eng/silktouch/openxr/openxr/openxr-openxr.h
new file mode 100644
index 0000000000..17fc44a46d
--- /dev/null
+++ b/eng/silktouch/openxr/openxr/openxr-openxr.h
@@ -0,0 +1 @@
+#include
diff --git a/eng/silktouch/openxr/remap.rsp b/eng/silktouch/openxr/remap.rsp
new file mode 100644
index 0000000000..183bb5fb2a
--- /dev/null
+++ b/eng/silktouch/openxr/remap.rsp
@@ -0,0 +1 @@
+@../../remap-stdint.rsp
diff --git a/eng/silktouch/openxr/settings.rsp b/eng/silktouch/openxr/settings.rsp
new file mode 100644
index 0000000000..dc50931060
--- /dev/null
+++ b/eng/silktouch/openxr/settings.rsp
@@ -0,0 +1,11 @@
+@../../common.rsp
+--define-macro
+TODO_DEFINE_MACROS=HERE
+--headerFile
+../header.txt
+--include-directory
+../../../submodules/openxr-sdk/include
+--with-callconv
+*=Winapi
+--with-librarypath
+*=openxr_loader
diff --git a/eng/submodules/assimp b/eng/submodules/assimp
new file mode 160000
index 0000000000..392a658f9c
--- /dev/null
+++ b/eng/submodules/assimp
@@ -0,0 +1 @@
+Subproject commit 392a658f9c271be965271f45e7521a1b80ea4392
diff --git a/eng/submodules/egl b/eng/submodules/egl
deleted file mode 160000
index 5f2c71f311..0000000000
--- a/eng/submodules/egl
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5f2c71f311d6cb031562f2d61517383542ecade7
diff --git a/eng/submodules/egl-registry b/eng/submodules/egl-registry
new file mode 160000
index 0000000000..a7fb4ec38a
--- /dev/null
+++ b/eng/submodules/egl-registry
@@ -0,0 +1 @@
+Subproject commit a7fb4ec38a785cb5914b5a8ba5f264450677338d
diff --git a/eng/submodules/glslang b/eng/submodules/glslang
new file mode 160000
index 0000000000..275822a626
--- /dev/null
+++ b/eng/submodules/glslang
@@ -0,0 +1 @@
+Subproject commit 275822a6261ee689aadb1da5f09a0ec2f058685c
diff --git a/eng/submodules/moltenvk b/eng/submodules/moltenvk
new file mode 160000
index 0000000000..db445ff204
--- /dev/null
+++ b/eng/submodules/moltenvk
@@ -0,0 +1 @@
+Subproject commit db445ff2042d9ce348c439ad8451112f354b8d2a
diff --git a/eng/submodules/openal-soft b/eng/submodules/openal-soft
index 6e0d0b39b3..dc98bfbe60 160000
--- a/eng/submodules/openal-soft
+++ b/eng/submodules/openal-soft
@@ -1 +1 @@
-Subproject commit 6e0d0b39b3d9e5b027f01bdd2fbf18ca8ce5a2db
+Subproject commit dc98bfbe6064d851e32428db83b06732a448810b
diff --git a/eng/submodules/opencl-docs b/eng/submodules/opencl-docs
new file mode 160000
index 0000000000..1fb076bc72
--- /dev/null
+++ b/eng/submodules/opencl-docs
@@ -0,0 +1 @@
+Subproject commit 1fb076bc72bd32e8798fd5e6f2e3ff26fb06402a
diff --git a/eng/submodules/opencl-headers b/eng/submodules/opencl-headers
new file mode 160000
index 0000000000..6fe718c31a
--- /dev/null
+++ b/eng/submodules/opencl-headers
@@ -0,0 +1 @@
+Subproject commit 6fe718c31a45fe25151362a72ef041c3a1047cbd
diff --git a/eng/submodules/opengl b/eng/submodules/opengl
deleted file mode 160000
index 0ef89b84d3..0000000000
--- a/eng/submodules/opengl
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0ef89b84d3bb5880a6553231d9cc64b2abd525a7
diff --git a/eng/submodules/opengl-registry b/eng/submodules/opengl-registry
new file mode 160000
index 0000000000..8e772a3b0c
--- /dev/null
+++ b/eng/submodules/opengl-registry
@@ -0,0 +1 @@
+Subproject commit 8e772a3b0c9e8a85ccb6f471b4cdbf94c8bcd71d
diff --git a/eng/submodules/openxr-sdk b/eng/submodules/openxr-sdk
new file mode 160000
index 0000000000..64f2b37c8c
--- /dev/null
+++ b/eng/submodules/openxr-sdk
@@ -0,0 +1 @@
+Subproject commit 64f2b37c8c6da3d83c9b4d11865ba1fb752cb8ec
diff --git a/eng/submodules/shaderc b/eng/submodules/shaderc
new file mode 160000
index 0000000000..d5f08ae5c5
--- /dev/null
+++ b/eng/submodules/shaderc
@@ -0,0 +1 @@
+Subproject commit d5f08ae5c5a9a45165578445cbd0f9adf0223448
diff --git a/eng/submodules/spirv-cross b/eng/submodules/spirv-cross
new file mode 160000
index 0000000000..1a6169566c
--- /dev/null
+++ b/eng/submodules/spirv-cross
@@ -0,0 +1 @@
+Subproject commit 1a6169566c73d3da552748fc372fe2bbb856e46e
diff --git a/eng/submodules/spirv-headers b/eng/submodules/spirv-headers
new file mode 160000
index 0000000000..ad9184e76a
--- /dev/null
+++ b/eng/submodules/spirv-headers
@@ -0,0 +1 @@
+Subproject commit ad9184e76a66b1001c29db9b0a3e87f646c64de0
diff --git a/eng/submodules/spirv-reflect b/eng/submodules/spirv-reflect
new file mode 160000
index 0000000000..c90b7b781c
--- /dev/null
+++ b/eng/submodules/spirv-reflect
@@ -0,0 +1 @@
+Subproject commit c90b7b781cdcff63cf1b409ffc7ca0a714e0425e
diff --git a/eng/submodules/spirv-tools b/eng/submodules/spirv-tools
new file mode 160000
index 0000000000..0539c81f69
--- /dev/null
+++ b/eng/submodules/spirv-tools
@@ -0,0 +1 @@
+Subproject commit 0539c81f69a3daeb706fd3477dca61435b475156
diff --git a/eng/submodules/vulkan b/eng/submodules/vulkan
deleted file mode 160000
index 09d464f853..0000000000
--- a/eng/submodules/vulkan
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 09d464f85360160747c4ad6dc5a9841e15822aa5
diff --git a/eng/submodules/vulkan-docs b/eng/submodules/vulkan-docs
new file mode 160000
index 0000000000..ea5259d683
--- /dev/null
+++ b/eng/submodules/vulkan-docs
@@ -0,0 +1 @@
+Subproject commit ea5259d68356334a2928d5d6c327ccaea2f2af08
diff --git a/eng/submodules/vulkan-headers b/eng/submodules/vulkan-headers
index 3dda5a1a87..01393c3df0 160000
--- a/eng/submodules/vulkan-headers
+++ b/eng/submodules/vulkan-headers
@@ -1 +1 @@
-Subproject commit 3dda5a1a87b62fdf3baf4680edc41c00e85a7a22
+Subproject commit 01393c3df0e5285b54ee6527466513f9e614be94
diff --git a/eng/submodules/vulkan-memory-allocator b/eng/submodules/vulkan-memory-allocator
new file mode 160000
index 0000000000..3aa921224c
--- /dev/null
+++ b/eng/submodules/vulkan-memory-allocator
@@ -0,0 +1 @@
+Subproject commit 3aa921224c154a0d2c43912bc88e1c42ce1f7607
diff --git a/examples/CSharp/OpenCL/Tutorial001.SimpleKernel/OpenCL.Tutorial001.SimpleKernel.csproj b/examples/CSharp/OpenCL/Tutorial001.SimpleKernel/OpenCL.Tutorial001.SimpleKernel.csproj
new file mode 100644
index 0000000000..87abc1bd82
--- /dev/null
+++ b/examples/CSharp/OpenCL/Tutorial001.SimpleKernel/OpenCL.Tutorial001.SimpleKernel.csproj
@@ -0,0 +1,18 @@
+
+
+
+ Exe
+ net10.0
+ enable
+ enable
+
+
+
+ $(NETCoreSdkRuntimeIdentifier)
+
+
+
+
+
+
+
diff --git a/examples/CSharp/OpenCL/Tutorial001.SimpleKernel/Program.cs b/examples/CSharp/OpenCL/Tutorial001.SimpleKernel/Program.cs
new file mode 100644
index 0000000000..5426738008
--- /dev/null
+++ b/examples/CSharp/OpenCL/Tutorial001.SimpleKernel/Program.cs
@@ -0,0 +1,283 @@
+// TODO: Exanite: This example is easier to read as a Program class. We should probably do the same for the other examples.
+//
+// TODO: Exanite: I plan to rename these "tutorials" to be "smoke tests" and to reserve tutorials to be for examples properly designed for educational purposes.
+// TODO: Exanite: The existing tutorials just test if the API works and I don't want to misrepresent that.
+
+using System.Runtime.CompilerServices;
+using Silk.NET.OpenCL;
+
+internal unsafe class Program
+{
+ // Based on https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/OpenCL-Hello-World/ta-p/1113358?profile.language=en
+ private const string _kernelSource = """
+ __kernel void VectorAdd(__global int* c, __global int* a, __global int* b)
+ {
+ unsigned int n = get_global_id(0);
+ c[n] = a[n] + b[n];
+ }
+ """;
+
+ private static readonly int[] _initialData1 =
+ [
+ 37,
+ 50,
+ 54,
+ 50,
+ 56,
+ 0,
+ 43,
+ 43,
+ 74,
+ 71,
+ 32,
+ 36,
+ 16,
+ 43,
+ 56,
+ 100,
+ 50,
+ 25,
+ 15,
+ 17,
+ ];
+
+ private static readonly int[] _initialData2 =
+ [
+ 35,
+ 51,
+ 54,
+ 58,
+ 55,
+ 32,
+ 36,
+ 69,
+ 27,
+ 39,
+ 35,
+ 40,
+ 16,
+ 44,
+ 55,
+ 14,
+ 58,
+ 75,
+ 18,
+ 15,
+ ];
+
+ private const int _elementCount = 100;
+
+ public static int Main(string[] args)
+ {
+ // TODO: Exanite: The todos in this file represent issues that I found or thoughts that I had while working on this smoke test.
+ // TODO: Exanite: These might not represent actual problems, but I want to document these so we can address them later.
+
+ // Load API
+ _ = Cl.Create(); // TODO: This is a hack for running the static constructor for Cl
+ // TODO: OpenCL is a bit weird. The non-extension functions can be DllImported, but the extension functions cannot (see clGetExtensionFunctionAddressForPlatform). Not sure how to handle this properly yet. Probably something to do with DefaultNativeContext?
+ var cl = new Cl.StaticWrapper();
+
+ // Initialize host data
+ var hostData1 = new int[_elementCount];
+ var hostData2 = new int[_elementCount];
+ var hostOutput = new int[_elementCount];
+ var expectedOutput = new int[_elementCount];
+
+ for (var i = 0; i < _elementCount; i++)
+ {
+ hostData1[i] = _initialData1[i % _initialData1.Length];
+ hostData2[i] = _initialData2[i % _initialData2.Length];
+ expectedOutput[i] = hostData1[i] + hostData2[i];
+ }
+
+ // Select platform and device
+ // TODO: I'm going to prefer the DSL types whenever possible
+ // TODO: Return type should be ErrorCodes
+ var platform = default(PlatformIdHandle); // TODO: Using the DSL types requires us to initialize the variable first, which is annoying
+ CheckError(cl.GetPlatformIDs(1, platform.AsRef(), nullptr));
+
+ var device = default(DeviceIdHandle);
+ CheckError(cl.GetDeviceIDs(platform, (ulong)DeviceType.Gpu, 1, device.AsRef(), nullptr)); // TODO: 2nd parameter shouldn't need a cast
+
+ Span buffer = stackalloc byte[1024];
+
+ CheckError(
+ cl.GetDeviceInfo(
+ device,
+ (uint)DeviceInfo.DeviceName, // TODO: Shouldn't need a cast. CL_DRIVER_, etc blocks prefix trimming. Silk 2 names the property as Name instead.
+ (nuint)buffer.Length,
+ buffer.AsRef(),
+ nullptr
+ )
+ );
+ // var deviceName = SilkMarshal.NativeToString(ref buffer.AsRef().Handle); // TODO: There should be a Ref overload for NativeToString.
+ var deviceName = buffer.AsRef().ReadToString();
+
+ Console.WriteLine($"Found device: {deviceName}");
+
+ CheckError(
+ cl.GetDeviceInfo(
+ device,
+ (uint)DeviceInfo.DriverVersion, // TODO: Shouldn't need a cast
+ (nuint)buffer.Length,
+ buffer.AsRef(),
+ nullptr
+ )
+ );
+ // var driverVersion = SilkMarshal.NativeToString(ref buffer.AsRef().Handle); // TODO: There should be a Ref overload for NativeToString.
+ var driverVersion = buffer.AsRef().ReadToString();
+
+ Console.WriteLine($"Driver version: {driverVersion}");
+
+ // Create context and command queue
+ var properties = new[]
+ {
+ (nint)ContextProperties.ContextPlatform, // TODO: CL_PRINTF_CALLBACK_ARM, etc block prefix trimming
+ (nint)platform.Handle,
+ 0,
+ };
+
+ var errorCode = default(int);
+ var context = cl.CreateContextFromType(
+ properties.AsRef(),
+ (ulong)DeviceType.Gpu, // TODO: Shouldn't need a cast
+ null,
+ nullptr,
+ errorCode.AsRef()
+ );
+ CheckError(errorCode);
+
+ var commandQueue = cl.CreateCommandQueueWithProperties(
+ context,
+ device,
+ nullptr,
+ errorCode.AsRef()
+ );
+ CheckError(errorCode);
+
+ // Create buffers
+ var deviceDataBuffer1 = cl.CreateBuffer(
+ context,
+ (ulong)(MemFlags.ReadOnly | MemFlags.CopyHostPtr), // TODO: Shouldn't need a cast
+ sizeof(int) * _elementCount,
+ hostData1.AsRef(),
+ errorCode.AsRef()
+ );
+ CheckError(errorCode);
+
+ var deviceDataBuffer2 = cl.CreateBuffer(
+ context,
+ (ulong)(MemFlags.ReadOnly | MemFlags.CopyHostPtr), // TODO: Shouldn't need a cast
+ sizeof(int) * _elementCount,
+ hostData2.AsRef(),
+ errorCode.AsRef()
+ );
+ CheckError(errorCode);
+
+ var deviceOutputBuffer = cl.CreateBuffer(
+ context,
+ (ulong)MemFlags.WriteOnly, // TODO: Shouldn't need a cast
+ sizeof(int) * _elementCount,
+ nullptr,
+ errorCode.AsRef()
+ );
+ CheckError(errorCode);
+
+ // Compile kernel
+ ref readonly var kernelSource = ref SilkMarshal.StringToNative(_kernelSource); // TODO: Why is the returned ref readonly?
+ var kernelSourceLength = (nuint)_kernelSource.Length; // TODO: This is wrong, but we don't have SilkMarshal.StringLength?
+ var uhh = Unsafe.As(ref Unsafe.AsRef(in kernelSource)).AsRef(); // TODO: Uhh? How do we do this properly?
+ var program = cl.CreateProgramWithSource(
+ context,
+ 1u,
+ uhh.AsRef2D(), // TODO: Yeah, the above wasn't all...
+ kernelSourceLength.AsRef(),
+ errorCode.AsRef()
+ );
+ CheckError(errorCode);
+
+ CheckError(cl.BuildProgram(program, 0, nullptr, nullptr, null, nullptr));
+
+ var kernelName = "VectorAdd"u8;
+ var kernel = cl.CreateKernel(
+ program,
+ Unsafe.As(ref kernelName.AsRef().Handle).AsRef(), // TODO: sbyte strikes again
+ errorCode.AsRef()
+ );
+ CheckError(errorCode);
+
+ CheckError(
+ cl.SetKernelArg(kernel, 0, (nuint)sizeof(MemHandle), deviceOutputBuffer.AsRef())
+ );
+ CheckError(cl.SetKernelArg(kernel, 1, (nuint)sizeof(MemHandle), deviceDataBuffer1.AsRef()));
+ CheckError(cl.SetKernelArg(kernel, 2, (nuint)sizeof(MemHandle), deviceDataBuffer2.AsRef()));
+
+ nuint workgroupSize = _elementCount;
+ CheckError(
+ cl.EnqueueNDRangeKernel(
+ commandQueue,
+ kernel,
+ 1,
+ nullptr,
+ workgroupSize.AsRef(),
+ nullptr,
+ 0,
+ nullptr,
+ nullptr
+ )
+ );
+
+ CheckError(
+ cl.EnqueueReadBuffer(
+ commandQueue,
+ deviceOutputBuffer,
+ true,
+ 0,
+ sizeof(int) * _elementCount,
+ hostOutput.AsRef(),
+ 0,
+ nullptr,
+ nullptr
+ )
+ );
+
+ Console.WriteLine("Actual output calculated by OpenCL:");
+ Console.WriteLine($"[{string.Join(", ", hostOutput)}]");
+
+ Console.WriteLine("Expected output:");
+ Console.WriteLine($"[{string.Join(", ", expectedOutput)}]");
+
+ var matches = true;
+ for (var i = 0; i < hostOutput.Length; i++)
+ {
+ if (hostOutput[i] != expectedOutput[i])
+ {
+ matches = false;
+ break;
+ }
+ }
+
+ Console.WriteLine($"Actual matches expected: {matches}");
+
+ // Cleanup
+ CheckError(cl.ReleaseKernel(kernel));
+ CheckError(cl.ReleaseProgram(program));
+ // SilkMarshal.Free(kernelSource.AsRef()); // TODO: We don't need to free the output of StringToNative, right? Seems to be a managed array backing it.
+ CheckError(cl.ReleaseMemObject(deviceOutputBuffer));
+ CheckError(cl.ReleaseMemObject(deviceDataBuffer2));
+ CheckError(cl.ReleaseMemObject(deviceDataBuffer1));
+ CheckError(cl.ReleaseCommandQueue(commandQueue));
+ CheckError(cl.ReleaseContext(context));
+
+ return 0;
+ }
+
+ private static void CheckError(int error) // TODO: Parameter should be ErrorCodes, but can't since return types are not correct right now
+ {
+ var errorCode = (ErrorCodes)error;
+ if (errorCode != ErrorCodes.Success)
+ {
+ throw new Exception($"OpenCL error: {errorCode}");
+ }
+ }
+}
diff --git a/generator.json b/generator.json
index 1a727db33d..2e1be005af 100644
--- a/generator.json
+++ b/generator.json
@@ -107,8 +107,9 @@
"MarkNativeNames",
"AddApiProfiles",
"BakeSourceSets",
- "MixKhronosData",
"AddOpaqueStructs",
+ "MixKhronosData",
+ "TransformHandles",
"TransformFunctions",
"IdentifySharedPrefixes",
"PrettifyNames",
@@ -160,7 +161,7 @@
]
},
"MixKhronosData": {
- "SpecPath": "eng/submodules/opengl/xml/gl.xml",
+ "SpecPath": "eng/submodules/opengl-registry/xml/gl.xml",
"Namespace": "Silk.NET.OpenGL",
"TypeMap": {
"GLenum": "uint",
@@ -226,6 +227,9 @@
"AddNoneMemberToFlags": true,
"RewriteMemberValues": true
},
+ "TransformHandles": {
+ "UseDsl": true
+ },
"TransformFunctions": {
"BoolTypes": {
"GLboolean": null
@@ -244,6 +248,164 @@
]
}
},
+ "OpenCL": {
+ "SourceProject": "sources/OpenCL/OpenCL/Silk.NET.OpenCL.csproj",
+ "Solution": "Silk.NET.slnx",
+ "DefaultLicenseHeader": "eng/silktouch/header.txt",
+ "Mods": [
+ "AddIncludes",
+ "ClangScraper",
+ "MarkNativeNames",
+ "AddApiProfiles",
+ "ExtractHandles",
+ "ExtractNestedTypes",
+ "ExtractFunctionPointers",
+ "MixKhronosData",
+ "TransformHandles",
+ "TransformFunctions",
+ "IdentifySharedPrefixes",
+ "PrettifyNames",
+ "TransformEnums",
+ "AddVTables",
+ "StripAttributes"
+ ],
+ "ClangScraper": {
+ "ClangSharpResponseFiles": [
+ "eng/silktouch/opencl/**/generate.rsp"
+ ],
+ "InputSourceRoot": "sources/OpenCL",
+ "InputTestRoot": "tests/OpenCL"
+ },
+ "MixKhronosData": {
+ "SpecPath": "eng/submodules/opencl-docs/xml/cl.xml",
+ "Namespace": "Silk.NET.OpenCL",
+ "TypeMap": {
+ "cl_bitfield": "ulong",
+ "cl_properties": "ulong",
+ "intptr_t": "long",
+ "ErrorCodes": "int",
+ "cl_affinity_domain_ext": "uint",
+ "clCommandExecutionStatus": "uint",
+ "cl_compiler_mode_altera": "uint",
+ "cl_motion_estimation_desc_intel.mb_block_type": "uint",
+ "cl_motion_estimation_desc_intel.subpixel_mode": "uint",
+ "cl_motion_estimation_desc_intel.sad_adjust_mode": "uint",
+ "cl_motion_estimation_desc_intel.search_path_type": "uint",
+ "cl_arm_device_svm_capabilities.flags": "uint",
+ "cl_arm_svm_alloc.flags": "uint",
+ "cl_intel_advanced_motion_estimation.flags": "uint",
+ "cl_intel_advanced_motion_estimation.search_cost_penalty": "uint",
+ "cl_intel_advanced_motion_estimation.search_cost_precision": "uint",
+ "cl_intel_advanced_motion_estimation.intra_search_prediction_modes_buffer.luma_block": "uint",
+ "cl_intel_advanced_motion_estimation.intra_search_prediction_modes_buffer.chroma_block": "uint",
+ "cl_intel_advanced_motion_estimation.skip_block_type": "uint",
+ "cl_intel_advanced_motion_estimation.device_me_version": "uint",
+ "cl_intel_advanced_motion_estimation.cl_motion_detect_desc_intel": "uint",
+ "cl_intel_advanced_motion_estimation.cl_motion_detect_desc_intel.2": "uint",
+ "cl_intel_device_side_avc_motion_estimation.version": "uint",
+ "cl_intel_device_side_avc_motion_estimation.major": "uint",
+ "cl_intel_device_side_avc_motion_estimation.minor": "uint",
+ "cl_intel_device_side_avc_motion_estimation.major.dir": "uint",
+ "cl_intel_device_side_avc_motion_estimation.partition": "uint",
+ "cl_intel_device_side_avc_motion_estimation.window": "uint",
+ "cl_intel_device_side_avc_motion_estimation.adjust": "uint",
+ "cl_intel_device_side_avc_motion_estimation.subpixel": "uint",
+ "cl_intel_device_side_avc_motion_estimation.cost.precision": "uint",
+ "cl_intel_device_side_avc_motion_estimation.weight": "uint",
+ "cl_intel_device_side_avc_motion_estimation.border": "uint",
+ "cl_intel_device_side_avc_motion_estimation.skip": "uint",
+ "cl_intel_device_side_avc_motion_estimation.skip.dir": "uint",
+ "cl_intel_device_side_avc_motion_estimation.skip.block.based": "uint",
+ "cl_intel_device_side_avc_motion_estimation.intra": "uint",
+ "cl_intel_device_side_avc_motion_estimation.intra.luma": "uint",
+ "cl_intel_device_side_avc_motion_estimation.intra.neighbor": "uint",
+ "cl_intel_device_side_avc_motion_estimation.luma.predictor": "uint",
+ "cl_intel_device_side_avc_motion_estimation.frame.dir": "uint",
+ "cl_intel_device_side_avc_motion_estimation.slice": "uint",
+ "cl_intel_device_side_avc_motion_estimation.scan.dir": "uint",
+ "cl_command_termination_reason_arm": "uint",
+ "cl_platform_command_buffer_capabilities_khr": "uint",
+ "cl_device_command_buffer_capabilities_khr": "uint",
+ "cl_media_adapter_type_khr": "uint",
+ "cl_media_adapter_set_khr": "uint",
+ "host_cache_policy": "uint",
+ "allocation_type": "uint",
+ "cl_unified_shared_memory_capabilities_intel": "uint",
+ "cl_mem_alloc_info_intel": "uint",
+ "cl_semaphore_type": "uint",
+ "cl_kernel_workgroup_info": "uint"
+ },
+ "IdentifyEnumMemberImpliedVendors": true
+ },
+ "AddVTables": {
+ "VTables": [
+ {
+ "Kind": "DllImport"
+ },
+ {
+ "Kind": "StaticWrapper"
+ },
+ {
+ "Kind": "ThisThread",
+ "IsDefault": true,
+ "GenerateFactoryPartial": true
+ }
+ ]
+ },
+ "IdentifySharedPrefixes": {
+ "GlobalPrefixHints": ["cl", "_cl"]
+ },
+ "PrettifyNames": {
+ "Affixes": {
+ "HandleType": {
+ "Order": 1
+ },
+ "FunctionPointerDelegateType": {
+ "Order": 1
+ },
+ "KhronosVendor": {
+ "Order": -1,
+ "Capitalize": true
+ },
+ "KhronosFunctionDataType": {
+ "IsDiscriminator": true
+ },
+ "KhronosImpliedVendor": {
+ "Remove": true
+ },
+ "KhronosNonExclusiveVendor": {
+ "Remove": true
+ },
+ "SharedPrefix": {
+ "Remove": true
+ }
+ }
+ },
+ "TransformEnums": {
+ "AddNoneMemberToFlags": true,
+ "RewriteMemberValues": true
+ },
+ "TransformHandles": {
+ "UseDsl": true
+ },
+ "TransformFunctions": {
+ "BoolTypes": {
+ "cl_bool": null
+ }
+ },
+ "TransformProperties": {
+ "BoolTypes": {
+ "cl_bool": null
+ }
+ },
+ "StripAttributes": {
+ "Remove": [
+ "NativeTypeName",
+ "NameAffix",
+ "Transformed"
+ ]
+ }
+ },
"OpenAL": {
"SourceProject": "sources/OpenAL/OpenAL/Silk.NET.OpenAL.csproj",
"Solution": "Silk.NET.slnx",
@@ -294,9 +456,6 @@
"LOKI",
"EXT"
],
- "ExcludeVendorSuffixIdentification": [
- "ALC_INVALID_CONTEXT"
- ],
"NonVendorSuffixes": [
"Direct"
],
@@ -392,6 +551,133 @@
]
}
},
+ "OpenXR": {
+ "SourceProject": "sources/OpenXR/OpenXR/Silk.NET.OpenXR.csproj",
+ "Solution": "Silk.NET.slnx",
+ "DefaultLicenseHeader": "eng/silktouch/header.txt",
+ "Mods": [
+ "AddIncludes",
+ "ClangScraper",
+ "MarkNativeNames",
+ "ExtractHandles",
+ "ExtractNestedTypes",
+ "ExtractEnumConstants",
+ "ExtractFunctionPointers",
+ "TransformHandles",
+ "MixKhronosData",
+ "AddApiProfiles",
+ "InterceptNativeFunctions",
+ "TransformFunctions",
+ "TransformProperties",
+ "IdentifySharedPrefixes",
+ "PrettifyNames",
+ "TransformEnums",
+ "AddVTables",
+ "StripAttributes"
+ ],
+ "ClangScraper": {
+ "ClangSharpResponseFiles": [
+ "eng/silktouch/openxr/**/generate.rsp"
+ ],
+ "InputSourceRoot": "sources/OpenXR",
+ "InputTestRoot": "tests/OpenXR"
+ },
+ "AddApiProfiles": {
+ "Profiles": [
+ {
+ "Profile": "openxr",
+ "SourceSubdirectory": "openxr"
+ }
+ ]
+ },
+ "MixKhronosData": {
+ "SpecPath": "eng/submodules/openxr-sdk/specification/registry/xr.xml",
+ "Namespace": "Silk.NET.OpenXR",
+ "StructureTypes": [
+ "XrStructureType"
+ ],
+ "FlagsTypes": [
+ "XrFlags64"
+ ],
+ "IdentifyEnumMemberImpliedVendors": true
+ },
+ "InterceptNativeFunctions": {
+ "NativeFunctionNames": [
+ "xrCreateInstance"
+ ]
+ },
+ "TransformFunctions": {
+ "BoolTypes": {
+ "XrBool32": null
+ }
+ },
+ "TransformProperties": {
+ "BoolTypes": {
+ "XrBool32": null
+ }
+ },
+ "TransformHandles": {
+ "UseDsl": true
+ },
+ "IdentifySharedPrefixes": {
+ "GlobalPrefixHints": ["PFN_xr", "xr"]
+ },
+ "PrettifyNames": {
+ "Affixes": {
+ "HandleType": {
+ "Order": 1
+ },
+ "FunctionPointerDelegateType": {
+ "Order": 1
+ },
+ "KhronosVendor": {
+ "Order": -1
+ },
+ "KhronosImpliedVendor": {
+ "Remove": true
+ },
+ "KhronosHandleType": {
+ "Remove": true
+ },
+ "SharedPrefix": {
+ "Remove": true
+ }
+ }
+ },
+ "TransformEnums": {
+ "AddNoneMemberToFlags": true,
+ "RemoveMembers": [
+ {
+ "MemberName": "MaxEnum",
+ "MemberValue": "0x7FFFFFFF"
+ }
+ ],
+ "CoerceBackingTypes": "PreferUnsigned",
+ "RewriteMemberValues": true
+ },
+ "AddVTables": {
+ "VTables": [
+ {
+ "Kind": "DllImport"
+ },
+ {
+ "Kind": "StaticWrapper"
+ },
+ {
+ "Kind": "ThisThread",
+ "IsDefault": true,
+ "GenerateFactoryPartial": true
+ }
+ ]
+ },
+ "StripAttributes": {
+ "Remove": [
+ "NativeTypeName",
+ "NameAffix",
+ "Transformed"
+ ]
+ }
+ },
"Vulkan": {
"SourceProject": "sources/Vulkan/Vulkan/Silk.NET.Vulkan.csproj",
"Solution": "Silk.NET.slnx",
@@ -432,7 +718,7 @@
]
},
"MixKhronosData": {
- "SpecPath": "eng/submodules/vulkan/xml/vk.xml",
+ "SpecPath": "eng/submodules/vulkan-docs/xml/vk.xml",
"Namespace": "Silk.NET.Vulkan",
"StructureTypes": [
"VkStructureType"
@@ -470,6 +756,7 @@
"IdentifySharedPrefixes": {
"GlobalPrefixHints": ["PFN_vk", "vk"],
"PrefixOverrides": {
+ "VkImageCreateFlags2KHR": "VK_IMAGE_CREATE_2",
"VkPipelineCreateFlags2": "VK_PIPELINE_CREATE_2",
"VkMemoryDecompressionMethodFlagsEXT": "VK_MEMORY_DECOMPRESSION_METHOD"
}
diff --git a/sources/OpenAL/OpenAL/al/ALContext.gen.cs b/sources/OpenAL/OpenAL/al/ALContext.gen.cs
index 81f6a82bc1..cbb083c22b 100644
--- a/sources/OpenAL/OpenAL/al/ALContext.gen.cs
+++ b/sources/OpenAL/OpenAL/al/ALContext.gen.cs
@@ -295,21 +295,26 @@ public static extern void GetInteger(
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static void GetInteger(DeviceHandle device, int param1, int size, Ref values)
+ public static void GetInteger(
+ DeviceHandle device,
+ Constant param1,
+ int size,
+ Ref values
+ )
{
fixed (int* __dsl_values = values)
{
- GetInteger(device, param1, size, __dsl_values);
+ GetInteger(device, (int)param1, size, __dsl_values);
}
}
[NativeName("alcGetIntegerv")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
- public static int GetInteger(DeviceHandle device, int param1)
+ public static int GetInteger(DeviceHandle device, Constant param1)
{
int values = default;
- GetInteger(device, param1, 1, (int*)&values);
+ GetInteger(device, (int)param1, 1, (int*)&values);
return values;
}
@@ -904,8 +909,12 @@ public void GetInteger(DeviceHandle device, int param1, int size, int* values) =
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public void GetInteger(DeviceHandle device, int param1, int size, Ref values) =>
- T.GetInteger(device, param1, size, values);
+ public void GetInteger(
+ DeviceHandle device,
+ Constant param1,
+ int size,
+ Ref values
+ ) => T.GetInteger(device, param1, size, values);
[NativeName("alcGetIntegerv")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
@@ -913,7 +922,8 @@ public void GetInteger(DeviceHandle device, int param1, int size, Ref value
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public int GetInteger(DeviceHandle device, int param1) => T.GetInteger(device, param1);
+ public int GetInteger(DeviceHandle device, Constant param1) =>
+ T.GetInteger(device, param1);
[NativeName("alcGetProcAddress")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
@@ -1555,11 +1565,16 @@ public static void GetInteger(DeviceHandle device, int param1, int size, int* va
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static void GetInteger(DeviceHandle device, int param1, int size, Ref values)
+ public static void GetInteger(
+ DeviceHandle device,
+ Constant param1,
+ int size,
+ Ref values
+ )
{
fixed (int* __dsl_values = values)
{
- GetInteger(device, param1, size, __dsl_values);
+ GetInteger(device, (int)param1, size, __dsl_values);
}
}
@@ -1569,10 +1584,10 @@ public static void GetInteger(DeviceHandle device, int param1, int size, Ref param1)
{
int values = default;
- GetInteger(device, param1, 1, (int*)&values);
+ GetInteger(device, (int)param1, 1, (int*)&values);
return values;
}
@@ -2564,11 +2579,16 @@ public static void GetInteger(DeviceHandle device, int param1, int size, int* va
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- void IALContext.GetInteger(DeviceHandle device, int param1, int size, Ref values)
+ void IALContext.GetInteger(
+ DeviceHandle device,
+ Constant param1,
+ int size,
+ Ref values
+ )
{
fixed (int* __dsl_values = values)
{
- ((IALContext)this).GetInteger(device, param1, size, __dsl_values);
+ ((IALContext)this).GetInteger(device, (int)param1, size, __dsl_values);
}
}
@@ -2576,17 +2596,21 @@ void IALContext.GetInteger(DeviceHandle device, int param1, int size, Ref v
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static void GetInteger(DeviceHandle device, int param1, int size, Ref values) =>
- ThisThread.GetInteger(device, param1, size, values);
+ public static void GetInteger(
+ DeviceHandle device,
+ Constant param1,
+ int size,
+ Ref values
+ ) => ThisThread.GetInteger(device, param1, size, values);
[NativeName("alcGetIntegerv")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- int IALContext.GetInteger(DeviceHandle device, int param1)
+ int IALContext.GetInteger(DeviceHandle device, Constant param1)
{
int values = default;
- ((IALContext)this).GetInteger(device, param1, 1, (int*)&values);
+ ((IALContext)this).GetInteger(device, (int)param1, 1, (int*)&values);
return values;
}
@@ -2594,7 +2618,7 @@ int IALContext.GetInteger(DeviceHandle device, int param1)
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
- public static int GetInteger(DeviceHandle device, int param1) =>
+ public static int GetInteger(DeviceHandle device, Constant param1) =>
ThisThread.GetInteger(device, param1);
[NativeName("alcGetProcAddress")]
diff --git a/sources/OpenAL/OpenAL/al/IALContext.gen.cs b/sources/OpenAL/OpenAL/al/IALContext.gen.cs
index 5dbd4241d9..6baac04f1c 100644
--- a/sources/OpenAL/OpenAL/al/IALContext.gen.cs
+++ b/sources/OpenAL/OpenAL/al/IALContext.gen.cs
@@ -208,12 +208,17 @@ Ref values
[NativeName("alcGetIntegerv")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
- static abstract void GetInteger(DeviceHandle device, int param1, int size, Ref values);
+ static abstract void GetInteger(
+ DeviceHandle device,
+ Constant param1,
+ int size,
+ Ref values
+ );
[NativeName("alcGetIntegerv")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
- static abstract int GetInteger(DeviceHandle device, int param1);
+ static abstract int GetInteger(DeviceHandle device, Constant param1);
[NativeName("alcGetProcAddress")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
@@ -570,12 +575,17 @@ Constant deviceType
[NativeName("alcGetIntegerv")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
- void GetInteger(DeviceHandle device, int param1, int size, Ref values);
+ void GetInteger(
+ DeviceHandle device,
+ Constant param1,
+ int size,
+ Ref values
+ );
[NativeName("alcGetIntegerv")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
[NativeFunction("openal", EntryPoint = "alcGetIntegerv")]
- int GetInteger(DeviceHandle device, int param1);
+ int GetInteger(DeviceHandle device, Constant param1);
[NativeName("alcGetProcAddress")]
[SupportedApiProfile("alc", ["ALC_VERSION_1_0", "ALC_VERSION_1_1"], MinVersion = "1.0")]
diff --git a/sources/OpenAL/Soft.Native/runtimes/android-arm/native/libopenal.so b/sources/OpenAL/Soft.Native/runtimes/android-arm/native/libopenal.so
index 8b0f64ec21..39dc8308d8 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/android-arm/native/libopenal.so and b/sources/OpenAL/Soft.Native/runtimes/android-arm/native/libopenal.so differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/android-arm64/native/libopenal.so b/sources/OpenAL/Soft.Native/runtimes/android-arm64/native/libopenal.so
index 4fd3f598ca..42a0776619 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/android-arm64/native/libopenal.so and b/sources/OpenAL/Soft.Native/runtimes/android-arm64/native/libopenal.so differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/android-x64/native/libopenal.so b/sources/OpenAL/Soft.Native/runtimes/android-x64/native/libopenal.so
index 3c2ec92d5a..534da427bb 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/android-x64/native/libopenal.so and b/sources/OpenAL/Soft.Native/runtimes/android-x64/native/libopenal.so differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/android-x86/native/libopenal.so b/sources/OpenAL/Soft.Native/runtimes/android-x86/native/libopenal.so
index ed41794f25..240fdcf820 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/android-x86/native/libopenal.so and b/sources/OpenAL/Soft.Native/runtimes/android-x86/native/libopenal.so differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/ios/native/libopenal.dylib b/sources/OpenAL/Soft.Native/runtimes/ios/native/libopenal.dylib
index f58e35e947..44c47f1943 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/ios/native/libopenal.dylib and b/sources/OpenAL/Soft.Native/runtimes/ios/native/libopenal.dylib differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/linux-arm/native/libopenal.so b/sources/OpenAL/Soft.Native/runtimes/linux-arm/native/libopenal.so
index 8cf76e295b..f9ccbf5bbe 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/linux-arm/native/libopenal.so and b/sources/OpenAL/Soft.Native/runtimes/linux-arm/native/libopenal.so differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/linux-arm64/native/libopenal.so b/sources/OpenAL/Soft.Native/runtimes/linux-arm64/native/libopenal.so
index c636b3783c..93cdc1f402 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/linux-arm64/native/libopenal.so and b/sources/OpenAL/Soft.Native/runtimes/linux-arm64/native/libopenal.so differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/linux-x64/native/libopenal.so b/sources/OpenAL/Soft.Native/runtimes/linux-x64/native/libopenal.so
index bc5237235c..816ff019b9 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/linux-x64/native/libopenal.so and b/sources/OpenAL/Soft.Native/runtimes/linux-x64/native/libopenal.so differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/osx/native/libopenal.dylib b/sources/OpenAL/Soft.Native/runtimes/osx/native/libopenal.dylib
index d6e299f695..1e04514e03 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/osx/native/libopenal.dylib and b/sources/OpenAL/Soft.Native/runtimes/osx/native/libopenal.dylib differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/tvos/native/libopenal.dylib b/sources/OpenAL/Soft.Native/runtimes/tvos/native/libopenal.dylib
index 2ad7c825d8..00555640eb 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/tvos/native/libopenal.dylib and b/sources/OpenAL/Soft.Native/runtimes/tvos/native/libopenal.dylib differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/tvossimulator/native/libopenal.dylib b/sources/OpenAL/Soft.Native/runtimes/tvossimulator/native/libopenal.dylib
index c0c36b20dc..300b7269d6 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/tvossimulator/native/libopenal.dylib and b/sources/OpenAL/Soft.Native/runtimes/tvossimulator/native/libopenal.dylib differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/OpenAL32.dll b/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/OpenAL32.dll
index 6a46cb52bd..3577178b56 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/OpenAL32.dll and b/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/OpenAL32.dll differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/soft_oal.dll b/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/soft_oal.dll
index e2479997e8..859b1f9065 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/soft_oal.dll and b/sources/OpenAL/Soft.Native/runtimes/win-arm64/native/soft_oal.dll differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/win-x64/native/OpenAL32.dll b/sources/OpenAL/Soft.Native/runtimes/win-x64/native/OpenAL32.dll
index 3e12d32c44..7e0f2ad73c 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/win-x64/native/OpenAL32.dll and b/sources/OpenAL/Soft.Native/runtimes/win-x64/native/OpenAL32.dll differ
diff --git a/sources/OpenAL/Soft.Native/runtimes/win-x64/native/soft_oal.dll b/sources/OpenAL/Soft.Native/runtimes/win-x64/native/soft_oal.dll
index 22d0abf0d5..50b3144b33 100644
Binary files a/sources/OpenAL/Soft.Native/runtimes/win-x64/native/soft_oal.dll and b/sources/OpenAL/Soft.Native/runtimes/win-x64/native/soft_oal.dll differ
diff --git a/sources/OpenCL/OpenCL/Cl.cs b/sources/OpenCL/OpenCL/Cl.cs
new file mode 100644
index 0000000000..b427137520
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Cl.cs
@@ -0,0 +1,118 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Runtime.InteropServices;
+using Silk.NET.Core.Loader;
+
+namespace Silk.NET.OpenCL;
+
+public partial class Cl
+{
+ public const string ErrMultiplePlatformSingleObject =
+ "CurrentPlatform cannot be changed once set, use another API object for additional platforms. For more "
+ + "info, see https://dotnet.github.io/Silk.NET/docs/v3/silk.net/static-vs-instance-bindings";
+
+ static Cl()
+ {
+ LoaderInterface.RegisterAlternativeName("opencl", "OpenCL");
+ LoaderInterface.RegisterAlternativeName(
+ "opencl",
+ "/System/Library/Frameworks/OpenCL.framework/OpenCL"
+ );
+ }
+
+ public partial class StaticWrapper
+ {
+ public PlatformIdHandle CurrentPlatform
+ {
+ get;
+ set
+ {
+ if (field == value)
+ {
+ return;
+ }
+
+ if (field != nullptr)
+ {
+ throw new InvalidOperationException(ErrMultiplePlatformSingleObject);
+ }
+
+ field = value;
+ }
+ }
+
+ public ICl Clone() => new StaticWrapper();
+ }
+
+ public partial class ThisThread
+ {
+ private static partial ICl ContextFactory() => Create();
+ }
+
+ public PlatformIdHandle CurrentPlatform
+ {
+ get;
+ set
+ {
+ if (field == value)
+ {
+ return;
+ }
+
+ if (field != nullptr)
+ {
+ throw new InvalidOperationException(ErrMultiplePlatformSingleObject);
+ }
+
+ field = value;
+ }
+ }
+
+ public static ICl Create()
+ {
+ var context = new NativeContext();
+ var cl = new Cl(context);
+ context.Cl = cl;
+
+ return cl;
+ }
+
+ public unsafe ICl Clone()
+ {
+ var context = new NativeContext();
+ var cl = new Cl(context);
+
+ context.Cl = cl;
+
+ cl.CurrentPlatform = CurrentPlatform;
+ Array.Copy(_slots, cl._slots, _slots.Length);
+
+ return cl;
+ }
+
+ private class NativeContext : INativeContext
+ {
+ public Cl Cl { get; set; } = null!;
+ private ICl Icl => Cl;
+
+ public unsafe void* LoadFunction(string functionName, string libraryNameHint)
+ {
+ if (functionName == "clGetExtensionFunctionAddressForPlatform")
+ {
+ return (delegate* unmanaged)
+ &GetExtensionFunctionAddressForPlatform;
+ }
+
+ return Icl.GetExtensionFunctionAddressForPlatform(Cl.CurrentPlatform, functionName);
+ }
+
+ [UnmanagedCallersOnly]
+ private static unsafe void* GetExtensionFunctionAddressForPlatform(
+ PlatformIdHandle instance,
+ sbyte* name
+ ) => DllImport.GetExtensionFunctionAddressForPlatform(instance, name);
+
+ public void Dispose() { }
+ }
+}
diff --git a/sources/OpenCL/OpenCL/Cl.gen.cs b/sources/OpenCL/OpenCL/Cl.gen.cs
new file mode 100644
index 0000000000..2863415478
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Cl.gen.cs
@@ -0,0 +1,36 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using Silk.NET.Core.Loader;
+
+namespace Silk.NET.OpenCL;
+
+partial class Cl(INativeContext nativeContext) : IDisposable
+{
+ public partial class DllImport : ICl.Static
+ {
+ static DllImport() => LoaderInterface.RegisterHook(Assembly.GetExecutingAssembly());
+ }
+
+ public partial class ThisThread : ICl.Static
+ {
+ public static ThreadLocal Underlying { get; } = new(ContextFactory);
+
+ public static void MakeCurrent(ICl ctx) => Underlying.Value = ctx;
+
+ private static partial ICl ContextFactory();
+ }
+
+ private readonly unsafe void*[] _slots = new void*[179];
+
+ public static ICl Create(INativeContext ctx) => new Cl(ctx);
+
+ ///
+ public void Dispose() => nativeContext.Dispose();
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AcceleratorInfoINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AcceleratorInfoINTEL.gen.cs
new file mode 100644
index 0000000000..29d2dbfbdf
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AcceleratorInfoINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_accelerator_info_intel")]
+public enum AcceleratorInfoINTEL : uint
+{
+ [NativeName("CL_ACCELERATOR_DESCRIPTOR_INTEL")]
+ Descriptor = 16528,
+
+ [NativeName("CL_ACCELERATOR_REFERENCE_COUNT_INTEL")]
+ ReferenceCount = 16529,
+
+ [NativeName("CL_ACCELERATOR_CONTEXT_INTEL")]
+ Context = 16530,
+
+ [NativeName("CL_ACCELERATOR_TYPE_INTEL")]
+ Type = 16531,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AcceleratorTypeINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AcceleratorTypeINTEL.gen.cs
new file mode 100644
index 0000000000..9a3038358a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AcceleratorTypeINTEL.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_accelerator_type_intel")]
+public enum AcceleratorTypeINTEL : uint
+{
+ [NativeName("CL_ACCELERATOR_TYPE_MOTION_ESTIMATION_INTEL")]
+ MotionEstimation = 0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AddressingMode.gen.cs b/sources/OpenCL/OpenCL/Enums/AddressingMode.gen.cs
new file mode 100644
index 0000000000..7d34f76d98
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AddressingMode.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_addressing_mode")]
+public enum AddressingMode : uint
+{
+ [NativeName("CL_ADDRESS_NONE")]
+ None = 4400,
+
+ [NativeName("CL_ADDRESS_CLAMP_TO_EDGE")]
+ ClampToEdge = 4401,
+
+ [NativeName("CL_ADDRESS_CLAMP")]
+ Clamp = 4402,
+
+ [NativeName("CL_ADDRESS_REPEAT")]
+ Repeat = 4403,
+
+ [NativeName("CL_ADDRESS_MIRRORED_REPEAT")]
+ MirroredRepeat = 4404,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationDeviceMeVersionINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationDeviceMeVersionINTEL.gen.cs
new file mode 100644
index 0000000000..f887278aea
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationDeviceMeVersionINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.device_me_version")]
+public enum AdvancedMotionEstimationDeviceMeVersionINTEL : uint
+{
+ [NativeName("CL_ME_VERSION_LEGACY_INTEL")]
+ Legacy = 0,
+
+ [NativeName("CL_ME_VERSION_ADVANCED_VER_1_INTEL")]
+ AdvancedVer1 = 1,
+
+ [NativeName("CL_ME_VERSION_ADVANCED_VER_2_INTEL")]
+ AdvancedVer2 = 2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationFlagsINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationFlagsINTEL.gen.cs
new file mode 100644
index 0000000000..4f2fafb9cd
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationFlagsINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.flags")]
+[Flags]
+public enum AdvancedMotionEstimationFlagsINTEL : uint
+{
+ None = 0x0,
+
+ [NativeName("CL_ME_CHROMA_INTRA_PREDICT_ENABLED_INTEL")]
+ ChromaIntraPredictEnabled = 0x1,
+
+ [NativeName("CL_ME_LUMA_INTRA_PREDICT_ENABLED_INTEL")]
+ LumaIntraPredictEnabled = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationIntraSearchPredictionModesBufferChromaBlockINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationIntraSearchPredictionModesBufferChromaBlockINTEL.gen.cs
new file mode 100644
index 0000000000..68fff267c3
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationIntraSearchPredictionModesBufferChromaBlockINTEL.gen.cs
@@ -0,0 +1,28 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName(
+ "cl_intel_advanced_motion_estimation.intra_search_prediction_modes_buffer.chroma_block"
+)]
+public enum AdvancedMotionEstimationIntraSearchPredictionModesBufferChromaBlockINTEL : uint
+{
+ [NativeName("CL_ME_CHROMA_PREDICTOR_MODE_DC_INTEL")]
+ Dc = 0,
+
+ [NativeName("CL_ME_CHROMA_PREDICTOR_MODE_HORIZONTAL_INTEL")]
+ Horizontal = 1,
+
+ [NativeName("CL_ME_CHROMA_PREDICTOR_MODE_VERTICAL_INTEL")]
+ Vertical = 2,
+
+ [NativeName("CL_ME_CHROMA_PREDICTOR_MODE_PLANE_INTEL")]
+ Plane = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationIntraSearchPredictionModesBufferLumaBlockINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationIntraSearchPredictionModesBufferLumaBlockINTEL.gen.cs
new file mode 100644
index 0000000000..780f95c4db
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationIntraSearchPredictionModesBufferLumaBlockINTEL.gen.cs
@@ -0,0 +1,44 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.intra_search_prediction_modes_buffer.luma_block")]
+public enum AdvancedMotionEstimationIntraSearchPredictionModesBufferLumaBlockINTEL : uint
+{
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_INTEL")]
+ Vertical = 0,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_INTEL")]
+ Horizontal = 1,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_DC_INTEL")]
+ Dc = 2,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT_INTEL")]
+ DiagonalDownLeft = 3,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT_INTEL")]
+ DiagonalDownRight = 4,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_PLANE_INTEL")]
+ Plane = 4,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT_INTEL")]
+ VerticalRight = 5,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_DOWN_INTEL")]
+ HorizontalDown = 6,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_VERTICAL_LEFT_INTEL")]
+ VerticalLeft = 7,
+
+ [NativeName("CL_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_UP_INTEL")]
+ HorizontalUp = 8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationMotionDetectDesc2INTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationMotionDetectDesc2INTEL.gen.cs
new file mode 100644
index 0000000000..7a1d803493
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationMotionDetectDesc2INTEL.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.cl_motion_detect_desc_intel.2")]
+public enum AdvancedMotionEstimationMotionDetectDesc2INTEL : uint
+{
+ [NativeName("CL_ME_BIDIR_WEIGHT_QUARTER_INTEL")]
+ Quarter = 16,
+
+ [NativeName("CL_ME_BIDIR_WEIGHT_THIRD_INTEL")]
+ Third = 21,
+
+ [NativeName("CL_ME_BIDIR_WEIGHT_HALF_INTEL")]
+ Half = 32,
+
+ [NativeName("CL_ME_BIDIR_WEIGHT_TWO_THIRD_INTEL")]
+ TwoThird = 43,
+
+ [NativeName("CL_ME_BIDIR_WEIGHT_THREE_QUARTER_INTEL")]
+ ThreeQuarter = 48,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationMotionDetectDescINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationMotionDetectDescINTEL.gen.cs
new file mode 100644
index 0000000000..db29c8798e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationMotionDetectDescINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.cl_motion_detect_desc_intel")]
+public enum AdvancedMotionEstimationMotionDetectDescINTEL : uint
+{
+ [NativeName("CL_ME_FORWARD_INPUT_MODE_INTEL")]
+ ForwardInputMode = 1,
+
+ [NativeName("CL_ME_BACKWARD_INPUT_MODE_INTEL")]
+ BackwardInputMode = 2,
+
+ [NativeName("CL_ME_BIDIRECTION_INPUT_MODE_INTEL")]
+ BidirectionInputMode = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSearchCostPenaltyINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSearchCostPenaltyINTEL.gen.cs
new file mode 100644
index 0000000000..0405237336
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSearchCostPenaltyINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.search_cost_penalty")]
+public enum AdvancedMotionEstimationSearchCostPenaltyINTEL : uint
+{
+ [NativeName("CL_ME_COST_PENALTY_NONE_INTEL")]
+ None = 0,
+
+ [NativeName("CL_ME_COST_PENALTY_LOW_INTEL")]
+ Low = 1,
+
+ [NativeName("CL_ME_COST_PENALTY_NORMAL_INTEL")]
+ Normal = 2,
+
+ [NativeName("CL_ME_COST_PENALTY_HIGH_INTEL")]
+ High = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSearchCostPrecisionINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSearchCostPrecisionINTEL.gen.cs
new file mode 100644
index 0000000000..48fb6aeb04
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSearchCostPrecisionINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.search_cost_precision")]
+public enum AdvancedMotionEstimationSearchCostPrecisionINTEL : uint
+{
+ [NativeName("CL_ME_COST_PRECISION_QPEL_INTEL")]
+ Qpel = 0,
+
+ [NativeName("CL_ME_COST_PRECISION_HPEL_INTEL")]
+ Hpel = 1,
+
+ [NativeName("CL_ME_COST_PRECISION_PEL_INTEL")]
+ Pel = 2,
+
+ [NativeName("CL_ME_COST_PRECISION_DPEL_INTEL")]
+ Dpel = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSkipBlockTypeINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSkipBlockTypeINTEL.gen.cs
new file mode 100644
index 0000000000..d5ab1483b3
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AdvancedMotionEstimationSkipBlockTypeINTEL.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_advanced_motion_estimation.skip_block_type")]
+public enum AdvancedMotionEstimationSkipBlockTypeINTEL : uint
+{
+ [NativeName("CL_ME_SKIP_BLOCK_TYPE_16x16_INTEL")]
+ Type16x16 = 0,
+
+ [NativeName("CL_ME_SKIP_BLOCK_TYPE_8x8_INTEL")]
+ Type8x8 = 4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AffinityDomainEXT.gen.cs b/sources/OpenCL/OpenCL/Enums/AffinityDomainEXT.gen.cs
new file mode 100644
index 0000000000..0e6b61d974
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AffinityDomainEXT.gen.cs
@@ -0,0 +1,32 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_affinity_domain_ext")]
+public enum AffinityDomainEXT : uint
+{
+ [NativeName("CL_AFFINITY_DOMAIN_L1_CACHE_EXT")]
+ L1Cache = 1,
+
+ [NativeName("CL_AFFINITY_DOMAIN_L2_CACHE_EXT")]
+ L2Cache = 2,
+
+ [NativeName("CL_AFFINITY_DOMAIN_L3_CACHE_EXT")]
+ L3Cache = 3,
+
+ [NativeName("CL_AFFINITY_DOMAIN_L4_CACHE_EXT")]
+ L4Cache = 4,
+
+ [NativeName("CL_AFFINITY_DOMAIN_NUMA_EXT")]
+ Numa = 16,
+
+ [NativeName("CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT")]
+ NextFissionable = 256,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/AllocationType.gen.cs b/sources/OpenCL/OpenCL/Enums/AllocationType.gen.cs
new file mode 100644
index 0000000000..4847bae3ce
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/AllocationType.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("allocation_type")]
+public enum AllocationType : uint
+{
+ [NativeName("CL_MEM_ION_HOST_PTR_QCOM")]
+ IonHostPtrQCOM = 16552,
+
+ [NativeName("CL_MEM_ANDROID_NATIVE_BUFFER_HOST_PTR_QCOM")]
+ AndroidNativeBufferHostPtrQCOM = 16582,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/Bool.gen.cs b/sources/OpenCL/OpenCL/Enums/Bool.gen.cs
new file mode 100644
index 0000000000..26577e7423
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/Bool.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_bool")]
+public enum Bool : uint
+{
+ [NativeName("CL_FALSE")]
+ False = 0,
+
+ [NativeName("CL_TRUE")]
+ True = 1,
+
+ [NativeName("CL_BLOCKING")]
+ Blocking = 1,
+
+ [NativeName("CL_NON_BLOCKING")]
+ NonBlocking = 0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/BufferCreateType.gen.cs b/sources/OpenCL/OpenCL/Enums/BufferCreateType.gen.cs
new file mode 100644
index 0000000000..8c0ff038fc
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/BufferCreateType.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_buffer_create_type")]
+public enum BufferCreateType : uint
+{
+ [NativeName("CL_BUFFER_CREATE_TYPE_REGION")]
+ Region = 4640,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/BuildStatus.gen.cs b/sources/OpenCL/OpenCL/Enums/BuildStatus.gen.cs
new file mode 100644
index 0000000000..b98886894d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/BuildStatus.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_build_status")]
+public enum BuildStatus : int
+{
+ [NativeName("CL_BUILD_SUCCESS")]
+ Success = 0,
+
+ [NativeName("CL_BUILD_NONE")]
+ None = -1,
+
+ [NativeName("CL_BUILD_ERROR")]
+ Error = -2,
+
+ [NativeName("CL_BUILD_IN_PROGRESS")]
+ InProgress = -3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ChannelOrder.gen.cs b/sources/OpenCL/OpenCL/Enums/ChannelOrder.gen.cs
new file mode 100644
index 0000000000..7af07ad76e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ChannelOrder.gen.cs
@@ -0,0 +1,92 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_channel_order")]
+public enum ChannelOrder : uint
+{
+ [NativeName("CL_R")]
+ R = 4272,
+
+ [NativeName("CL_A")]
+ A = 4273,
+
+ [NativeName("CL_RG")]
+ Rg = 4274,
+
+ [NativeName("CL_RA")]
+ Ra = 4275,
+
+ [NativeName("CL_RGB")]
+ Rgb = 4276,
+
+ [NativeName("CL_RGBA")]
+ Rgba = 4277,
+
+ [NativeName("CL_BGRA")]
+ Bgra = 4278,
+
+ [NativeName("CL_ARGB")]
+ Argb = 4279,
+
+ [NativeName("CL_INTENSITY")]
+ Intensity = 4280,
+
+ [NativeName("CL_LUMINANCE")]
+ Luminance = 4281,
+
+ [NativeName("CL_Rx")]
+ Rx = 4282,
+
+ [NativeName("CL_RGx")]
+ RGx = 4283,
+
+ [NativeName("CL_RGBx")]
+ RGBx = 4284,
+
+ [NativeName("CL_DEPTH")]
+ Depth = 4285,
+
+ [NativeName("CL_sRGB")]
+ SRgb = 4287,
+
+ [NativeName("CL_sRGBx")]
+ SRGBx = 4288,
+
+ [NativeName("CL_sRGBA")]
+ SRgba = 4289,
+
+ [NativeName("CL_sBGRA")]
+ SBgra = 4290,
+
+ [NativeName("CL_ABGR")]
+ Abgr = 4291,
+
+ [NativeName("CL_NV21_IMG")]
+ Nv21IMG = 16592,
+
+ [NativeName("CL_YV12_IMG")]
+ Yv12IMG = 16593,
+
+ [NativeName("CL_YUYV_INTEL")]
+ YuyvINTEL = 16502,
+
+ [NativeName("CL_UYVY_INTEL")]
+ UyvyINTEL = 16503,
+
+ [NativeName("CL_YVYU_INTEL")]
+ YvyuINTEL = 16504,
+
+ [NativeName("CL_VYUY_INTEL")]
+ VyuyINTEL = 16505,
+
+ [NativeName("CL_NV12_INTEL")]
+ Nv12INTEL = 16654,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ChannelType.gen.cs b/sources/OpenCL/OpenCL/Enums/ChannelType.gen.cs
new file mode 100644
index 0000000000..fcae68cc0b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ChannelType.gen.cs
@@ -0,0 +1,89 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_channel_type")]
+public enum ChannelType : uint
+{
+ [NativeName("CL_SNORM_INT8")]
+ SnormInt8 = 4304,
+
+ [NativeName("CL_SNORM_INT16")]
+ SnormInt16 = 4305,
+
+ [NativeName("CL_UNORM_INT8")]
+ UnormInt8 = 4306,
+
+ [NativeName("CL_UNORM_INT16")]
+ UnormInt16 = 4307,
+
+ [NativeName("CL_UNORM_SHORT_565")]
+ UnormShort565 = 4308,
+
+ [NativeName("CL_UNORM_SHORT_555")]
+ UnormShort555 = 4309,
+
+ [NativeName("CL_UNORM_INT_101010")]
+ UnormInt101010 = 4310,
+
+ [NativeName("CL_SIGNED_INT8")]
+ SignedInt8 = 4311,
+
+ [NativeName("CL_SIGNED_INT16")]
+ SignedInt16 = 4312,
+
+ [NativeName("CL_SIGNED_INT32")]
+ SignedInt32 = 4313,
+
+ [NativeName("CL_UNSIGNED_INT8")]
+ UnsignedInt8 = 4314,
+
+ [NativeName("CL_UNSIGNED_INT16")]
+ UnsignedInt16 = 4315,
+
+ [NativeName("CL_UNSIGNED_INT32")]
+ UnsignedInt32 = 4316,
+
+ [NativeName("CL_HALF_FLOAT")]
+ HalfFloat = 4317,
+
+ [NativeName("CL_FLOAT")]
+ Float = 4318,
+
+ [NativeName("CL_UNORM_INT_101010_2")]
+ UnormInt101010x2 = 4320,
+
+ [NativeName("CL_UNSIGNED_INT_RAW10_EXT")]
+ UnsignedIntRaw10EXT = 4323,
+
+ [NativeName("CL_UNSIGNED_INT_RAW12_EXT")]
+ UnsignedIntRaw12EXT = 4324,
+
+ [NativeName("CL_UNORM_INT_2_101010_EXT")]
+ UnormInt2x101010EXT = 4325,
+
+ [NativeName("CL_UNSIGNED_INT10X6_EXT")]
+ UnsignedInt10x6EXT = 4326,
+
+ [NativeName("CL_UNSIGNED_INT12X4_EXT")]
+ UnsignedInt12x4EXT = 4327,
+
+ [NativeName("CL_UNSIGNED_INT14X2_EXT")]
+ UnsignedInt14x2EXT = 4328,
+
+ [NativeName("CL_UNORM_INT10X6_EXT")]
+ UnormInt10x6EXT = 4321,
+
+ [NativeName("CL_UNORM_INT12X4_EXT")]
+ UnormInt12x4EXT = 4329,
+
+ [NativeName("CL_UNORM_INT14X2_EXT")]
+ UnormInt14x2EXT = 4330,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CommandBufferFlagsKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandBufferFlagsKHR.gen.cs
new file mode 100644
index 0000000000..ded6076328
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandBufferFlagsKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_buffer_flags_khr")]
+[Flags]
+public enum CommandBufferFlagsKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CommandBufferInfoKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandBufferInfoKHR.gen.cs
new file mode 100644
index 0000000000..ed4163681a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandBufferInfoKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_buffer_info_khr")]
+public enum CommandBufferInfoKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/CommandBufferPropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandBufferPropertiesKHR.gen.cs
new file mode 100644
index 0000000000..55172fe57a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandBufferPropertiesKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_buffer_properties_khr")]
+public enum CommandBufferPropertiesKHR : ulong { }
diff --git a/sources/OpenCL/OpenCL/Enums/CommandBufferStateKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandBufferStateKHR.gen.cs
new file mode 100644
index 0000000000..c6be0cebd3
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandBufferStateKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_buffer_state_khr")]
+public enum CommandBufferStateKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/CommandBufferUpdateTypeKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandBufferUpdateTypeKHR.gen.cs
new file mode 100644
index 0000000000..f3237426a2
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandBufferUpdateTypeKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_buffer_update_type_khr")]
+public enum CommandBufferUpdateTypeKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/CommandExecutionStatus.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandExecutionStatus.gen.cs
new file mode 100644
index 0000000000..67e10cf3af
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandExecutionStatus.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("clCommandExecutionStatus")]
+public enum CommandExecutionStatus : uint
+{
+ [NativeName("CL_COMPLETE")]
+ Complete = 0,
+
+ [NativeName("CL_RUNNING")]
+ Running = 1,
+
+ [NativeName("CL_SUBMITTED")]
+ Submitted = 2,
+
+ [NativeName("CL_QUEUED")]
+ Queued = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CommandPropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandPropertiesKHR.gen.cs
new file mode 100644
index 0000000000..b2d9bfd370
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandPropertiesKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_properties_khr")]
+public enum CommandPropertiesKHR : ulong { }
diff --git a/sources/OpenCL/OpenCL/Enums/CommandQueueCapabilitiesINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandQueueCapabilitiesINTEL.gen.cs
new file mode 100644
index 0000000000..38918e7df0
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandQueueCapabilitiesINTEL.gen.cs
@@ -0,0 +1,65 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_queue_capabilities_intel")]
+[Flags]
+public enum CommandQueueCapabilitiesINTEL : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_QUEUE_CAPABILITY_CREATE_SINGLE_QUEUE_EVENTS_INTEL")]
+ CreateSingleQueueEvents = 0x1,
+
+ [NativeName("CL_QUEUE_CAPABILITY_CREATE_CROSS_QUEUE_EVENTS_INTEL")]
+ CreateCrossQueueEvents = 0x2,
+
+ [NativeName("CL_QUEUE_CAPABILITY_SINGLE_QUEUE_EVENT_WAIT_LIST_INTEL")]
+ SingleQueueEventWaitList = 0x4,
+
+ [NativeName("CL_QUEUE_CAPABILITY_CROSS_QUEUE_EVENT_WAIT_LIST_INTEL")]
+ CrossQueueEventWaitList = 0x8,
+
+ [NativeName("CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_INTEL")]
+ TransferBuffer = 0x100,
+
+ [NativeName("CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_RECT_INTEL")]
+ TransferBufferRect = 0x200,
+
+ [NativeName("CL_QUEUE_CAPABILITY_MAP_BUFFER_INTEL")]
+ MapBuffer = 0x400,
+
+ [NativeName("CL_QUEUE_CAPABILITY_FILL_BUFFER_INTEL")]
+ FillBuffer = 0x800,
+
+ [NativeName("CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL")]
+ TransferImage = 0x1000,
+
+ [NativeName("CL_QUEUE_CAPABILITY_MAP_IMAGE_INTEL")]
+ MapImage = 0x2000,
+
+ [NativeName("CL_QUEUE_CAPABILITY_FILL_IMAGE_INTEL")]
+ FillImage = 0x4000,
+
+ [NativeName("CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_IMAGE_INTEL")]
+ TransferBufferImage = 0x8000,
+
+ [NativeName("CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_BUFFER_INTEL")]
+ TransferImageBuffer = 0x10000,
+
+ [NativeName("CL_QUEUE_CAPABILITY_MARKER_INTEL")]
+ Marker = 0x1000000,
+
+ [NativeName("CL_QUEUE_CAPABILITY_BARRIER_INTEL")]
+ Barrier = 0x2000000,
+
+ [NativeName("CL_QUEUE_CAPABILITY_KERNEL_INTEL")]
+ Kernel = 0x4000000,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CommandQueueInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandQueueInfo.gen.cs
new file mode 100644
index 0000000000..4afb3be949
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandQueueInfo.gen.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_queue_info")]
+public enum CommandQueueInfo : uint
+{
+ [NativeName("CL_QUEUE_CONTEXT")]
+ Context = 4240,
+
+ [NativeName("CL_QUEUE_DEVICE")]
+ Device = 4241,
+
+ [NativeName("CL_QUEUE_REFERENCE_COUNT")]
+ ReferenceCount = 4242,
+
+ [NativeName("CL_QUEUE_PROPERTIES")]
+ Properties = 4243,
+
+ [NativeName("CL_QUEUE_SIZE")]
+ Size = 4244,
+
+ [NativeName("CL_QUEUE_DEVICE_DEFAULT")]
+ DeviceDefault = 4245,
+
+ [NativeName("CL_QUEUE_PROPERTIES_ARRAY")]
+ PropertiesArray = 4248,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CommandQueueProperties.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandQueueProperties.gen.cs
new file mode 100644
index 0000000000..4ebc133b67
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandQueueProperties.gen.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_queue_properties")]
+[Flags]
+public enum CommandQueueProperties : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE")]
+ OutOfOrderExecModeEnable = 0x1,
+
+ [NativeName("CL_QUEUE_PROFILING_ENABLE")]
+ ProfilingEnable = 0x2,
+
+ [NativeName("CL_QUEUE_ON_DEVICE")]
+ OnDevice = 0x4,
+
+ [NativeName("CL_QUEUE_ON_DEVICE_DEFAULT")]
+ OnDeviceDefault = 0x8,
+
+ [NativeName("CL_QUEUE_THREAD_LOCAL_EXEC_ENABLE_INTEL")]
+ ThreadLocalExecEnableINTEL = 0x80000000,
+
+ [NativeName("CL_QUEUE_NO_SYNC_OPERATIONS_INTEL")]
+ NoSyncOperationsINTEL = 0x20000000,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CommandTerminationReasonARM.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandTerminationReasonARM.gen.cs
new file mode 100644
index 0000000000..67b8ed4b3a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandTerminationReasonARM.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_termination_reason_arm")]
+public enum CommandTerminationReasonARM : uint
+{
+ [NativeName("CL_COMMAND_TERMINATION_COMPLETION_ARM")]
+ Completion = 0,
+
+ [NativeName("CL_COMMAND_TERMINATION_CONTROLLED_SUCCESS_ARM")]
+ ControlledSuccess = 1,
+
+ [NativeName("CL_COMMAND_TERMINATION_CONTROLLED_FAILURE_ARM")]
+ ControlledFailure = 2,
+
+ [NativeName("CL_COMMAND_TERMINATION_ERROR_ARM")]
+ Error = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CommandType.gen.cs b/sources/OpenCL/OpenCL/Enums/CommandType.gen.cs
new file mode 100644
index 0000000000..82cd5eca3b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CommandType.gen.cs
@@ -0,0 +1,158 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_type")]
+public enum CommandType : uint
+{
+ [NativeName("CL_COMMAND_NDRANGE_KERNEL")]
+ NdrangeKernel = 4592,
+
+ [NativeName("CL_COMMAND_TASK")]
+ Task = 4593,
+
+ [NativeName("CL_COMMAND_NATIVE_KERNEL")]
+ NativeKernel = 4594,
+
+ [NativeName("CL_COMMAND_READ_BUFFER")]
+ ReadBuffer = 4595,
+
+ [NativeName("CL_COMMAND_WRITE_BUFFER")]
+ WriteBuffer = 4596,
+
+ [NativeName("CL_COMMAND_COPY_BUFFER")]
+ CopyBuffer = 4597,
+
+ [NativeName("CL_COMMAND_READ_IMAGE")]
+ ReadImage = 4598,
+
+ [NativeName("CL_COMMAND_WRITE_IMAGE")]
+ WriteImage = 4599,
+
+ [NativeName("CL_COMMAND_COPY_IMAGE")]
+ CopyImage = 4600,
+
+ [NativeName("CL_COMMAND_COPY_IMAGE_TO_BUFFER")]
+ CopyImageToBuffer = 4601,
+
+ [NativeName("CL_COMMAND_COPY_BUFFER_TO_IMAGE")]
+ CopyBufferToImage = 4602,
+
+ [NativeName("CL_COMMAND_MAP_BUFFER")]
+ MapBuffer = 4603,
+
+ [NativeName("CL_COMMAND_MAP_IMAGE")]
+ MapImage = 4604,
+
+ [NativeName("CL_COMMAND_UNMAP_MEM_OBJECT")]
+ UnmapMemObject = 4605,
+
+ [NativeName("CL_COMMAND_MARKER")]
+ Marker = 4606,
+
+ [NativeName("CL_COMMAND_ACQUIRE_GL_OBJECTS")]
+ AcquireGlObjects = 4607,
+
+ [NativeName("CL_COMMAND_RELEASE_GL_OBJECTS")]
+ ReleaseGlObjects = 4608,
+
+ [NativeName("CL_COMMAND_READ_BUFFER_RECT")]
+ ReadBufferRect = 4609,
+
+ [NativeName("CL_COMMAND_WRITE_BUFFER_RECT")]
+ WriteBufferRect = 4610,
+
+ [NativeName("CL_COMMAND_COPY_BUFFER_RECT")]
+ CopyBufferRect = 4611,
+
+ [NativeName("CL_COMMAND_USER")]
+ User = 4612,
+
+ [NativeName("CL_COMMAND_BARRIER")]
+ Barrier = 4613,
+
+ [NativeName("CL_COMMAND_MIGRATE_MEM_OBJECTS")]
+ MigrateMemObjects = 4614,
+
+ [NativeName("CL_COMMAND_FILL_BUFFER")]
+ FillBuffer = 4615,
+
+ [NativeName("CL_COMMAND_FILL_IMAGE")]
+ FillImage = 4616,
+
+ [NativeName("CL_COMMAND_SVM_FREE")]
+ SvmFree = 4617,
+
+ [NativeName("CL_COMMAND_SVM_MEMCPY")]
+ SvmMemcpy = 4618,
+
+ [NativeName("CL_COMMAND_SVM_MEMFILL")]
+ SvmMemfill = 4619,
+
+ [NativeName("CL_COMMAND_SVM_MAP")]
+ SvmMap = 4620,
+
+ [NativeName("CL_COMMAND_SVM_UNMAP")]
+ SvmUnmap = 4621,
+
+ [NativeName("CL_COMMAND_SVM_MIGRATE_MEM")]
+ SvmMigrateMem = 4622,
+
+ [NativeName("CL_COMMAND_MIGRATE_MEM_OBJECT_EXT")]
+ MigrateMemObjectEXT = 16448,
+
+ [NativeName("CL_COMMAND_ACQUIRE_GRALLOC_OBJECTS_IMG")]
+ AcquireGrallocObjectsIMG = 16594,
+
+ [NativeName("CL_COMMAND_RELEASE_GRALLOC_OBJECTS_IMG")]
+ ReleaseGrallocObjectsIMG = 16595,
+
+ [NativeName("CL_COMMAND_GENERATE_MIPMAP_IMG")]
+ GenerateMipmapIMG = 16598,
+
+ [NativeName("CL_COMMAND_ACQUIRE_EXTERNAL_MEM_OBJECTS_KHR")]
+ AcquireExternalMemObjectsKHR = 8263,
+
+ [NativeName("CL_COMMAND_RELEASE_EXTERNAL_MEM_OBJECTS_KHR")]
+ ReleaseExternalMemObjectsKHR = 8264,
+
+ [NativeName("CL_COMMAND_SEMAPHORE_WAIT_KHR")]
+ SemaphoreWaitKHR = 8258,
+
+ [NativeName("CL_COMMAND_SEMAPHORE_SIGNAL_KHR")]
+ SemaphoreSignalKHR = 8259,
+
+ [NativeName("CL_COMMAND_SVM_FREE_ARM")]
+ SvmFreeARM = 16570,
+
+ [NativeName("CL_COMMAND_SVM_MEMCPY_ARM")]
+ SvmMemcpyARM = 16571,
+
+ [NativeName("CL_COMMAND_SVM_MEMFILL_ARM")]
+ SvmMemfillARM = 16572,
+
+ [NativeName("CL_COMMAND_SVM_MAP_ARM")]
+ SvmMapARM = 16573,
+
+ [NativeName("CL_COMMAND_SVM_UNMAP_ARM")]
+ SvmUnmapARM = 16574,
+
+ [NativeName("CL_COMMAND_MEMFILL_INTEL")]
+ MemfillINTEL = 16900,
+
+ [NativeName("CL_COMMAND_MEMCPY_INTEL")]
+ MemcpyINTEL = 16901,
+
+ [NativeName("CL_COMMAND_MIGRATEMEM_INTEL")]
+ MigratememINTEL = 16902,
+
+ [NativeName("CL_COMMAND_MEMADVISE_INTEL")]
+ MemadviseINTEL = 16903,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/CompilerModeAltera.gen.cs b/sources/OpenCL/OpenCL/Enums/CompilerModeAltera.gen.cs
new file mode 100644
index 0000000000..04c2982d6e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/CompilerModeAltera.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_compiler_mode_altera")]
+public enum CompilerModeAltera : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/ContextInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/ContextInfo.gen.cs
new file mode 100644
index 0000000000..abaa579e37
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ContextInfo.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_context_info")]
+public enum ContextInfo : uint
+{
+ [NativeName("CL_CONTEXT_REFERENCE_COUNT")]
+ ReferenceCount = 4224,
+
+ [NativeName("CL_CONTEXT_DEVICES")]
+ Devices = 4225,
+
+ [NativeName("CL_CONTEXT_PROPERTIES")]
+ Properties = 4226,
+
+ [NativeName("CL_CONTEXT_NUM_DEVICES")]
+ NumDevices = 4227,
+
+ [NativeName("CL_CONTEXT_PERF_HINT_QCOM")]
+ PerfHintQCOM = 16578,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ContextMemoryInitializeKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/ContextMemoryInitializeKHR.gen.cs
new file mode 100644
index 0000000000..7316020d7f
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ContextMemoryInitializeKHR.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_context_memory_initialize_khr")]
+[Flags]
+public enum ContextMemoryInitializeKHR : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_CONTEXT_MEMORY_INITIALIZE_LOCAL_KHR")]
+ Local = 0x1,
+
+ [NativeName("CL_CONTEXT_MEMORY_INITIALIZE_PRIVATE_KHR")]
+ Private = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ContextProperties.gen.cs b/sources/OpenCL/OpenCL/Enums/ContextProperties.gen.cs
new file mode 100644
index 0000000000..92b24e2adc
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ContextProperties.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_context_properties")]
+public enum ContextProperties : long
+{
+ [NativeName("CL_CONTEXT_PLATFORM")]
+ ContextPlatform = 4228,
+
+ [NativeName("CL_CONTEXT_INTEROP_USER_SYNC")]
+ ContextInteropUserSync = 4229,
+
+ [NativeName("CL_CONTEXT_MEMORY_INITIALIZE_KHR")]
+ ContextMemoryInitializeKHR = 8240,
+
+ [NativeName("CL_CONTEXT_TERMINATE_KHR")]
+ ContextTerminateKHR = 8242,
+
+ [NativeName("CL_PRINTF_CALLBACK_ARM")]
+ PrintfCallbackARM = 16560,
+
+ [NativeName("CL_PRINTF_BUFFERSIZE_ARM")]
+ PrintfBuffersizeARM = 16561,
+
+ [NativeName("CL_CONTEXT_SHOW_DIAGNOSTICS_INTEL")]
+ ContextShowDiagnosticsINTEL = 16646,
+
+ [NativeName("CL_CONTEXT_SAFETY_PROPERTIES_IMG")]
+ ContextSafetyPropertiesIMG = 16601,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ContextSafetyPropertiesIMG.gen.cs b/sources/OpenCL/OpenCL/Enums/ContextSafetyPropertiesIMG.gen.cs
new file mode 100644
index 0000000000..97ac14f77c
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ContextSafetyPropertiesIMG.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_context_safety_properties_img")]
+[Flags]
+public enum ContextSafetyPropertiesIMG : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_CONTEXT_WORKGROUP_PROTECTION_IMG")]
+ WorkgroupProtection = 0x1,
+
+ [NativeName("CL_CONTEXT_ENHANCED_EVENT_EXECUTION_STATUS_IMG")]
+ EnhancedEventExecutionStatus = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/D3D10DeviceSetKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/D3D10DeviceSetKHR.gen.cs
new file mode 100644
index 0000000000..ff470f0f1b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/D3D10DeviceSetKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_d3d10_device_set_khr")]
+public enum D3D10DeviceSetKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/D3D10DeviceSourceKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/D3D10DeviceSourceKHR.gen.cs
new file mode 100644
index 0000000000..635b67fa7f
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/D3D10DeviceSourceKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_d3d10_device_source_khr")]
+public enum D3D10DeviceSourceKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/D3D11DeviceSetKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/D3D11DeviceSetKHR.gen.cs
new file mode 100644
index 0000000000..4b90233d14
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/D3D11DeviceSetKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_d3d11_device_set_khr")]
+public enum D3D11DeviceSetKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/D3D11DeviceSourceKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/D3D11DeviceSourceKHR.gen.cs
new file mode 100644
index 0000000000..e7fc08dc4a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/D3D11DeviceSourceKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_d3d11_device_source_khr")]
+public enum D3D11DeviceSourceKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceAffinityDomain.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceAffinityDomain.gen.cs
new file mode 100644
index 0000000000..6a114e61ac
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceAffinityDomain.gen.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_affinity_domain")]
+[Flags]
+public enum DeviceAffinityDomain : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_AFFINITY_DOMAIN_NUMA")]
+ Numa = 0x1,
+
+ [NativeName("CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE")]
+ L4Cache = 0x2,
+
+ [NativeName("CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE")]
+ L3Cache = 0x4,
+
+ [NativeName("CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE")]
+ L2Cache = 0x8,
+
+ [NativeName("CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE")]
+ L1Cache = 0x10,
+
+ [NativeName("CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE")]
+ NextPartitionable = 0x20,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceAtomicCapabilities.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceAtomicCapabilities.gen.cs
new file mode 100644
index 0000000000..9ff7246520
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceAtomicCapabilities.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_atomic_capabilities")]
+[Flags]
+public enum DeviceAtomicCapabilities : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_ATOMIC_ORDER_RELAXED")]
+ OrderRelaxed = 0x1,
+
+ [NativeName("CL_DEVICE_ATOMIC_ORDER_ACQ_REL")]
+ OrderAcqRel = 0x2,
+
+ [NativeName("CL_DEVICE_ATOMIC_ORDER_SEQ_CST")]
+ OrderSeqCst = 0x4,
+
+ [NativeName("CL_DEVICE_ATOMIC_SCOPE_WORK_ITEM")]
+ ScopeWorkItem = 0x8,
+
+ [NativeName("CL_DEVICE_ATOMIC_SCOPE_WORK_GROUP")]
+ ScopeWorkGroup = 0x10,
+
+ [NativeName("CL_DEVICE_ATOMIC_SCOPE_DEVICE")]
+ ScopeDevice = 0x20,
+
+ [NativeName("CL_DEVICE_ATOMIC_SCOPE_ALL_DEVICES")]
+ ScopeAllDevices = 0x40,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceCommandBufferCapabilitiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceCommandBufferCapabilitiesKHR.gen.cs
new file mode 100644
index 0000000000..f4f3bcde74
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceCommandBufferCapabilitiesKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_command_buffer_capabilities_khr")]
+[Flags]
+public enum DeviceCommandBufferCapabilitiesKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceControlledTerminationCapabilitiesARM.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceControlledTerminationCapabilitiesARM.gen.cs
new file mode 100644
index 0000000000..0f383544ef
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceControlledTerminationCapabilitiesARM.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_controlled_termination_capabilities_arm")]
+[Flags]
+public enum DeviceControlledTerminationCapabilitiesARM : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_CONTROLLED_TERMINATION_SUCCESS_ARM")]
+ Success = 0x1,
+
+ [NativeName("CL_DEVICE_CONTROLLED_TERMINATION_FAILURE_ARM")]
+ Failure = 0x2,
+
+ [NativeName("CL_DEVICE_CONTROLLED_TERMINATION_QUERY_ARM")]
+ Query = 0x4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceDeviceEnqueueCapabilities.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceDeviceEnqueueCapabilities.gen.cs
new file mode 100644
index 0000000000..ad3cfa26e7
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceDeviceEnqueueCapabilities.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_device_enqueue_capabilities")]
+[Flags]
+public enum DeviceDeviceEnqueueCapabilities : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_QUEUE_SUPPORTED")]
+ Supported = 0x1,
+
+ [NativeName("CL_DEVICE_QUEUE_REPLACEABLE_DEFAULT")]
+ ReplaceableDefault = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceExecCapabilities.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceExecCapabilities.gen.cs
new file mode 100644
index 0000000000..8c968da7f8
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceExecCapabilities.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_exec_capabilities")]
+[Flags]
+public enum DeviceExecCapabilities : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_EXEC_KERNEL")]
+ Kernel = 0x1,
+
+ [NativeName("CL_EXEC_NATIVE_KERNEL")]
+ NativeKernel = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceFeatureCapabilitiesINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceFeatureCapabilitiesINTEL.gen.cs
new file mode 100644
index 0000000000..48599634e8
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceFeatureCapabilitiesINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_feature_capabilities_intel")]
+[Flags]
+public enum DeviceFeatureCapabilitiesINTEL : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_FEATURE_FLAG_DP4A_INTEL")]
+ Dp4A = 0x1,
+
+ [NativeName("CL_DEVICE_FEATURE_FLAG_DPAS_INTEL")]
+ Dpas = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceFpAtomicCapabilitiesEXT.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceFpAtomicCapabilitiesEXT.gen.cs
new file mode 100644
index 0000000000..128e2f2d30
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceFpAtomicCapabilitiesEXT.gen.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_fp_atomic_capabilities_ext")]
+[Flags]
+public enum DeviceFpAtomicCapabilitiesEXT : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_GLOBAL_FP_ATOMIC_LOAD_STORE_EXT")]
+ GlobalFpAtomicLoadStore = 0x1,
+
+ [NativeName("CL_DEVICE_GLOBAL_FP_ATOMIC_ADD_EXT")]
+ GlobalFpAtomicAdd = 0x2,
+
+ [NativeName("CL_DEVICE_GLOBAL_FP_ATOMIC_MIN_MAX_EXT")]
+ GlobalFpAtomicMinMax = 0x4,
+
+ [NativeName("CL_DEVICE_LOCAL_FP_ATOMIC_LOAD_STORE_EXT")]
+ LocalFpAtomicLoadStore = 0x10000,
+
+ [NativeName("CL_DEVICE_LOCAL_FP_ATOMIC_ADD_EXT")]
+ LocalFpAtomicAdd = 0x20000,
+
+ [NativeName("CL_DEVICE_LOCAL_FP_ATOMIC_MIN_MAX_EXT")]
+ LocalFpAtomicMinMax = 0x40000,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceFpConfig.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceFpConfig.gen.cs
new file mode 100644
index 0000000000..79f2a734d1
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceFpConfig.gen.cs
@@ -0,0 +1,41 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_fp_config")]
+[Flags]
+public enum DeviceFpConfig : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_FP_DENORM")]
+ Denorm = 0x1,
+
+ [NativeName("CL_FP_INF_NAN")]
+ InfNan = 0x2,
+
+ [NativeName("CL_FP_ROUND_TO_NEAREST")]
+ RoundToNearest = 0x4,
+
+ [NativeName("CL_FP_ROUND_TO_ZERO")]
+ RoundToZero = 0x8,
+
+ [NativeName("CL_FP_ROUND_TO_INF")]
+ RoundToInf = 0x10,
+
+ [NativeName("CL_FP_FMA")]
+ Fma = 0x20,
+
+ [NativeName("CL_FP_SOFT_FLOAT")]
+ SoftFloat = 0x40,
+
+ [NativeName("CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT")]
+ CorrectlyRoundedDivideSqrt = 0x80,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceInfo.gen.cs
new file mode 100644
index 0000000000..2cd52793d7
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceInfo.gen.cs
@@ -0,0 +1,683 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_info")]
+public enum DeviceInfo : uint
+{
+ [NativeName("CL_DEVICE_TYPE")]
+ DeviceType = 4096,
+
+ [NativeName("CL_DEVICE_VENDOR_ID")]
+ DeviceVendorId = 4097,
+
+ [NativeName("CL_DEVICE_MAX_COMPUTE_UNITS")]
+ DeviceMaxComputeUnits = 4098,
+
+ [NativeName("CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS")]
+ DeviceMaxWorkItemDimensions = 4099,
+
+ [NativeName("CL_DEVICE_MAX_WORK_GROUP_SIZE")]
+ DeviceMaxWorkGroupSize = 4100,
+
+ [NativeName("CL_DEVICE_MAX_WORK_ITEM_SIZES")]
+ DeviceMaxWorkItemSizes = 4101,
+
+ [NativeName("CL_DEVICE_MAX_WORK_GROUP_SIZES")]
+ DeviceMaxWorkGroupSizes = 4101,
+
+ [NativeName("CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR")]
+ DevicePreferredVectorWidthChar = 4102,
+
+ [NativeName("CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT")]
+ DevicePreferredVectorWidthShort = 4103,
+
+ [NativeName("CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT")]
+ DevicePreferredVectorWidthInt = 4104,
+
+ [NativeName("CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG")]
+ DevicePreferredVectorWidthLong = 4105,
+
+ [NativeName("CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT")]
+ DevicePreferredVectorWidthFloat = 4106,
+
+ [NativeName("CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE")]
+ DevicePreferredVectorWidthDouble = 4107,
+
+ [NativeName("CL_DEVICE_MAX_CLOCK_FREQUENCY")]
+ DeviceMaxClockFrequency = 4108,
+
+ [NativeName("CL_DEVICE_ADDRESS_BITS")]
+ DeviceAddressBits = 4109,
+
+ [NativeName("CL_DEVICE_MAX_READ_IMAGE_ARGS")]
+ DeviceMaxReadImageArgs = 4110,
+
+ [NativeName("CL_DEVICE_MAX_WRITE_IMAGE_ARGS")]
+ DeviceMaxWriteImageArgs = 4111,
+
+ [NativeName("CL_DEVICE_MAX_MEM_ALLOC_SIZE")]
+ DeviceMaxMemAllocSize = 4112,
+
+ [NativeName("CL_DEVICE_IMAGE2D_MAX_WIDTH")]
+ DeviceImage2DMaxWidth = 4113,
+
+ [NativeName("CL_DEVICE_IMAGE2D_MAX_HEIGHT")]
+ DeviceImage2DMaxHeight = 4114,
+
+ [NativeName("CL_DEVICE_IMAGE3D_MAX_WIDTH")]
+ DeviceImage3DMaxWidth = 4115,
+
+ [NativeName("CL_DEVICE_IMAGE3D_MAX_HEIGHT")]
+ DeviceImage3DMaxHeight = 4116,
+
+ [NativeName("CL_DEVICE_IMAGE3D_MAX_DEPTH")]
+ DeviceImage3DMaxDepth = 4117,
+
+ [NativeName("CL_DEVICE_IMAGE_SUPPORT")]
+ DeviceImageSupport = 4118,
+
+ [NativeName("CL_DEVICE_MAX_PARAMETER_SIZE")]
+ DeviceMaxParameterSize = 4119,
+
+ [NativeName("CL_DEVICE_MAX_SAMPLERS")]
+ DeviceMaxSamplers = 4120,
+
+ [NativeName("CL_DEVICE_MEM_BASE_ADDR_ALIGN")]
+ DeviceMemBaseAddrAlign = 4121,
+
+ [NativeName("CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE")]
+ DeviceMinDataTypeAlignSize = 4122,
+
+ [NativeName("CL_DEVICE_SINGLE_FP_CONFIG")]
+ DeviceSingleFpConfig = 4123,
+
+ [NativeName("CL_DEVICE_GLOBAL_MEM_CACHE_TYPE")]
+ DeviceGlobalMemCacheType = 4124,
+
+ [NativeName("CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE")]
+ DeviceGlobalMemCachelineSize = 4125,
+
+ [NativeName("CL_DEVICE_GLOBAL_MEM_CACHE_SIZE")]
+ DeviceGlobalMemCacheSize = 4126,
+
+ [NativeName("CL_DEVICE_GLOBAL_MEM_SIZE")]
+ DeviceGlobalMemSize = 4127,
+
+ [NativeName("CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE")]
+ DeviceMaxConstantBufferSize = 4128,
+
+ [NativeName("CL_DEVICE_MAX_CONSTANT_ARGS")]
+ DeviceMaxConstantArgs = 4129,
+
+ [NativeName("CL_DEVICE_LOCAL_MEM_TYPE")]
+ DeviceLocalMemType = 4130,
+
+ [NativeName("CL_DEVICE_LOCAL_MEM_SIZE")]
+ DeviceLocalMemSize = 4131,
+
+ [NativeName("CL_DEVICE_ERROR_CORRECTION_SUPPORT")]
+ DeviceErrorCorrectionSupport = 4132,
+
+ [NativeName("CL_DEVICE_PROFILING_TIMER_RESOLUTION")]
+ DeviceProfilingTimerResolution = 4133,
+
+ [NativeName("CL_DEVICE_ENDIAN_LITTLE")]
+ DeviceEndianLittle = 4134,
+
+ [NativeName("CL_DEVICE_AVAILABLE")]
+ DeviceAvailable = 4135,
+
+ [NativeName("CL_DEVICE_COMPILER_AVAILABLE")]
+ DeviceCompilerAvailable = 4136,
+
+ [NativeName("CL_DEVICE_EXECUTION_CAPABILITIES")]
+ DeviceExecutionCapabilities = 4137,
+
+ [NativeName("CL_DEVICE_QUEUE_PROPERTIES")]
+ DeviceQueueProperties = 4138,
+
+ [NativeName("CL_DEVICE_QUEUE_ON_HOST_PROPERTIES")]
+ DeviceQueueOnHostProperties = 4138,
+
+ [NativeName("CL_DEVICE_NAME")]
+ DeviceName = 4139,
+
+ [NativeName("CL_DEVICE_VENDOR")]
+ DeviceVendor = 4140,
+
+ [NativeName("CL_DRIVER_VERSION")]
+ DriverVersion = 4141,
+
+ [NativeName("CL_DEVICE_PROFILE")]
+ DeviceProfile = 4142,
+
+ [NativeName("CL_DEVICE_VERSION")]
+ DeviceVersion = 4143,
+
+ [NativeName("CL_DEVICE_EXTENSIONS")]
+ DeviceExtensions = 4144,
+
+ [NativeName("CL_DEVICE_PLATFORM")]
+ DevicePlatform = 4145,
+
+ [NativeName("CL_DEVICE_DOUBLE_FP_CONFIG")]
+ DeviceDoubleFpConfig = 4146,
+
+ [NativeName("CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF")]
+ DevicePreferredVectorWidthHalf = 4148,
+
+ [NativeName("CL_DEVICE_HOST_UNIFIED_MEMORY")]
+ DeviceHostUnifiedMemory = 4149,
+
+ [NativeName("CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR")]
+ DeviceNativeVectorWidthChar = 4150,
+
+ [NativeName("CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT")]
+ DeviceNativeVectorWidthShort = 4151,
+
+ [NativeName("CL_DEVICE_NATIVE_VECTOR_WIDTH_INT")]
+ DeviceNativeVectorWidthInt = 4152,
+
+ [NativeName("CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG")]
+ DeviceNativeVectorWidthLong = 4153,
+
+ [NativeName("CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT")]
+ DeviceNativeVectorWidthFloat = 4154,
+
+ [NativeName("CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE")]
+ DeviceNativeVectorWidthDouble = 4155,
+
+ [NativeName("CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF")]
+ DeviceNativeVectorWidthHalf = 4156,
+
+ [NativeName("CL_DEVICE_OPENCL_C_VERSION")]
+ DeviceOpenclCVersion = 4157,
+
+ [NativeName("CL_DEVICE_LINKER_AVAILABLE")]
+ DeviceLinkerAvailable = 4158,
+
+ [NativeName("CL_DEVICE_BUILT_IN_KERNELS")]
+ DeviceBuiltInKernels = 4159,
+
+ [NativeName("CL_DEVICE_IMAGE_MAX_BUFFER_SIZE")]
+ DeviceImageMaxBufferSize = 4160,
+
+ [NativeName("CL_DEVICE_IMAGE_MAX_ARRAY_SIZE")]
+ DeviceImageMaxArraySize = 4161,
+
+ [NativeName("CL_DEVICE_PARENT_DEVICE")]
+ DeviceParentDevice = 4162,
+
+ [NativeName("CL_DEVICE_PARTITION_MAX_SUB_DEVICES")]
+ DevicePartitionMaxSubDevices = 4163,
+
+ [NativeName("CL_DEVICE_PARTITION_PROPERTIES")]
+ DevicePartitionProperties = 4164,
+
+ [NativeName("CL_DEVICE_PARTITION_AFFINITY_DOMAIN")]
+ DevicePartitionAffinityDomain = 4165,
+
+ [NativeName("CL_DEVICE_PARTITION_TYPE")]
+ DevicePartitionType = 4166,
+
+ [NativeName("CL_DEVICE_REFERENCE_COUNT")]
+ DeviceReferenceCount = 4167,
+
+ [NativeName("CL_DEVICE_PREFERRED_INTEROP_USER_SYNC")]
+ DevicePreferredInteropUserSync = 4168,
+
+ [NativeName("CL_DEVICE_PRINTF_BUFFER_SIZE")]
+ DevicePrintfBufferSize = 4169,
+
+ [NativeName("CL_DEVICE_IMAGE_PITCH_ALIGNMENT")]
+ DeviceImagePitchAlignment = 4170,
+
+ [NativeName("CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT")]
+ DeviceImageBaseAddressAlignment = 4171,
+
+ [NativeName("CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS")]
+ DeviceMaxReadWriteImageArgs = 4172,
+
+ [NativeName("CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE")]
+ DeviceMaxGlobalVariableSize = 4173,
+
+ [NativeName("CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES")]
+ DeviceQueueOnDeviceProperties = 4174,
+
+ [NativeName("CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE")]
+ DeviceQueueOnDevicePreferredSize = 4175,
+
+ [NativeName("CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE")]
+ DeviceQueueOnDeviceMaxSize = 4176,
+
+ [NativeName("CL_DEVICE_MAX_ON_DEVICE_QUEUES")]
+ DeviceMaxOnDeviceQueues = 4177,
+
+ [NativeName("CL_DEVICE_MAX_ON_DEVICE_EVENTS")]
+ DeviceMaxOnDeviceEvents = 4178,
+
+ [NativeName("CL_DEVICE_SVM_CAPABILITIES")]
+ DeviceSvmCapabilities = 4179,
+
+ [NativeName("CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE")]
+ DeviceGlobalVariablePreferredTotalSize = 4180,
+
+ [NativeName("CL_DEVICE_MAX_PIPE_ARGS")]
+ DeviceMaxPipeArgs = 4181,
+
+ [NativeName("CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS")]
+ DevicePipeMaxActiveReservations = 4182,
+
+ [NativeName("CL_DEVICE_PIPE_MAX_PACKET_SIZE")]
+ DevicePipeMaxPacketSize = 4183,
+
+ [NativeName("CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT")]
+ DevicePreferredPlatformAtomicAlignment = 4184,
+
+ [NativeName("CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT")]
+ DevicePreferredGlobalAtomicAlignment = 4185,
+
+ [NativeName("CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT")]
+ DevicePreferredLocalAtomicAlignment = 4186,
+
+ [NativeName("CL_DEVICE_IL_VERSION")]
+ DeviceIlVersion = 4187,
+
+ [NativeName("CL_DEVICE_MAX_NUM_SUB_GROUPS")]
+ DeviceMaxNumSubGroups = 4188,
+
+ [NativeName("CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS")]
+ DeviceSubGroupIndependentForwardProgress = 4189,
+
+ [NativeName("CL_DEVICE_NUMERIC_VERSION")]
+ DeviceNumericVersion = 4190,
+
+ [NativeName("CL_DEVICE_EXTENSIONS_WITH_VERSION")]
+ DeviceExtensionsWithVersion = 4192,
+
+ [NativeName("CL_DEVICE_ILS_WITH_VERSION")]
+ DeviceIlsWithVersion = 4193,
+
+ [NativeName("CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION")]
+ DeviceBuiltInKernelsWithVersion = 4194,
+
+ [NativeName("CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES")]
+ DeviceAtomicMemoryCapabilities = 4195,
+
+ [NativeName("CL_DEVICE_ATOMIC_FENCE_CAPABILITIES")]
+ DeviceAtomicFenceCapabilities = 4196,
+
+ [NativeName("CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT")]
+ DeviceNonUniformWorkGroupSupport = 4197,
+
+ [NativeName("CL_DEVICE_OPENCL_C_ALL_VERSIONS")]
+ DeviceOpenclCAllVersions = 4198,
+
+ [NativeName("CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE")]
+ DevicePreferredWorkGroupSizeMultiple = 4199,
+
+ [NativeName("CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT")]
+ DeviceWorkGroupCollectiveFunctionsSupport = 4200,
+
+ [NativeName("CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT")]
+ DeviceGenericAddressSpaceSupport = 4201,
+
+ [NativeName("CL_DEVICE_UUID")]
+ DeviceUuid = 4202,
+
+ [NativeName("CL_DRIVER_UUID")]
+ DriverUuid = 4203,
+
+ [NativeName("CL_DEVICE_LUID_VALID")]
+ DeviceLuidValid = 4204,
+
+ [NativeName("CL_DEVICE_LUID")]
+ DeviceLuid = 4205,
+
+ [NativeName("CL_DEVICE_NODE_MASK")]
+ DeviceNodeMask = 4206,
+
+ [NativeName("CL_DEVICE_OPENCL_C_FEATURES")]
+ DeviceOpenclCFeatures = 4207,
+
+ [NativeName("CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES")]
+ DeviceDeviceEnqueueCapabilities = 4208,
+
+ [NativeName("CL_DEVICE_PIPE_SUPPORT")]
+ DevicePipeSupport = 4209,
+
+ [NativeName("CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED")]
+ DeviceLatestConformanceVersionPassed = 4210,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_CAPABILITIES")]
+ DeviceIntegerDotProductCapabilities = 4211,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_8BIT")]
+ DeviceIntegerDotProductAccelerationProperties8Bit = 4212,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_4x8BIT_PACKED")]
+ DeviceIntegerDotProductAccelerationProperties4x8BitPacked = 4213,
+
+ [NativeName("CL_DEVICE_SPIRV_EXTENDED_INSTRUCTION_SETS")]
+ DeviceSpirvExtendedInstructionSets = 4793,
+
+ [NativeName("CL_DEVICE_SPIRV_EXTENSIONS")]
+ DeviceSpirvExtensions = 4794,
+
+ [NativeName("CL_DEVICE_SPIRV_CAPABILITIES")]
+ DeviceSpirvCapabilities = 4795,
+
+ [NativeName("CL_DEVICE_HALF_FP_CONFIG")]
+ DeviceHalfFpConfig = 4147,
+
+ [NativeName("CL_DEVICE_IL_VERSION_KHR")]
+ DeviceIlVersionKHR = 4187,
+
+ [NativeName("CL_DEVICE_IMAGE_PITCH_ALIGNMENT_KHR")]
+ DeviceImagePitchAlignmentKHR = 4170,
+
+ [NativeName("CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT_KHR")]
+ DeviceImageBaseAddressAlignmentKHR = 4171,
+
+ [NativeName("CL_DEVICE_TERMINATE_CAPABILITY_KHR")]
+ DeviceTerminateCapabilityKHR = 8241,
+
+ [NativeName("CL_DEVICE_SPIR_VERSIONS")]
+ DeviceSpirVersions = 16608,
+
+ [NativeName("CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV")]
+ DeviceComputeCapabilityMajorNV = 16384,
+
+ [NativeName("CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV")]
+ DeviceComputeCapabilityMinorNV = 16385,
+
+ [NativeName("CL_DEVICE_REGISTERS_PER_BLOCK_NV")]
+ DeviceRegistersPerBlockNV = 16386,
+
+ [NativeName("CL_DEVICE_WARP_SIZE_NV")]
+ DeviceWarpSizeNV = 16387,
+
+ [NativeName("CL_DEVICE_GPU_OVERLAP_NV")]
+ DeviceGpuOverlapNV = 16388,
+
+ [NativeName("CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV")]
+ DeviceKernelExecTimeoutNV = 16389,
+
+ [NativeName("CL_DEVICE_INTEGRATED_MEMORY_NV")]
+ DeviceIntegratedMemoryNV = 16390,
+
+ [NativeName("CL_DEVICE_PROFILING_TIMER_OFFSET_AMD")]
+ DeviceProfilingTimerOffsetAMD = 16438,
+
+ [NativeName("CL_DEVICE_TOPOLOGY_AMD")]
+ DeviceTopologyAMD = 16439,
+
+ [NativeName("CL_DEVICE_BOARD_NAME_AMD")]
+ DeviceBoardNameAMD = 16440,
+
+ [NativeName("CL_DEVICE_GLOBAL_FREE_MEMORY_AMD")]
+ DeviceGlobalFreeMemoryAMD = 16441,
+
+ [NativeName("CL_DEVICE_SIMD_PER_COMPUTE_UNIT_AMD")]
+ DeviceSimdPerComputeUnitAMD = 16448,
+
+ [NativeName("CL_DEVICE_SIMD_WIDTH_AMD")]
+ DeviceSimdWidthAMD = 16449,
+
+ [NativeName("CL_DEVICE_SIMD_INSTRUCTION_WIDTH_AMD")]
+ DeviceSimdInstructionWidthAMD = 16450,
+
+ [NativeName("CL_DEVICE_WAVEFRONT_WIDTH_AMD")]
+ DeviceWavefrontWidthAMD = 16451,
+
+ [NativeName("CL_DEVICE_GLOBAL_MEM_CHANNELS_AMD")]
+ DeviceGlobalMemChannelsAMD = 16452,
+
+ [NativeName("CL_DEVICE_GLOBAL_MEM_CHANNEL_BANKS_AMD")]
+ DeviceGlobalMemChannelBanksAMD = 16453,
+
+ [NativeName("CL_DEVICE_GLOBAL_MEM_CHANNEL_BANK_WIDTH_AMD")]
+ DeviceGlobalMemChannelBankWidthAMD = 16454,
+
+ [NativeName("CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_UNIT_AMD")]
+ DeviceLocalMemSizePerComputeUnitAMD = 16455,
+
+ [NativeName("CL_DEVICE_LOCAL_MEM_BANKS_AMD")]
+ DeviceLocalMemBanksAMD = 16456,
+
+ [NativeName("CL_DEVICE_THREAD_TRACE_SUPPORTED_AMD")]
+ DeviceThreadTraceSupportedAMD = 16457,
+
+ [NativeName("CL_DEVICE_GFXIP_MAJOR_AMD")]
+ DeviceGfxipMajorAMD = 16458,
+
+ [NativeName("CL_DEVICE_GFXIP_MINOR_AMD")]
+ DeviceGfxipMinorAMD = 16459,
+
+ [NativeName("CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD")]
+ DeviceAvailableAsyncQueuesAMD = 16460,
+
+ [NativeName("CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD")]
+ DevicePreferredWorkGroupSizeAMD = 16432,
+
+ [NativeName("CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD")]
+ DeviceMaxWorkGroupSizeAMD = 16433,
+
+ [NativeName("CL_DEVICE_PREFERRED_CONSTANT_BUFFER_SIZE_AMD")]
+ DevicePreferredConstantBufferSizeAMD = 16435,
+
+ [NativeName("CL_DEVICE_PCIE_ID_AMD")]
+ DevicePcieIdAMD = 16436,
+
+ [NativeName("CL_DEVICE_PARENT_DEVICE_EXT")]
+ DeviceParentDeviceEXT = 16468,
+
+ [NativeName("CL_DEVICE_PARTITION_TYPES_EXT")]
+ DevicePartitionTypesEXT = 16469,
+
+ [NativeName("CL_DEVICE_AFFINITY_DOMAINS_EXT")]
+ DeviceAffinityDomainsEXT = 16470,
+
+ [NativeName("CL_DEVICE_REFERENCE_COUNT_EXT")]
+ DeviceReferenceCountEXT = 16471,
+
+ [NativeName("CL_DEVICE_PARTITION_STYLE_EXT")]
+ DevicePartitionStyleEXT = 16472,
+
+ [NativeName("CL_DEVICE_CXX_FOR_OPENCL_NUMERIC_VERSION_EXT")]
+ DeviceCxxForOpenclNumericVersionEXT = 16944,
+
+ [NativeName("CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM")]
+ DeviceExtMemPaddingInBytesQCOM = 16544,
+
+ [NativeName("CL_DEVICE_PAGE_SIZE_QCOM")]
+ DevicePageSizeQCOM = 16545,
+
+ [NativeName("CL_DEVICE_MEMORY_CAPABILITIES_IMG")]
+ DeviceMemoryCapabilitiesIMG = 16600,
+
+ [NativeName("CL_DEVICE_MAX_NAMED_BARRIER_COUNT_KHR")]
+ DeviceMaxNamedBarrierCountKHR = 8245,
+
+ [NativeName("CL_DEVICE_NUMERIC_VERSION_KHR")]
+ DeviceNumericVersionKHR = 4190,
+
+ [NativeName("CL_DEVICE_OPENCL_C_NUMERIC_VERSION_KHR")]
+ DeviceOpenclCNumericVersionKHR = 4191,
+
+ [NativeName("CL_DEVICE_EXTENSIONS_WITH_VERSION_KHR")]
+ DeviceExtensionsWithVersionKHR = 4192,
+
+ [NativeName("CL_DEVICE_ILS_WITH_VERSION_KHR")]
+ DeviceIlsWithVersionKHR = 4193,
+
+ [NativeName("CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION_KHR")]
+ DeviceBuiltInKernelsWithVersionKHR = 4194,
+
+ [NativeName("CL_DEVICE_UUID_KHR")]
+ DeviceUuidKHR = 4202,
+
+ [NativeName("CL_DRIVER_UUID_KHR")]
+ DriverUuidKHR = 4203,
+
+ [NativeName("CL_DEVICE_LUID_VALID_KHR")]
+ DeviceLuidValidKHR = 4204,
+
+ [NativeName("CL_DEVICE_LUID_KHR")]
+ DeviceLuidKHR = 4205,
+
+ [NativeName("CL_DEVICE_NODE_MASK_KHR")]
+ DeviceNodeMaskKHR = 4206,
+
+ [NativeName("CL_DEVICE_PCI_BUS_INFO_KHR")]
+ DevicePciBusInfoKHR = 16655,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_CAPABILITIES_KHR")]
+ DeviceIntegerDotProductCapabilitiesKHR = 4211,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_8BIT_KHR")]
+ DeviceIntegerDotProductAccelerationProperties8BitKHR = 4212,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_4x8BIT_PACKED_KHR")]
+ DeviceIntegerDotProductAccelerationProperties4x8BitPackedKHR = 4213,
+
+ [NativeName("CL_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR")]
+ DeviceExternalMemoryImportHandleTypesKHR = 8271,
+
+ [NativeName("CL_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES_KHR")]
+ DeviceExternalMemoryImportAssumeLinearImagesHandleTypesKHR = 8274,
+
+ [NativeName("CL_DEVICE_SEMAPHORE_IMPORT_HANDLE_TYPES_KHR")]
+ DeviceSemaphoreImportHandleTypesKHR = 8269,
+
+ [NativeName("CL_DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR")]
+ DeviceSemaphoreExportHandleTypesKHR = 8270,
+
+ [NativeName("CL_DEVICE_SEMAPHORE_TYPES_KHR")]
+ DeviceSemaphoreTypesKHR = 8268,
+
+ [NativeName("CL_DEVICE_SVM_CAPABILITIES_ARM")]
+ DeviceSvmCapabilitiesARM = 16566,
+
+ [NativeName("CL_DEVICE_COMPUTE_UNITS_BITFIELD_ARM")]
+ DeviceComputeUnitsBitfieldARM = 16575,
+
+ [NativeName("CL_DEVICE_JOB_SLOTS_ARM")]
+ DeviceJobSlotsARM = 16864,
+
+ [NativeName("CL_DEVICE_SCHEDULING_CONTROLS_CAPABILITIES_ARM")]
+ DeviceSchedulingControlsCapabilitiesARM = 16868,
+
+ [NativeName("CL_DEVICE_SUPPORTED_REGISTER_ALLOCATIONS_ARM")]
+ DeviceSupportedRegisterAllocationsARM = 16875,
+
+ [NativeName("CL_DEVICE_MAX_WARP_COUNT_ARM")]
+ DeviceMaxWarpCountARM = 16874,
+
+ [NativeName("CL_DEVICE_CONTROLLED_TERMINATION_CAPABILITIES_ARM")]
+ DeviceControlledTerminationCapabilitiesARM = 16878,
+
+ [NativeName("CL_DEVICE_IP_VERSION_INTEL")]
+ DeviceIpVersionINTEL = 16976,
+
+ [NativeName("CL_DEVICE_ID_INTEL")]
+ DeviceIdINTEL = 16977,
+
+ [NativeName("CL_DEVICE_NUM_SLICES_INTEL")]
+ DeviceNumSlicesINTEL = 16978,
+
+ [NativeName("CL_DEVICE_NUM_SUB_SLICES_PER_SLICE_INTEL")]
+ DeviceNumSubSlicesPerSliceINTEL = 16979,
+
+ [NativeName("CL_DEVICE_NUM_EUS_PER_SUB_SLICE_INTEL")]
+ DeviceNumEusPerSubSliceINTEL = 16980,
+
+ [NativeName("CL_DEVICE_NUM_THREADS_PER_EU_INTEL")]
+ DeviceNumThreadsPerEuINTEL = 16981,
+
+ [NativeName("CL_DEVICE_FEATURE_CAPABILITIES_INTEL")]
+ DeviceFeatureCapabilitiesINTEL = 16982,
+
+ [NativeName("CL_DEVICE_ME_VERSION_INTEL")]
+ DeviceMeVersionINTEL = 16510,
+
+ [NativeName("CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL")]
+ DeviceSimultaneousInteropsINTEL = 16644,
+
+ [NativeName("CL_DEVICE_NUM_SIMULTANEOUS_INTEROPS_INTEL")]
+ DeviceNumSimultaneousInteropsINTEL = 16645,
+
+ [NativeName("CL_DEVICE_SUB_GROUP_SIZES_INTEL")]
+ DeviceSubGroupSizesINTEL = 16648,
+
+ [NativeName("CL_DEVICE_PLANAR_YUV_MAX_WIDTH_INTEL")]
+ DevicePlanarYuvMaxWidthINTEL = 16766,
+
+ [NativeName("CL_DEVICE_PLANAR_YUV_MAX_HEIGHT_INTEL")]
+ DevicePlanarYuvMaxHeightINTEL = 16767,
+
+ [NativeName("CL_DEVICE_AVC_ME_VERSION_INTEL")]
+ DeviceAvcMeVersionINTEL = 16651,
+
+ [NativeName("CL_DEVICE_AVC_ME_SUPPORTS_TEXTURE_SAMPLER_USE_INTEL")]
+ DeviceAvcMeSupportsTextureSamplerUseINTEL = 16652,
+
+ [NativeName("CL_DEVICE_AVC_ME_SUPPORTS_PREEMPTION_INTEL")]
+ DeviceAvcMeSupportsPreemptionINTEL = 16653,
+
+ [NativeName("CL_DEVICE_HOST_MEM_CAPABILITIES_INTEL")]
+ DeviceHostMemCapabilitiesINTEL = 16784,
+
+ [NativeName("CL_DEVICE_DEVICE_MEM_CAPABILITIES_INTEL")]
+ DeviceDeviceMemCapabilitiesINTEL = 16785,
+
+ [NativeName("CL_DEVICE_SINGLE_DEVICE_SHARED_MEM_CAPABILITIES_INTEL")]
+ DeviceSingleDeviceSharedMemCapabilitiesINTEL = 16786,
+
+ [NativeName("CL_DEVICE_CROSS_DEVICE_SHARED_MEM_CAPABILITIES_INTEL")]
+ DeviceCrossDeviceSharedMemCapabilitiesINTEL = 16787,
+
+ [NativeName("CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL")]
+ DeviceSharedSystemMemCapabilitiesINTEL = 16788,
+
+ [NativeName("CL_DEVICE_QUEUE_FAMILY_PROPERTIES_INTEL")]
+ DeviceQueueFamilyPropertiesINTEL = 16779,
+
+ [NativeName("CL_DEVICE_SINGLE_FP_ATOMIC_CAPABILITIES_EXT")]
+ DeviceSingleFpAtomicCapabilitiesEXT = 16945,
+
+ [NativeName("CL_DEVICE_DOUBLE_FP_ATOMIC_CAPABILITIES_EXT")]
+ DeviceDoubleFpAtomicCapabilitiesEXT = 16946,
+
+ [NativeName("CL_DEVICE_HALF_FP_ATOMIC_CAPABILITIES_EXT")]
+ DeviceHalfFpAtomicCapabilitiesEXT = 16947,
+
+ [NativeName("CL_DEVICE_KERNEL_CLOCK_CAPABILITIES_KHR")]
+ DeviceKernelClockCapabilitiesKHR = 4214,
+
+ [NativeName("CL_DEVICE_SPIRV_EXTENDED_INSTRUCTION_SETS_KHR")]
+ DeviceSpirvExtendedInstructionSetsKHR = 4793,
+
+ [NativeName("CL_DEVICE_SPIRV_EXTENSIONS_KHR")]
+ DeviceSpirvExtensionsKHR = 4794,
+
+ [NativeName("CL_DEVICE_SPIRV_CAPABILITIES_KHR")]
+ DeviceSpirvCapabilitiesKHR = 4795,
+
+ [NativeName("CL_DEVICE_WORKGROUP_PROTECTION_SVM_CAPABILITIES_IMG")]
+ DeviceWorkgroupProtectionSvmCapabilitiesIMG = 16602,
+
+ [NativeName("CL_DEVICE_WORKGROUP_PROTECTION_DEVICE_ENQUEUE_CAPABILITIES_IMG")]
+ DeviceWorkgroupProtectionDeviceEnqueueCapabilitiesIMG = 16603,
+
+ [NativeName("CL_DEVICE_SAFETY_MEM_SIZE_IMG")]
+ DeviceSafetyMemSizeIMG = 16604,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceIntegerDotProductCapabilities.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceIntegerDotProductCapabilities.gen.cs
new file mode 100644
index 0000000000..055a4e89ab
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceIntegerDotProductCapabilities.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_integer_dot_product_capabilities")]
+[Flags]
+public enum DeviceIntegerDotProductCapabilities : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_PACKED")]
+ BitPacked = 0x1,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT")]
+ Bit = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceIntegerDotProductCapabilitiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceIntegerDotProductCapabilitiesKHR.gen.cs
new file mode 100644
index 0000000000..4e4aca018d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceIntegerDotProductCapabilitiesKHR.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_integer_dot_product_capabilities_khr")]
+[Flags]
+public enum DeviceIntegerDotProductCapabilitiesKHR : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_PACKED_KHR")]
+ BitPacked = 0x1,
+
+ [NativeName("CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_KHR")]
+ Bit = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceKernelClockCapabilitiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceKernelClockCapabilitiesKHR.gen.cs
new file mode 100644
index 0000000000..7c49378326
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceKernelClockCapabilitiesKHR.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_kernel_clock_capabilities_khr")]
+[Flags]
+public enum DeviceKernelClockCapabilitiesKHR : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_KERNEL_CLOCK_SCOPE_DEVICE_KHR")]
+ Device = 0x1,
+
+ [NativeName("CL_DEVICE_KERNEL_CLOCK_SCOPE_WORK_GROUP_KHR")]
+ WorkGroup = 0x2,
+
+ [NativeName("CL_DEVICE_KERNEL_CLOCK_SCOPE_SUB_GROUP_KHR")]
+ SubGroup = 0x4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceLocalMemType.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceLocalMemType.gen.cs
new file mode 100644
index 0000000000..0151f292ac
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceLocalMemType.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_local_mem_type")]
+public enum DeviceLocalMemType : uint
+{
+ [NativeName("CL_LOCAL")]
+ Local = 1,
+
+ [NativeName("CL_GLOBAL")]
+ Global = 2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceMemCacheType.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceMemCacheType.gen.cs
new file mode 100644
index 0000000000..2a6a7555b1
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceMemCacheType.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_mem_cache_type")]
+public enum DeviceMemCacheType : uint
+{
+ [NativeName("CL_NONE")]
+ None = 0,
+
+ [NativeName("CL_READ_ONLY_CACHE")]
+ ReadOnlyCache = 1,
+
+ [NativeName("CL_READ_WRITE_CACHE")]
+ ReadWriteCache = 2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DevicePartitionProperty.gen.cs b/sources/OpenCL/OpenCL/Enums/DevicePartitionProperty.gen.cs
new file mode 100644
index 0000000000..7ae604aede
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DevicePartitionProperty.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_partition_property")]
+public enum DevicePartitionProperty : long
+{
+ [NativeName("CL_DEVICE_PARTITION_EQUALLY")]
+ Equally = 4230,
+
+ [NativeName("CL_DEVICE_PARTITION_BY_COUNTS")]
+ ByCounts = 4231,
+
+ [NativeName("CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN")]
+ ByAffinityDomain = 4232,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DevicePartitionPropertyEXT.gen.cs b/sources/OpenCL/OpenCL/Enums/DevicePartitionPropertyEXT.gen.cs
new file mode 100644
index 0000000000..466259d67a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DevicePartitionPropertyEXT.gen.cs
@@ -0,0 +1,44 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_partition_property_ext")]
+public enum DevicePartitionPropertyEXT : ulong
+{
+ [NativeName("CL_DEVICE_PARTITION_EQUALLY_EXT")]
+ DevicePartitionEqually = 16464,
+
+ [NativeName("CL_DEVICE_PARTITION_BY_COUNTS_EXT")]
+ DevicePartitionByCounts = 16465,
+
+ [NativeName("CL_DEVICE_PARTITION_BY_NAMES_EXT")]
+ DevicePartitionByNames = 16466,
+
+ [NativeName("CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT")]
+ DevicePartitionByAffinityDomain = 16467,
+
+ [NativeName("CL_AFFINITY_DOMAIN_L1_CACHE_EXT")]
+ AffinityDomainL1Cache = 1,
+
+ [NativeName("CL_AFFINITY_DOMAIN_L2_CACHE_EXT")]
+ AffinityDomainL2Cache = 2,
+
+ [NativeName("CL_AFFINITY_DOMAIN_L3_CACHE_EXT")]
+ AffinityDomainL3Cache = 3,
+
+ [NativeName("CL_AFFINITY_DOMAIN_L4_CACHE_EXT")]
+ AffinityDomainL4Cache = 4,
+
+ [NativeName("CL_AFFINITY_DOMAIN_NUMA_EXT")]
+ AffinityDomainNuma = 16,
+
+ [NativeName("CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT")]
+ AffinityDomainNextFissionable = 256,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSchedulingControlsCapabilitiesARM.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSchedulingControlsCapabilitiesARM.gen.cs
new file mode 100644
index 0000000000..ed8448f508
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSchedulingControlsCapabilitiesARM.gen.cs
@@ -0,0 +1,41 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_scheduling_controls_capabilities_arm")]
+[Flags]
+public enum DeviceSchedulingControlsCapabilitiesARM : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_SCHEDULING_KERNEL_BATCHING_ARM")]
+ KernelBatching = 0x1,
+
+ [NativeName("CL_DEVICE_SCHEDULING_WORKGROUP_BATCH_SIZE_ARM")]
+ WorkgroupBatchSize = 0x2,
+
+ [NativeName("CL_DEVICE_SCHEDULING_WORKGROUP_BATCH_SIZE_MODIFIER_ARM")]
+ WorkgroupBatchSizeModifier = 0x4,
+
+ [NativeName("CL_DEVICE_SCHEDULING_DEFERRED_FLUSH_ARM")]
+ DeferredFlush = 0x8,
+
+ [NativeName("CL_DEVICE_SCHEDULING_REGISTER_ALLOCATION_ARM")]
+ RegisterAllocation = 0x10,
+
+ [NativeName("CL_DEVICE_SCHEDULING_WARP_THROTTLING_ARM")]
+ WarpThrottling = 0x20,
+
+ [NativeName("CL_DEVICE_SCHEDULING_COMPUTE_UNIT_BATCH_QUEUE_SIZE_ARM")]
+ ComputeUnitBatchQueueSize = 0x40,
+
+ [NativeName("CL_DEVICE_SCHEDULING_COMPUTE_UNIT_LIMIT_ARM")]
+ ComputeUnitLimit = 0x80,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSchedulingControlsCapabilitiesIMG.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSchedulingControlsCapabilitiesIMG.gen.cs
new file mode 100644
index 0000000000..a1e6fd578d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSchedulingControlsCapabilitiesIMG.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_scheduling_controls_capabilities_img")]
+[Flags]
+public enum DeviceSchedulingControlsCapabilitiesIMG : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationAdjustINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationAdjustINTEL.gen.cs
new file mode 100644
index 0000000000..0be528d36a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationAdjustINTEL.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.adjust")]
+public enum DeviceSideAvcMotionEstimationAdjustINTEL : uint
+{
+ [NativeName("CL_AVC_ME_SAD_ADJUST_MODE_NONE_INTEL")]
+ None = 0,
+
+ [NativeName("CL_AVC_ME_SAD_ADJUST_MODE_HAAR_INTEL")]
+ Haar = 2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationBorderINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationBorderINTEL.gen.cs
new file mode 100644
index 0000000000..d31ce25bc2
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationBorderINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.border")]
+public enum DeviceSideAvcMotionEstimationBorderINTEL : uint
+{
+ [NativeName("CL_AVC_ME_BORDER_REACHED_LEFT_INTEL")]
+ Left = 0,
+
+ [NativeName("CL_AVC_ME_BORDER_REACHED_RIGHT_INTEL")]
+ Right = 2,
+
+ [NativeName("CL_AVC_ME_BORDER_REACHED_TOP_INTEL")]
+ Top = 4,
+
+ [NativeName("CL_AVC_ME_BORDER_REACHED_BOTTOM_INTEL")]
+ Bottom = 8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationCostPrecisionINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationCostPrecisionINTEL.gen.cs
new file mode 100644
index 0000000000..e49b1eab0e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationCostPrecisionINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.cost.precision")]
+public enum DeviceSideAvcMotionEstimationCostPrecisionINTEL : uint
+{
+ [NativeName("CL_AVC_ME_COST_PRECISION_QPEL_INTEL")]
+ Qpel = 0,
+
+ [NativeName("CL_AVC_ME_COST_PRECISION_HPEL_INTEL")]
+ Hpel = 1,
+
+ [NativeName("CL_AVC_ME_COST_PRECISION_PEL_INTEL")]
+ Pel = 2,
+
+ [NativeName("CL_AVC_ME_COST_PRECISION_DPEL_INTEL")]
+ Dpel = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationFrameDirINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationFrameDirINTEL.gen.cs
new file mode 100644
index 0000000000..da515c2c37
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationFrameDirINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.frame.dir")]
+public enum DeviceSideAvcMotionEstimationFrameDirINTEL : uint
+{
+ [NativeName("CL_AVC_ME_FRAME_FORWARD_INTEL")]
+ Forward = 1,
+
+ [NativeName("CL_AVC_ME_FRAME_BACKWARD_INTEL")]
+ Backward = 2,
+
+ [NativeName("CL_AVC_ME_FRAME_DUAL_INTEL")]
+ Dual = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraINTEL.gen.cs
new file mode 100644
index 0000000000..27f9ed8386
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.intra")]
+public enum DeviceSideAvcMotionEstimationIntraINTEL : uint
+{
+ [NativeName("CL_AVC_ME_INTRA_16x16_INTEL")]
+ Intra16x16 = 0,
+
+ [NativeName("CL_AVC_ME_INTRA_8x8_INTEL")]
+ Intra8x8 = 1,
+
+ [NativeName("CL_AVC_ME_INTRA_4x4_INTEL")]
+ Intra4x4 = 2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraLumaINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraLumaINTEL.gen.cs
new file mode 100644
index 0000000000..0bf132f669
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraLumaINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.intra.luma")]
+public enum DeviceSideAvcMotionEstimationIntraLumaINTEL : uint
+{
+ [NativeName("CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_16x16_INTEL")]
+ Mask16x16 = 6,
+
+ [NativeName("CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_8x8_INTEL")]
+ Mask8x8 = 5,
+
+ [NativeName("CL_AVC_ME_INTRA_LUMA_PARTITION_MASK_4x4_INTEL")]
+ Mask4x4 = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraNeighborINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraNeighborINTEL.gen.cs
new file mode 100644
index 0000000000..9db5234191
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationIntraNeighborINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.intra.neighbor")]
+public enum DeviceSideAvcMotionEstimationIntraNeighborINTEL : uint
+{
+ [NativeName("CL_AVC_ME_INTRA_NEIGHBOR_LEFT_MASK_ENABLE_INTEL")]
+ LeftMaskEnable = 96,
+
+ [NativeName("CL_AVC_ME_INTRA_NEIGHBOR_UPPER_MASK_ENABLE_INTEL")]
+ UpperMaskEnable = 16,
+
+ [NativeName("CL_AVC_ME_INTRA_NEIGHBOR_UPPER_RIGHT_MASK_ENABLE_INTEL")]
+ UpperRightMaskEnable = 8,
+
+ [NativeName("CL_AVC_ME_INTRA_NEIGHBOR_UPPER_LEFT_MASK_ENABLE_INTEL")]
+ UpperLeftMaskEnable = 4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationLumaPredictorINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationLumaPredictorINTEL.gen.cs
new file mode 100644
index 0000000000..361f12735a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationLumaPredictorINTEL.gen.cs
@@ -0,0 +1,56 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.luma.predictor")]
+public enum DeviceSideAvcMotionEstimationLumaPredictorINTEL : uint
+{
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_INTEL")]
+ LumaPredictorModeVertical = 0,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_INTEL")]
+ LumaPredictorModeHorizontal = 1,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_DC_INTEL")]
+ LumaPredictorModeDc = 2,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT_INTEL")]
+ LumaPredictorModeDiagonalDownLeft = 3,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT_INTEL")]
+ LumaPredictorModeDiagonalDownRight = 4,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_PLANE_INTEL")]
+ LumaPredictorModePlane = 4,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT_INTEL")]
+ LumaPredictorModeVerticalRight = 5,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_DOWN_INTEL")]
+ LumaPredictorModeHorizontalDown = 6,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_VERTICAL_LEFT_INTEL")]
+ LumaPredictorModeVerticalLeft = 7,
+
+ [NativeName("CL_AVC_ME_LUMA_PREDICTOR_MODE_HORIZONTAL_UP_INTEL")]
+ LumaPredictorModeHorizontalUp = 8,
+
+ [NativeName("CL_AVC_ME_CHROMA_PREDICTOR_MODE_DC_INTEL")]
+ ChromaPredictorModeDc = 0,
+
+ [NativeName("CL_AVC_ME_CHROMA_PREDICTOR_MODE_HORIZONTAL_INTEL")]
+ ChromaPredictorModeHorizontal = 1,
+
+ [NativeName("CL_AVC_ME_CHROMA_PREDICTOR_MODE_VERTICAL_INTEL")]
+ ChromaPredictorModeVertical = 2,
+
+ [NativeName("CL_AVC_ME_CHROMA_PREDICTOR_MODE_PLANE_INTEL")]
+ ChromaPredictorModePlane = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMajorDirINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMajorDirINTEL.gen.cs
new file mode 100644
index 0000000000..8a4ba780d3
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMajorDirINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.major.dir")]
+public enum DeviceSideAvcMotionEstimationMajorDirINTEL : uint
+{
+ [NativeName("CL_AVC_ME_MAJOR_FORWARD_INTEL")]
+ Forward = 0,
+
+ [NativeName("CL_AVC_ME_MAJOR_BACKWARD_INTEL")]
+ Backward = 1,
+
+ [NativeName("CL_AVC_ME_MAJOR_BIDIRECTIONAL_INTEL")]
+ Bidirectional = 2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMajorINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMajorINTEL.gen.cs
new file mode 100644
index 0000000000..62bbe0e32b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMajorINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.major")]
+public enum DeviceSideAvcMotionEstimationMajorINTEL : uint
+{
+ [NativeName("CL_AVC_ME_MAJOR_16x16_INTEL")]
+ Major16x16 = 0,
+
+ [NativeName("CL_AVC_ME_MAJOR_16x8_INTEL")]
+ Major16x8 = 1,
+
+ [NativeName("CL_AVC_ME_MAJOR_8x16_INTEL")]
+ Major8x16 = 2,
+
+ [NativeName("CL_AVC_ME_MAJOR_8x8_INTEL")]
+ Major8x8 = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMinorINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMinorINTEL.gen.cs
new file mode 100644
index 0000000000..d5441db962
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationMinorINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.minor")]
+public enum DeviceSideAvcMotionEstimationMinorINTEL : uint
+{
+ [NativeName("CL_AVC_ME_MINOR_8x8_INTEL")]
+ Minor8x8 = 0,
+
+ [NativeName("CL_AVC_ME_MINOR_8x4_INTEL")]
+ Minor8x4 = 1,
+
+ [NativeName("CL_AVC_ME_MINOR_4x8_INTEL")]
+ Minor4x8 = 2,
+
+ [NativeName("CL_AVC_ME_MINOR_4x4_INTEL")]
+ Minor4x4 = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationPartitionINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationPartitionINTEL.gen.cs
new file mode 100644
index 0000000000..080675c059
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationPartitionINTEL.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.partition")]
+public enum DeviceSideAvcMotionEstimationPartitionINTEL : uint
+{
+ [NativeName("CL_AVC_ME_PARTITION_MASK_ALL_INTEL")]
+ MaskAll = 0,
+
+ [NativeName("CL_AVC_ME_PARTITION_MASK_16x16_INTEL")]
+ Mask16x16 = 126,
+
+ [NativeName("CL_AVC_ME_PARTITION_MASK_16x8_INTEL")]
+ Mask16x8 = 125,
+
+ [NativeName("CL_AVC_ME_PARTITION_MASK_8x16_INTEL")]
+ Mask8x16 = 123,
+
+ [NativeName("CL_AVC_ME_PARTITION_MASK_8x8_INTEL")]
+ Mask8x8 = 119,
+
+ [NativeName("CL_AVC_ME_PARTITION_MASK_8x4_INTEL")]
+ Mask8x4 = 111,
+
+ [NativeName("CL_AVC_ME_PARTITION_MASK_4x8_INTEL")]
+ Mask4x8 = 95,
+
+ [NativeName("CL_AVC_ME_PARTITION_MASK_4x4_INTEL")]
+ Mask4x4 = 63,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationScanDirINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationScanDirINTEL.gen.cs
new file mode 100644
index 0000000000..7d120f6268
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationScanDirINTEL.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.scan.dir")]
+public enum DeviceSideAvcMotionEstimationScanDirINTEL : uint
+{
+ [NativeName("CL_AVC_ME_INTERLACED_SCAN_TOP_FIELD_INTEL")]
+ TopField = 0,
+
+ [NativeName("CL_AVC_ME_INTERLACED_SCAN_BOTTOM_FIELD_INTEL")]
+ BottomField = 1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipBlockBasedINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipBlockBasedINTEL.gen.cs
new file mode 100644
index 0000000000..7c2cea7293
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipBlockBasedINTEL.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.skip.block.based")]
+public enum DeviceSideAvcMotionEstimationSkipBlockBasedINTEL : uint
+{
+ [NativeName("CL_AVC_ME_BLOCK_BASED_SKIP_4x4_INTEL")]
+ Skip4x4 = 0,
+
+ [NativeName("CL_AVC_ME_BLOCK_BASED_SKIP_8x8_INTEL")]
+ Skip8x8 = 128,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipDirINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipDirINTEL.gen.cs
new file mode 100644
index 0000000000..e6efbe2c7d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipDirINTEL.gen.cs
@@ -0,0 +1,56 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.skip.dir")]
+public enum DeviceSideAvcMotionEstimationSkipDirINTEL : uint
+{
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_16x16_FORWARD_ENABLE_INTEL")]
+ Block16x16ForwardEnable = 16777216,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_16x16_BACKWARD_ENABLE_INTEL")]
+ Block16x16BackwardEnable = 33554432,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_16x16_DUAL_ENABLE_INTEL")]
+ Block16x16DualEnable = 50331648,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_FORWARD_ENABLE_INTEL")]
+ Block8x8ForwardEnable = 1426063360,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_BACKWARD_ENABLE_INTEL")]
+ Block8x8BackwardEnable = 2852126720,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_DUAL_ENABLE_INTEL")]
+ Block8x8DualEnable = 4278190080,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_0_FORWARD_ENABLE_INTEL")]
+ Block8x8x0ForwardEnable = 16777216,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_0_BACKWARD_ENABLE_INTEL")]
+ Block8x8x0BackwardEnable = 33554432,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_1_FORWARD_ENABLE_INTEL")]
+ Block8x8x1ForwardEnable = 67108864,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_1_BACKWARD_ENABLE_INTEL")]
+ Block8x8x1BackwardEnable = 134217728,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_2_FORWARD_ENABLE_INTEL")]
+ Block8x8x2ForwardEnable = 268435456,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_2_BACKWARD_ENABLE_INTEL")]
+ Block8x8x2BackwardEnable = 536870912,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_3_FORWARD_ENABLE_INTEL")]
+ Block8x8x3ForwardEnable = 1073741824,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_8x8_3_BACKWARD_ENABLE_INTEL")]
+ Block8x8x3BackwardEnable = 2147483648,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipINTEL.gen.cs
new file mode 100644
index 0000000000..5279b34b0d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSkipINTEL.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.skip")]
+public enum DeviceSideAvcMotionEstimationSkipINTEL : uint
+{
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_PARTITION_16x16_INTEL")]
+ Partition16x16 = 0,
+
+ [NativeName("CL_AVC_ME_SKIP_BLOCK_PARTITION_8x8_INTEL")]
+ Partition8x8 = 16384,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSliceINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSliceINTEL.gen.cs
new file mode 100644
index 0000000000..1f96d3ccf8
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSliceINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.slice")]
+public enum DeviceSideAvcMotionEstimationSliceINTEL : uint
+{
+ [NativeName("CL_AVC_ME_SLICE_TYPE_PRED_INTEL")]
+ Pred = 0,
+
+ [NativeName("CL_AVC_ME_SLICE_TYPE_BPRED_INTEL")]
+ Bpred = 1,
+
+ [NativeName("CL_AVC_ME_SLICE_TYPE_INTRA_INTEL")]
+ Intra = 2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSubpixelINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSubpixelINTEL.gen.cs
new file mode 100644
index 0000000000..ce761211f9
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationSubpixelINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.subpixel")]
+public enum DeviceSideAvcMotionEstimationSubpixelINTEL : uint
+{
+ [NativeName("CL_AVC_ME_SUBPIXEL_MODE_INTEGER_INTEL")]
+ Integer = 0,
+
+ [NativeName("CL_AVC_ME_SUBPIXEL_MODE_HPEL_INTEL")]
+ Hpel = 1,
+
+ [NativeName("CL_AVC_ME_SUBPIXEL_MODE_QPEL_INTEL")]
+ Qpel = 3,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationVersionINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationVersionINTEL.gen.cs
new file mode 100644
index 0000000000..7d852636a1
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationVersionINTEL.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.version")]
+public enum DeviceSideAvcMotionEstimationVersionINTEL : uint
+{
+ [NativeName("CL_AVC_ME_VERSION_0_INTEL")]
+ Version0 = 0,
+
+ [NativeName("CL_AVC_ME_VERSION_1_INTEL")]
+ Version1 = 1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationWeightINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationWeightINTEL.gen.cs
new file mode 100644
index 0000000000..2bed9c5c71
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationWeightINTEL.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.weight")]
+public enum DeviceSideAvcMotionEstimationWeightINTEL : uint
+{
+ [NativeName("CL_AVC_ME_BIDIR_WEIGHT_QUARTER_INTEL")]
+ Quarter = 16,
+
+ [NativeName("CL_AVC_ME_BIDIR_WEIGHT_THIRD_INTEL")]
+ Third = 21,
+
+ [NativeName("CL_AVC_ME_BIDIR_WEIGHT_HALF_INTEL")]
+ Half = 32,
+
+ [NativeName("CL_AVC_ME_BIDIR_WEIGHT_TWO_THIRD_INTEL")]
+ TwoThird = 43,
+
+ [NativeName("CL_AVC_ME_BIDIR_WEIGHT_THREE_QUARTER_INTEL")]
+ ThreeQuarter = 48,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationWindowINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationWindowINTEL.gen.cs
new file mode 100644
index 0000000000..78a5001bb4
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSideAvcMotionEstimationWindowINTEL.gen.cs
@@ -0,0 +1,50 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_intel_device_side_avc_motion_estimation.window")]
+public enum DeviceSideAvcMotionEstimationWindowINTEL : uint
+{
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_EXHAUSTIVE_INTEL")]
+ WindowExhaustive = 0,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_SMALL_INTEL")]
+ WindowSmall = 1,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_TINY_INTEL")]
+ WindowTiny = 2,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_EXTRA_TINY_INTEL")]
+ WindowExtraTiny = 3,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_DIAMOND_INTEL")]
+ WindowDiamond = 4,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_LARGE_DIAMOND_INTEL")]
+ WindowLargeDiamond = 5,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_RESERVED0_INTEL")]
+ WindowReserved0 = 6,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_RESERVED1_INTEL")]
+ WindowReserved1 = 7,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_CUSTOM_INTEL")]
+ WindowCustom = 8,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_16x12_RADIUS_INTEL")]
+ Window16x12Radius = 9,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_4x4_RADIUS_INTEL")]
+ Window4x4Radius = 2,
+
+ [NativeName("CL_AVC_ME_SEARCH_WINDOW_2x2_RADIUS_INTEL")]
+ Window2x2Radius = 10,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilities.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilities.gen.cs
new file mode 100644
index 0000000000..a6f08a9929
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilities.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_svm_capabilities")]
+[Flags]
+public enum DeviceSvmCapabilities : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_SVM_COARSE_GRAIN_BUFFER")]
+ CoarseGrainBuffer = 0x1,
+
+ [NativeName("CL_DEVICE_SVM_FINE_GRAIN_BUFFER")]
+ FineGrainBuffer = 0x2,
+
+ [NativeName("CL_DEVICE_SVM_FINE_GRAIN_SYSTEM")]
+ FineGrainSystem = 0x4,
+
+ [NativeName("CL_DEVICE_SVM_ATOMICS")]
+ Atomics = 0x8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilitiesARM.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilitiesARM.gen.cs
new file mode 100644
index 0000000000..cbbfef95ca
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilitiesARM.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_svm_capabilities_arm")]
+[Flags]
+public enum DeviceSvmCapabilitiesARM : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_SVM_COARSE_GRAIN_BUFFER_ARM")]
+ CoarseGrainBuffer = 0x1,
+
+ [NativeName("CL_DEVICE_SVM_FINE_GRAIN_BUFFER_ARM")]
+ FineGrainBuffer = 0x2,
+
+ [NativeName("CL_DEVICE_SVM_FINE_GRAIN_SYSTEM_ARM")]
+ FineGrainSystem = 0x4,
+
+ [NativeName("CL_DEVICE_SVM_ATOMICS_ARM")]
+ Atomics = 0x8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilitiesFlagsARM.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilitiesFlagsARM.gen.cs
new file mode 100644
index 0000000000..72c4f5190e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceSvmCapabilitiesFlagsARM.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_arm_device_svm_capabilities.flags")]
+[Flags]
+public enum DeviceSvmCapabilitiesFlagsARM : uint
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_SVM_COARSE_GRAIN_BUFFER_ARM")]
+ CoarseGrainBuffer = 0x1,
+
+ [NativeName("CL_DEVICE_SVM_FINE_GRAIN_BUFFER_ARM")]
+ FineGrainBuffer = 0x2,
+
+ [NativeName("CL_DEVICE_SVM_FINE_GRAIN_SYSTEM_ARM")]
+ FineGrainSystem = 0x4,
+
+ [NativeName("CL_DEVICE_SVM_ATOMICS_ARM")]
+ Atomics = 0x8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceTerminateCapabilityKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceTerminateCapabilityKHR.gen.cs
new file mode 100644
index 0000000000..6b75601027
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceTerminateCapabilityKHR.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_terminate_capability_khr")]
+[Flags]
+public enum DeviceTerminateCapabilityKHR : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_TERMINATE_CAPABILITY_CONTEXT_KHR")]
+ Context = 0x1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceType.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceType.gen.cs
new file mode 100644
index 0000000000..60a28be8bc
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceType.gen.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_type")]
+[Flags]
+public enum DeviceType : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_DEVICE_TYPE_DEFAULT")]
+ Default = 0x1,
+
+ [NativeName("CL_DEVICE_TYPE_CPU")]
+ Cpu = 0x2,
+
+ [NativeName("CL_DEVICE_TYPE_GPU")]
+ Gpu = 0x4,
+
+ [NativeName("CL_DEVICE_TYPE_ACCELERATOR")]
+ Accelerator = 0x8,
+
+ [NativeName("CL_DEVICE_TYPE_CUSTOM")]
+ Custom = 0x10,
+
+ [NativeName("CL_DEVICE_TYPE_ALL")]
+ All = 0xFFFFFFFF,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DeviceUnifiedSharedMemoryCapabilitiesINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DeviceUnifiedSharedMemoryCapabilitiesINTEL.gen.cs
new file mode 100644
index 0000000000..51696201e0
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DeviceUnifiedSharedMemoryCapabilitiesINTEL.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_unified_shared_memory_capabilities_intel")]
+[Flags]
+public enum DeviceUnifiedSharedMemoryCapabilitiesINTEL : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_ACCESS_INTEL")]
+ Access = 0x1,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS_INTEL")]
+ AtomicAccess = 0x2,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ACCESS_INTEL")]
+ ConcurrentAccess = 0x4,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ATOMIC_ACCESS_INTEL")]
+ ConcurrentAtomicAccess = 0x8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/DiagnosticVerboseLevelINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/DiagnosticVerboseLevelINTEL.gen.cs
new file mode 100644
index 0000000000..7090932204
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/DiagnosticVerboseLevelINTEL.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_diagnostic_verbose_level_intel")]
+[Flags]
+public enum DiagnosticVerboseLevelINTEL : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_CONTEXT_DIAGNOSTICS_LEVEL_ALL_INTEL")]
+ All = 0xFF,
+
+ [NativeName("CL_CONTEXT_DIAGNOSTICS_LEVEL_GOOD_INTEL")]
+ Good = 0x1,
+
+ [NativeName("CL_CONTEXT_DIAGNOSTICS_LEVEL_BAD_INTEL")]
+ Bad = 0x2,
+
+ [NativeName("CL_CONTEXT_DIAGNOSTICS_LEVEL_NEUTRAL_INTEL")]
+ Neutral = 0x4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/Dx9DeviceSetINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/Dx9DeviceSetINTEL.gen.cs
new file mode 100644
index 0000000000..46a8660ef6
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/Dx9DeviceSetINTEL.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_dx9_device_set_intel")]
+public enum Dx9DeviceSetINTEL : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/Dx9DeviceSourceINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/Dx9DeviceSourceINTEL.gen.cs
new file mode 100644
index 0000000000..55d2a647c4
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/Dx9DeviceSourceINTEL.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_dx9_device_source_intel")]
+public enum Dx9DeviceSourceINTEL : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/EglImagePropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/EglImagePropertiesKHR.gen.cs
new file mode 100644
index 0000000000..843a1fadc4
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/EglImagePropertiesKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_egl_image_properties_khr")]
+public enum EglImagePropertiesKHR : long
+{
+ [NativeName("CL_EGL_YUV_PLANE_INTEL")]
+ YuvPlaneINTEL = 16647,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ErrorCodes.gen.cs b/sources/OpenCL/OpenCL/Enums/ErrorCodes.gen.cs
new file mode 100644
index 0000000000..c9a63c84aa
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ErrorCodes.gen.cs
@@ -0,0 +1,260 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("ErrorCodes")]
+public enum ErrorCodes : int
+{
+ [NativeName("CL_SUCCESS")]
+ Success = 0,
+
+ [NativeName("CL_DEVICE_NOT_FOUND")]
+ DeviceNotFound = -1,
+
+ [NativeName("CL_DEVICE_NOT_AVAILABLE")]
+ DeviceNotAvailable = -2,
+
+ [NativeName("CL_COMPILER_NOT_AVAILABLE")]
+ CompilerNotAvailable = -3,
+
+ [NativeName("CL_MEM_OBJECT_ALLOCATION_FAILURE")]
+ MemObjectAllocationFailure = -4,
+
+ [NativeName("CL_OUT_OF_RESOURCES")]
+ OutOfResources = -5,
+
+ [NativeName("CL_OUT_OF_HOST_MEMORY")]
+ OutOfHostMemory = -6,
+
+ [NativeName("CL_PROFILING_INFO_NOT_AVAILABLE")]
+ ProfilingInfoNotAvailable = -7,
+
+ [NativeName("CL_MEM_COPY_OVERLAP")]
+ MemCopyOverlap = -8,
+
+ [NativeName("CL_IMAGE_FORMAT_MISMATCH")]
+ ImageFormatMismatch = -9,
+
+ [NativeName("CL_IMAGE_FORMAT_NOT_SUPPORTED")]
+ ImageFormatNotSupported = -10,
+
+ [NativeName("CL_BUILD_PROGRAM_FAILURE")]
+ BuildProgramFailure = -11,
+
+ [NativeName("CL_MAP_FAILURE")]
+ MapFailure = -12,
+
+ [NativeName("CL_MISALIGNED_SUB_BUFFER_OFFSET")]
+ MisalignedSubBufferOffset = -13,
+
+ [NativeName("CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST")]
+ ExecStatusErrorForEventsInWaitList = -14,
+
+ [NativeName("CL_COMPILE_PROGRAM_FAILURE")]
+ CompileProgramFailure = -15,
+
+ [NativeName("CL_LINKER_NOT_AVAILABLE")]
+ LinkerNotAvailable = -16,
+
+ [NativeName("CL_LINK_PROGRAM_FAILURE")]
+ LinkProgramFailure = -17,
+
+ [NativeName("CL_DEVICE_PARTITION_FAILED")]
+ DevicePartitionFailed = -18,
+
+ [NativeName("CL_KERNEL_ARG_INFO_NOT_AVAILABLE")]
+ KernelArgInfoNotAvailable = -19,
+
+ [NativeName("CL_INVALID_VALUE")]
+ InvalidValue = -30,
+
+ [NativeName("CL_INVALID_DEVICE_TYPE")]
+ InvalidDeviceType = -31,
+
+ [NativeName("CL_INVALID_PLATFORM")]
+ InvalidPlatform = -32,
+
+ [NativeName("CL_INVALID_DEVICE")]
+ InvalidDevice = -33,
+
+ [NativeName("CL_INVALID_CONTEXT")]
+ InvalidContext = -34,
+
+ [NativeName("CL_INVALID_QUEUE_PROPERTIES")]
+ InvalidQueueProperties = -35,
+
+ [NativeName("CL_INVALID_COMMAND_QUEUE")]
+ InvalidCommandQueue = -36,
+
+ [NativeName("CL_INVALID_HOST_PTR")]
+ InvalidHostPtr = -37,
+
+ [NativeName("CL_INVALID_MEM_OBJECT")]
+ InvalidMemObject = -38,
+
+ [NativeName("CL_INVALID_IMAGE_FORMAT_DESCRIPTOR")]
+ InvalidImageFormatDescriptor = -39,
+
+ [NativeName("CL_INVALID_IMAGE_SIZE")]
+ InvalidImageSize = -40,
+
+ [NativeName("CL_INVALID_SAMPLER")]
+ InvalidSampler = -41,
+
+ [NativeName("CL_INVALID_BINARY")]
+ InvalidBinary = -42,
+
+ [NativeName("CL_INVALID_BUILD_OPTIONS")]
+ InvalidBuildOptions = -43,
+
+ [NativeName("CL_INVALID_PROGRAM")]
+ InvalidProgram = -44,
+
+ [NativeName("CL_INVALID_PROGRAM_EXECUTABLE")]
+ InvalidProgramExecutable = -45,
+
+ [NativeName("CL_INVALID_KERNEL_NAME")]
+ InvalidKernelName = -46,
+
+ [NativeName("CL_INVALID_KERNEL_DEFINITION")]
+ InvalidKernelDefinition = -47,
+
+ [NativeName("CL_INVALID_KERNEL")]
+ InvalidKernel = -48,
+
+ [NativeName("CL_INVALID_ARG_INDEX")]
+ InvalidArgIndex = -49,
+
+ [NativeName("CL_INVALID_ARG_VALUE")]
+ InvalidArgValue = -50,
+
+ [NativeName("CL_INVALID_ARG_SIZE")]
+ InvalidArgSize = -51,
+
+ [NativeName("CL_INVALID_KERNEL_ARGS")]
+ InvalidKernelArgs = -52,
+
+ [NativeName("CL_INVALID_WORK_DIMENSION")]
+ InvalidWorkDimension = -53,
+
+ [NativeName("CL_INVALID_WORK_GROUP_SIZE")]
+ InvalidWorkGroupSize = -54,
+
+ [NativeName("CL_INVALID_WORK_ITEM_SIZE")]
+ InvalidWorkItemSize = -55,
+
+ [NativeName("CL_INVALID_GLOBAL_OFFSET")]
+ InvalidGlobalOffset = -56,
+
+ [NativeName("CL_INVALID_EVENT_WAIT_LIST")]
+ InvalidEventWaitList = -57,
+
+ [NativeName("CL_INVALID_EVENT")]
+ InvalidEvent = -58,
+
+ [NativeName("CL_INVALID_OPERATION")]
+ InvalidOperation = -59,
+
+ [NativeName("CL_INVALID_GL_OBJECT")]
+ InvalidGlObject = -60,
+
+ [NativeName("CL_INVALID_BUFFER_SIZE")]
+ InvalidBufferSize = -61,
+
+ [NativeName("CL_INVALID_MIP_LEVEL")]
+ InvalidMipLevel = -62,
+
+ [NativeName("CL_INVALID_GLOBAL_WORK_SIZE")]
+ InvalidGlobalWorkSize = -63,
+
+ [NativeName("CL_INVALID_PROPERTY")]
+ InvalidProperty = -64,
+
+ [NativeName("CL_INVALID_IMAGE_DESCRIPTOR")]
+ InvalidImageDescriptor = -65,
+
+ [NativeName("CL_INVALID_COMPILER_OPTIONS")]
+ InvalidCompilerOptions = -66,
+
+ [NativeName("CL_INVALID_LINKER_OPTIONS")]
+ InvalidLinkerOptions = -67,
+
+ [NativeName("CL_INVALID_DEVICE_PARTITION_COUNT")]
+ InvalidDevicePartitionCount = -68,
+
+ [NativeName("CL_INVALID_PIPE_SIZE")]
+ InvalidPipeSize = -69,
+
+ [NativeName("CL_INVALID_DEVICE_QUEUE")]
+ InvalidDeviceQueue = -70,
+
+ [NativeName("CL_INVALID_SPEC_ID")]
+ InvalidSpecId = -71,
+
+ [NativeName("CL_MAX_SIZE_RESTRICTION_EXCEEDED")]
+ MaxSizeRestrictionExceeded = -72,
+
+ [NativeName("CL_PLATFORM_NOT_FOUND_KHR")]
+ PlatformNotFoundKHR = -1001,
+
+ [NativeName("CL_CONTEXT_TERMINATED_KHR")]
+ ContextTerminatedKHR = -1121,
+
+ [NativeName("CL_DEVICE_PARTITION_FAILED_EXT")]
+ DevicePartitionFailedEXT = -1057,
+
+ [NativeName("CL_INVALID_PARTITION_COUNT_EXT")]
+ InvalidPartitionCountEXT = -1058,
+
+ [NativeName("CL_INVALID_PARTITION_NAME_EXT")]
+ InvalidPartitionNameEXT = -1059,
+
+ [NativeName("CL_GRALLOC_RESOURCE_NOT_ACQUIRED_IMG")]
+ GrallocResourceNotAcquiredIMG = 16596,
+
+ [NativeName("CL_INVALID_GRALLOC_OBJECT_IMG")]
+ InvalidGrallocObjectIMG = 16597,
+
+ [NativeName("CL_INVALID_SEMAPHORE_KHR")]
+ InvalidSemaphoreKHR = -1142,
+
+ [NativeName("CL_COMMAND_TERMINATED_ITSELF_WITH_FAILURE_ARM")]
+ CommandTerminatedItselfWithFailureARM = -1108,
+
+ [NativeName("CL_INVALID_ACCELERATOR_INTEL")]
+ InvalidAcceleratorINTEL = -1094,
+
+ [NativeName("CL_INVALID_ACCELERATOR_TYPE_INTEL")]
+ InvalidAcceleratorTypeINTEL = -1095,
+
+ [NativeName("CL_INVALID_ACCELERATOR_DESCRIPTOR_INTEL")]
+ InvalidAcceleratorDescriptorINTEL = -1096,
+
+ [NativeName("CL_ACCELERATOR_TYPE_NOT_SUPPORTED_INTEL")]
+ AcceleratorTypeNotSupportedINTEL = -1097,
+
+ [NativeName("CL_CANCELLED_IMG")]
+ CancelledIMG = -1126,
+
+ [NativeName("CL_ECC_RECOVERED_IMG")]
+ EccRecoveredIMG = 16605,
+
+ [NativeName("CL_PAGE_FAULT_IMG")]
+ PageFaultIMG = -1127,
+
+ [NativeName("CL_SAFETY_FAULT_IMG")]
+ SafetyFaultIMG = -1128,
+
+ [NativeName("CL_GENERAL_FAULT_IMG")]
+ GeneralFaultIMG = -1129,
+
+ [NativeName("CL_ECC_UNRECOVERED_IMG")]
+ EccUnrecoveredIMG = -1130,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/EventInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/EventInfo.gen.cs
new file mode 100644
index 0000000000..98c82cc801
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/EventInfo.gen.cs
@@ -0,0 +1,32 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_event_info")]
+public enum EventInfo : uint
+{
+ [NativeName("CL_EVENT_COMMAND_QUEUE")]
+ CommandQueue = 4560,
+
+ [NativeName("CL_EVENT_COMMAND_TYPE")]
+ CommandType = 4561,
+
+ [NativeName("CL_EVENT_REFERENCE_COUNT")]
+ ReferenceCount = 4562,
+
+ [NativeName("CL_EVENT_COMMAND_EXECUTION_STATUS")]
+ CommandExecutionStatus = 4563,
+
+ [NativeName("CL_EVENT_CONTEXT")]
+ Context = 4564,
+
+ [NativeName("CL_EVENT_COMMAND_TERMINATION_REASON_ARM")]
+ CommandTerminationReasonARM = 16877,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ExternalMemoryHandleTypeKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/ExternalMemoryHandleTypeKHR.gen.cs
new file mode 100644
index 0000000000..99386547ae
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ExternalMemoryHandleTypeKHR.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_external_memory_handle_type_khr")]
+public enum ExternalMemoryHandleTypeKHR : uint
+{
+ [NativeName("CL_EXTERNAL_MEMORY_HANDLE_DMA_BUF_KHR")]
+ DmaBuf = 8295,
+
+ [NativeName("CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_FD_KHR")]
+ OpaqueFd = 8288,
+
+ [NativeName("CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_WIN32_KHR")]
+ OpaqueWin32 = 8289,
+
+ [NativeName("CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_WIN32_KMT_KHR")]
+ OpaqueWin32Kmt = 8290,
+
+ [NativeName("CL_EXTERNAL_MEMORY_HANDLE_OPAQUE_WIN32_NAME_KHR")]
+ OpaqueWin32Name = 8297,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ExternalSemaphoreHandleTypeKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/ExternalSemaphoreHandleTypeKHR.gen.cs
new file mode 100644
index 0000000000..cfc5d2d76b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ExternalSemaphoreHandleTypeKHR.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_external_semaphore_handle_type_khr")]
+public enum ExternalSemaphoreHandleTypeKHR : uint
+{
+ [NativeName("CL_SEMAPHORE_HANDLE_OPAQUE_FD_KHR")]
+ OpaqueFd = 8277,
+
+ [NativeName("CL_SEMAPHORE_HANDLE_SYNC_FD_KHR")]
+ SyncFd = 8280,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/FilterMode.gen.cs b/sources/OpenCL/OpenCL/Enums/FilterMode.gen.cs
new file mode 100644
index 0000000000..23d1f6c3c8
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/FilterMode.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_filter_mode")]
+public enum FilterMode : uint
+{
+ [NativeName("CL_FILTER_NEAREST")]
+ Nearest = 4416,
+
+ [NativeName("CL_FILTER_LINEAR")]
+ Linear = 4417,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/GlContextInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/GlContextInfo.gen.cs
new file mode 100644
index 0000000000..0c4a3b0795
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/GlContextInfo.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_gl_context_info")]
+public enum GlContextInfo : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/GlObjectType.gen.cs b/sources/OpenCL/OpenCL/Enums/GlObjectType.gen.cs
new file mode 100644
index 0000000000..5ccf8bbfb4
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/GlObjectType.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_gl_object_type")]
+public enum GlObjectType : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/GlTextureInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/GlTextureInfo.gen.cs
new file mode 100644
index 0000000000..b9695a8708
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/GlTextureInfo.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_gl_texture_info")]
+public enum GlTextureInfo : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/HostCachePolicy.gen.cs b/sources/OpenCL/OpenCL/Enums/HostCachePolicy.gen.cs
new file mode 100644
index 0000000000..bc16f670c2
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/HostCachePolicy.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("host_cache_policy")]
+public enum HostCachePolicy : uint
+{
+ [NativeName("CL_MEM_HOST_UNCACHED_QCOM")]
+ UncachedQCOM = 16548,
+
+ [NativeName("CL_MEM_HOST_WRITEBACK_QCOM")]
+ WritebackQCOM = 16549,
+
+ [NativeName("CL_MEM_HOST_WRITETHROUGH_QCOM")]
+ WritethroughQCOM = 16550,
+
+ [NativeName("CL_MEM_HOST_WRITE_COMBINING_QCOM")]
+ WriteCombiningQCOM = 16551,
+
+ [NativeName("CL_MEM_HOST_IOCOHERENT_QCOM")]
+ IocoherentQCOM = 16553,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/IcdlInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/IcdlInfo.gen.cs
new file mode 100644
index 0000000000..0544e6b9af
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/IcdlInfo.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_icdl_info")]
+public enum IcdlInfo : uint
+{
+ [NativeName("CL_ICDL_OCL_VERSION")]
+ OclVersion = 1,
+
+ [NativeName("CL_ICDL_VERSION")]
+ Version = 2,
+
+ [NativeName("CL_ICDL_NAME")]
+ Name = 3,
+
+ [NativeName("CL_ICDL_VENDOR")]
+ Vendor = 4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ImageInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/ImageInfo.gen.cs
new file mode 100644
index 0000000000..5379452234
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ImageInfo.gen.cs
@@ -0,0 +1,47 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_image_info")]
+public enum ImageInfo : uint
+{
+ [NativeName("CL_IMAGE_FORMAT")]
+ Format = 4368,
+
+ [NativeName("CL_IMAGE_ELEMENT_SIZE")]
+ ElementSize = 4369,
+
+ [NativeName("CL_IMAGE_ROW_PITCH")]
+ RowPitch = 4370,
+
+ [NativeName("CL_IMAGE_SLICE_PITCH")]
+ SlicePitch = 4371,
+
+ [NativeName("CL_IMAGE_WIDTH")]
+ Width = 4372,
+
+ [NativeName("CL_IMAGE_HEIGHT")]
+ Height = 4373,
+
+ [NativeName("CL_IMAGE_DEPTH")]
+ Depth = 4374,
+
+ [NativeName("CL_IMAGE_ARRAY_SIZE")]
+ ArraySize = 4375,
+
+ [NativeName("CL_IMAGE_BUFFER")]
+ Buffer = 4376,
+
+ [NativeName("CL_IMAGE_NUM_MIP_LEVELS")]
+ NumMipLevels = 4377,
+
+ [NativeName("CL_IMAGE_NUM_SAMPLES")]
+ NumSamples = 4378,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ImagePitchInfoQCOM.gen.cs b/sources/OpenCL/OpenCL/Enums/ImagePitchInfoQCOM.gen.cs
new file mode 100644
index 0000000000..405d8dbd20
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ImagePitchInfoQCOM.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_image_pitch_info_qcom")]
+public enum ImagePitchInfoQCOM : uint
+{
+ [NativeName("CL_IMAGE_ROW_ALIGNMENT_QCOM")]
+ RowAlignment = 16546,
+
+ [NativeName("CL_IMAGE_SLICE_ALIGNMENT_QCOM")]
+ SliceAlignment = 16547,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ImageRequirementsInfoEXT.gen.cs b/sources/OpenCL/OpenCL/Enums/ImageRequirementsInfoEXT.gen.cs
new file mode 100644
index 0000000000..50b1640cba
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ImageRequirementsInfoEXT.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_image_requirements_info_ext")]
+public enum ImageRequirementsInfoEXT : uint
+{
+ [NativeName("CL_IMAGE_REQUIREMENTS_BASE_ADDRESS_ALIGNMENT_EXT")]
+ BaseAddressAlignment = 4754,
+
+ [NativeName("CL_IMAGE_REQUIREMENTS_ROW_PITCH_ALIGNMENT_EXT")]
+ RowPitchAlignment = 4752,
+
+ [NativeName("CL_IMAGE_REQUIREMENTS_SIZE_EXT")]
+ Size = 4786,
+
+ [NativeName("CL_IMAGE_REQUIREMENTS_MAX_WIDTH_EXT")]
+ MaxWidth = 4787,
+
+ [NativeName("CL_IMAGE_REQUIREMENTS_MAX_HEIGHT_EXT")]
+ MaxHeight = 4788,
+
+ [NativeName("CL_IMAGE_REQUIREMENTS_MAX_DEPTH_EXT")]
+ MaxDepth = 4789,
+
+ [NativeName("CL_IMAGE_REQUIREMENTS_MAX_ARRAY_SIZE_EXT")]
+ MaxArraySize = 4790,
+
+ [NativeName("CL_IMAGE_REQUIREMENTS_SLICE_PITCH_ALIGNMENT_EXT")]
+ SlicePitchAlignment = 4753,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ImportPropertiesARM.gen.cs b/sources/OpenCL/OpenCL/Enums/ImportPropertiesARM.gen.cs
new file mode 100644
index 0000000000..0d821d78e2
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ImportPropertiesARM.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_import_properties_arm")]
+public enum ImportPropertiesARM : long
+{
+ [NativeName("CL_IMPORT_TYPE_ARM")]
+ Type = 16562,
+
+ [NativeName("CL_IMPORT_TYPE_HOST_ARM")]
+ TypeHost = 16563,
+
+ [NativeName("CL_IMPORT_TYPE_DMA_BUF_ARM")]
+ TypeDmaBuf = 16564,
+
+ [NativeName("CL_IMPORT_TYPE_PROTECTED_ARM")]
+ TypeProtected = 16565,
+
+ [NativeName("CL_IMPORT_TYPE_ANDROID_HARDWARE_BUFFER_ARM")]
+ TypeAndroidHardwareBuffer = 16866,
+
+ [NativeName("CL_IMPORT_DMA_BUF_DATA_CONSISTENCY_WITH_HOST_ARM")]
+ DmaBufDataConsistencyWithHost = 16867,
+
+ [NativeName("CL_IMPORT_ANDROID_HARDWARE_BUFFER_PLANE_INDEX_ARM")]
+ AndroidHardwareBufferPlaneIndex = 16879,
+
+ [NativeName("CL_IMPORT_ANDROID_HARDWARE_BUFFER_LAYER_INDEX_ARM")]
+ AndroidHardwareBufferLayerIndex = 16880,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelArgAccessQualifier.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelArgAccessQualifier.gen.cs
new file mode 100644
index 0000000000..6a6b8459dd
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelArgAccessQualifier.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_arg_access_qualifier")]
+public enum KernelArgAccessQualifier : uint
+{
+ [NativeName("CL_KERNEL_ARG_ACCESS_READ_ONLY")]
+ ReadOnly = 4512,
+
+ [NativeName("CL_KERNEL_ARG_ACCESS_WRITE_ONLY")]
+ WriteOnly = 4513,
+
+ [NativeName("CL_KERNEL_ARG_ACCESS_READ_WRITE")]
+ ReadWrite = 4514,
+
+ [NativeName("CL_KERNEL_ARG_ACCESS_NONE")]
+ None = 4515,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelArgAddressQualifier.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelArgAddressQualifier.gen.cs
new file mode 100644
index 0000000000..dba81b684c
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelArgAddressQualifier.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_arg_address_qualifier")]
+public enum KernelArgAddressQualifier : uint
+{
+ [NativeName("CL_KERNEL_ARG_ADDRESS_GLOBAL")]
+ Global = 4507,
+
+ [NativeName("CL_KERNEL_ARG_ADDRESS_LOCAL")]
+ Local = 4508,
+
+ [NativeName("CL_KERNEL_ARG_ADDRESS_CONSTANT")]
+ Constant = 4509,
+
+ [NativeName("CL_KERNEL_ARG_ADDRESS_PRIVATE")]
+ Private = 4510,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelArgInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelArgInfo.gen.cs
new file mode 100644
index 0000000000..b48f606265
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelArgInfo.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_arg_info")]
+public enum KernelArgInfo : uint
+{
+ [NativeName("CL_KERNEL_ARG_ADDRESS_QUALIFIER")]
+ AddressQualifier = 4502,
+
+ [NativeName("CL_KERNEL_ARG_ACCESS_QUALIFIER")]
+ AccessQualifier = 4503,
+
+ [NativeName("CL_KERNEL_ARG_TYPE_NAME")]
+ TypeName = 4504,
+
+ [NativeName("CL_KERNEL_ARG_TYPE_QUALIFIER")]
+ TypeQualifier = 4505,
+
+ [NativeName("CL_KERNEL_ARG_NAME")]
+ Name = 4506,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelArgTypeQualifier.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelArgTypeQualifier.gen.cs
new file mode 100644
index 0000000000..5f2a422399
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelArgTypeQualifier.gen.cs
@@ -0,0 +1,30 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_arg_type_qualifier")]
+[Flags]
+public enum KernelArgTypeQualifier : ulong
+{
+ [NativeName("CL_KERNEL_ARG_TYPE_NONE")]
+ None = 0x0,
+
+ [NativeName("CL_KERNEL_ARG_TYPE_CONST")]
+ Const = 0x1,
+
+ [NativeName("CL_KERNEL_ARG_TYPE_RESTRICT")]
+ Restrict = 0x2,
+
+ [NativeName("CL_KERNEL_ARG_TYPE_VOLATILE")]
+ Volatile = 0x4,
+
+ [NativeName("CL_KERNEL_ARG_TYPE_PIPE")]
+ Pipe = 0x8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelExecInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelExecInfo.gen.cs
new file mode 100644
index 0000000000..2ff9c6a52d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelExecInfo.gen.cs
@@ -0,0 +1,47 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_exec_info")]
+public enum KernelExecInfo : uint
+{
+ [NativeName("CL_KERNEL_EXEC_INFO_SVM_PTRS")]
+ SvmPtrs = 4534,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM")]
+ SvmFineGrainSystem = 4535,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE_ARM")]
+ WorkgroupBatchSizeARM = 16869,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE_MODIFIER_ARM")]
+ WorkgroupBatchSizeModifierARM = 16870,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_WARP_COUNT_LIMIT_ARM")]
+ WarpCountLimitARM = 16872,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_COMPUTE_UNIT_MAX_QUEUED_BATCHES_ARM")]
+ ComputeUnitMaxQueuedBatchesARM = 16881,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_INDIRECT_HOST_ACCESS_INTEL")]
+ IndirectHostAccessINTEL = 16896,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL")]
+ IndirectDeviceAccessINTEL = 16897,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_INDIRECT_SHARED_ACCESS_INTEL")]
+ IndirectSharedAccessINTEL = 16898,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL")]
+ UsmPtrsINTEL = 16899,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT")]
+ DevicePtrsEXT = 20482,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelExecInfoARM.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelExecInfoARM.gen.cs
new file mode 100644
index 0000000000..521fb8f241
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelExecInfoARM.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_exec_info_arm")]
+public enum KernelExecInfoARM : uint
+{
+ [NativeName("CL_KERNEL_EXEC_INFO_SVM_PTRS_ARM")]
+ Ptrs = 16568,
+
+ [NativeName("CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM_ARM")]
+ FineGrainSystem = 16569,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelInfo.gen.cs
new file mode 100644
index 0000000000..ddba28493a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelInfo.gen.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_info")]
+public enum KernelInfo : uint
+{
+ [NativeName("CL_KERNEL_FUNCTION_NAME")]
+ FunctionName = 4496,
+
+ [NativeName("CL_KERNEL_NUM_ARGS")]
+ NumArgs = 4497,
+
+ [NativeName("CL_KERNEL_REFERENCE_COUNT")]
+ ReferenceCount = 4498,
+
+ [NativeName("CL_KERNEL_CONTEXT")]
+ Context = 4499,
+
+ [NativeName("CL_KERNEL_PROGRAM")]
+ Program = 4500,
+
+ [NativeName("CL_KERNEL_ATTRIBUTES")]
+ Attributes = 4501,
+
+ [NativeName("CL_KERNEL_MAX_WARP_COUNT_ARM")]
+ MaxWarpCountARM = 16873,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelSubGroupInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelSubGroupInfo.gen.cs
new file mode 100644
index 0000000000..fe742d74fd
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelSubGroupInfo.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_sub_group_info")]
+public enum KernelSubGroupInfo : uint
+{
+ [NativeName("CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE")]
+ MaxSubGroupSizeForNdrange = 8243,
+
+ [NativeName("CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE")]
+ SubGroupCountForNdrange = 8244,
+
+ [NativeName("CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT")]
+ LocalSizeForSubGroupCount = 4536,
+
+ [NativeName("CL_KERNEL_MAX_NUM_SUB_GROUPS")]
+ MaxNumSubGroups = 4537,
+
+ [NativeName("CL_KERNEL_COMPILE_NUM_SUB_GROUPS")]
+ CompileNumSubGroups = 4538,
+
+ [NativeName("CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE_KHR")]
+ MaxSubGroupSizeForNdrangeKHR = 8243,
+
+ [NativeName("CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE_KHR")]
+ SubGroupCountForNdrangeKHR = 8244,
+
+ [NativeName("CL_KERNEL_COMPILE_SUB_GROUP_SIZE_INTEL")]
+ CompileSubGroupSizeINTEL = 16650,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KernelWorkGroupInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/KernelWorkGroupInfo.gen.cs
new file mode 100644
index 0000000000..5897f3436a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KernelWorkGroupInfo.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel_work_group_info")]
+public enum KernelWorkGroupInfo : uint
+{
+ [NativeName("CL_KERNEL_WORK_GROUP_SIZE")]
+ WorkGroupSize = 4528,
+
+ [NativeName("CL_KERNEL_COMPILE_WORK_GROUP_SIZE")]
+ CompileWorkGroupSize = 4529,
+
+ [NativeName("CL_KERNEL_LOCAL_MEM_SIZE")]
+ LocalMemSize = 4530,
+
+ [NativeName("CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE")]
+ PreferredWorkGroupSizeMultiple = 4531,
+
+ [NativeName("CL_KERNEL_PRIVATE_MEM_SIZE")]
+ PrivateMemSize = 4532,
+
+ [NativeName("CL_KERNEL_GLOBAL_WORK_SIZE")]
+ GlobalWorkSize = 4533,
+
+ [NativeName("CL_KERNEL_SPILL_MEM_SIZE_INTEL")]
+ SpillMemSizeINTEL = 16649,
+
+ [NativeName("CL_KERNEL_ALLOCATIONS_INFO_INTEL")]
+ AllocationsInfoINTEL = 16986,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/KhronosVendorId.gen.cs b/sources/OpenCL/OpenCL/Enums/KhronosVendorId.gen.cs
new file mode 100644
index 0000000000..678904a42d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/KhronosVendorId.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_khronos_vendor_id")]
+public enum KhronosVendorId : uint
+{
+ [NativeName("CL_KHRONOS_VENDOR_ID_CODEPLAY")]
+ Codeplay = 65540,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/LayerInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/LayerInfo.gen.cs
new file mode 100644
index 0000000000..221f69a956
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/LayerInfo.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_layer_info")]
+public enum LayerInfo : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/LayerProperties.gen.cs b/sources/OpenCL/OpenCL/Enums/LayerProperties.gen.cs
new file mode 100644
index 0000000000..65b3707a23
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/LayerProperties.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_layer_properties")]
+public enum LayerProperties : ulong { }
diff --git a/sources/OpenCL/OpenCL/Enums/MapFlags.gen.cs b/sources/OpenCL/OpenCL/Enums/MapFlags.gen.cs
new file mode 100644
index 0000000000..42fc591039
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MapFlags.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_map_flags")]
+[Flags]
+public enum MapFlags : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MAP_READ")]
+ Read = 0x1,
+
+ [NativeName("CL_MAP_WRITE")]
+ Write = 0x2,
+
+ [NativeName("CL_MAP_WRITE_INVALIDATE_REGION")]
+ WriteInvalidateRegion = 0x4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MediaAdapterSetKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/MediaAdapterSetKHR.gen.cs
new file mode 100644
index 0000000000..e22c3ee147
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MediaAdapterSetKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_media_adapter_set_khr")]
+public enum MediaAdapterSetKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/MediaAdapterTypeKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/MediaAdapterTypeKHR.gen.cs
new file mode 100644
index 0000000000..f2ef8ecdad
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MediaAdapterTypeKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_media_adapter_type_khr")]
+public enum MediaAdapterTypeKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/MemAllocFlagsIMG.gen.cs b/sources/OpenCL/OpenCL/Enums/MemAllocFlagsIMG.gen.cs
new file mode 100644
index 0000000000..c287bcf1c6
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemAllocFlagsIMG.gen.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_alloc_flags_img")]
+[Flags]
+public enum MemAllocFlagsIMG : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MEM_ALLOC_RELAX_REQUIREMENTS_IMG")]
+ RelaxRequirements = 0x1,
+
+ [NativeName("CL_MEM_ALLOC_GPU_WRITE_COMBINE_IMG")]
+ GpuWriteCombine = 0x2,
+
+ [NativeName("CL_MEM_ALLOC_GPU_CACHED_IMG")]
+ GpuCached = 0x4,
+
+ [NativeName("CL_MEM_ALLOC_CPU_LOCAL_IMG")]
+ CpuLocal = 0x8,
+
+ [NativeName("CL_MEM_ALLOC_GPU_LOCAL_IMG")]
+ GpuLocal = 0x10,
+
+ [NativeName("CL_MEM_ALLOC_GPU_PRIVATE_IMG")]
+ GpuPrivate = 0x20,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemAllocFlagsINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/MemAllocFlagsINTEL.gen.cs
new file mode 100644
index 0000000000..5304ecf18b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemAllocFlagsINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_alloc_flags_intel")]
+[Flags]
+public enum MemAllocFlagsINTEL : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MEM_ALLOC_WRITE_COMBINED_INTEL")]
+ WriteCombined = 0x1,
+
+ [NativeName("CL_MEM_ALLOC_INITIAL_PLACEMENT_DEVICE_INTEL")]
+ InitialPlacementDevice = 0x2,
+
+ [NativeName("CL_MEM_ALLOC_INITIAL_PLACEMENT_HOST_INTEL")]
+ InitialPlacementHost = 0x4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemAllocInfoINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/MemAllocInfoINTEL.gen.cs
new file mode 100644
index 0000000000..89b3940c32
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemAllocInfoINTEL.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_alloc_info_intel")]
+public enum MemAllocInfoINTEL : uint
+{
+ [NativeName("CL_MEM_ALLOC_TYPE_INTEL")]
+ Type = 16794,
+
+ [NativeName("CL_MEM_ALLOC_BASE_PTR_INTEL")]
+ BasePtr = 16795,
+
+ [NativeName("CL_MEM_ALLOC_SIZE_INTEL")]
+ Size = 16796,
+
+ [NativeName("CL_MEM_ALLOC_DEVICE_INTEL")]
+ Device = 16797,
+
+ [NativeName("CL_MEM_ALLOC_BUFFER_LOCATION_INTEL")]
+ BufferLocation = 16798,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemFlags.gen.cs b/sources/OpenCL/OpenCL/Enums/MemFlags.gen.cs
new file mode 100644
index 0000000000..8f7db9228b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemFlags.gen.cs
@@ -0,0 +1,80 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_flags")]
+[Flags]
+public enum MemFlags : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MEM_READ_WRITE")]
+ ReadWrite = 0x1,
+
+ [NativeName("CL_MEM_WRITE_ONLY")]
+ WriteOnly = 0x2,
+
+ [NativeName("CL_MEM_READ_ONLY")]
+ ReadOnly = 0x4,
+
+ [NativeName("CL_MEM_USE_HOST_PTR")]
+ UseHostPtr = 0x8,
+
+ [NativeName("CL_MEM_ALLOC_HOST_PTR")]
+ AllocHostPtr = 0x10,
+
+ [NativeName("CL_MEM_COPY_HOST_PTR")]
+ CopyHostPtr = 0x20,
+
+ [NativeName("CL_MEM_HOST_WRITE_ONLY")]
+ HostWriteOnly = 0x80,
+
+ [NativeName("CL_MEM_HOST_READ_ONLY")]
+ HostReadOnly = 0x100,
+
+ [NativeName("CL_MEM_HOST_NO_ACCESS")]
+ HostNoAccess = 0x200,
+
+ [NativeName("CL_MEM_SVM_FINE_GRAIN_BUFFER")]
+ SvmFineGrainBuffer = 0x400,
+
+ [NativeName("CL_MEM_SVM_ATOMICS")]
+ SvmAtomics = 0x800,
+
+ [NativeName("CL_MEM_KERNEL_READ_AND_WRITE")]
+ KernelReadAndWrite = 0x1000,
+
+ [NativeName("CL_MEM_EXT_HOST_PTR_QCOM")]
+ ExtHostPtrQCOM = 0x20000000,
+
+ [NativeName("CL_MEM_USE_UNCACHED_CPU_MEMORY_IMG")]
+ UseUncachedCpuMemoryIMG = 0x4000000,
+
+ [NativeName("CL_MEM_USE_CACHED_CPU_MEMORY_IMG")]
+ UseCachedCpuMemoryIMG = 0x8000000,
+
+ [NativeName("CL_MEM_USE_GRALLOC_PTR_IMG")]
+ UseGrallocPtrIMG = 0x10000000,
+
+ [NativeName("CL_MEM_PROTECTED_ALLOC_ARM")]
+ ProtectedAllocARM = 0x1000000000,
+
+ [NativeName("CL_MEM_NO_ACCESS_INTEL")]
+ NoAccessINTEL = 0x1000000,
+
+ [NativeName("CL_MEM_ACCESS_FLAGS_UNRESTRICTED_INTEL")]
+ AccessFlagsUnrestrictedINTEL = 0x2000000,
+
+ [NativeName("CL_MEM_FORCE_HOST_MEMORY_INTEL")]
+ ForceHostMemoryINTEL = 0x100000,
+
+ [NativeName("CL_MEM_IMMUTABLE_EXT")]
+ ImmutableEXT = 0x40,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/MemInfo.gen.cs
new file mode 100644
index 0000000000..b52816ae7c
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemInfo.gen.cs
@@ -0,0 +1,53 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_info")]
+public enum MemInfo : uint
+{
+ [NativeName("CL_MEM_TYPE")]
+ Type = 4352,
+
+ [NativeName("CL_MEM_FLAGS")]
+ Flags = 4353,
+
+ [NativeName("CL_MEM_SIZE")]
+ Size = 4354,
+
+ [NativeName("CL_MEM_HOST_PTR")]
+ HostPtr = 4355,
+
+ [NativeName("CL_MEM_MAP_COUNT")]
+ MapCount = 4356,
+
+ [NativeName("CL_MEM_REFERENCE_COUNT")]
+ ReferenceCount = 4357,
+
+ [NativeName("CL_MEM_CONTEXT")]
+ Context = 4358,
+
+ [NativeName("CL_MEM_ASSOCIATED_MEMOBJECT")]
+ AssociatedMemobject = 4359,
+
+ [NativeName("CL_MEM_OFFSET")]
+ Offset = 4360,
+
+ [NativeName("CL_MEM_USES_SVM_POINTER")]
+ UsesSvmPointer = 4361,
+
+ [NativeName("CL_MEM_PROPERTIES")]
+ Properties = 4362,
+
+ [NativeName("CL_MEM_USES_SVM_POINTER_ARM")]
+ UsesSvmPointerARM = 16567,
+
+ [NativeName("CL_MEM_DEVICE_ADDRESS_EXT")]
+ DeviceAddressEXT = 20481,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemMigrationFlags.gen.cs b/sources/OpenCL/OpenCL/Enums/MemMigrationFlags.gen.cs
new file mode 100644
index 0000000000..0301d8c6f9
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemMigrationFlags.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_migration_flags")]
+[Flags]
+public enum MemMigrationFlags : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MIGRATE_MEM_OBJECT_HOST")]
+ Host = 0x1,
+
+ [NativeName("CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED")]
+ ContentUndefined = 0x2,
+
+ [NativeName("CL_MIGRATE_MEM_OBJECT_HOST_EXT")]
+ HostEXT = 0x1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemMigrationFlagsEXT.gen.cs b/sources/OpenCL/OpenCL/Enums/MemMigrationFlagsEXT.gen.cs
new file mode 100644
index 0000000000..863c49dfd8
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemMigrationFlagsEXT.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_migration_flags_ext")]
+[Flags]
+public enum MemMigrationFlagsEXT : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MIGRATE_MEM_OBJECT_HOST_EXT")]
+ MigrateMemObjectHost = 0x1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemObjectType.gen.cs b/sources/OpenCL/OpenCL/Enums/MemObjectType.gen.cs
new file mode 100644
index 0000000000..9af92474f7
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemObjectType.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_object_type")]
+public enum MemObjectType : uint
+{
+ [NativeName("CL_MEM_OBJECT_BUFFER")]
+ Buffer = 4336,
+
+ [NativeName("CL_MEM_OBJECT_IMAGE2D")]
+ Image2D = 4337,
+
+ [NativeName("CL_MEM_OBJECT_IMAGE3D")]
+ Image3D = 4338,
+
+ [NativeName("CL_MEM_OBJECT_IMAGE2D_ARRAY")]
+ Image2DArray = 4339,
+
+ [NativeName("CL_MEM_OBJECT_IMAGE1D")]
+ Image1D = 4340,
+
+ [NativeName("CL_MEM_OBJECT_IMAGE1D_ARRAY")]
+ Image1DArray = 4341,
+
+ [NativeName("CL_MEM_OBJECT_IMAGE1D_BUFFER")]
+ Image1DBuffer = 4342,
+
+ [NativeName("CL_MEM_OBJECT_PIPE")]
+ Pipe = 4343,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemProperties.gen.cs b/sources/OpenCL/OpenCL/Enums/MemProperties.gen.cs
new file mode 100644
index 0000000000..1bb223153e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemProperties.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_properties")]
+public enum MemProperties : ulong
+{
+ [NativeName("CL_MEM_ALLOC_FLAGS_IMG")]
+ AllocFlagsIMG = 16599,
+
+ [NativeName("CL_MEM_DEVICE_HANDLE_LIST_KHR")]
+ DeviceHandleListKHR = 8273,
+
+ [NativeName("CL_MEM_LOCALLY_UNCACHED_RESOURCE_INTEL")]
+ LocallyUncachedResourceINTEL = 16920,
+
+ [NativeName("CL_MEM_DEVICE_ID_INTEL")]
+ DeviceIdINTEL = 16921,
+
+ [NativeName("CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT")]
+ DevicePrivateAddressEXT = 20480,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MemPropertiesINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/MemPropertiesINTEL.gen.cs
new file mode 100644
index 0000000000..aeede23527
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MemPropertiesINTEL.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem_properties_intel")]
+public enum MemPropertiesINTEL : ulong
+{
+ [NativeName("CL_MEM_ALLOC_FLAGS_INTEL")]
+ AllocFlags = 16789,
+
+ [NativeName("CL_MEM_ALLOC_BUFFER_LOCATION_INTEL")]
+ AllocBufferLocation = 16798,
+
+ [NativeName("CL_MEM_CHANNEL_INTEL")]
+ Channel = 16915,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MipmapFilterModeIMG.gen.cs b/sources/OpenCL/OpenCL/Enums/MipmapFilterModeIMG.gen.cs
new file mode 100644
index 0000000000..251c791acf
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MipmapFilterModeIMG.gen.cs
@@ -0,0 +1,20 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mipmap_filter_mode_img")]
+public enum MipmapFilterModeIMG : uint
+{
+ [NativeName("CL_MIPMAP_FILTER_ANY_IMG")]
+ Any = 0,
+
+ [NativeName("CL_MIPMAP_FILTER_BOX_IMG")]
+ Box = 1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MotionEstimationDescMbBlockTypeINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescMbBlockTypeINTEL.gen.cs
new file mode 100644
index 0000000000..a979b4545f
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescMbBlockTypeINTEL.gen.cs
@@ -0,0 +1,24 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_motion_estimation_desc_intel.mb_block_type")]
+[Flags]
+public enum MotionEstimationDescMbBlockTypeINTEL : uint
+{
+ [NativeName("CL_ME_MB_TYPE_16x16_INTEL")]
+ Type16x16 = 0x0,
+
+ [NativeName("CL_ME_MB_TYPE_8x8_INTEL")]
+ Type8x8 = 0x1,
+
+ [NativeName("CL_ME_MB_TYPE_4x4_INTEL")]
+ Type4x4 = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSadAdjustModeINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSadAdjustModeINTEL.gen.cs
new file mode 100644
index 0000000000..f5cbc2a9ae
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSadAdjustModeINTEL.gen.cs
@@ -0,0 +1,21 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_motion_estimation_desc_intel.sad_adjust_mode")]
+[Flags]
+public enum MotionEstimationDescSadAdjustModeINTEL : uint
+{
+ [NativeName("CL_ME_SAD_ADJUST_MODE_NONE_INTEL")]
+ None = 0x0,
+
+ [NativeName("CL_ME_SAD_ADJUST_MODE_HAAR_INTEL")]
+ Haar = 0x1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSearchPathTypeINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSearchPathTypeINTEL.gen.cs
new file mode 100644
index 0000000000..2f79ec7080
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSearchPathTypeINTEL.gen.cs
@@ -0,0 +1,24 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_motion_estimation_desc_intel.search_path_type")]
+[Flags]
+public enum MotionEstimationDescSearchPathTypeINTEL : uint
+{
+ [NativeName("CL_ME_SEARCH_PATH_RADIUS_2_2_INTEL")]
+ Radius2x2 = 0x0,
+
+ [NativeName("CL_ME_SEARCH_PATH_RADIUS_4_4_INTEL")]
+ Radius4x4 = 0x1,
+
+ [NativeName("CL_ME_SEARCH_PATH_RADIUS_16_12_INTEL")]
+ Radius16x12 = 0x5,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSubpixelModeINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSubpixelModeINTEL.gen.cs
new file mode 100644
index 0000000000..e3783bb456
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MotionEstimationDescSubpixelModeINTEL.gen.cs
@@ -0,0 +1,24 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_motion_estimation_desc_intel.subpixel_mode")]
+[Flags]
+public enum MotionEstimationDescSubpixelModeINTEL : uint
+{
+ [NativeName("CL_ME_SUBPIXEL_MODE_INTEGER_INTEL")]
+ Integer = 0x0,
+
+ [NativeName("CL_ME_SUBPIXEL_MODE_HPEL_INTEL")]
+ Hpel = 0x1,
+
+ [NativeName("CL_ME_SUBPIXEL_MODE_QPEL_INTEL")]
+ Qpel = 0x2,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MutableCommandInfoKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/MutableCommandInfoKHR.gen.cs
new file mode 100644
index 0000000000..a345be5648
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MutableCommandInfoKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mutable_command_info_khr")]
+public enum MutableCommandInfoKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/MutableDispatchAssertsKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/MutableDispatchAssertsKHR.gen.cs
new file mode 100644
index 0000000000..579c32e0a6
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MutableDispatchAssertsKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mutable_dispatch_asserts_khr")]
+[Flags]
+public enum MutableDispatchAssertsKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/MutableDispatchFieldsKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/MutableDispatchFieldsKHR.gen.cs
new file mode 100644
index 0000000000..cd0d570235
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/MutableDispatchFieldsKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mutable_dispatch_fields_khr")]
+[Flags]
+public enum MutableDispatchFieldsKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/PerfHintQCOM.gen.cs b/sources/OpenCL/OpenCL/Enums/PerfHintQCOM.gen.cs
new file mode 100644
index 0000000000..df81d95ec8
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/PerfHintQCOM.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_perf_hint_qcom")]
+public enum PerfHintQCOM : uint
+{
+ [NativeName("CL_PERF_HINT_HIGH_QCOM")]
+ High = 16579,
+
+ [NativeName("CL_PERF_HINT_NORMAL_QCOM")]
+ Normal = 16580,
+
+ [NativeName("CL_PERF_HINT_LOW_QCOM")]
+ Low = 16581,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/PipeInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/PipeInfo.gen.cs
new file mode 100644
index 0000000000..99406d7215
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/PipeInfo.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_pipe_info")]
+public enum PipeInfo : uint
+{
+ [NativeName("CL_PIPE_PACKET_SIZE")]
+ PacketSize = 4384,
+
+ [NativeName("CL_PIPE_MAX_PACKETS")]
+ MaxPackets = 4385,
+
+ [NativeName("CL_PIPE_PROPERTIES")]
+ Properties = 4386,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/PlatformCommandBufferCapabilitiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/PlatformCommandBufferCapabilitiesKHR.gen.cs
new file mode 100644
index 0000000000..1576a89b0b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/PlatformCommandBufferCapabilitiesKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_platform_command_buffer_capabilities_khr")]
+[Flags]
+public enum PlatformCommandBufferCapabilitiesKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/PlatformInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/PlatformInfo.gen.cs
new file mode 100644
index 0000000000..65e6fc595f
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/PlatformInfo.gen.cs
@@ -0,0 +1,62 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_platform_info")]
+public enum PlatformInfo : uint
+{
+ [NativeName("CL_PLATFORM_PROFILE")]
+ Profile = 2304,
+
+ [NativeName("CL_PLATFORM_VERSION")]
+ Version = 2305,
+
+ [NativeName("CL_PLATFORM_NAME")]
+ Name = 2306,
+
+ [NativeName("CL_PLATFORM_VENDOR")]
+ Vendor = 2307,
+
+ [NativeName("CL_PLATFORM_EXTENSIONS")]
+ Extensions = 2308,
+
+ [NativeName("CL_PLATFORM_HOST_TIMER_RESOLUTION")]
+ HostTimerResolution = 2309,
+
+ [NativeName("CL_PLATFORM_NUMERIC_VERSION")]
+ NumericVersion = 2310,
+
+ [NativeName("CL_PLATFORM_EXTENSIONS_WITH_VERSION")]
+ ExtensionsWithVersion = 2311,
+
+ [NativeName("CL_PLATFORM_ICD_SUFFIX_KHR")]
+ IcdSuffixKHR = 2336,
+
+ [NativeName("CL_PLATFORM_UNLOADABLE_KHR")]
+ UnloadableKHR = 2337,
+
+ [NativeName("CL_PLATFORM_NUMERIC_VERSION_KHR")]
+ NumericVersionKHR = 2310,
+
+ [NativeName("CL_PLATFORM_EXTENSIONS_WITH_VERSION_KHR")]
+ ExtensionsWithVersionKHR = 2311,
+
+ [NativeName("CL_PLATFORM_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR")]
+ ExternalMemoryImportHandleTypesKHR = 8260,
+
+ [NativeName("CL_PLATFORM_SEMAPHORE_IMPORT_HANDLE_TYPES_KHR")]
+ SemaphoreImportHandleTypesKHR = 8247,
+
+ [NativeName("CL_PLATFORM_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR")]
+ SemaphoreExportHandleTypesKHR = 8248,
+
+ [NativeName("CL_PLATFORM_SEMAPHORE_TYPES_KHR")]
+ SemaphoreTypesKHR = 8246,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ProfilingInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/ProfilingInfo.gen.cs
new file mode 100644
index 0000000000..5d04e6c928
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ProfilingInfo.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_profiling_info")]
+public enum ProfilingInfo : uint
+{
+ [NativeName("CL_PROFILING_COMMAND_QUEUED")]
+ Queued = 4736,
+
+ [NativeName("CL_PROFILING_COMMAND_SUBMIT")]
+ Submit = 4737,
+
+ [NativeName("CL_PROFILING_COMMAND_START")]
+ Start = 4738,
+
+ [NativeName("CL_PROFILING_COMMAND_END")]
+ End = 4739,
+
+ [NativeName("CL_PROFILING_COMMAND_COMPLETE")]
+ Complete = 4740,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ProgramBinaryType.gen.cs b/sources/OpenCL/OpenCL/Enums/ProgramBinaryType.gen.cs
new file mode 100644
index 0000000000..c8e571f56b
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ProgramBinaryType.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_program_binary_type")]
+public enum ProgramBinaryType : uint
+{
+ [NativeName("CL_PROGRAM_BINARY_TYPE_NONE")]
+ None = 0,
+
+ [NativeName("CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT")]
+ CompiledObject = 1,
+
+ [NativeName("CL_PROGRAM_BINARY_TYPE_LIBRARY")]
+ Library = 2,
+
+ [NativeName("CL_PROGRAM_BINARY_TYPE_EXECUTABLE")]
+ Executable = 4,
+
+ [NativeName("CL_PROGRAM_BINARY_TYPE_INTERMEDIATE")]
+ Intermediate = 16609,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ProgramBuildInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/ProgramBuildInfo.gen.cs
new file mode 100644
index 0000000000..622ab82b8d
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ProgramBuildInfo.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_program_build_info")]
+public enum ProgramBuildInfo : uint
+{
+ [NativeName("CL_PROGRAM_BUILD_STATUS")]
+ BuildStatus = 4481,
+
+ [NativeName("CL_PROGRAM_BUILD_OPTIONS")]
+ BuildOptions = 4482,
+
+ [NativeName("CL_PROGRAM_BUILD_LOG")]
+ BuildLog = 4483,
+
+ [NativeName("CL_PROGRAM_BINARY_TYPE")]
+ BinaryType = 4484,
+
+ [NativeName("CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE")]
+ BuildGlobalVariableTotalSize = 4485,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/ProgramInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/ProgramInfo.gen.cs
new file mode 100644
index 0000000000..cdae3c4981
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/ProgramInfo.gen.cs
@@ -0,0 +1,53 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_program_info")]
+public enum ProgramInfo : uint
+{
+ [NativeName("CL_PROGRAM_REFERENCE_COUNT")]
+ ReferenceCount = 4448,
+
+ [NativeName("CL_PROGRAM_CONTEXT")]
+ Context = 4449,
+
+ [NativeName("CL_PROGRAM_NUM_DEVICES")]
+ NumDevices = 4450,
+
+ [NativeName("CL_PROGRAM_DEVICES")]
+ Devices = 4451,
+
+ [NativeName("CL_PROGRAM_SOURCE")]
+ Source = 4452,
+
+ [NativeName("CL_PROGRAM_BINARY_SIZES")]
+ BinarySizes = 4453,
+
+ [NativeName("CL_PROGRAM_BINARIES")]
+ Binaries = 4454,
+
+ [NativeName("CL_PROGRAM_NUM_KERNELS")]
+ NumKernels = 4455,
+
+ [NativeName("CL_PROGRAM_KERNEL_NAMES")]
+ KernelNames = 4456,
+
+ [NativeName("CL_PROGRAM_IL")]
+ Il = 4457,
+
+ [NativeName("CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT")]
+ ScopeGlobalCtorsPresent = 4458,
+
+ [NativeName("CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT")]
+ ScopeGlobalDtorsPresent = 4459,
+
+ [NativeName("CL_PROGRAM_IL_KHR")]
+ IlKHR = 4457,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/QueuePriorityKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/QueuePriorityKHR.gen.cs
new file mode 100644
index 0000000000..5399b89368
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/QueuePriorityKHR.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_queue_priority_khr")]
+[Flags]
+public enum QueuePriorityKHR : uint
+{
+ None = 0x0,
+
+ [NativeName("CL_QUEUE_PRIORITY_HIGH_KHR")]
+ High = 0x1,
+
+ [NativeName("CL_QUEUE_PRIORITY_MED_KHR")]
+ Med = 0x2,
+
+ [NativeName("CL_QUEUE_PRIORITY_LOW_KHR")]
+ Low = 0x4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/QueueProperties.gen.cs b/sources/OpenCL/OpenCL/Enums/QueueProperties.gen.cs
new file mode 100644
index 0000000000..20e4fdf181
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/QueueProperties.gen.cs
@@ -0,0 +1,38 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_queue_properties")]
+public enum QueueProperties : ulong
+{
+ [NativeName("CL_QUEUE_PRIORITY_KHR")]
+ PriorityKHR = 4246,
+
+ [NativeName("CL_QUEUE_THROTTLE_KHR")]
+ ThrottleKHR = 4247,
+
+ [NativeName("CL_QUEUE_JOB_SLOT_ARM")]
+ JobSlotARM = 16865,
+
+ [NativeName("CL_QUEUE_KERNEL_BATCHING_ARM")]
+ KernelBatchingARM = 16871,
+
+ [NativeName("CL_QUEUE_DEFERRED_FLUSH_ARM")]
+ DeferredFlushARM = 16876,
+
+ [NativeName("CL_QUEUE_COMPUTE_UNIT_LIMIT_ARM")]
+ ComputeUnitLimitARM = 16883,
+
+ [NativeName("CL_QUEUE_FAMILY_INTEL")]
+ FamilyINTEL = 16780,
+
+ [NativeName("CL_QUEUE_INDEX_INTEL")]
+ IndexINTEL = 16781,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/QueuePropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/QueuePropertiesKHR.gen.cs
new file mode 100644
index 0000000000..4e2804de34
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/QueuePropertiesKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_queue_properties_khr")]
+public enum QueuePropertiesKHR : ulong { }
diff --git a/sources/OpenCL/OpenCL/Enums/QueueThrottleKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/QueueThrottleKHR.gen.cs
new file mode 100644
index 0000000000..e2daddd52a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/QueueThrottleKHR.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_queue_throttle_khr")]
+[Flags]
+public enum QueueThrottleKHR : uint
+{
+ None = 0x0,
+
+ [NativeName("CL_QUEUE_THROTTLE_HIGH_KHR")]
+ High = 0x1,
+
+ [NativeName("CL_QUEUE_THROTTLE_MED_KHR")]
+ Med = 0x2,
+
+ [NativeName("CL_QUEUE_THROTTLE_LOW_KHR")]
+ Low = 0x4,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SamplerInfo.gen.cs b/sources/OpenCL/OpenCL/Enums/SamplerInfo.gen.cs
new file mode 100644
index 0000000000..d514072829
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SamplerInfo.gen.cs
@@ -0,0 +1,41 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_sampler_info")]
+public enum SamplerInfo : uint
+{
+ [NativeName("CL_SAMPLER_REFERENCE_COUNT")]
+ ReferenceCount = 4432,
+
+ [NativeName("CL_SAMPLER_CONTEXT")]
+ Context = 4433,
+
+ [NativeName("CL_SAMPLER_NORMALIZED_COORDS")]
+ NormalizedCoords = 4434,
+
+ [NativeName("CL_SAMPLER_ADDRESSING_MODE")]
+ AddressingMode = 4435,
+
+ [NativeName("CL_SAMPLER_FILTER_MODE")]
+ FilterMode = 4436,
+
+ [NativeName("CL_SAMPLER_MIP_FILTER_MODE")]
+ MipFilterMode = 4437,
+
+ [NativeName("CL_SAMPLER_LOD_MIN")]
+ LodMin = 4438,
+
+ [NativeName("CL_SAMPLER_LOD_MAX")]
+ LodMax = 4439,
+
+ [NativeName("CL_SAMPLER_PROPERTIES")]
+ Properties = 4440,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SamplerProperties.gen.cs b/sources/OpenCL/OpenCL/Enums/SamplerProperties.gen.cs
new file mode 100644
index 0000000000..499e7bb6c5
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SamplerProperties.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_sampler_properties")]
+public enum SamplerProperties : ulong
+{
+ [NativeName("CL_SAMPLER_MIP_FILTER_MODE_KHR")]
+ MipFilterModeKHR = 4437,
+
+ [NativeName("CL_SAMPLER_LOD_MIN_KHR")]
+ LodMinKHR = 4438,
+
+ [NativeName("CL_SAMPLER_LOD_MAX_KHR")]
+ LodMaxKHR = 4439,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SemaphoreInfoKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SemaphoreInfoKHR.gen.cs
new file mode 100644
index 0000000000..184f27e583
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SemaphoreInfoKHR.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_semaphore_info_khr")]
+public enum SemaphoreInfoKHR : uint
+{
+ [NativeName("CL_SEMAPHORE_EXPORTABLE_KHR")]
+ Exportable = 8276,
+
+ [NativeName("CL_SEMAPHORE_CONTEXT_KHR")]
+ Context = 8249,
+
+ [NativeName("CL_SEMAPHORE_REFERENCE_COUNT_KHR")]
+ ReferenceCount = 8250,
+
+ [NativeName("CL_SEMAPHORE_PROPERTIES_KHR")]
+ Properties = 8251,
+
+ [NativeName("CL_SEMAPHORE_PAYLOAD_KHR")]
+ Payload = 8252,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SemaphorePropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SemaphorePropertiesKHR.gen.cs
new file mode 100644
index 0000000000..2f8c4f8033
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SemaphorePropertiesKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_semaphore_properties_khr")]
+public enum SemaphorePropertiesKHR : ulong
+{
+ [NativeName("CL_SEMAPHORE_EXPORT_HANDLE_TYPES_KHR")]
+ ExportHandleTypes = 8255,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SemaphoreReimportPropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SemaphoreReimportPropertiesKHR.gen.cs
new file mode 100644
index 0000000000..5ee4f38f37
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SemaphoreReimportPropertiesKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_semaphore_reimport_properties_khr")]
+public enum SemaphoreReimportPropertiesKHR : ulong { }
diff --git a/sources/OpenCL/OpenCL/Enums/SemaphoreType.gen.cs b/sources/OpenCL/OpenCL/Enums/SemaphoreType.gen.cs
new file mode 100644
index 0000000000..d1ff3ed58f
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SemaphoreType.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_semaphore_type")]
+public enum SemaphoreType : uint
+{
+ [NativeName("CL_SEMAPHORE_TYPE_BINARY_KHR")]
+ BinaryKHR = 1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SemaphoreTypeKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SemaphoreTypeKHR.gen.cs
new file mode 100644
index 0000000000..d0c564bcb4
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SemaphoreTypeKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_semaphore_type_khr")]
+public enum SemaphoreTypeKHR : uint
+{
+ [NativeName("CL_SEMAPHORE_TYPE_BINARY_KHR")]
+ Binary = 1,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SvmAllocAccessFlagsKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmAllocAccessFlagsKHR.gen.cs
new file mode 100644
index 0000000000..e3ecda5cf7
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmAllocAccessFlagsKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_alloc_access_flags_khr")]
+[Flags]
+public enum SvmAllocAccessFlagsKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SvmAllocFlagsARM.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmAllocFlagsARM.gen.cs
new file mode 100644
index 0000000000..523f175107
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmAllocFlagsARM.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_arm_svm_alloc.flags")]
+[Flags]
+public enum SvmAllocFlagsARM : uint
+{
+ None = 0x0,
+
+ [NativeName("CL_MEM_SVM_FINE_GRAIN_BUFFER_ARM")]
+ FineGrainBuffer = 0x400,
+
+ [NativeName("CL_MEM_SVM_ATOMICS_ARM")]
+ Atomics = 0x800,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SvmAllocPropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmAllocPropertiesKHR.gen.cs
new file mode 100644
index 0000000000..0e0eb3a4ec
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmAllocPropertiesKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_alloc_properties_khr")]
+public enum SvmAllocPropertiesKHR : ulong { }
diff --git a/sources/OpenCL/OpenCL/Enums/SvmCapabilitiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmCapabilitiesKHR.gen.cs
new file mode 100644
index 0000000000..9a505c8c4c
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmCapabilitiesKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_capabilities_khr")]
+[Flags]
+public enum SvmCapabilitiesKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SvmFreeFlagsKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmFreeFlagsKHR.gen.cs
new file mode 100644
index 0000000000..218d16c232
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmFreeFlagsKHR.gen.cs
@@ -0,0 +1,17 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_free_flags_khr")]
+[Flags]
+public enum SvmFreeFlagsKHR : ulong
+{
+ None = 0x0,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SvmFreePropertiesKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmFreePropertiesKHR.gen.cs
new file mode 100644
index 0000000000..46ceab45b3
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmFreePropertiesKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_free_properties_khr")]
+public enum SvmFreePropertiesKHR : ulong { }
diff --git a/sources/OpenCL/OpenCL/Enums/SvmMemFlags.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmMemFlags.gen.cs
new file mode 100644
index 0000000000..5c76703e77
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmMemFlags.gen.cs
@@ -0,0 +1,53 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_mem_flags")]
+[Flags]
+public enum SvmMemFlags : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MEM_READ_WRITE")]
+ ReadWrite = 0x1,
+
+ [NativeName("CL_MEM_WRITE_ONLY")]
+ WriteOnly = 0x2,
+
+ [NativeName("CL_MEM_READ_ONLY")]
+ ReadOnly = 0x4,
+
+ [NativeName("CL_MEM_USE_HOST_PTR")]
+ UseHostPtr = 0x8,
+
+ [NativeName("CL_MEM_ALLOC_HOST_PTR")]
+ AllocHostPtr = 0x10,
+
+ [NativeName("CL_MEM_COPY_HOST_PTR")]
+ CopyHostPtr = 0x20,
+
+ [NativeName("CL_MEM_HOST_WRITE_ONLY")]
+ HostWriteOnly = 0x80,
+
+ [NativeName("CL_MEM_HOST_READ_ONLY")]
+ HostReadOnly = 0x100,
+
+ [NativeName("CL_MEM_HOST_NO_ACCESS")]
+ HostNoAccess = 0x200,
+
+ [NativeName("CL_MEM_SVM_FINE_GRAIN_BUFFER")]
+ SvmFineGrainBuffer = 0x400,
+
+ [NativeName("CL_MEM_SVM_ATOMICS")]
+ SvmAtomics = 0x800,
+
+ [NativeName("CL_MEM_KERNEL_READ_AND_WRITE")]
+ KernelReadAndWrite = 0x1000,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SvmMemFlagsARM.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmMemFlagsARM.gen.cs
new file mode 100644
index 0000000000..61019dcccd
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmMemFlagsARM.gen.cs
@@ -0,0 +1,23 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_mem_flags_arm")]
+[Flags]
+public enum SvmMemFlagsARM : ulong
+{
+ None = 0x0,
+
+ [NativeName("CL_MEM_SVM_FINE_GRAIN_BUFFER_ARM")]
+ FineGrainBuffer = 0x400,
+
+ [NativeName("CL_MEM_SVM_ATOMICS_ARM")]
+ Atomics = 0x800,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/SvmPointerInfoKHR.gen.cs b/sources/OpenCL/OpenCL/Enums/SvmPointerInfoKHR.gen.cs
new file mode 100644
index 0000000000..904424331e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/SvmPointerInfoKHR.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_svm_pointer_info_khr")]
+public enum SvmPointerInfoKHR : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/UnifiedSharedMemoryCapabilitiesINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/UnifiedSharedMemoryCapabilitiesINTEL.gen.cs
new file mode 100644
index 0000000000..6241ed2123
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/UnifiedSharedMemoryCapabilitiesINTEL.gen.cs
@@ -0,0 +1,29 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_unified_shared_memory_capabilities_intel")]
+[Flags]
+public enum UnifiedSharedMemoryCapabilitiesINTEL : uint
+{
+ None = 0x0,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_ACCESS_INTEL")]
+ Access = 0x1,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS_INTEL")]
+ AtomicAccess = 0x2,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ACCESS_INTEL")]
+ ConcurrentAccess = 0x4,
+
+ [NativeName("CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ATOMIC_ACCESS_INTEL")]
+ ConcurrentAtomicAccess = 0x8,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/UnifiedSharedMemoryTypeINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/UnifiedSharedMemoryTypeINTEL.gen.cs
new file mode 100644
index 0000000000..bb8b263f19
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/UnifiedSharedMemoryTypeINTEL.gen.cs
@@ -0,0 +1,26 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_unified_shared_memory_type_intel")]
+public enum UnifiedSharedMemoryTypeINTEL : uint
+{
+ [NativeName("CL_MEM_TYPE_UNKNOWN_INTEL")]
+ Unknown = 16790,
+
+ [NativeName("CL_MEM_TYPE_HOST_INTEL")]
+ Host = 16791,
+
+ [NativeName("CL_MEM_TYPE_DEVICE_INTEL")]
+ Device = 16792,
+
+ [NativeName("CL_MEM_TYPE_SHARED_INTEL")]
+ Shared = 16793,
+}
diff --git a/sources/OpenCL/OpenCL/Enums/VaApiDeviceSetINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/VaApiDeviceSetINTEL.gen.cs
new file mode 100644
index 0000000000..510b9f7e06
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/VaApiDeviceSetINTEL.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_va_api_device_set_intel")]
+public enum VaApiDeviceSetINTEL : uint { }
diff --git a/sources/OpenCL/OpenCL/Enums/VaApiDeviceSourceINTEL.gen.cs b/sources/OpenCL/OpenCL/Enums/VaApiDeviceSourceINTEL.gen.cs
new file mode 100644
index 0000000000..3eddcddc11
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Enums/VaApiDeviceSourceINTEL.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_va_api_device_source_intel")]
+public enum VaApiDeviceSourceINTEL : uint { }
diff --git a/sources/OpenCL/OpenCL/Handles/AcceleratorHandleINTEL.gen.cs b/sources/OpenCL/OpenCL/Handles/AcceleratorHandleINTEL.gen.cs
new file mode 100644
index 0000000000..9ea846dde0
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/AcceleratorHandleINTEL.gen.cs
@@ -0,0 +1,44 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("_cl_accelerator_intel")]
+public readonly unsafe partial struct AcceleratorHandleINTEL : IEquatable
+{
+ public readonly void* Handle;
+
+ public AcceleratorHandleINTEL(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(AcceleratorHandleINTEL other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) =>
+ obj is AcceleratorHandleINTEL other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(AcceleratorHandleINTEL left, AcceleratorHandleINTEL right) =>
+ left.Equals(right);
+
+ public static bool operator !=(AcceleratorHandleINTEL left, AcceleratorHandleINTEL right) =>
+ !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(AcceleratorHandleINTEL left, NullPtr right) =>
+ left.Equals(right);
+
+ public static bool operator !=(AcceleratorHandleINTEL left, NullPtr right) =>
+ !left.Equals(right);
+
+ public static implicit operator AcceleratorHandleINTEL(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/CommandQueueHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/CommandQueueHandle.gen.cs
new file mode 100644
index 0000000000..c3c40c7d32
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/CommandQueueHandle.gen.cs
@@ -0,0 +1,41 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_command_queue")]
+public readonly unsafe partial struct CommandQueueHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public CommandQueueHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(CommandQueueHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is CommandQueueHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(CommandQueueHandle left, CommandQueueHandle right) =>
+ left.Equals(right);
+
+ public static bool operator !=(CommandQueueHandle left, CommandQueueHandle right) =>
+ !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(CommandQueueHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(CommandQueueHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator CommandQueueHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/ContextHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/ContextHandle.gen.cs
new file mode 100644
index 0000000000..af1a66425e
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/ContextHandle.gen.cs
@@ -0,0 +1,39 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_context")]
+public readonly unsafe partial struct ContextHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public ContextHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(ContextHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is ContextHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(ContextHandle left, ContextHandle right) => left.Equals(right);
+
+ public static bool operator !=(ContextHandle left, ContextHandle right) => !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(ContextHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(ContextHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator ContextHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/DeviceIdHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/DeviceIdHandle.gen.cs
new file mode 100644
index 0000000000..853674f7fc
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/DeviceIdHandle.gen.cs
@@ -0,0 +1,40 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_device_id")]
+public readonly unsafe partial struct DeviceIdHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public DeviceIdHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(DeviceIdHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is DeviceIdHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(DeviceIdHandle left, DeviceIdHandle right) => left.Equals(right);
+
+ public static bool operator !=(DeviceIdHandle left, DeviceIdHandle right) =>
+ !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(DeviceIdHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(DeviceIdHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator DeviceIdHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/EventHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/EventHandle.gen.cs
new file mode 100644
index 0000000000..db342b172f
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/EventHandle.gen.cs
@@ -0,0 +1,39 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_event")]
+public readonly unsafe partial struct EventHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public EventHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(EventHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is EventHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(EventHandle left, EventHandle right) => left.Equals(right);
+
+ public static bool operator !=(EventHandle left, EventHandle right) => !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(EventHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(EventHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator EventHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/KernelHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/KernelHandle.gen.cs
new file mode 100644
index 0000000000..b378db5b1f
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/KernelHandle.gen.cs
@@ -0,0 +1,39 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_kernel")]
+public readonly unsafe partial struct KernelHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public KernelHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(KernelHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is KernelHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(KernelHandle left, KernelHandle right) => left.Equals(right);
+
+ public static bool operator !=(KernelHandle left, KernelHandle right) => !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(KernelHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(KernelHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator KernelHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/MemHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/MemHandle.gen.cs
new file mode 100644
index 0000000000..ff8de95f18
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/MemHandle.gen.cs
@@ -0,0 +1,39 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_mem")]
+public readonly unsafe partial struct MemHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public MemHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(MemHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is MemHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(MemHandle left, MemHandle right) => left.Equals(right);
+
+ public static bool operator !=(MemHandle left, MemHandle right) => !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(MemHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(MemHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator MemHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/PlatformIdHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/PlatformIdHandle.gen.cs
new file mode 100644
index 0000000000..5a4d7cef87
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/PlatformIdHandle.gen.cs
@@ -0,0 +1,41 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_platform_id")]
+public readonly unsafe partial struct PlatformIdHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public PlatformIdHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(PlatformIdHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is PlatformIdHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(PlatformIdHandle left, PlatformIdHandle right) =>
+ left.Equals(right);
+
+ public static bool operator !=(PlatformIdHandle left, PlatformIdHandle right) =>
+ !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(PlatformIdHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(PlatformIdHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator PlatformIdHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/ProgramHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/ProgramHandle.gen.cs
new file mode 100644
index 0000000000..6e136110ba
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/ProgramHandle.gen.cs
@@ -0,0 +1,39 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_program")]
+public readonly unsafe partial struct ProgramHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public ProgramHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(ProgramHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is ProgramHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(ProgramHandle left, ProgramHandle right) => left.Equals(right);
+
+ public static bool operator !=(ProgramHandle left, ProgramHandle right) => !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(ProgramHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(ProgramHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator ProgramHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/SamplerHandle.gen.cs b/sources/OpenCL/OpenCL/Handles/SamplerHandle.gen.cs
new file mode 100644
index 0000000000..3ad61da800
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/SamplerHandle.gen.cs
@@ -0,0 +1,39 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("cl_sampler")]
+public readonly unsafe partial struct SamplerHandle : IEquatable
+{
+ public readonly void* Handle;
+
+ public SamplerHandle(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(SamplerHandle other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is SamplerHandle other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(SamplerHandle left, SamplerHandle right) => left.Equals(right);
+
+ public static bool operator !=(SamplerHandle left, SamplerHandle right) => !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(SamplerHandle left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(SamplerHandle left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator SamplerHandle(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/Handles/SemaphoreHandleKHR.gen.cs b/sources/OpenCL/OpenCL/Handles/SemaphoreHandleKHR.gen.cs
new file mode 100644
index 0000000000..1690faf235
--- /dev/null
+++ b/sources/OpenCL/OpenCL/Handles/SemaphoreHandleKHR.gen.cs
@@ -0,0 +1,41 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("_cl_semaphore_khr")]
+public readonly unsafe partial struct SemaphoreHandleKHR : IEquatable
+{
+ public readonly void* Handle;
+
+ public SemaphoreHandleKHR(void* handle)
+ {
+ Handle = handle;
+ }
+
+ public bool Equals(SemaphoreHandleKHR other) => Handle == other.Handle;
+
+ public override bool Equals(object? obj) => obj is SemaphoreHandleKHR other && Equals(other);
+
+ public override int GetHashCode() => HashCode.Combine((nuint)Handle);
+
+ public static bool operator ==(SemaphoreHandleKHR left, SemaphoreHandleKHR right) =>
+ left.Equals(right);
+
+ public static bool operator !=(SemaphoreHandleKHR left, SemaphoreHandleKHR right) =>
+ !left.Equals(right);
+
+ public bool Equals(NullPtr _) => Handle is null;
+
+ public static bool operator ==(SemaphoreHandleKHR left, NullPtr right) => left.Equals(right);
+
+ public static bool operator !=(SemaphoreHandleKHR left, NullPtr right) => !left.Equals(right);
+
+ public static implicit operator SemaphoreHandleKHR(NullPtr _) => default;
+}
diff --git a/sources/OpenCL/OpenCL/OpenCL/BufferRegion.gen.cs b/sources/OpenCL/OpenCL/OpenCL/BufferRegion.gen.cs
new file mode 100644
index 0000000000..28d8d7434c
--- /dev/null
+++ b/sources/OpenCL/OpenCL/OpenCL/BufferRegion.gen.cs
@@ -0,0 +1,15 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+namespace Silk.NET.OpenCL;
+
+[NativeName("_cl_buffer_region")]
+public partial struct BufferRegion
+{
+ [NativeName("origin")]
+ public nuint Origin;
+
+ [NativeName("size")]
+ public nuint Size;
+}
diff --git a/sources/OpenCL/OpenCL/OpenCL/BuildProgramPfnNotify.gen.cs b/sources/OpenCL/OpenCL/OpenCL/BuildProgramPfnNotify.gen.cs
new file mode 100644
index 0000000000..088bc8964a
--- /dev/null
+++ b/sources/OpenCL/OpenCL/OpenCL/BuildProgramPfnNotify.gen.cs
@@ -0,0 +1,34 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("clBuildProgram_pfn_notify")]
+public readonly unsafe struct BuildProgramPfnNotify : IDisposable
+{
+ private readonly void* Pointer;
+ public delegate* unmanaged Handle =>
+ (delegate* unmanaged)Pointer;
+
+ public BuildProgramPfnNotify(delegate* unmanaged ptr) =>
+ Pointer = ptr;
+
+ public BuildProgramPfnNotify(BuildProgramPfnNotifyDelegate proc) =>
+ Pointer = SilkMarshal.DelegateToPtr(proc);
+
+ public void Dispose() => SilkMarshal.Free(Pointer);
+
+ public static implicit operator BuildProgramPfnNotify(
+ delegate* unmanaged pfn
+ ) => new(pfn);
+
+ public static implicit operator delegate* unmanaged(
+ BuildProgramPfnNotify pfn
+ ) => (delegate* unmanaged)pfn.Pointer;
+}
diff --git a/sources/OpenCL/OpenCL/OpenCL/BuildProgramPfnNotifyDelegate.gen.cs b/sources/OpenCL/OpenCL/OpenCL/BuildProgramPfnNotifyDelegate.gen.cs
new file mode 100644
index 0000000000..c08ec5b081
--- /dev/null
+++ b/sources/OpenCL/OpenCL/OpenCL/BuildProgramPfnNotifyDelegate.gen.cs
@@ -0,0 +1,13 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+[NativeName("clBuildProgram_pfn_notify")]
+public unsafe delegate void BuildProgramPfnNotifyDelegate(ProgramHandle arg0, void* arg1);
diff --git a/sources/OpenCL/OpenCL/OpenCL/Cl.gen.cs b/sources/OpenCL/OpenCL/OpenCL/Cl.gen.cs
new file mode 100644
index 0000000000..ee15c56667
--- /dev/null
+++ b/sources/OpenCL/OpenCL/OpenCL/Cl.gen.cs
@@ -0,0 +1,46127 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// Ported from the OpenCL headers and corresponding dependencies.
+// Original source is Copyright 2013-2026 The Khronos Group Inc. Licensed under the Apache 2.0 license.
+using System;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+namespace Silk.NET.OpenCL;
+
+public unsafe partial class Cl : ICl, ICl.Static
+{
+ public partial class DllImport : ICl.Static
+ {
+ [NativeName("clBuildProgram")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clBuildProgram")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int BuildProgram(
+ ProgramHandle program,
+ uint num_devices,
+ DeviceIdHandle* device_list,
+ sbyte* options,
+ BuildProgramPfnNotify pfn_notify,
+ void* user_data
+ );
+
+ [NativeName("clBuildProgram")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clBuildProgram")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int BuildProgram(
+ ProgramHandle program,
+ uint num_devices,
+ Ref device_list,
+ Ref options,
+ BuildProgramPfnNotify pfn_notify,
+ Ref user_data
+ )
+ {
+ fixed (void* __dsl_user_data = user_data)
+ fixed (sbyte* __dsl_options = options)
+ fixed (DeviceIdHandle* __dsl_device_list = device_list)
+ {
+ return (int)BuildProgram(
+ program,
+ num_devices,
+ __dsl_device_list,
+ __dsl_options,
+ pfn_notify,
+ __dsl_user_data
+ );
+ }
+ }
+
+ [NativeName("clCancelCommandsIMG")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCancelCommandsIMG")]
+ [SupportedApiProfile("opencl", ["cl_img_cancel_command"])]
+ public static extern int CancelCommandsIMG(
+ EventHandle* event_list,
+ nuint num_events_in_list
+ );
+
+ [NativeName("clCancelCommandsIMG")]
+ [SupportedApiProfile("opencl", ["cl_img_cancel_command"])]
+ [NativeFunction("opencl", EntryPoint = "clCancelCommandsIMG")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int CancelCommandsIMG(Ref event_list, nuint num_events_in_list)
+ {
+ fixed (EventHandle* __dsl_event_list = event_list)
+ {
+ return (int)CancelCommandsIMG(__dsl_event_list, num_events_in_list);
+ }
+ }
+
+ [NativeName("clCloneKernel")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCloneKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ ["CL_VERSION_2_1", "CL_VERSION_2_2", "CL_VERSION_3_0", "CL_VERSION_3_1"],
+ MinVersion = "2.1"
+ )]
+ public static extern KernelHandle CloneKernel(KernelHandle source_kernel, int* errcode_ret);
+
+ [NativeName("clCloneKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ ["CL_VERSION_2_1", "CL_VERSION_2_2", "CL_VERSION_3_0", "CL_VERSION_3_1"],
+ MinVersion = "2.1"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCloneKernel")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static KernelHandle CloneKernel(KernelHandle source_kernel, Ref errcode_ret)
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ {
+ return (KernelHandle)CloneKernel(source_kernel, __dsl_errcode_ret);
+ }
+ }
+
+ [NativeName("clCompileProgram")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCompileProgram")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern int CompileProgram(
+ ProgramHandle program,
+ uint num_devices,
+ DeviceIdHandle* device_list,
+ sbyte* options,
+ uint num_input_headers,
+ ProgramHandle* input_headers,
+ sbyte** header_include_names,
+ CompileProgramPfnNotify pfn_notify,
+ void* user_data
+ );
+
+ [NativeName("clCompileProgram")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCompileProgram")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int CompileProgram(
+ ProgramHandle program,
+ uint num_devices,
+ Ref device_list,
+ Ref options,
+ uint num_input_headers,
+ Ref input_headers,
+ Ref2D header_include_names,
+ CompileProgramPfnNotify pfn_notify,
+ Ref user_data
+ )
+ {
+ fixed (void* __dsl_user_data = user_data)
+ fixed (sbyte** __dsl_header_include_names = header_include_names)
+ fixed (ProgramHandle* __dsl_input_headers = input_headers)
+ fixed (sbyte* __dsl_options = options)
+ fixed (DeviceIdHandle* __dsl_device_list = device_list)
+ {
+ return (int)CompileProgram(
+ program,
+ num_devices,
+ __dsl_device_list,
+ __dsl_options,
+ num_input_headers,
+ __dsl_input_headers,
+ __dsl_header_include_names,
+ pfn_notify,
+ __dsl_user_data
+ );
+ }
+ }
+
+ [NativeName("clCreateAcceleratorINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateAcceleratorINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_accelerator"])]
+ public static extern AcceleratorHandleINTEL CreateAcceleratorINTEL(
+ ContextHandle context,
+ uint accelerator_type,
+ nuint descriptor_size,
+ void* descriptor,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateAcceleratorINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_accelerator"])]
+ [NativeFunction("opencl", EntryPoint = "clCreateAcceleratorINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static AcceleratorHandleINTEL CreateAcceleratorINTEL(
+ ContextHandle context,
+ uint accelerator_type,
+ nuint descriptor_size,
+ Ref descriptor,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_descriptor = descriptor)
+ {
+ return (AcceleratorHandleINTEL)CreateAcceleratorINTEL(
+ context,
+ accelerator_type,
+ descriptor_size,
+ __dsl_descriptor,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateBuffer")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern MemHandle CreateBuffer(
+ ContextHandle context,
+ ulong flags,
+ nuint size,
+ void* host_ptr,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateBuffer")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateBuffer(
+ ContextHandle context,
+ ulong flags,
+ nuint size,
+ Ref host_ptr,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_host_ptr = host_ptr)
+ {
+ return (MemHandle)CreateBuffer(
+ context,
+ flags,
+ size,
+ __dsl_host_ptr,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateBufferWithProperties")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateBufferWithProperties")]
+ [SupportedApiProfile("opencl", ["CL_VERSION_3_0", "CL_VERSION_3_1"], MinVersion = "3.0")]
+ public static extern MemHandle CreateBufferWithProperties(
+ ContextHandle context,
+ ulong* properties,
+ ulong flags,
+ nuint size,
+ void* host_ptr,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateBufferWithProperties")]
+ [SupportedApiProfile("opencl", ["CL_VERSION_3_0", "CL_VERSION_3_1"], MinVersion = "3.0")]
+ [NativeFunction("opencl", EntryPoint = "clCreateBufferWithProperties")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateBufferWithProperties(
+ ContextHandle context,
+ Ref properties,
+ ulong flags,
+ nuint size,
+ Ref host_ptr,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_host_ptr = host_ptr)
+ fixed (ulong* __dsl_properties = properties)
+ {
+ return (MemHandle)CreateBufferWithProperties(
+ context,
+ __dsl_properties,
+ flags,
+ size,
+ __dsl_host_ptr,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateBufferWithPropertiesINTEL")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clCreateBufferWithPropertiesINTEL"
+ )]
+ [SupportedApiProfile("opencl", ["cl_intel_create_buffer_with_properties"])]
+ public static extern MemHandle CreateBufferWithPropertiesINTEL(
+ ContextHandle context,
+ ulong* properties,
+ ulong flags,
+ nuint size,
+ void* host_ptr,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateBufferWithPropertiesINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_create_buffer_with_properties"])]
+ [NativeFunction("opencl", EntryPoint = "clCreateBufferWithPropertiesINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateBufferWithPropertiesINTEL(
+ ContextHandle context,
+ Ref properties,
+ ulong flags,
+ nuint size,
+ Ref host_ptr,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_host_ptr = host_ptr)
+ fixed (ulong* __dsl_properties = properties)
+ {
+ return (MemHandle)CreateBufferWithPropertiesINTEL(
+ context,
+ __dsl_properties,
+ flags,
+ size,
+ __dsl_host_ptr,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateCommandQueue")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateCommandQueue")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern CommandQueueHandle CreateCommandQueue(
+ ContextHandle context,
+ DeviceIdHandle device,
+ ulong properties,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateCommandQueue")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateCommandQueue")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static CommandQueueHandle CreateCommandQueue(
+ ContextHandle context,
+ DeviceIdHandle device,
+ ulong properties,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ {
+ return (CommandQueueHandle)CreateCommandQueue(
+ context,
+ device,
+ properties,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateCommandQueueWithProperties")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clCreateCommandQueueWithProperties"
+ )]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ public static extern CommandQueueHandle CreateCommandQueueWithProperties(
+ ContextHandle context,
+ DeviceIdHandle device,
+ ulong* properties,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateCommandQueueWithProperties")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateCommandQueueWithProperties")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static CommandQueueHandle CreateCommandQueueWithProperties(
+ ContextHandle context,
+ DeviceIdHandle device,
+ Ref properties,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (ulong* __dsl_properties = properties)
+ {
+ return (CommandQueueHandle)CreateCommandQueueWithProperties(
+ context,
+ device,
+ __dsl_properties,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateCommandQueueWithPropertiesKHR")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clCreateCommandQueueWithPropertiesKHR"
+ )]
+ [SupportedApiProfile("opencl", ["cl_khr_create_command_queue"])]
+ public static extern CommandQueueHandle CreateCommandQueueWithPropertiesKHR(
+ ContextHandle context,
+ DeviceIdHandle device,
+ ulong* properties,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateCommandQueueWithPropertiesKHR")]
+ [SupportedApiProfile("opencl", ["cl_khr_create_command_queue"])]
+ [NativeFunction("opencl", EntryPoint = "clCreateCommandQueueWithPropertiesKHR")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static CommandQueueHandle CreateCommandQueueWithPropertiesKHR(
+ ContextHandle context,
+ DeviceIdHandle device,
+ Ref properties,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (ulong* __dsl_properties = properties)
+ {
+ return (CommandQueueHandle)CreateCommandQueueWithPropertiesKHR(
+ context,
+ device,
+ __dsl_properties,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateContext")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateContext")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern ContextHandle CreateContext(
+ nint* properties,
+ uint num_devices,
+ DeviceIdHandle* devices,
+ CreateContextPfnNotify pfn_notify,
+ void* user_data,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateContext")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateContext")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static ContextHandle CreateContext(
+ Ref properties,
+ uint num_devices,
+ Ref devices,
+ CreateContextPfnNotify pfn_notify,
+ Ref user_data,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_user_data = user_data)
+ fixed (DeviceIdHandle* __dsl_devices = devices)
+ fixed (nint* __dsl_properties = properties)
+ {
+ return (ContextHandle)CreateContext(
+ __dsl_properties,
+ num_devices,
+ __dsl_devices,
+ pfn_notify,
+ __dsl_user_data,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateContextFromType")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateContextFromType")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern ContextHandle CreateContextFromType(
+ nint* properties,
+ ulong device_type,
+ CreateContextFromTypePfnNotify pfn_notify,
+ void* user_data,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateContextFromType")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateContextFromType")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static ContextHandle CreateContextFromType(
+ Ref properties,
+ ulong device_type,
+ CreateContextFromTypePfnNotify pfn_notify,
+ Ref user_data,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_user_data = user_data)
+ fixed (nint* __dsl_properties = properties)
+ {
+ return (ContextHandle)CreateContextFromType(
+ __dsl_properties,
+ device_type,
+ pfn_notify,
+ __dsl_user_data,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateImage")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern MemHandle CreateImage(
+ ContextHandle context,
+ ulong flags,
+ ImageFormat* image_format,
+ ImageDesc* image_desc,
+ void* host_ptr,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateImage")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateImage(
+ ContextHandle context,
+ ulong flags,
+ Ref image_format,
+ Ref image_desc,
+ Ref host_ptr,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_host_ptr = host_ptr)
+ fixed (ImageDesc* __dsl_image_desc = image_desc)
+ fixed (ImageFormat* __dsl_image_format = image_format)
+ {
+ return (MemHandle)CreateImage(
+ context,
+ flags,
+ __dsl_image_format,
+ __dsl_image_desc,
+ __dsl_host_ptr,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateImage2D")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateImage2D")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern MemHandle CreateImage2D(
+ ContextHandle context,
+ ulong flags,
+ ImageFormat* image_format,
+ nuint image_width,
+ nuint image_height,
+ nuint image_row_pitch,
+ void* host_ptr,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateImage2D")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateImage2D")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateImage2D(
+ ContextHandle context,
+ ulong flags,
+ Ref image_format,
+ nuint image_width,
+ nuint image_height,
+ nuint image_row_pitch,
+ Ref host_ptr,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_host_ptr = host_ptr)
+ fixed (ImageFormat* __dsl_image_format = image_format)
+ {
+ return (MemHandle)CreateImage2D(
+ context,
+ flags,
+ __dsl_image_format,
+ image_width,
+ image_height,
+ image_row_pitch,
+ __dsl_host_ptr,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateImage3D")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateImage3D")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern MemHandle CreateImage3D(
+ ContextHandle context,
+ ulong flags,
+ ImageFormat* image_format,
+ nuint image_width,
+ nuint image_height,
+ nuint image_depth,
+ nuint image_row_pitch,
+ nuint image_slice_pitch,
+ void* host_ptr,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateImage3D")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateImage3D")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateImage3D(
+ ContextHandle context,
+ ulong flags,
+ Ref image_format,
+ nuint image_width,
+ nuint image_height,
+ nuint image_depth,
+ nuint image_row_pitch,
+ nuint image_slice_pitch,
+ Ref host_ptr,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_host_ptr = host_ptr)
+ fixed (ImageFormat* __dsl_image_format = image_format)
+ {
+ return (MemHandle)CreateImage3D(
+ context,
+ flags,
+ __dsl_image_format,
+ image_width,
+ image_height,
+ image_depth,
+ image_row_pitch,
+ image_slice_pitch,
+ __dsl_host_ptr,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateImageWithProperties")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateImageWithProperties")]
+ [SupportedApiProfile("opencl", ["CL_VERSION_3_0", "CL_VERSION_3_1"], MinVersion = "3.0")]
+ public static extern MemHandle CreateImageWithProperties(
+ ContextHandle context,
+ ulong* properties,
+ ulong flags,
+ ImageFormat* image_format,
+ ImageDesc* image_desc,
+ void* host_ptr,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateImageWithProperties")]
+ [SupportedApiProfile("opencl", ["CL_VERSION_3_0", "CL_VERSION_3_1"], MinVersion = "3.0")]
+ [NativeFunction("opencl", EntryPoint = "clCreateImageWithProperties")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateImageWithProperties(
+ ContextHandle context,
+ Ref properties,
+ ulong flags,
+ Ref image_format,
+ Ref image_desc,
+ Ref host_ptr,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_host_ptr = host_ptr)
+ fixed (ImageDesc* __dsl_image_desc = image_desc)
+ fixed (ImageFormat* __dsl_image_format = image_format)
+ fixed (ulong* __dsl_properties = properties)
+ {
+ return (MemHandle)CreateImageWithProperties(
+ context,
+ __dsl_properties,
+ flags,
+ __dsl_image_format,
+ __dsl_image_desc,
+ __dsl_host_ptr,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateKernel")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern KernelHandle CreateKernel(
+ ProgramHandle program,
+ sbyte* kernel_name,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateKernel")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static KernelHandle CreateKernel(
+ ProgramHandle program,
+ Ref kernel_name,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (sbyte* __dsl_kernel_name = kernel_name)
+ {
+ return (KernelHandle)CreateKernel(program, __dsl_kernel_name, __dsl_errcode_ret);
+ }
+ }
+
+ [NativeName("clCreateKernelsInProgram")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateKernelsInProgram")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int CreateKernelsInProgram(
+ ProgramHandle program,
+ uint num_kernels,
+ KernelHandle* kernels,
+ uint* num_kernels_ret
+ );
+
+ [NativeName("clCreateKernelsInProgram")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateKernelsInProgram")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int CreateKernelsInProgram(
+ ProgramHandle program,
+ uint num_kernels,
+ Ref kernels,
+ Ref num_kernels_ret
+ )
+ {
+ fixed (uint* __dsl_num_kernels_ret = num_kernels_ret)
+ fixed (KernelHandle* __dsl_kernels = kernels)
+ {
+ return (int)CreateKernelsInProgram(
+ program,
+ num_kernels,
+ __dsl_kernels,
+ __dsl_num_kernels_ret
+ );
+ }
+ }
+
+ [NativeName("clCreatePipe")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreatePipe")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ public static extern MemHandle CreatePipe(
+ ContextHandle context,
+ ulong flags,
+ uint pipe_packet_size,
+ uint pipe_max_packets,
+ nint* properties,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreatePipe")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreatePipe")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreatePipe(
+ ContextHandle context,
+ ulong flags,
+ uint pipe_packet_size,
+ uint pipe_max_packets,
+ Ref properties,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (nint* __dsl_properties = properties)
+ {
+ return (MemHandle)CreatePipe(
+ context,
+ flags,
+ pipe_packet_size,
+ pipe_max_packets,
+ __dsl_properties,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateProgramWithBinary")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateProgramWithBinary")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern ProgramHandle CreateProgramWithBinary(
+ ContextHandle context,
+ uint num_devices,
+ DeviceIdHandle* device_list,
+ nuint* lengths,
+ byte** binaries,
+ int* binary_status,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateProgramWithBinary")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateProgramWithBinary")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static ProgramHandle CreateProgramWithBinary(
+ ContextHandle context,
+ uint num_devices,
+ Ref device_list,
+ Ref lengths,
+ Ref2D binaries,
+ Ref binary_status,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (int* __dsl_binary_status = binary_status)
+ fixed (byte** __dsl_binaries = binaries)
+ fixed (nuint* __dsl_lengths = lengths)
+ fixed (DeviceIdHandle* __dsl_device_list = device_list)
+ {
+ return (ProgramHandle)CreateProgramWithBinary(
+ context,
+ num_devices,
+ __dsl_device_list,
+ __dsl_lengths,
+ __dsl_binaries,
+ __dsl_binary_status,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateProgramWithBuiltInKernels")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clCreateProgramWithBuiltInKernels"
+ )]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern ProgramHandle CreateProgramWithBuiltInKernels(
+ ContextHandle context,
+ uint num_devices,
+ DeviceIdHandle* device_list,
+ sbyte* kernel_names,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateProgramWithBuiltInKernels")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateProgramWithBuiltInKernels")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static ProgramHandle CreateProgramWithBuiltInKernels(
+ ContextHandle context,
+ uint num_devices,
+ Ref device_list,
+ Ref kernel_names,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (sbyte* __dsl_kernel_names = kernel_names)
+ fixed (DeviceIdHandle* __dsl_device_list = device_list)
+ {
+ return (ProgramHandle)CreateProgramWithBuiltInKernels(
+ context,
+ num_devices,
+ __dsl_device_list,
+ __dsl_kernel_names,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateProgramWithIL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateProgramWithIL")]
+ [SupportedApiProfile(
+ "opencl",
+ ["CL_VERSION_2_1", "CL_VERSION_2_2", "CL_VERSION_3_0", "CL_VERSION_3_1"],
+ MinVersion = "2.1"
+ )]
+ public static extern ProgramHandle CreateProgramWithIL(
+ ContextHandle context,
+ void* il,
+ nuint length,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateProgramWithIL")]
+ [SupportedApiProfile(
+ "opencl",
+ ["CL_VERSION_2_1", "CL_VERSION_2_2", "CL_VERSION_3_0", "CL_VERSION_3_1"],
+ MinVersion = "2.1"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateProgramWithIL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static ProgramHandle CreateProgramWithIL(
+ ContextHandle context,
+ Ref il,
+ nuint length,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_il = il)
+ {
+ return (ProgramHandle)CreateProgramWithIL(
+ context,
+ __dsl_il,
+ length,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateProgramWithILKHR")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateProgramWithILKHR")]
+ [SupportedApiProfile("opencl", ["cl_khr_il_program"])]
+ public static extern ProgramHandle CreateProgramWithILKHR(
+ ContextHandle context,
+ void* il,
+ nuint length,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateProgramWithILKHR")]
+ [SupportedApiProfile("opencl", ["cl_khr_il_program"])]
+ [NativeFunction("opencl", EntryPoint = "clCreateProgramWithILKHR")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static ProgramHandle CreateProgramWithILKHR(
+ ContextHandle context,
+ Ref il,
+ nuint length,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_il = il)
+ {
+ return (ProgramHandle)CreateProgramWithILKHR(
+ context,
+ __dsl_il,
+ length,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateProgramWithSource")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateProgramWithSource")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern ProgramHandle CreateProgramWithSource(
+ ContextHandle context,
+ uint count,
+ sbyte** strings,
+ nuint* lengths,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateProgramWithSource")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateProgramWithSource")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static ProgramHandle CreateProgramWithSource(
+ ContextHandle context,
+ uint count,
+ Ref2D strings,
+ Ref lengths,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (nuint* __dsl_lengths = lengths)
+ fixed (sbyte** __dsl_strings = strings)
+ {
+ return (ProgramHandle)CreateProgramWithSource(
+ context,
+ count,
+ __dsl_strings,
+ __dsl_lengths,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateSampler")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateSampler")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern SamplerHandle CreateSampler(
+ ContextHandle context,
+ uint normalized_coords,
+ uint addressing_mode,
+ uint filter_mode,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateSampler")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateSampler")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static SamplerHandle CreateSampler(
+ ContextHandle context,
+ MaybeBool normalized_coords,
+ uint addressing_mode,
+ uint filter_mode,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ {
+ return (SamplerHandle)CreateSampler(
+ context,
+ (uint)normalized_coords,
+ addressing_mode,
+ filter_mode,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateSamplerWithProperties")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateSamplerWithProperties")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ public static extern SamplerHandle CreateSamplerWithProperties(
+ ContextHandle context,
+ ulong* sampler_properties,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateSamplerWithProperties")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateSamplerWithProperties")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static SamplerHandle CreateSamplerWithProperties(
+ ContextHandle context,
+ Ref sampler_properties,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (ulong* __dsl_sampler_properties = sampler_properties)
+ {
+ return (SamplerHandle)CreateSamplerWithProperties(
+ context,
+ __dsl_sampler_properties,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateSemaphoreWithPropertiesKHR")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clCreateSemaphoreWithPropertiesKHR"
+ )]
+ [SupportedApiProfile("opencl", ["cl_khr_semaphore"], ImpliesSets = ["CL_VERSION_1_2"])]
+ public static extern SemaphoreHandleKHR CreateSemaphoreWithPropertiesKHR(
+ ContextHandle context,
+ ulong* sema_props,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateSemaphoreWithPropertiesKHR")]
+ [SupportedApiProfile("opencl", ["cl_khr_semaphore"], ImpliesSets = ["CL_VERSION_1_2"])]
+ [NativeFunction("opencl", EntryPoint = "clCreateSemaphoreWithPropertiesKHR")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static SemaphoreHandleKHR CreateSemaphoreWithPropertiesKHR(
+ ContextHandle context,
+ Ref sema_props,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (ulong* __dsl_sema_props = sema_props)
+ {
+ return (SemaphoreHandleKHR)CreateSemaphoreWithPropertiesKHR(
+ context,
+ __dsl_sema_props,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateSubBuffer")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateSubBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ public static extern MemHandle CreateSubBuffer(
+ MemHandle buffer,
+ ulong flags,
+ uint buffer_create_type,
+ void* buffer_create_info,
+ int* errcode_ret
+ );
+
+ [NativeName("clCreateSubBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateSubBuffer")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static MemHandle CreateSubBuffer(
+ MemHandle buffer,
+ ulong flags,
+ uint buffer_create_type,
+ Ref buffer_create_info,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (void* __dsl_buffer_create_info = buffer_create_info)
+ {
+ return (MemHandle)CreateSubBuffer(
+ buffer,
+ flags,
+ buffer_create_type,
+ __dsl_buffer_create_info,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateSubDevices")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateSubDevices")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern int CreateSubDevices(
+ DeviceIdHandle in_device,
+ nint* properties,
+ uint num_devices,
+ DeviceIdHandle* out_devices,
+ uint* num_devices_ret
+ );
+
+ [NativeName("clCreateSubDevices")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateSubDevices")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int CreateSubDevices(
+ DeviceIdHandle in_device,
+ Ref properties,
+ uint num_devices,
+ Ref out_devices,
+ Ref num_devices_ret
+ )
+ {
+ fixed (uint* __dsl_num_devices_ret = num_devices_ret)
+ fixed (DeviceIdHandle* __dsl_out_devices = out_devices)
+ fixed (nint* __dsl_properties = properties)
+ {
+ return (int)CreateSubDevices(
+ in_device,
+ __dsl_properties,
+ num_devices,
+ __dsl_out_devices,
+ __dsl_num_devices_ret
+ );
+ }
+ }
+
+ [NativeName("clCreateSubDevicesEXT")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateSubDevicesEXT")]
+ [SupportedApiProfile("opencl", ["cl_ext_device_fission"])]
+ public static extern int CreateSubDevicesEXT(
+ DeviceIdHandle in_device,
+ ulong* properties,
+ uint num_entries,
+ DeviceIdHandle* out_devices,
+ uint* num_devices
+ );
+
+ [NativeName("clCreateSubDevicesEXT")]
+ [SupportedApiProfile("opencl", ["cl_ext_device_fission"])]
+ [NativeFunction("opencl", EntryPoint = "clCreateSubDevicesEXT")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int CreateSubDevicesEXT(
+ DeviceIdHandle in_device,
+ Ref properties,
+ uint num_entries,
+ Ref out_devices,
+ Ref num_devices
+ )
+ {
+ fixed (uint* __dsl_num_devices = num_devices)
+ fixed (DeviceIdHandle* __dsl_out_devices = out_devices)
+ fixed (ulong* __dsl_properties = properties)
+ {
+ return (int)CreateSubDevicesEXT(
+ in_device,
+ __dsl_properties,
+ num_entries,
+ __dsl_out_devices,
+ __dsl_num_devices
+ );
+ }
+ }
+
+ [NativeName("clCreateUserEvent")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clCreateUserEvent")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ public static extern EventHandle CreateUserEvent(ContextHandle context, int* errcode_ret);
+
+ [NativeName("clCreateUserEvent")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clCreateUserEvent")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static EventHandle CreateUserEvent(ContextHandle context, Ref errcode_ret)
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ {
+ return (EventHandle)CreateUserEvent(context, __dsl_errcode_ret);
+ }
+ }
+
+ [NativeName("clDeviceMemAllocINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clDeviceMemAllocINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ public static extern void* DeviceMemAllocINTEL(
+ ContextHandle context,
+ DeviceIdHandle device,
+ ulong* properties,
+ nuint size,
+ uint alignment,
+ int* errcode_ret
+ );
+
+ [NativeName("clDeviceMemAllocINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clDeviceMemAllocINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static Ptr DeviceMemAllocINTEL(
+ ContextHandle context,
+ DeviceIdHandle device,
+ Ref properties,
+ nuint size,
+ uint alignment,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (ulong* __dsl_properties = properties)
+ {
+ return (void*)DeviceMemAllocINTEL(
+ context,
+ device,
+ __dsl_properties,
+ size,
+ alignment,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clEnqueueAcquireExternalMemObjectsKHR")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clEnqueueAcquireExternalMemObjectsKHR"
+ )]
+ [SupportedApiProfile(
+ "opencl",
+ ["cl_khr_external_memory"],
+ ImpliesSets = ["CL_VERSION_3_0"]
+ )]
+ public static extern int EnqueueAcquireExternalMemObjectsKHR(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ MemHandle* mem_objects,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueAcquireExternalMemObjectsKHR")]
+ [SupportedApiProfile(
+ "opencl",
+ ["cl_khr_external_memory"],
+ ImpliesSets = ["CL_VERSION_3_0"]
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueAcquireExternalMemObjectsKHR")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueAcquireExternalMemObjectsKHR(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ Ref mem_objects,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (MemHandle* __dsl_mem_objects = mem_objects)
+ {
+ return (int)EnqueueAcquireExternalMemObjectsKHR(
+ command_queue,
+ num_mem_objects,
+ __dsl_mem_objects,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueAcquireGrallocObjectsIMG")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clEnqueueAcquireGrallocObjectsIMG"
+ )]
+ [SupportedApiProfile("opencl", ["cl_img_use_gralloc_ptr"])]
+ public static extern int EnqueueAcquireGrallocObjectsIMG(
+ CommandQueueHandle command_queue,
+ uint num_objects,
+ MemHandle* mem_objects,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueAcquireGrallocObjectsIMG")]
+ [SupportedApiProfile("opencl", ["cl_img_use_gralloc_ptr"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueAcquireGrallocObjectsIMG")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueAcquireGrallocObjectsIMG(
+ CommandQueueHandle command_queue,
+ uint num_objects,
+ Ref mem_objects,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (MemHandle* __dsl_mem_objects = mem_objects)
+ {
+ return (int)EnqueueAcquireGrallocObjectsIMG(
+ command_queue,
+ num_objects,
+ __dsl_mem_objects,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueBarrier")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueBarrier")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueBarrier(CommandQueueHandle command_queue);
+
+ [NativeName("clEnqueueBarrierWithWaitList")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueBarrierWithWaitList")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern int EnqueueBarrierWithWaitList(
+ CommandQueueHandle command_queue,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueBarrierWithWaitList")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueBarrierWithWaitList")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueBarrierWithWaitList(
+ CommandQueueHandle command_queue,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ {
+ return (int)EnqueueBarrierWithWaitList(
+ command_queue,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueCopyBuffer")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueCopyBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueCopyBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle src_buffer,
+ MemHandle dst_buffer,
+ nuint src_offset,
+ nuint dst_offset,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueCopyBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueCopyBuffer")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueCopyBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle src_buffer,
+ MemHandle dst_buffer,
+ nuint src_offset,
+ nuint dst_offset,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ {
+ return (int)EnqueueCopyBuffer(
+ command_queue,
+ src_buffer,
+ dst_buffer,
+ src_offset,
+ dst_offset,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueCopyBufferRect")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueCopyBufferRect")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ public static extern int EnqueueCopyBufferRect(
+ CommandQueueHandle command_queue,
+ MemHandle src_buffer,
+ MemHandle dst_buffer,
+ nuint* src_origin,
+ nuint* dst_origin,
+ nuint* region,
+ nuint src_row_pitch,
+ nuint src_slice_pitch,
+ nuint dst_row_pitch,
+ nuint dst_slice_pitch,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueCopyBufferRect")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueCopyBufferRect")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueCopyBufferRect(
+ CommandQueueHandle command_queue,
+ MemHandle src_buffer,
+ MemHandle dst_buffer,
+ Ref src_origin,
+ Ref dst_origin,
+ Ref region,
+ nuint src_row_pitch,
+ nuint src_slice_pitch,
+ nuint dst_row_pitch,
+ nuint dst_slice_pitch,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_dst_origin = dst_origin)
+ fixed (nuint* __dsl_src_origin = src_origin)
+ {
+ return (int)EnqueueCopyBufferRect(
+ command_queue,
+ src_buffer,
+ dst_buffer,
+ __dsl_src_origin,
+ __dsl_dst_origin,
+ __dsl_region,
+ src_row_pitch,
+ src_slice_pitch,
+ dst_row_pitch,
+ dst_slice_pitch,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueCopyBufferToImage")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueCopyBufferToImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueCopyBufferToImage(
+ CommandQueueHandle command_queue,
+ MemHandle src_buffer,
+ MemHandle dst_image,
+ nuint src_offset,
+ nuint* dst_origin,
+ nuint* region,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueCopyBufferToImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueCopyBufferToImage")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueCopyBufferToImage(
+ CommandQueueHandle command_queue,
+ MemHandle src_buffer,
+ MemHandle dst_image,
+ nuint src_offset,
+ Ref dst_origin,
+ Ref region,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_dst_origin = dst_origin)
+ {
+ return (int)EnqueueCopyBufferToImage(
+ command_queue,
+ src_buffer,
+ dst_image,
+ src_offset,
+ __dsl_dst_origin,
+ __dsl_region,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueCopyImage")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueCopyImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueCopyImage(
+ CommandQueueHandle command_queue,
+ MemHandle src_image,
+ MemHandle dst_image,
+ nuint* src_origin,
+ nuint* dst_origin,
+ nuint* region,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueCopyImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueCopyImage")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueCopyImage(
+ CommandQueueHandle command_queue,
+ MemHandle src_image,
+ MemHandle dst_image,
+ Ref src_origin,
+ Ref dst_origin,
+ Ref region,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_dst_origin = dst_origin)
+ fixed (nuint* __dsl_src_origin = src_origin)
+ {
+ return (int)EnqueueCopyImage(
+ command_queue,
+ src_image,
+ dst_image,
+ __dsl_src_origin,
+ __dsl_dst_origin,
+ __dsl_region,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueCopyImageToBuffer")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueCopyImageToBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueCopyImageToBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle src_image,
+ MemHandle dst_buffer,
+ nuint* src_origin,
+ nuint* region,
+ nuint dst_offset,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueCopyImageToBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueCopyImageToBuffer")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueCopyImageToBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle src_image,
+ MemHandle dst_buffer,
+ Ref src_origin,
+ Ref region,
+ nuint dst_offset,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_src_origin = src_origin)
+ {
+ return (int)EnqueueCopyImageToBuffer(
+ command_queue,
+ src_image,
+ dst_buffer,
+ __dsl_src_origin,
+ __dsl_region,
+ dst_offset,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueFillBuffer")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueFillBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern int EnqueueFillBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ void* pattern,
+ nuint pattern_size,
+ nuint offset,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueFillBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueFillBuffer")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueFillBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ Ref pattern,
+ nuint pattern_size,
+ nuint offset,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_pattern = pattern)
+ {
+ return (int)EnqueueFillBuffer(
+ command_queue,
+ buffer,
+ __dsl_pattern,
+ pattern_size,
+ offset,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueFillImage")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueFillImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern int EnqueueFillImage(
+ CommandQueueHandle command_queue,
+ MemHandle image,
+ void* fill_color,
+ nuint* origin,
+ nuint* region,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueFillImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueFillImage")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueFillImage(
+ CommandQueueHandle command_queue,
+ MemHandle image,
+ Ref fill_color,
+ Ref origin,
+ Ref region,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_origin = origin)
+ fixed (void* __dsl_fill_color = fill_color)
+ {
+ return (int)EnqueueFillImage(
+ command_queue,
+ image,
+ __dsl_fill_color,
+ __dsl_origin,
+ __dsl_region,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueGenerateMipmapIMG")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueGenerateMipmapIMG")]
+ [SupportedApiProfile("opencl", ["cl_img_generate_mipmap"])]
+ public static extern int EnqueueGenerateMipmapIMG(
+ CommandQueueHandle command_queue,
+ MemHandle src_image,
+ MemHandle dst_image,
+ uint mipmap_filter_mode,
+ nuint* array_region,
+ nuint* mip_region,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueGenerateMipmapIMG")]
+ [SupportedApiProfile("opencl", ["cl_img_generate_mipmap"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueGenerateMipmapIMG")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueGenerateMipmapIMG(
+ CommandQueueHandle command_queue,
+ MemHandle src_image,
+ MemHandle dst_image,
+ uint mipmap_filter_mode,
+ Ref array_region,
+ Ref mip_region,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_mip_region = mip_region)
+ fixed (nuint* __dsl_array_region = array_region)
+ {
+ return (int)EnqueueGenerateMipmapIMG(
+ command_queue,
+ src_image,
+ dst_image,
+ mipmap_filter_mode,
+ __dsl_array_region,
+ __dsl_mip_region,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMapBuffer")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMapBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern void* EnqueueMapBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ uint blocking_map,
+ ulong map_flags,
+ nuint offset,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event,
+ int* errcode_ret
+ );
+
+ [NativeName("clEnqueueMapBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMapBuffer")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static Ptr EnqueueMapBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ MaybeBool blocking_map,
+ ulong map_flags,
+ nuint offset,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ {
+ return (void*)EnqueueMapBuffer(
+ command_queue,
+ buffer,
+ (uint)blocking_map,
+ map_flags,
+ offset,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMapImage")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMapImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern void* EnqueueMapImage(
+ CommandQueueHandle command_queue,
+ MemHandle image,
+ uint blocking_map,
+ ulong map_flags,
+ nuint* origin,
+ nuint* region,
+ nuint* image_row_pitch,
+ nuint* image_slice_pitch,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event,
+ int* errcode_ret
+ );
+
+ [NativeName("clEnqueueMapImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMapImage")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static Ptr EnqueueMapImage(
+ CommandQueueHandle command_queue,
+ MemHandle image,
+ MaybeBool blocking_map,
+ ulong map_flags,
+ Ref origin,
+ Ref region,
+ Ref image_row_pitch,
+ Ref image_slice_pitch,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event,
+ Ref errcode_ret
+ )
+ {
+ fixed (int* __dsl_errcode_ret = errcode_ret)
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_image_slice_pitch = image_slice_pitch)
+ fixed (nuint* __dsl_image_row_pitch = image_row_pitch)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_origin = origin)
+ {
+ return (void*)EnqueueMapImage(
+ command_queue,
+ image,
+ (uint)blocking_map,
+ map_flags,
+ __dsl_origin,
+ __dsl_region,
+ __dsl_image_row_pitch,
+ __dsl_image_slice_pitch,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event,
+ __dsl_errcode_ret
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMarker")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMarker")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueMarker(
+ CommandQueueHandle command_queue,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMarker")]
+ [Obsolete]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMarker")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMarker(CommandQueueHandle command_queue, Ref @event)
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ {
+ return (int)EnqueueMarker(command_queue, __dsl_event);
+ }
+ }
+
+ [NativeName("clEnqueueMarkerWithWaitList")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMarkerWithWaitList")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern int EnqueueMarkerWithWaitList(
+ CommandQueueHandle command_queue,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMarkerWithWaitList")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMarkerWithWaitList")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMarkerWithWaitList(
+ CommandQueueHandle command_queue,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ {
+ return (int)EnqueueMarkerWithWaitList(
+ command_queue,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMemAdviseINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMemAdviseINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ public static extern int EnqueueMemAdviseINTEL(
+ CommandQueueHandle command_queue,
+ void* ptr,
+ nuint size,
+ uint advice,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMemAdviseINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMemAdviseINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMemAdviseINTEL(
+ CommandQueueHandle command_queue,
+ Ref ptr,
+ nuint size,
+ uint advice,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_ptr = ptr)
+ {
+ return (int)EnqueueMemAdviseINTEL(
+ command_queue,
+ __dsl_ptr,
+ size,
+ advice,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMemcpyINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMemcpyINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ public static extern int EnqueueMemcpyINTEL(
+ CommandQueueHandle command_queue,
+ uint blocking,
+ void* dst_ptr,
+ void* src_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMemcpyINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMemcpyINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMemcpyINTEL(
+ CommandQueueHandle command_queue,
+ MaybeBool blocking,
+ Ref dst_ptr,
+ Ref src_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_src_ptr = src_ptr)
+ fixed (void* __dsl_dst_ptr = dst_ptr)
+ {
+ return (int)EnqueueMemcpyINTEL(
+ command_queue,
+ (uint)blocking,
+ __dsl_dst_ptr,
+ __dsl_src_ptr,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMemFillINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMemFillINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ public static extern int EnqueueMemFillINTEL(
+ CommandQueueHandle command_queue,
+ void* dst_ptr,
+ void* pattern,
+ nuint pattern_size,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMemFillINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMemFillINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMemFillINTEL(
+ CommandQueueHandle command_queue,
+ Ref dst_ptr,
+ Ref pattern,
+ nuint pattern_size,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_pattern = pattern)
+ fixed (void* __dsl_dst_ptr = dst_ptr)
+ {
+ return (int)EnqueueMemFillINTEL(
+ command_queue,
+ __dsl_dst_ptr,
+ __dsl_pattern,
+ pattern_size,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMemsetINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMemsetINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ public static extern int EnqueueMemsetINTEL(
+ CommandQueueHandle command_queue,
+ void* dst_ptr,
+ int value,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMemsetINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMemsetINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMemsetINTEL(
+ CommandQueueHandle command_queue,
+ Ref dst_ptr,
+ int value,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_dst_ptr = dst_ptr)
+ {
+ return (int)EnqueueMemsetINTEL(
+ command_queue,
+ __dsl_dst_ptr,
+ value,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMigrateMemINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMigrateMemINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ public static extern int EnqueueMigrateMemINTEL(
+ CommandQueueHandle command_queue,
+ void* ptr,
+ nuint size,
+ ulong flags,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMigrateMemINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_unified_shared_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMigrateMemINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMigrateMemINTEL(
+ CommandQueueHandle command_queue,
+ Ref ptr,
+ nuint size,
+ ulong flags,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_ptr = ptr)
+ {
+ return (int)EnqueueMigrateMemINTEL(
+ command_queue,
+ __dsl_ptr,
+ size,
+ flags,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMigrateMemObjectEXT")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMigrateMemObjectEXT")]
+ [SupportedApiProfile("opencl", ["cl_ext_migrate_memobject"])]
+ public static extern int EnqueueMigrateMemObjectEXT(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ MemHandle* mem_objects,
+ ulong flags,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMigrateMemObjectEXT")]
+ [SupportedApiProfile("opencl", ["cl_ext_migrate_memobject"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMigrateMemObjectEXT")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMigrateMemObjectEXT(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ Ref mem_objects,
+ ulong flags,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (MemHandle* __dsl_mem_objects = mem_objects)
+ {
+ return (int)EnqueueMigrateMemObjectEXT(
+ command_queue,
+ num_mem_objects,
+ __dsl_mem_objects,
+ flags,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueMigrateMemObjects")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueMigrateMemObjects")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ public static extern int EnqueueMigrateMemObjects(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ MemHandle* mem_objects,
+ ulong flags,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueMigrateMemObjects")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.2"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueMigrateMemObjects")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueMigrateMemObjects(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ Ref mem_objects,
+ ulong flags,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (MemHandle* __dsl_mem_objects = mem_objects)
+ {
+ return (int)EnqueueMigrateMemObjects(
+ command_queue,
+ num_mem_objects,
+ __dsl_mem_objects,
+ flags,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueNativeKernel")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueNativeKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueNativeKernel(
+ CommandQueueHandle command_queue,
+ EnqueueNativeKernelUserFunc user_func,
+ void* args,
+ nuint cb_args,
+ uint num_mem_objects,
+ MemHandle* mem_list,
+ void** args_mem_loc,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueNativeKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueNativeKernel")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueNativeKernel(
+ CommandQueueHandle command_queue,
+ EnqueueNativeKernelUserFunc user_func,
+ Ref args,
+ nuint cb_args,
+ uint num_mem_objects,
+ Ref mem_list,
+ Ref2D args_mem_loc,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void** __dsl_args_mem_loc = args_mem_loc)
+ fixed (MemHandle* __dsl_mem_list = mem_list)
+ fixed (void* __dsl_args = args)
+ {
+ return (int)EnqueueNativeKernel(
+ command_queue,
+ user_func,
+ __dsl_args,
+ cb_args,
+ num_mem_objects,
+ __dsl_mem_list,
+ __dsl_args_mem_loc,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueNDRangeKernel")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueNDRangeKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueNDRangeKernel(
+ CommandQueueHandle command_queue,
+ KernelHandle kernel,
+ uint work_dim,
+ nuint* global_work_offset,
+ nuint* global_work_size,
+ nuint* local_work_size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueNDRangeKernel")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueNDRangeKernel")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueNDRangeKernel(
+ CommandQueueHandle command_queue,
+ KernelHandle kernel,
+ uint work_dim,
+ Ref global_work_offset,
+ Ref global_work_size,
+ Ref local_work_size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (nuint* __dsl_local_work_size = local_work_size)
+ fixed (nuint* __dsl_global_work_size = global_work_size)
+ fixed (nuint* __dsl_global_work_offset = global_work_offset)
+ {
+ return (int)EnqueueNDRangeKernel(
+ command_queue,
+ kernel,
+ work_dim,
+ __dsl_global_work_offset,
+ __dsl_global_work_size,
+ __dsl_local_work_size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueReadBuffer")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueReadBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueReadBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ uint blocking_read,
+ nuint offset,
+ nuint size,
+ void* ptr,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueReadBuffer")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueReadBuffer")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueReadBuffer(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ MaybeBool blocking_read,
+ nuint offset,
+ nuint size,
+ Ref ptr,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_ptr = ptr)
+ {
+ return (int)EnqueueReadBuffer(
+ command_queue,
+ buffer,
+ (uint)blocking_read,
+ offset,
+ size,
+ __dsl_ptr,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueReadBufferRect")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueReadBufferRect")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ public static extern int EnqueueReadBufferRect(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ uint blocking_read,
+ nuint* buffer_origin,
+ nuint* host_origin,
+ nuint* region,
+ nuint buffer_row_pitch,
+ nuint buffer_slice_pitch,
+ nuint host_row_pitch,
+ nuint host_slice_pitch,
+ void* ptr,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueReadBufferRect")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.1"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueReadBufferRect")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueReadBufferRect(
+ CommandQueueHandle command_queue,
+ MemHandle buffer,
+ MaybeBool blocking_read,
+ Ref buffer_origin,
+ Ref host_origin,
+ Ref region,
+ nuint buffer_row_pitch,
+ nuint buffer_slice_pitch,
+ nuint host_row_pitch,
+ nuint host_slice_pitch,
+ Ref ptr,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_ptr = ptr)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_host_origin = host_origin)
+ fixed (nuint* __dsl_buffer_origin = buffer_origin)
+ {
+ return (int)EnqueueReadBufferRect(
+ command_queue,
+ buffer,
+ (uint)blocking_read,
+ __dsl_buffer_origin,
+ __dsl_host_origin,
+ __dsl_region,
+ buffer_row_pitch,
+ buffer_slice_pitch,
+ host_row_pitch,
+ host_slice_pitch,
+ __dsl_ptr,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueReadHostPipeINTEL")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueReadHostPipeINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_program_scope_host_pipe"])]
+ public static extern int EnqueueReadHostPipeINTEL(
+ CommandQueueHandle command_queue,
+ ProgramHandle program,
+ sbyte* pipe_symbol,
+ uint blocking_read,
+ void* ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueReadHostPipeINTEL")]
+ [SupportedApiProfile("opencl", ["cl_intel_program_scope_host_pipe"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueReadHostPipeINTEL")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueReadHostPipeINTEL(
+ CommandQueueHandle command_queue,
+ ProgramHandle program,
+ Ref pipe_symbol,
+ MaybeBool blocking_read,
+ Ref ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_ptr = ptr)
+ fixed (sbyte* __dsl_pipe_symbol = pipe_symbol)
+ {
+ return (int)EnqueueReadHostPipeINTEL(
+ command_queue,
+ program,
+ __dsl_pipe_symbol,
+ (uint)blocking_read,
+ __dsl_ptr,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueReadImage")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueReadImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ public static extern int EnqueueReadImage(
+ CommandQueueHandle command_queue,
+ MemHandle image,
+ uint blocking_read,
+ nuint* origin,
+ nuint* region,
+ nuint row_pitch,
+ nuint slice_pitch,
+ void* ptr,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueReadImage")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_1_0",
+ "CL_VERSION_1_1",
+ "CL_VERSION_1_2",
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "1.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueReadImage")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueReadImage(
+ CommandQueueHandle command_queue,
+ MemHandle image,
+ MaybeBool blocking_read,
+ Ref origin,
+ Ref region,
+ nuint row_pitch,
+ nuint slice_pitch,
+ Ref ptr,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_ptr = ptr)
+ fixed (nuint* __dsl_region = region)
+ fixed (nuint* __dsl_origin = origin)
+ {
+ return (int)EnqueueReadImage(
+ command_queue,
+ image,
+ (uint)blocking_read,
+ __dsl_origin,
+ __dsl_region,
+ row_pitch,
+ slice_pitch,
+ __dsl_ptr,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueReleaseExternalMemObjectsKHR")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clEnqueueReleaseExternalMemObjectsKHR"
+ )]
+ [SupportedApiProfile(
+ "opencl",
+ ["cl_khr_external_memory"],
+ ImpliesSets = ["CL_VERSION_3_0"]
+ )]
+ public static extern int EnqueueReleaseExternalMemObjectsKHR(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ MemHandle* mem_objects,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueReleaseExternalMemObjectsKHR")]
+ [SupportedApiProfile(
+ "opencl",
+ ["cl_khr_external_memory"],
+ ImpliesSets = ["CL_VERSION_3_0"]
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueReleaseExternalMemObjectsKHR")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueReleaseExternalMemObjectsKHR(
+ CommandQueueHandle command_queue,
+ uint num_mem_objects,
+ Ref mem_objects,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (MemHandle* __dsl_mem_objects = mem_objects)
+ {
+ return (int)EnqueueReleaseExternalMemObjectsKHR(
+ command_queue,
+ num_mem_objects,
+ __dsl_mem_objects,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueReleaseGrallocObjectsIMG")]
+ [DllImport(
+ "opencl",
+ ExactSpelling = true,
+ EntryPoint = "clEnqueueReleaseGrallocObjectsIMG"
+ )]
+ [SupportedApiProfile("opencl", ["cl_img_use_gralloc_ptr"])]
+ public static extern int EnqueueReleaseGrallocObjectsIMG(
+ CommandQueueHandle command_queue,
+ uint num_objects,
+ MemHandle* mem_objects,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueReleaseGrallocObjectsIMG")]
+ [SupportedApiProfile("opencl", ["cl_img_use_gralloc_ptr"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueReleaseGrallocObjectsIMG")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueReleaseGrallocObjectsIMG(
+ CommandQueueHandle command_queue,
+ uint num_objects,
+ Ref mem_objects,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (MemHandle* __dsl_mem_objects = mem_objects)
+ {
+ return (int)EnqueueReleaseGrallocObjectsIMG(
+ command_queue,
+ num_objects,
+ __dsl_mem_objects,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSignalSemaphoresKHR")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSignalSemaphoresKHR")]
+ [SupportedApiProfile("opencl", ["cl_khr_semaphore"], ImpliesSets = ["CL_VERSION_1_2"])]
+ public static extern int EnqueueSignalSemaphoresKHR(
+ CommandQueueHandle command_queue,
+ uint num_sema_objects,
+ SemaphoreHandleKHR* sema_objects,
+ ulong* sema_payload_list,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSignalSemaphoresKHR")]
+ [SupportedApiProfile("opencl", ["cl_khr_semaphore"], ImpliesSets = ["CL_VERSION_1_2"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSignalSemaphoresKHR")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSignalSemaphoresKHR(
+ CommandQueueHandle command_queue,
+ uint num_sema_objects,
+ Ref sema_objects,
+ Ref sema_payload_list,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (ulong* __dsl_sema_payload_list = sema_payload_list)
+ fixed (SemaphoreHandleKHR* __dsl_sema_objects = sema_objects)
+ {
+ return (int)EnqueueSignalSemaphoresKHR(
+ command_queue,
+ num_sema_objects,
+ __dsl_sema_objects,
+ __dsl_sema_payload_list,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSVMFree")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSVMFree")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ public static extern int EnqueueSvmFree(
+ CommandQueueHandle command_queue,
+ uint num_svm_pointers,
+ void** svm_pointers,
+ EnqueueSvmFreePfnFreeFunc pfn_free_func,
+ void* user_data,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSVMFree")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSVMFree")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSvmFree(
+ CommandQueueHandle command_queue,
+ uint num_svm_pointers,
+ Ref2D svm_pointers,
+ EnqueueSvmFreePfnFreeFunc pfn_free_func,
+ Ref user_data,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_user_data = user_data)
+ fixed (void** __dsl_svm_pointers = svm_pointers)
+ {
+ return (int)EnqueueSvmFree(
+ command_queue,
+ num_svm_pointers,
+ __dsl_svm_pointers,
+ pfn_free_func,
+ __dsl_user_data,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSVMFreeARM")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSVMFreeARM")]
+ [SupportedApiProfile("opencl", ["cl_arm_shared_virtual_memory"])]
+ public static extern int EnqueueSvmFreeARM(
+ CommandQueueHandle command_queue,
+ uint num_svm_pointers,
+ void** svm_pointers,
+ EnqueueSvmFreeArmPfnFreeFunc pfn_free_func,
+ void* user_data,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSVMFreeARM")]
+ [SupportedApiProfile("opencl", ["cl_arm_shared_virtual_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSVMFreeARM")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSvmFreeARM(
+ CommandQueueHandle command_queue,
+ uint num_svm_pointers,
+ Ref2D svm_pointers,
+ EnqueueSvmFreeArmPfnFreeFunc pfn_free_func,
+ Ref user_data,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_user_data = user_data)
+ fixed (void** __dsl_svm_pointers = svm_pointers)
+ {
+ return (int)EnqueueSvmFreeARM(
+ command_queue,
+ num_svm_pointers,
+ __dsl_svm_pointers,
+ pfn_free_func,
+ __dsl_user_data,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSVMMap")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSVMMap")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ public static extern int EnqueueSvmMap(
+ CommandQueueHandle command_queue,
+ uint blocking_map,
+ ulong flags,
+ void* svm_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSVMMap")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSVMMap")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSvmMap(
+ CommandQueueHandle command_queue,
+ MaybeBool blocking_map,
+ ulong flags,
+ Ref svm_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_svm_ptr = svm_ptr)
+ {
+ return (int)EnqueueSvmMap(
+ command_queue,
+ (uint)blocking_map,
+ flags,
+ __dsl_svm_ptr,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSVMMapARM")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSVMMapARM")]
+ [SupportedApiProfile("opencl", ["cl_arm_shared_virtual_memory"])]
+ public static extern int EnqueueSvmMapARM(
+ CommandQueueHandle command_queue,
+ uint blocking_map,
+ ulong flags,
+ void* svm_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSVMMapARM")]
+ [SupportedApiProfile("opencl", ["cl_arm_shared_virtual_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSVMMapARM")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSvmMapARM(
+ CommandQueueHandle command_queue,
+ MaybeBool blocking_map,
+ ulong flags,
+ Ref svm_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_svm_ptr = svm_ptr)
+ {
+ return (int)EnqueueSvmMapARM(
+ command_queue,
+ (uint)blocking_map,
+ flags,
+ __dsl_svm_ptr,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSVMMemcpy")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSVMMemcpy")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ public static extern int EnqueueSvmMemcpy(
+ CommandQueueHandle command_queue,
+ uint blocking_copy,
+ void* dst_ptr,
+ void* src_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSVMMemcpy")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSVMMemcpy")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSvmMemcpy(
+ CommandQueueHandle command_queue,
+ MaybeBool blocking_copy,
+ Ref dst_ptr,
+ Ref src_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_src_ptr = src_ptr)
+ fixed (void* __dsl_dst_ptr = dst_ptr)
+ {
+ return (int)EnqueueSvmMemcpy(
+ command_queue,
+ (uint)blocking_copy,
+ __dsl_dst_ptr,
+ __dsl_src_ptr,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSVMMemcpyARM")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSVMMemcpyARM")]
+ [SupportedApiProfile("opencl", ["cl_arm_shared_virtual_memory"])]
+ public static extern int EnqueueSvmMemcpyARM(
+ CommandQueueHandle command_queue,
+ uint blocking_copy,
+ void* dst_ptr,
+ void* src_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSVMMemcpyARM")]
+ [SupportedApiProfile("opencl", ["cl_arm_shared_virtual_memory"])]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSVMMemcpyARM")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSvmMemcpyARM(
+ CommandQueueHandle command_queue,
+ MaybeBool blocking_copy,
+ Ref dst_ptr,
+ Ref src_ptr,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref @event
+ )
+ {
+ fixed (EventHandle* __dsl_event = @event)
+ fixed (EventHandle* __dsl_event_wait_list = event_wait_list)
+ fixed (void* __dsl_src_ptr = src_ptr)
+ fixed (void* __dsl_dst_ptr = dst_ptr)
+ {
+ return (int)EnqueueSvmMemcpyARM(
+ command_queue,
+ (uint)blocking_copy,
+ __dsl_dst_ptr,
+ __dsl_src_ptr,
+ size,
+ num_events_in_wait_list,
+ __dsl_event_wait_list,
+ __dsl_event
+ );
+ }
+ }
+
+ [NativeName("clEnqueueSVMMemFill")]
+ [DllImport("opencl", ExactSpelling = true, EntryPoint = "clEnqueueSVMMemFill")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ public static extern int EnqueueSvmMemFill(
+ CommandQueueHandle command_queue,
+ void* svm_ptr,
+ void* pattern,
+ nuint pattern_size,
+ nuint size,
+ uint num_events_in_wait_list,
+ EventHandle* event_wait_list,
+ EventHandle* @event
+ );
+
+ [NativeName("clEnqueueSVMMemFill")]
+ [SupportedApiProfile(
+ "opencl",
+ [
+ "CL_VERSION_2_0",
+ "CL_VERSION_2_1",
+ "CL_VERSION_2_2",
+ "CL_VERSION_3_0",
+ "CL_VERSION_3_1",
+ ],
+ MinVersion = "2.0"
+ )]
+ [NativeFunction("opencl", EntryPoint = "clEnqueueSVMMemFill")]
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static int EnqueueSvmMemFill(
+ CommandQueueHandle command_queue,
+ Ref svm_ptr,
+ Ref pattern,
+ nuint pattern_size,
+ nuint size,
+ uint num_events_in_wait_list,
+ Ref event_wait_list,
+ Ref