diff --git a/GenerateGL.sln b/GenerateGL.sln
new file mode 100644
index 00000000..a98bbf24
--- /dev/null
+++ b/GenerateGL.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36705.20
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GenerateGL", "StgSharp.GenerateGL\GenerateGL.csproj", "{9FD27EE6-E94D-4E64-A13B-5A349DEA215A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StgSharp.Common", "StgSharp.Common\StgSharp.Common.csproj", "{5D646C0E-CCF8-B5B4-7DE8-1C37542E7B4D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9FD27EE6-E94D-4E64-A13B-5A349DEA215A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9FD27EE6-E94D-4E64-A13B-5A349DEA215A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9FD27EE6-E94D-4E64-A13B-5A349DEA215A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9FD27EE6-E94D-4E64-A13B-5A349DEA215A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5D646C0E-CCF8-B5B4-7DE8-1C37542E7B4D}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {5D646C0E-CCF8-B5B4-7DE8-1C37542E7B4D}.Release|Any CPU.ActiveCfg = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {AC71C01F-9867-4E43-85AB-4A8A7896B1BC}
+ EndGlobalSection
+EndGlobal
diff --git a/StgSharp.Common/Graphics/OpenGL/glContext.cs b/StgSharp.Common/Graphics/OpenGL/glContext.cs
index 53cb8614..fcaf8def 100644
--- a/StgSharp.Common/Graphics/OpenGL/glContext.cs
+++ b/StgSharp.Common/Graphics/OpenGL/glContext.cs
@@ -1,2603 +1,366 @@
-//-----------------------------------------------------------------------
-// -----------------------------------------------------------------------
-// file="glContext"
-// Project: StgSharp
-// AuthorGroup: Nitload
-// Copyright (c) Nitload. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
-//
-// -----------------------------------------------------------------------
-// -----------------------------------------------------------------------
-using StgSharp.HighPerformance;
-using StgSharp.Internal;
-using StgSharp.Internal.Intrinsic;
-
+//
+// Generated by StgSharp.GenerateGL on 2025-12-29 08:55:37Z
+// Aggregated GL3+ commands
+//
using System;
-using System.Collections.Generic;
-
-using System.Runtime.InteropServices;
-using System.Text;
+using System.Runtime.CompilerServices;
namespace StgSharp.Graphics.OpenGL
{
- [StructLayout(LayoutKind.Sequential)]
- public struct OpenglContext
+ public unsafe partial struct OpenglContext
{
- public override bool Equals(object obj)
- {
- return false;
- }
-
- public override unsafe int GetHashCode()
- {
- fixed (OpenglContext* sptr = &this) {
- return sptr->GetHashCode();
- }
- }
-
- public static bool operator !=(OpenglContext left, OpenglContext right)
- {
- return !(left == right);
- }
-
- public static bool operator ==(OpenglContext left, OpenglContext right)
- {
- return left.Equals(right);
- }
-
- #region glapi
-
- internal unsafe delegate* glAccumxOES;
- internal unsafe delegate* glAcquireKeyedMutexWin32EXT;
- internal unsafe delegate* glActiveProgramEXT;
internal unsafe delegate* glActiveShaderProgram;
- internal unsafe delegate* glActiveStencilFaceEXT;
- internal unsafe delegate* glActiveTexture;
- internal unsafe delegate* glActiveTextureARB;
- internal unsafe delegate* glActiveVaryingNV;
- internal unsafe delegate* glAlphaFragmentOp1ATI;
- internal unsafe delegate* glAlphaFragmentOp2ATI;
- internal unsafe delegate* glAlphaFragmentOp3ATI;
- internal unsafe delegate* glAlphaFuncxOES;
- internal unsafe delegate* glAlphaToCoverageDitherControlNV;
- internal unsafe delegate* glApplyFramebufferAttachmentCMAAINTEL;
- internal unsafe delegate* glApplyTextureEXT;
- internal unsafe delegate* glAreProgramsResidentNV;
- internal unsafe delegate* glAreTexturesResidentEXT;
- internal unsafe delegate* glArrayElementEXT;
- internal unsafe delegate* glArrayObjectATI;
- internal unsafe delegate* glAsyncCopyBufferSubDataNVX;
- internal unsafe delegate* glAsyncCopyImageSubDataNVX;
- internal unsafe delegate* glAsyncMarkerSGIX;
- internal unsafe delegate* glAttachObjectARB;
- internal unsafe delegate* glAttachShader;
- internal unsafe delegate* glBeginConditionalRender;
- internal unsafe delegate* glBeginConditionalRenderNV;
- internal unsafe delegate* glBeginConditionalRenderNVX;
- internal unsafe delegate* glBeginFragmentShaderATI;
- internal unsafe delegate* glBeginOcclusionQueryNV;
- internal unsafe delegate* glBeginPerfMonitorAMD;
- internal unsafe delegate* glBeginPerfQueryINTEL;
- internal unsafe delegate* glBeginQuery;
- internal unsafe delegate* glBeginQueryARB;
- internal unsafe delegate* glBeginQueryIndexed;
- internal unsafe delegate* glBeginTransformFeedback;
- internal unsafe delegate* glBeginTransformFeedbackEXT;
- internal unsafe delegate* glBeginTransformFeedbackNV;
- internal unsafe delegate* glBeginVertexShaderEXT;
- internal unsafe delegate* glBeginVideoCaptureNV;
- internal unsafe delegate* glBindAttribLocation;
- internal unsafe delegate* glBindAttribLocationARB;
- internal unsafe delegate* glBindBuffer;
- internal unsafe delegate* glBindBufferARB;
- internal unsafe delegate* glBindBufferBase;
- internal unsafe delegate* glBindBufferBaseEXT;
- internal unsafe delegate* glBindBufferBaseNV;
- internal unsafe delegate* glBindBufferOffsetEXT;
- internal unsafe delegate* glBindBufferOffsetNV;
- internal unsafe delegate* glBindBufferRange;
- internal unsafe delegate* glBindBufferRangeEXT;
- internal unsafe delegate* glBindBufferRangeNV;
- internal unsafe delegate* glBindBuffersBase;
- internal unsafe delegate* glBindBuffersRange;
- internal unsafe delegate* glBindFragDataLocation;
- internal unsafe delegate* glBindFragDataLocationEXT;
+ internal unsafe delegate* glBindBuffersBase;
+ internal unsafe delegate* glBindBuffersRange;
internal unsafe delegate* glBindFragDataLocationIndexed;
- internal unsafe delegate* glBindFragmentShaderATI;
- internal unsafe delegate* glBindFramebuffer;
- internal unsafe delegate* glBindFramebufferEXT;
- internal unsafe delegate* glBindImageTexture;
- internal unsafe delegate* glBindImageTextureEXT;
- internal unsafe delegate* glBindImageTextures;
- internal unsafe delegate* glBindLightParameterEXT;
- internal unsafe delegate* glBindMaterialParameterEXT;
- internal unsafe delegate* glBindMultiTextureEXT;
- internal unsafe delegate* glBindParameterEXT;
- internal unsafe delegate* glBindProgramARB;
- internal unsafe delegate* glBindProgramNV;
+ internal unsafe delegate* glBindImageTexture;
+ internal unsafe delegate* glBindImageTextures;
internal unsafe delegate* glBindProgramPipeline;
- internal unsafe delegate* glBindRenderbuffer;
- internal unsafe delegate* glBindRenderbufferEXT;
internal unsafe delegate* glBindSampler;
- internal unsafe delegate* glBindSamplers;
- internal unsafe delegate* glBindShadingRateImageNV;
- internal unsafe delegate* glBindTexGenParameterEXT;
- internal unsafe delegate* glBindTexture;
- internal unsafe delegate* glBindTextureEXT;
+ internal unsafe delegate* glBindSamplers;
+ internal unsafe delegate* glBindTextures;
internal unsafe delegate* glBindTextureUnit;
- internal unsafe delegate* glBindTextureUnitParameterEXT;
- internal unsafe delegate* glBindTextures;
internal unsafe delegate* glBindTransformFeedback;
- internal unsafe delegate* glBindTransformFeedbackNV;
- internal unsafe delegate* glBindVertexArray;
- internal unsafe delegate* glBindVertexArrayAPPLE;
- internal unsafe delegate* glBindVertexBuffer;
- internal unsafe delegate* glBindVertexBuffers;
- internal unsafe delegate* glBindVertexShaderEXT;
- internal unsafe delegate* glBindVideoCaptureStreamBufferNV;
- internal unsafe delegate* glBindVideoCaptureStreamTextureNV;
- internal unsafe delegate* glBinormal3bEXT;
- internal unsafe delegate* glBinormal3bvEXT;
- internal unsafe delegate* glBinormal3dEXT;
- internal unsafe delegate* glBinormal3dvEXT;
- internal unsafe delegate* glBinormal3fEXT;
- internal unsafe delegate* glBinormal3fvEXT;
- internal unsafe delegate* glBinormal3iEXT;
- internal unsafe delegate* glBinormal3ivEXT;
- internal unsafe delegate* glBinormal3sEXT;
- internal unsafe delegate* glBinormal3svEXT;
- internal unsafe delegate* glBinormalPointerEXT;
- internal unsafe delegate* glBitmapxOES;
- internal unsafe delegate* glBlendBarrierKHR;
- internal unsafe delegate* glBlendBarrierNV;
- internal unsafe delegate* glBlendColor;
- internal unsafe delegate* glBlendColorEXT;
- internal unsafe delegate* glBlendColorxOES;
- internal unsafe delegate* glBlendEquation;
- internal unsafe delegate* glBlendEquationEXT;
- internal unsafe delegate* glBlendEquationIndexedAMD;
- internal unsafe delegate* glBlendEquationSeparate;
- internal unsafe delegate* glBlendEquationSeparateEXT;
- internal unsafe delegate* glBlendEquationSeparateIndexedAMD;
- internal unsafe delegate* glBlendEquationSeparatei;
- internal unsafe delegate* glBlendEquationSeparateiARB;
+ internal unsafe delegate* glBindVertexBuffer;
+ internal unsafe delegate* glBindVertexBuffers;
internal unsafe delegate* glBlendEquationi;
- internal unsafe delegate* glBlendEquationiARB;
- internal unsafe delegate* glBlendFunc;
- internal unsafe delegate* glBlendFuncIndexedAMD;
- internal unsafe delegate* glBlendFuncSeparate;
- internal unsafe delegate* glBlendFuncSeparateEXT;
- internal unsafe delegate* glBlendFuncSeparateINGR;
- internal unsafe delegate* glBlendFuncSeparateIndexedAMD;
- internal unsafe delegate* glBlendFuncSeparatei;
- internal unsafe delegate* glBlendFuncSeparateiARB;
+ internal unsafe delegate* glBlendEquationSeparatei;
internal unsafe delegate* glBlendFunci;
- internal unsafe delegate* glBlendFunciARB;
- internal unsafe delegate* glBlendParameteriNV;
- internal unsafe delegate* glBlitFramebuffer;
- internal unsafe delegate* glBlitFramebufferEXT;
- internal unsafe delegate* glBlitFramebufferLayerEXT;
- internal unsafe delegate* glBlitFramebufferLayersEXT;
+ internal unsafe delegate* glBlendFuncSeparatei;
internal unsafe delegate* glBlitNamedFramebuffer;
- internal unsafe delegate* glBufferAddressRangeNV;
- internal unsafe delegate* glBufferAttachMemoryNV;
- internal unsafe delegate* glBufferData;
- internal unsafe delegate* glBufferDataARB;
- internal unsafe delegate* glBufferPageCommitmentARB;
- internal unsafe delegate* glBufferPageCommitmentMemNV;
- internal unsafe delegate* glBufferParameteriAPPLE;
- internal unsafe delegate* glBufferStorage;
- [Obsolete("Param type uncertain", true)] internal unsafe delegate* glBufferStorageExternalEXT;
- internal unsafe delegate* glBufferStorageMemEXT;
- internal unsafe delegate* glBufferSubData;
- internal unsafe delegate* glBufferSubDataARB;
- internal unsafe delegate* glCallCommandListNV;
- internal unsafe delegate* glCheckFramebufferStatus;
- internal unsafe delegate* glCheckFramebufferStatusEXT;
+ internal unsafe delegate* glBufferStorage;
internal unsafe delegate* glCheckNamedFramebufferStatus;
- internal unsafe delegate* glCheckNamedFramebufferStatusEXT;
- internal unsafe delegate* glClampColor;
- internal unsafe delegate* glClampColorARB;
- internal unsafe delegate* glClear;
- internal unsafe delegate* glClearAccumxOES;
- internal unsafe delegate* glClearBufferData;
- internal unsafe delegate* glClearBufferSubData;
- internal unsafe delegate* glClearBufferfi;
- internal unsafe delegate* glClearBufferfv;
- internal unsafe delegate* glClearBufferiv;
- internal unsafe delegate* glClearBufferuiv;
- internal unsafe delegate* glClearColor;
- internal unsafe delegate* glClearColorIiEXT;
- internal unsafe delegate* glClearColorIuiEXT;
- internal unsafe delegate* glClearColorxOES;
- internal unsafe delegate* glClearDepth;
- internal unsafe delegate* glClearDepthdNV;
+ internal unsafe delegate* glClearBufferData;
+ internal unsafe delegate* glClearBufferSubData;
internal unsafe delegate* glClearDepthf;
- internal unsafe delegate* glClearDepthfOES;
- internal unsafe delegate* glClearDepthxOES;
- internal unsafe delegate* glClearNamedBufferData;
- internal unsafe delegate* glClearNamedBufferDataEXT;
- internal unsafe delegate* glClearNamedBufferSubData;
- internal unsafe delegate* glClearNamedBufferSubDataEXT;
+ internal unsafe delegate* glClearNamedBufferData;
+ internal unsafe delegate* glClearNamedBufferSubData;
internal unsafe delegate* glClearNamedFramebufferfi;
internal unsafe delegate* glClearNamedFramebufferfv;
internal unsafe delegate* glClearNamedFramebufferiv;
internal unsafe delegate* glClearNamedFramebufferuiv;
- internal unsafe delegate* glClearStencil;
- internal unsafe delegate* glClearTexImage;
- internal unsafe delegate* glClearTexSubImage;
- internal unsafe delegate* glClientActiveTextureARB;
- internal unsafe delegate* glClientActiveVertexStreamATI;
- internal unsafe delegate* glClientAttribDefaultEXT;
- internal unsafe delegate* glClientWaitSemaphoreui64NVX;
- internal unsafe delegate* glClientWaitSync;
+ internal unsafe delegate* glClearTexImage;
+ internal unsafe delegate* glClearTexSubImage;
internal unsafe delegate* glClipControl;
- internal unsafe delegate* glClipPlanefOES;
- internal unsafe delegate* glClipPlanexOES;
- internal unsafe delegate* glColor3fVertex3fSUN;
- internal unsafe delegate* glColor3fVertex3fvSUN;
- internal unsafe delegate* glColor3hNV;
- internal unsafe delegate* glColor3hvNV;
- internal unsafe delegate* glColor3xOES;
- internal unsafe delegate* glColor3xvOES;
- internal unsafe delegate* glColor4fNormal3fVertex3fSUN;
- internal unsafe delegate* glColor4fNormal3fVertex3fvSUN;
- internal unsafe delegate* glColor4hNV;
- internal unsafe delegate* glColor4hvNV;
- internal unsafe delegate* glColor4ubVertex2fSUN;
- internal unsafe delegate* glColor4ubVertex2fvSUN;
- internal unsafe delegate* glColor4ubVertex3fSUN;
- internal unsafe delegate* glColor4ubVertex3fvSUN;
- internal unsafe delegate* glColor4xOES;
- internal unsafe delegate* glColor4xvOES;
- internal unsafe delegate* glColorFormatNV;
- internal unsafe delegate* glColorFragmentOp1ATI;
- internal unsafe delegate* glColorFragmentOp2ATI;
- internal unsafe delegate* glColorFragmentOp3ATI;
- internal unsafe delegate* glColorMask;
- internal unsafe delegate* glColorMaskIndexedEXT;
- internal unsafe delegate* glColorMaski;
- internal unsafe delegate* glColorPointerEXT;
- internal unsafe delegate* glColorPointerListIBM;
- internal unsafe delegate* glColorPointervINTEL;
- internal unsafe delegate* glColorSubTableEXT;
- internal unsafe delegate* glColorTableEXT;
- internal unsafe delegate* glColorTableParameterfvSGI;
- internal unsafe delegate* glColorTableParameterivSGI;
- internal unsafe delegate* glColorTableSGI;
- internal unsafe delegate* glCombinerInputNV;
- internal unsafe delegate* glCombinerOutputNV;
- internal unsafe delegate* glCombinerParameterfNV;
- internal unsafe delegate* glCombinerParameterfvNV;
- internal unsafe delegate* glCombinerParameteriNV;
- internal unsafe delegate* glCombinerParameterivNV;
- internal unsafe delegate* glCombinerStageParameterfvNV;
- internal unsafe delegate* glCommandListSegmentsNV;
- internal unsafe delegate* glCompileCommandListNV;
- internal unsafe delegate* glCompileShader;
- internal unsafe delegate* glCompileShaderARB;
- internal unsafe delegate* glCompileShaderIncludeARB;
- internal unsafe delegate* glCompressedMultiTexImage1DEXT;
- internal unsafe delegate* glCompressedMultiTexImage2DEXT;
- internal unsafe delegate* glCompressedMultiTexImage3DEXT;
- internal unsafe delegate* glCompressedMultiTexSubImage1DEXT;
- internal unsafe delegate* glCompressedMultiTexSubImage2DEXT;
- internal unsafe delegate* glCompressedMultiTexSubImage3DEXT;
- internal unsafe delegate* glCompressedTexImage1D;
- internal unsafe delegate*