diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Base.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Base.g.cs new file mode 100644 index 00000000..c057461e --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Base.g.cs @@ -0,0 +1,2444 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL forwarding methods introduced through 3.2 and retained by the target core profile. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + private readonly OpenglContext* __context; + + internal OpenGLFunction(OpenglContext* context) + { + __context = context; + } + + /// Forwards to the native C API void glCullFace(GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CullFace(uint mode) + { + __context->glCullFace(mode); + } + + /// Forwards to the native C API void glFrontFace(GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrontFace(uint mode) + { + __context->glFrontFace(mode); + } + + /// Forwards to the native C API void glHint(GLenum target, GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Hint(uint target, uint mode) + { + __context->glHint(target, mode); + } + + /// Forwards to the native C API void glLineWidth(GLfloat width);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void LineWidth(float width) + { + __context->glLineWidth(width); + } + + /// Forwards to the native C API void glPointSize(GLfloat size);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PointSize(float size) + { + __context->glPointSize(size); + } + + /// Forwards to the native C API void glPolygonMode(GLenum face, GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PolygonMode(uint face, uint mode) + { + __context->glPolygonMode(face, mode); + } + + /// Forwards to the native C API void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Scissor(int x, int y, int width, int height) + { + __context->glScissor(x, y, width, height); + } + + /// Forwards to the native C API void glTexParameterf(GLenum target, GLenum pname, GLfloat param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureParameter(uint target, uint pname, float param) + { + __context->glTexParameterf(target, pname, param); + } + + /// Forwards to the native C API void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureParameter(uint target, uint pname, float* @params) + { + __context->glTexParameterfv(target, pname, @params); + } + + /// Forwards to the native C API void glTexParameteri(GLenum target, GLenum pname, GLint param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureParameter(uint target, uint pname, int param) + { + __context->glTexParameteri(target, pname, param); + } + + /// Forwards to the native C API void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureParameter(uint target, uint pname, int* @params) + { + __context->glTexParameteriv(target, pname, @params); + } + + /// Forwards to the native C API void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexImage1D(uint target, int level, int internalFormat, int width, int border, uint format, uint type, void* pixels) + { + __context->glTexImage1D(target, level, internalFormat, width, border, format, type, pixels); + } + + /// Forwards to the native C API void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexImage2D(uint target, int level, int internalFormat, int width, int height, int border, uint format, uint type, void* pixels) + { + __context->glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels); + } + + /// Forwards to the native C API void glDrawBuffer(GLenum buf);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawBuffer(uint buf) + { + __context->glDrawBuffer(buf); + } + + /// Forwards to the native C API void glClear(GLbitfield mask);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Clear(uint mask) + { + __context->glClear(mask); + } + + /// Forwards to the native C API void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearColor(float red, float green, float blue, float alpha) + { + __context->glClearColor(red, green, blue, alpha); + } + + /// Forwards to the native C API void glClearStencil(GLint s);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearStencil(int s) + { + __context->glClearStencil(s); + } + + /// Forwards to the native C API void glClearDepth(GLdouble depth);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearDepth(double depth) + { + __context->glClearDepth(depth); + } + + /// Forwards to the native C API void glStencilMask(GLuint mask);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void StencilMask(uint mask) + { + __context->glStencilMask(mask); + } + + /// Forwards to the native C API void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ColorMask(byte red, byte green, byte blue, byte alpha) + { + __context->glColorMask(red, green, blue, alpha); + } + + /// Forwards to the native C API void glDepthMask(GLboolean flag);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DepthMask(byte flag) + { + __context->glDepthMask(flag); + } + + /// Forwards to the native C API void glDisable(GLenum cap);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Disable(uint cap) + { + __context->glDisable(cap); + } + + /// Forwards to the native C API void glEnable(GLenum cap);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Enable(uint cap) + { + __context->glEnable(cap); + } + + /// Forwards to the native C API void glFinish();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Finish() + { + __context->glFinish(); + } + + /// Forwards to the native C API void glFlush();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Flush() + { + __context->glFlush(); + } + + /// Forwards to the native C API void glBlendFunc(GLenum sfactor, GLenum dfactor);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendFunc(uint sfactor, uint dfactor) + { + __context->glBlendFunc(sfactor, dfactor); + } + + /// Forwards to the native C API void glLogicOp(GLenum opcode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void LogicOp(uint opcode) + { + __context->glLogicOp(opcode); + } + + /// Forwards to the native C API void glStencilFunc(GLenum func, GLint ref, GLuint mask);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void StencilFunc(uint func, int @ref, uint mask) + { + __context->glStencilFunc(func, @ref, mask); + } + + /// Forwards to the native C API void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void StencilOp(uint fail, uint zfail, uint zpass) + { + __context->glStencilOp(fail, zfail, zpass); + } + + /// Forwards to the native C API void glDepthFunc(GLenum func);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DepthFunc(uint func) + { + __context->glDepthFunc(func); + } + + /// Forwards to the native C API void glPixelStoref(GLenum pname, GLfloat param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PixelStore(uint pname, float param) + { + __context->glPixelStoref(pname, param); + } + + /// Forwards to the native C API void glPixelStorei(GLenum pname, GLint param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PixelStore(uint pname, int param) + { + __context->glPixelStorei(pname, param); + } + + /// Forwards to the native C API void glReadBuffer(GLenum src);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ReadBuffer(uint src) + { + __context->glReadBuffer(src); + } + + /// Forwards to the native C API void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ReadPixels(int x, int y, int width, int height, uint format, uint type, void* pixels) + { + __context->glReadPixels(x, y, width, height, format, type, pixels); + } + + /// Forwards to the native C API void glGetBooleanv(GLenum pname, GLboolean *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint pname, Span values) + { + fixed (byte* __value = values) + { + __context->glGetBooleanv(pname, __value); + } + } + + /// Forwards to the native C API void glGetDoublev(GLenum pname, GLdouble *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint pname, Span values) + { + fixed (double* __value = values) + { + __context->glGetDoublev(pname, __value); + } + } + + /// Forwards to the native C API GLenum glGetError();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint GetError() + { + return __context->glGetError(); + } + + /// Forwards to the native C API void glGetFloatv(GLenum pname, GLfloat *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint pname, Span values) + { + fixed (float* __value = values) + { + __context->glGetFloatv(pname, __value); + } + } + + /// Forwards to the native C API void glGetIntegerv(GLenum pname, GLint *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint pname, Span values) + { + fixed (int* __value = values) + { + __context->glGetIntegerv(pname, __value); + } + } + + /// Forwards to the native C API const GLubyte *glGetString(GLenum name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte* GetString(uint name) + { + return __context->glGetString(name); + } + + /// Forwards to the native C API void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTexImage(uint target, int level, uint format, uint type, void* pixels) + { + __context->glGetTexImage(target, level, format, type, pixels); + } + + /// Forwards to the native C API void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureParameter(uint target, uint pname, float* @params) + { + __context->glGetTexParameterfv(target, pname, @params); + } + + /// Forwards to the native C API void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureParameter(uint target, uint pname, int* @params) + { + __context->glGetTexParameteriv(target, pname, @params); + } + + /// Forwards to the native C API void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureLevelParameter(uint target, int level, uint pname, float* @params) + { + __context->glGetTexLevelParameterfv(target, level, pname, @params); + } + + /// Forwards to the native C API void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureLevelParameter(uint target, int level, uint pname, int* @params) + { + __context->glGetTexLevelParameteriv(target, level, pname, @params); + } + + /// Forwards to the native C API GLboolean glIsEnabled(GLenum cap);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsEnabled(uint cap) + { + return __context->glIsEnabled(cap); + } + + /// Forwards to the native C API void glDepthRange(GLdouble n, GLdouble f);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DepthRange(double n, double f) + { + __context->glDepthRange(n, f); + } + + /// Forwards to the native C API void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Viewport(int x, int y, int width, int height) + { + __context->glViewport(x, y, width, height); + } + + /// Forwards to the native C API void glDrawArrays(GLenum mode, GLint first, GLsizei count);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawArrays(uint mode, int first, int count) + { + __context->glDrawArrays(mode, first, count); + } + + /// Forwards to the native C API void glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawElements(uint mode, int count, uint type, void* indices) + { + __context->glDrawElements(mode, count, type, indices); + } + + /// Forwards to the native C API void glGetPointerv(GLenum pname, void **params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetPointerv(uint pname, void** @params) + { + __context->glGetPointerv(pname, @params); + } + + /// Forwards to the native C API void glPolygonOffset(GLfloat factor, GLfloat units);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PolygonOffset(float factor, float units) + { + __context->glPolygonOffset(factor, units); + } + + /// Forwards to the native C API void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTexImage1D(uint target, int level, uint internalFormat, int x, int y, int width, int border) + { + __context->glCopyTexImage1D(target, level, internalFormat, x, y, width, border); + } + + /// Forwards to the native C API void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTexImage2D(uint target, int level, uint internalFormat, int x, int y, int width, int height, int border) + { + __context->glCopyTexImage2D(target, level, internalFormat, x, y, width, height, border); + } + + /// Forwards to the native C API void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTexSubImage1D(uint target, int level, int xoffset, int x, int y, int width) + { + __context->glCopyTexSubImage1D(target, level, xoffset, x, y, width); + } + + /// Forwards to the native C API void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTexSubImage2D(uint target, int level, int xoffset, int yoffset, int x, int y, int width, int height) + { + __context->glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + } + + /// Forwards to the native C API void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexSubImage1D(uint target, int level, int xoffset, int width, uint format, uint type, void* pixels) + { + __context->glTexSubImage1D(target, level, xoffset, width, format, type, pixels); + } + + /// Forwards to the native C API void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, void* pixels) + { + __context->glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + } + + /// Forwards to the native C API void glBindTexture(GLenum target, GLuint texture);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindTexture(uint target, GlHandle texture) + { + __context->glBindTexture(target, texture.Value); + } + + /// Forwards to the native C API void glDeleteTextures(GLsizei n, const GLuint *textures);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteTextures(ReadOnlySpan textures) + { + fixed (GlHandle* __textures = textures) + { + __context->glDeleteTextures(textures.Length, (uint*)__textures); + } + } + + /// Forwards to the native C API void glGenTextures(GLsizei n, GLuint *textures);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenTextures(Span textures) + { + fixed (GlHandle* __textures = textures) + { + __context->glGenTextures(textures.Length, (uint*)__textures); + } + } + + /// Forwards to the native C API GLboolean glIsTexture(GLuint texture);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsTexture(GlHandle texture) + { + return __context->glIsTexture(texture.Value); + } + + /// Forwards to the native C API void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawRangeElements(uint mode, uint start, uint end, int count, uint type, void* indices) + { + __context->glDrawRangeElements(mode, start, end, count, type, indices); + } + + /// Forwards to the native C API void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexImage3D(uint target, int level, int internalFormat, int width, int height, int depth, int border, uint format, uint type, void* pixels) + { + __context->glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels); + } + + /// Forwards to the native C API void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* pixels) + { + __context->glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + } + + /// Forwards to the native C API void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) + { + __context->glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + } + + /// Forwards to the native C API void glActiveTexture(GLenum texture);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ActiveTexture(uint texture) + { + __context->glActiveTexture(texture); + } + + /// Forwards to the native C API void glSampleCoverage(GLfloat value, GLboolean invert);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SampleCoverage(float value, byte invert) + { + __context->glSampleCoverage(value, invert); + } + + /// Forwards to the native C API void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTexImage3D(uint target, int level, uint internalFormat, int width, int height, int depth, int border, int imageSize, void* data) + { + __context->glCompressedTexImage3D(target, level, internalFormat, width, height, depth, border, imageSize, data); + } + + /// Forwards to the native C API void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTexImage2D(uint target, int level, uint internalFormat, int width, int height, int border, int imageSize, void* data) + { + __context->glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data); + } + + /// Forwards to the native C API void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTexImage1D(uint target, int level, uint internalFormat, int width, int border, int imageSize, void* data) + { + __context->glCompressedTexImage1D(target, level, internalFormat, width, border, imageSize, data); + } + + /// Forwards to the native C API void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, void* data) + { + __context->glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + } + + /// Forwards to the native C API void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, void* data) + { + __context->glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + } + + /// Forwards to the native C API void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTexSubImage1D(uint target, int level, int xoffset, int width, uint format, int imageSize, void* data) + { + __context->glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + } + + /// Forwards to the native C API void glGetCompressedTexImage(GLenum target, GLint level, void *img);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetCompressedTexImage(uint target, int level, void* img) + { + __context->glGetCompressedTexImage(target, level, img); + } + + /// Forwards to the native C API void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendFuncSeparate(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha) + { + __context->glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + } + + /// Forwards to the native C API void glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MultiDrawArrays(uint mode, int* first, int* count, int drawcount) + { + __context->glMultiDrawArrays(mode, first, count, drawcount); + } + + /// Forwards to the native C API void glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MultiDrawElements(uint mode, int* count, uint type, void** indices, int drawcount) + { + __context->glMultiDrawElements(mode, count, type, indices, drawcount); + } + + /// Forwards to the native C API void glPointParameterf(GLenum pname, GLfloat param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PointParameter(uint pname, float param) + { + __context->glPointParameterf(pname, param); + } + + /// Forwards to the native C API void glPointParameterfv(GLenum pname, const GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PointParameter(uint pname, float* @params) + { + __context->glPointParameterfv(pname, @params); + } + + /// Forwards to the native C API void glPointParameteri(GLenum pname, GLint param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PointParameter(uint pname, int param) + { + __context->glPointParameteri(pname, param); + } + + /// Forwards to the native C API void glPointParameteriv(GLenum pname, const GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PointParameter(uint pname, int* @params) + { + __context->glPointParameteriv(pname, @params); + } + + /// Forwards to the native C API void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendColor(float red, float green, float blue, float alpha) + { + __context->glBlendColor(red, green, blue, alpha); + } + + /// Forwards to the native C API void glBlendEquation(GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendEquation(uint mode) + { + __context->glBlendEquation(mode); + } + + /// Forwards to the native C API void glGenQueries(GLsizei n, GLuint *ids);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenQueries(Span ids) + { + fixed (GlHandle* __ids = ids) + { + __context->glGenQueries(ids.Length, (uint*)__ids); + } + } + + /// Forwards to the native C API void glDeleteQueries(GLsizei n, const GLuint *ids);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteQueries(ReadOnlySpan ids) + { + fixed (GlHandle* __ids = ids) + { + __context->glDeleteQueries(ids.Length, (uint*)__ids); + } + } + + /// Forwards to the native C API GLboolean glIsQuery(GLuint id);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsQuery(GlHandle id) + { + return __context->glIsQuery(id.Value); + } + + /// Forwards to the native C API void glBeginQuery(GLenum target, GLuint id);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BeginQuery(uint target, GlHandle id) + { + __context->glBeginQuery(target, id.Value); + } + + /// Forwards to the native C API void glEndQuery(GLenum target);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void EndQuery(uint target) + { + __context->glEndQuery(target); + } + + /// Forwards to the native C API void glGetQueryiv(GLenum target, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryiv(uint target, uint pname, int* @params) + { + __context->glGetQueryiv(target, pname, @params); + } + + /// Forwards to the native C API void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryObject(GlHandle id, uint pname, int* @params) + { + __context->glGetQueryObjectiv(id.Value, pname, @params); + } + + /// Forwards to the native C API void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryObject(GlHandle id, uint pname, uint* @params) + { + __context->glGetQueryObjectuiv(id.Value, pname, @params); + } + + /// Forwards to the native C API void glBindBuffer(GLenum target, GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindBuffer(uint target, GlHandle buffer) + { + __context->glBindBuffer(target, buffer.Value); + } + + /// Forwards to the native C API void glDeleteBuffers(GLsizei n, const GLuint *buffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteBuffers(ReadOnlySpan buffers) + { + fixed (GlHandle* __buffers = buffers) + { + __context->glDeleteBuffers(buffers.Length, (uint*)__buffers); + } + } + + /// Forwards to the native C API void glGenBuffers(GLsizei n, GLuint *buffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenBuffers(Span buffers) + { + fixed (GlHandle* __buffers = buffers) + { + __context->glGenBuffers(buffers.Length, (uint*)__buffers); + } + } + + /// Forwards to the native C API GLboolean glIsBuffer(GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsBuffer(GlHandle buffer) + { + return __context->glIsBuffer(buffer.Value); + } + + /// Forwards to the native C API void glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BufferData(uint target, nint size, void* data, uint usage) + { + __context->glBufferData(target, size, data, usage); + } + + /// Forwards to the native C API void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BufferSubData(uint target, nint offset, nint size, void* data) + { + __context->glBufferSubData(target, offset, size, data); + } + + /// Forwards to the native C API void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetBufferSubData(uint target, nint offset, nint size, void* data) + { + __context->glGetBufferSubData(target, offset, size, data); + } + + /// Forwards to the native C API void *glMapBuffer(GLenum target, GLenum access);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void* MapBuffer(uint target, uint access) + { + return __context->glMapBuffer(target, access); + } + + /// Forwards to the native C API GLboolean glUnmapBuffer(GLenum target);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte UnmapBuffer(uint target) + { + return __context->glUnmapBuffer(target); + } + + /// Forwards to the native C API void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetBufferParameter(uint target, uint pname, int* @params) + { + __context->glGetBufferParameteriv(target, pname, @params); + } + + /// Forwards to the native C API void glGetBufferPointerv(GLenum target, GLenum pname, void **params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetBufferPointerv(uint target, uint pname, void** @params) + { + __context->glGetBufferPointerv(target, pname, @params); + } + + /// Forwards to the native C API void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendEquationSeparate(uint modeRGB, uint modeAlpha) + { + __context->glBlendEquationSeparate(modeRGB, modeAlpha); + } + + /// Forwards to the native C API void glDrawBuffers(GLsizei n, const GLenum *bufs);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawBuffers(int n, uint* bufs) + { + __context->glDrawBuffers(n, bufs); + } + + /// Forwards to the native C API void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void StencilOpSeparate(uint face, uint sfail, uint dpfail, uint dppass) + { + __context->glStencilOpSeparate(face, sfail, dpfail, dppass); + } + + /// Forwards to the native C API void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void StencilFuncSeparate(uint face, uint func, int @ref, uint mask) + { + __context->glStencilFuncSeparate(face, func, @ref, mask); + } + + /// Forwards to the native C API void glStencilMaskSeparate(GLenum face, GLuint mask);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void StencilMaskSeparate(uint face, uint mask) + { + __context->glStencilMaskSeparate(face, mask); + } + + /// Forwards to the native C API void glAttachShader(GLuint program, GLuint shader);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void AttachShader(GlHandle program, GlHandle shader) + { + __context->glAttachShader(program.Value, shader.Value); + } + + /// Forwards to the native C API void glBindAttribLocation(GLuint program, GLuint index, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindAttributeLocation(GlHandle program, uint index, byte* name) + { + __context->glBindAttribLocation(program.Value, index, name); + } + + /// Forwards to the native C API void glCompileShader(GLuint shader);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompileShader(GlHandle shader) + { + __context->glCompileShader(shader.Value); + } + + /// Forwards to the native C API GLuint glCreateProgram();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public GlHandle CreateProgram() + { + return GlHandle.Create(__context->glCreateProgram()); + } + + /// Forwards to the native C API GLuint glCreateShader(GLenum type);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public GlHandle CreateShader(uint type) + { + return GlHandle.Create(__context->glCreateShader(type)); + } + + /// Forwards to the native C API void glDeleteProgram(GLuint program);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteProgram(GlHandle program) + { + __context->glDeleteProgram(program.Value); + } + + /// Forwards to the native C API void glDeleteShader(GLuint shader);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteShader(GlHandle shader) + { + __context->glDeleteShader(shader.Value); + } + + /// Forwards to the native C API void glDetachShader(GLuint program, GLuint shader);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DetachShader(GlHandle program, GlHandle shader) + { + __context->glDetachShader(program.Value, shader.Value); + } + + /// Forwards to the native C API void glDisableVertexAttribArray(GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DisableVertexAttributeArray(uint index) + { + __context->glDisableVertexAttribArray(index); + } + + /// Forwards to the native C API void glEnableVertexAttribArray(GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void EnableVertexAttributeArray(uint index) + { + __context->glEnableVertexAttribArray(index); + } + + /// Forwards to the native C API void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveAttribute(GlHandle program, uint index, int bufSize, int* length, int* size, uint* type, byte* name) + { + __context->glGetActiveAttrib(program.Value, index, bufSize, length, size, type, name); + } + + /// Forwards to the native C API void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveUniform(GlHandle program, uint index, int bufSize, int* length, int* size, uint* type, byte* name) + { + __context->glGetActiveUniform(program.Value, index, bufSize, length, size, type, name); + } + + /// Forwards to the native C API void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetAttachedShaders(GlHandle program, int* count, Span shaders) + { + fixed (GlHandle* __shaders = shaders) + { + __context->glGetAttachedShaders(program.Value, shaders.Length, count, (uint*)__shaders); + } + } + + /// Forwards to the native C API GLint glGetAttribLocation(GLuint program, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetAttributeLocation(GlHandle program, byte* name) + { + return __context->glGetAttribLocation(program.Value, name); + } + + /// Forwards to the native C API void glGetProgramiv(GLuint program, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramiv(GlHandle program, uint pname, int* @params) + { + __context->glGetProgramiv(program.Value, pname, @params); + } + + /// Forwards to the native C API void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramInfoLog(GlHandle program, int bufSize, int* length, byte* infoLog) + { + __context->glGetProgramInfoLog(program.Value, bufSize, length, infoLog); + } + + /// Forwards to the native C API void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetShaderiv(GlHandle shader, uint pname, int* @params) + { + __context->glGetShaderiv(shader.Value, pname, @params); + } + + /// Forwards to the native C API void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetShaderInfoLog(GlHandle shader, int bufSize, int* length, byte* infoLog) + { + __context->glGetShaderInfoLog(shader.Value, bufSize, length, infoLog); + } + + /// Forwards to the native C API void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetShaderSource(GlHandle shader, int bufSize, int* length, byte* source) + { + __context->glGetShaderSource(shader.Value, bufSize, length, source); + } + + /// Forwards to the native C API GLint glGetUniformLocation(GLuint program, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetUniformLocation(GlHandle program, byte* name) + { + return __context->glGetUniformLocation(program.Value, name); + } + + /// Forwards to the native C API void glGetUniformfv(GLuint program, GLint location, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, float* @params) + { + __context->glGetUniformfv(program.Value, location, @params); + } + + /// Forwards to the native C API void glGetUniformiv(GLuint program, GLint location, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, int* @params) + { + __context->glGetUniformiv(program.Value, location, @params); + } + + /// Forwards to the native C API void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexAttribute(uint index, uint pname, double* @params) + { + __context->glGetVertexAttribdv(index, pname, @params); + } + + /// Forwards to the native C API void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexAttribute(uint index, uint pname, float* @params) + { + __context->glGetVertexAttribfv(index, pname, @params); + } + + /// Forwards to the native C API void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexAttribute(uint index, uint pname, int* @params) + { + __context->glGetVertexAttribiv(index, pname, @params); + } + + /// Forwards to the native C API void glGetVertexAttribPointerv(GLuint index, GLenum pname, void **pointer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexAttributePointer(uint index, uint pname, void** pointer) + { + __context->glGetVertexAttribPointerv(index, pname, pointer); + } + + /// Forwards to the native C API GLboolean glIsProgram(GLuint program);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsProgram(GlHandle program) + { + return __context->glIsProgram(program.Value); + } + + /// Forwards to the native C API GLboolean glIsShader(GLuint shader);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsShader(GlHandle shader) + { + return __context->glIsShader(shader.Value); + } + + /// Forwards to the native C API void glLinkProgram(GLuint program);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void LinkProgram(GlHandle program) + { + __context->glLinkProgram(program.Value); + } + + /// Forwards to the native C API void glShaderSource(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ShaderSource(GlHandle shader, int count, byte** @string, int* length) + { + __context->glShaderSource(shader.Value, count, @string, length); + } + + /// Forwards to the native C API void glUseProgram(GLuint program);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void UseProgram(GlHandle program) + { + __context->glUseProgram(program.Value); + } + + /// Forwards to the native C API void glUniform1f(GLint location, GLfloat v0);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, float v0) + { + __context->glUniform1f(location, v0); + } + + /// Forwards to the native C API void glUniform2f(GLint location, GLfloat v0, GLfloat v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, float v0, float v1) + { + __context->glUniform2f(location, v0, v1); + } + + /// Forwards to the native C API void glUniform2f(GLint location, GLfloat v0, GLfloat v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec2 value) + { + __context->glUniform2f(location, value.X, value.Y); + } + + /// Forwards to the native C API void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, float v0, float v1, float v2) + { + __context->glUniform3f(location, v0, v1, v2); + } + + /// Forwards to the native C API void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec3 value) + { + __context->glUniform3f(location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, float v0, float v1, float v2, float v3) + { + __context->glUniform4f(location, v0, v1, v2, v3); + } + + /// Forwards to the native C API void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec4 value) + { + __context->glUniform4f(location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glUniform1i(GLint location, GLint v0);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, int v0) + { + __context->glUniform1i(location, v0); + } + + /// Forwards to the native C API void glUniform2i(GLint location, GLint v0, GLint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, int v0, int v1) + { + __context->glUniform2i(location, v0, v1); + } + + /// Forwards to the native C API void glUniform2i(GLint location, GLint v0, GLint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec2 value) + { + __context->glUniform2i(location, value.X, value.Y); + } + + /// Forwards to the native C API void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, int v0, int v1, int v2) + { + __context->glUniform3i(location, v0, v1, v2); + } + + /// Forwards to the native C API void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec3 value) + { + __context->glUniform3i(location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, int v0, int v1, int v2, int v3) + { + __context->glUniform4i(location, v0, v1, v2, v3); + } + + /// Forwards to the native C API void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec4 value) + { + __context->glUniform4i(location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glUniform1fv(GLint location, GLsizei count, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan values) + { + fixed (float* __value = values) + { + __context->glUniform1fv(location, values.Length, __value); + } + } + + /// Forwards to the native C API void glUniform4fv(GLint location, GLsizei count, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glUniform4fv(location, values.Length, (float*)__vector); + } + } + + /// Forwards to the native C API void glUniform1iv(GLint location, GLsizei count, const GLint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan values) + { + fixed (int* __value = values) + { + __context->glUniform1iv(location, values.Length, __value); + } + } + + /// Forwards to the native C API void glUniform4iv(GLint location, GLsizei count, const GLint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glUniform4iv(location, values.Length, (int*)__vector); + } + } + + /// Forwards to the native C API void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, bool transpose, GraphicsMatrix value) + { + __context->glUniformMatrix4fv(location, 1, transpose ? (byte)1 : (byte)0, (float*)&value); + } + + /// Forwards to the native C API void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, bool transpose, ReadOnlySpan values) + { + fixed (GraphicsMatrix* __value = values) + { + __context->glUniformMatrix4fv(location, values.Length, transpose ? (byte)1 : (byte)0, (float*)__value); + } + } + + /// Forwards to the native C API void glValidateProgram(GLuint program);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ValidateProgram(GlHandle program) + { + __context->glValidateProgram(program.Value); + } + + /// Forwards to the native C API void glVertexAttrib1d(GLuint index, GLdouble x);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, double x) + { + __context->glVertexAttrib1d(index, x); + } + + /// Forwards to the native C API void glVertexAttrib1f(GLuint index, GLfloat x);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, float x) + { + __context->glVertexAttrib1f(index, x); + } + + /// Forwards to the native C API void glVertexAttrib1s(GLuint index, GLshort x);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, short x) + { + __context->glVertexAttrib1s(index, x); + } + + /// Forwards to the native C API void glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, double x, double y) + { + __context->glVertexAttrib2d(index, x, y); + } + + /// Forwards to the native C API void glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, float x, float y) + { + __context->glVertexAttrib2f(index, x, y); + } + + /// Forwards to the native C API void glVertexAttrib2s(GLuint index, GLshort x, GLshort y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, short x, short y) + { + __context->glVertexAttrib2s(index, x, y); + } + + /// Forwards to the native C API void glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, double x, double y, double z) + { + __context->glVertexAttrib3d(index, x, y, z); + } + + /// Forwards to the native C API void glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, float x, float y, float z) + { + __context->glVertexAttrib3f(index, x, y, z); + } + + /// Forwards to the native C API void glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, short x, short y, short z) + { + __context->glVertexAttrib3s(index, x, y, z); + } + + /// Forwards to the native C API void glVertexAttrib4Nbv(GLuint index, const GLbyte *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeNormalized(uint index, sbyte* v) + { + __context->glVertexAttrib4Nbv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4Niv(GLuint index, const GLint *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeNormalized(uint index, int* v) + { + __context->glVertexAttrib4Niv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4Nsv(GLuint index, const GLshort *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeNormalized(uint index, short* v) + { + __context->glVertexAttrib4Nsv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeNormalized(uint index, byte x, byte y, byte z, byte w) + { + __context->glVertexAttrib4Nub(index, x, y, z, w); + } + + /// Forwards to the native C API void glVertexAttrib4Nuiv(GLuint index, const GLuint *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeNormalized(uint index, uint* v) + { + __context->glVertexAttrib4Nuiv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4Nusv(GLuint index, const GLushort *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeNormalized(uint index, ushort* v) + { + __context->glVertexAttrib4Nusv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4bv(GLuint index, const GLbyte *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, sbyte* v) + { + __context->glVertexAttrib4bv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, double x, double y, double z, double w) + { + __context->glVertexAttrib4d(index, x, y, z, w); + } + + /// Forwards to the native C API void glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, float x, float y, float z, float w) + { + __context->glVertexAttrib4f(index, x, y, z, w); + } + + /// Forwards to the native C API void glVertexAttrib4iv(GLuint index, const GLint *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, int* v) + { + __context->glVertexAttrib4iv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, short x, short y, short z, short w) + { + __context->glVertexAttrib4s(index, x, y, z, w); + } + + /// Forwards to the native C API void glVertexAttrib4ubv(GLuint index, const GLubyte *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, byte* v) + { + __context->glVertexAttrib4ubv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4uiv(GLuint index, const GLuint *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, uint* v) + { + __context->glVertexAttrib4uiv(index, v); + } + + /// Forwards to the native C API void glVertexAttrib4usv(GLuint index, const GLushort *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttribute(uint index, ushort* v) + { + __context->glVertexAttrib4usv(index, v); + } + + /// Forwards to the native C API void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributePointer(uint index, int size, uint type, byte normalized, int stride, void* pointer) + { + __context->glVertexAttribPointer(index, size, type, normalized, stride, pointer); + } + + /// Forwards to the native C API void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ColorMaski(uint index, byte r, byte g, byte b, byte a) + { + __context->glColorMaski(index, r, g, b, a); + } + + /// Forwards to the native C API void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint target, uint index, Span values) + { + fixed (byte* __value = values) + { + __context->glGetBooleani_v(target, index, __value); + } + } + + /// Forwards to the native C API void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint target, uint index, Span values) + { + fixed (int* __value = values) + { + __context->glGetIntegeri_v(target, index, __value); + } + } + + /// Forwards to the native C API void glEnablei(GLenum target, GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Enablei(uint target, uint index) + { + __context->glEnablei(target, index); + } + + /// Forwards to the native C API void glDisablei(GLenum target, GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Disablei(uint target, uint index) + { + __context->glDisablei(target, index); + } + + /// Forwards to the native C API GLboolean glIsEnabledi(GLenum target, GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsEnabledi(uint target, uint index) + { + return __context->glIsEnabledi(target, index); + } + + /// Forwards to the native C API void glBeginTransformFeedback(GLenum primitiveMode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BeginTransformFeedback(uint primitiveMode) + { + __context->glBeginTransformFeedback(primitiveMode); + } + + /// Forwards to the native C API void glEndTransformFeedback();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void EndTransformFeedback() + { + __context->glEndTransformFeedback(); + } + + /// Forwards to the native C API void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindBufferRange(uint target, uint index, GlHandle buffer, nint offset, nint size) + { + __context->glBindBufferRange(target, index, buffer.Value, offset, size); + } + + /// Forwards to the native C API void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindBufferBase(uint target, uint index, GlHandle buffer) + { + __context->glBindBufferBase(target, index, buffer.Value); + } + + /// Forwards to the native C API void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TransformFeedbackVaryings(GlHandle program, int count, byte** varyings, uint bufferMode) + { + __context->glTransformFeedbackVaryings(program.Value, count, varyings, bufferMode); + } + + /// Forwards to the native C API void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTransformFeedbackVarying(GlHandle program, uint index, int bufSize, int* length, int* size, uint* type, byte* name) + { + __context->glGetTransformFeedbackVarying(program.Value, index, bufSize, length, size, type, name); + } + + /// Forwards to the native C API void glClampColor(GLenum target, GLenum clamp);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClampColor(uint target, uint clamp) + { + __context->glClampColor(target, clamp); + } + + /// Forwards to the native C API void glBeginConditionalRender(GLuint id, GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BeginConditionalRender(uint id, uint mode) + { + __context->glBeginConditionalRender(id, mode); + } + + /// Forwards to the native C API void glEndConditionalRender();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void EndConditionalRender() + { + __context->glEndConditionalRender(); + } + + /// Forwards to the native C API void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeIntegerPointer(uint index, int size, uint type, int stride, void* pointer) + { + __context->glVertexAttribIPointer(index, size, type, stride, pointer); + } + + /// Forwards to the native C API void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexAttributeInteger(uint index, uint pname, int* @params) + { + __context->glGetVertexAttribIiv(index, pname, @params); + } + + /// Forwards to the native C API void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexAttributeInteger(uint index, uint pname, uint* @params) + { + __context->glGetVertexAttribIuiv(index, pname, @params); + } + + /// Forwards to the native C API void glVertexAttribI1i(GLuint index, GLint x);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, int x) + { + __context->glVertexAttribI1i(index, x); + } + + /// Forwards to the native C API void glVertexAttribI2i(GLuint index, GLint x, GLint y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, int x, int y) + { + __context->glVertexAttribI2i(index, x, y); + } + + /// Forwards to the native C API void glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, int x, int y, int z) + { + __context->glVertexAttribI3i(index, x, y, z); + } + + /// Forwards to the native C API void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, int x, int y, int z, int w) + { + __context->glVertexAttribI4i(index, x, y, z, w); + } + + /// Forwards to the native C API void glVertexAttribI1ui(GLuint index, GLuint x);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, uint x) + { + __context->glVertexAttribI1ui(index, x); + } + + /// Forwards to the native C API void glVertexAttribI2ui(GLuint index, GLuint x, GLuint y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, uint x, uint y) + { + __context->glVertexAttribI2ui(index, x, y); + } + + /// Forwards to the native C API void glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, uint x, uint y, uint z) + { + __context->glVertexAttribI3ui(index, x, y, z); + } + + /// Forwards to the native C API void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, uint x, uint y, uint z, uint w) + { + __context->glVertexAttribI4ui(index, x, y, z, w); + } + + /// Forwards to the native C API void glVertexAttribI4bv(GLuint index, const GLbyte *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, sbyte* v) + { + __context->glVertexAttribI4bv(index, v); + } + + /// Forwards to the native C API void glVertexAttribI4sv(GLuint index, const GLshort *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, short* v) + { + __context->glVertexAttribI4sv(index, v); + } + + /// Forwards to the native C API void glVertexAttribI4ubv(GLuint index, const GLubyte *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, byte* v) + { + __context->glVertexAttribI4ubv(index, v); + } + + /// Forwards to the native C API void glVertexAttribI4usv(GLuint index, const GLushort *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeInteger(uint index, ushort* v) + { + __context->glVertexAttribI4usv(index, v); + } + + /// Forwards to the native C API void glGetUniformuiv(GLuint program, GLint location, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, uint* @params) + { + __context->glGetUniformuiv(program.Value, location, @params); + } + + /// Forwards to the native C API void glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindFragmentDataLocation(GlHandle program, uint color, byte* name) + { + __context->glBindFragDataLocation(program.Value, color, name); + } + + /// Forwards to the native C API GLint glGetFragDataLocation(GLuint program, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetFragmentDataLocation(GlHandle program, byte* name) + { + return __context->glGetFragDataLocation(program.Value, name); + } + + /// Forwards to the native C API void glUniform1ui(GLint location, GLuint v0);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, uint v0) + { + __context->glUniform1ui(location, v0); + } + + /// Forwards to the native C API void glUniform2ui(GLint location, GLuint v0, GLuint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, uint v0, uint v1) + { + __context->glUniform2ui(location, v0, v1); + } + + /// Forwards to the native C API void glUniform2ui(GLint location, GLuint v0, GLuint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec2 value) + { + __context->glUniform2ui(location, value.X, value.Y); + } + + /// Forwards to the native C API void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, uint v0, uint v1, uint v2) + { + __context->glUniform3ui(location, v0, v1, v2); + } + + /// Forwards to the native C API void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec3 value) + { + __context->glUniform3ui(location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, uint v0, uint v1, uint v2, uint v3) + { + __context->glUniform4ui(location, v0, v1, v2, v3); + } + + /// Forwards to the native C API void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec4 value) + { + __context->glUniform4ui(location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan values) + { + fixed (uint* __value = values) + { + __context->glUniform1uiv(location, values.Length, __value); + } + } + + /// Forwards to the native C API void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glUniform4uiv(location, values.Length, (uint*)__vector); + } + } + + /// Forwards to the native C API void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureParameterInteger(uint target, uint pname, int* @params) + { + __context->glTexParameterIiv(target, pname, @params); + } + + /// Forwards to the native C API void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureParameterInteger(uint target, uint pname, uint* @params) + { + __context->glTexParameterIuiv(target, pname, @params); + } + + /// Forwards to the native C API void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureParameterInteger(uint target, uint pname, int* @params) + { + __context->glGetTexParameterIiv(target, pname, @params); + } + + /// Forwards to the native C API void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureParameterInteger(uint target, uint pname, uint* @params) + { + __context->glGetTexParameterIuiv(target, pname, @params); + } + + /// Forwards to the native C API void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearBuffer(uint buffer, int drawbuffer, int* value) + { + __context->glClearBufferiv(buffer, drawbuffer, value); + } + + /// Forwards to the native C API void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearBuffer(uint buffer, int drawbuffer, uint* value) + { + __context->glClearBufferuiv(buffer, drawbuffer, value); + } + + /// Forwards to the native C API void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearBuffer(uint buffer, int drawbuffer, float* value) + { + __context->glClearBufferfv(buffer, drawbuffer, value); + } + + /// Forwards to the native C API void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearBuffer(uint buffer, int drawbuffer, float depth, int stencil) + { + __context->glClearBufferfi(buffer, drawbuffer, depth, stencil); + } + + /// Forwards to the native C API const GLubyte *glGetStringi(GLenum name, GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte* GetStringi(uint name, uint index) + { + return __context->glGetStringi(name, index); + } + + /// Forwards to the native C API GLboolean glIsRenderbuffer(GLuint renderbuffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsRenderBuffer(GlHandle renderBuffer) + { + return __context->glIsRenderbuffer(renderBuffer.Value); + } + + /// Forwards to the native C API void glBindRenderbuffer(GLenum target, GLuint renderbuffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindRenderBuffer(uint target, GlHandle renderBuffer) + { + __context->glBindRenderbuffer(target, renderBuffer.Value); + } + + /// Forwards to the native C API void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteRenderBuffers(ReadOnlySpan renderBuffers) + { + fixed (GlHandle* __renderBuffers = renderBuffers) + { + __context->glDeleteRenderbuffers(renderBuffers.Length, (uint*)__renderBuffers); + } + } + + /// Forwards to the native C API void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenRenderBuffers(Span renderBuffers) + { + fixed (GlHandle* __renderBuffers = renderBuffers) + { + __context->glGenRenderbuffers(renderBuffers.Length, (uint*)__renderBuffers); + } + } + + /// Forwards to the native C API void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void RenderBufferStorage(uint target, uint internalFormat, int width, int height) + { + __context->glRenderbufferStorage(target, internalFormat, width, height); + } + + /// Forwards to the native C API void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetRenderBufferParameteriv(uint target, uint pname, int* @params) + { + __context->glGetRenderbufferParameteriv(target, pname, @params); + } + + /// Forwards to the native C API GLboolean glIsFramebuffer(GLuint framebuffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsFrameBuffer(GlHandle frameBuffer) + { + return __context->glIsFramebuffer(frameBuffer.Value); + } + + /// Forwards to the native C API void glBindFramebuffer(GLenum target, GLuint framebuffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindFrameBuffer(uint target, GlHandle frameBuffer) + { + __context->glBindFramebuffer(target, frameBuffer.Value); + } + + /// Forwards to the native C API void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteFrameBuffers(ReadOnlySpan frameBuffers) + { + fixed (GlHandle* __frameBuffers = frameBuffers) + { + __context->glDeleteFramebuffers(frameBuffers.Length, (uint*)__frameBuffers); + } + } + + /// Forwards to the native C API void glGenFramebuffers(GLsizei n, GLuint *framebuffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenFrameBuffers(Span frameBuffers) + { + fixed (GlHandle* __frameBuffers = frameBuffers) + { + __context->glGenFramebuffers(frameBuffers.Length, (uint*)__frameBuffers); + } + } + + /// Forwards to the native C API GLenum glCheckFramebufferStatus(GLenum target);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint CheckFrameBufferStatus(uint target) + { + return __context->glCheckFramebufferStatus(target); + } + + /// Forwards to the native C API void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrameBufferTexture1D(uint target, uint attachment, uint textarget, GlHandle texture, int level) + { + __context->glFramebufferTexture1D(target, attachment, textarget, texture.Value, level); + } + + /// Forwards to the native C API void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrameBufferTexture2D(uint target, uint attachment, uint textarget, GlHandle texture, int level) + { + __context->glFramebufferTexture2D(target, attachment, textarget, texture.Value, level); + } + + /// Forwards to the native C API void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrameBufferTexture3D(uint target, uint attachment, uint textarget, GlHandle texture, int level, int zoffset) + { + __context->glFramebufferTexture3D(target, attachment, textarget, texture.Value, level, zoffset); + } + + /// Forwards to the native C API void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrameBufferRenderBuffer(uint target, uint attachment, uint renderBuffertarget, GlHandle renderBuffer) + { + __context->glFramebufferRenderbuffer(target, attachment, renderBuffertarget, renderBuffer.Value); + } + + /// Forwards to the native C API void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetFrameBufferAttachmentParameteriv(uint target, uint attachment, uint pname, int* @params) + { + __context->glGetFramebufferAttachmentParameteriv(target, attachment, pname, @params); + } + + /// Forwards to the native C API void glGenerateMipmap(GLenum target);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenerateMipmap(uint target) + { + __context->glGenerateMipmap(target); + } + + /// Forwards to the native C API void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlitFrameBuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) + { + __context->glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } + + /// Forwards to the native C API void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void RenderBufferStorageMultisample(uint target, int samples, uint internalFormat, int width, int height) + { + __context->glRenderbufferStorageMultisample(target, samples, internalFormat, width, height); + } + + /// Forwards to the native C API void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrameBufferTextureLayer(uint target, uint attachment, GlHandle texture, int level, int layer) + { + __context->glFramebufferTextureLayer(target, attachment, texture.Value, level, layer); + } + + /// Forwards to the native C API void *glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void* MapBufferRange(uint target, nint offset, nint length, uint access) + { + return __context->glMapBufferRange(target, offset, length, access); + } + + /// Forwards to the native C API void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FlushMappedBufferRange(uint target, nint offset, nint length) + { + __context->glFlushMappedBufferRange(target, offset, length); + } + + /// Forwards to the native C API void glBindVertexArray(GLuint array);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindVertexArray(GlHandle array) + { + __context->glBindVertexArray(array.Value); + } + + /// Forwards to the native C API void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteVertexArrays(ReadOnlySpan arrays) + { + fixed (GlHandle* __arrays = arrays) + { + __context->glDeleteVertexArrays(arrays.Length, (uint*)__arrays); + } + } + + /// Forwards to the native C API void glGenVertexArrays(GLsizei n, GLuint *arrays);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenVertexArrays(Span arrays) + { + fixed (GlHandle* __arrays = arrays) + { + __context->glGenVertexArrays(arrays.Length, (uint*)__arrays); + } + } + + /// Forwards to the native C API GLboolean glIsVertexArray(GLuint array);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsVertexArray(GlHandle array) + { + return __context->glIsVertexArray(array.Value); + } + + /// Forwards to the native C API void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawArraysInstanced(uint mode, int first, int count, int instancecount) + { + __context->glDrawArraysInstanced(mode, first, count, instancecount); + } + + /// Forwards to the native C API void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawElementsInstanced(uint mode, int count, uint type, void* indices, int instancecount) + { + __context->glDrawElementsInstanced(mode, count, type, indices, instancecount); + } + + /// Forwards to the native C API void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexBuffer(uint target, uint internalFormat, GlHandle buffer) + { + __context->glTexBuffer(target, internalFormat, buffer.Value); + } + + /// Forwards to the native C API void glPrimitiveRestartIndex(GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PrimitiveRestartIndex(uint index) + { + __context->glPrimitiveRestartIndex(index); + } + + /// Forwards to the native C API void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyBufferSubData(uint readTarget, uint writeTarget, nint readOffset, nint writeOffset, nint size) + { + __context->glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + } + + /// Forwards to the native C API void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniformIndices(GlHandle program, int uniformCount, byte** uniformNames, uint* uniformIndices) + { + __context->glGetUniformIndices(program.Value, uniformCount, uniformNames, uniformIndices); + } + + /// Forwards to the native C API void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveUniformsiv(GlHandle program, int uniformCount, uint* uniformIndices, uint pname, int* @params) + { + __context->glGetActiveUniformsiv(program.Value, uniformCount, uniformIndices, pname, @params); + } + + /// Forwards to the native C API void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveUniformName(GlHandle program, uint uniformIndex, int bufSize, int* length, byte* uniformName) + { + __context->glGetActiveUniformName(program.Value, uniformIndex, bufSize, length, uniformName); + } + + /// Forwards to the native C API GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint GetUniformBlockIndex(GlHandle program, byte* uniformBlockName) + { + return __context->glGetUniformBlockIndex(program.Value, uniformBlockName); + } + + /// Forwards to the native C API void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveUniformBlockiv(GlHandle program, uint uniformBlockIndex, uint pname, int* @params) + { + __context->glGetActiveUniformBlockiv(program.Value, uniformBlockIndex, pname, @params); + } + + /// Forwards to the native C API void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveUniformBlockName(GlHandle program, uint uniformBlockIndex, int bufSize, int* length, byte* uniformBlockName) + { + __context->glGetActiveUniformBlockName(program.Value, uniformBlockIndex, bufSize, length, uniformBlockName); + } + + /// Forwards to the native C API void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void UniformBlockBinding(GlHandle program, uint uniformBlockIndex, uint uniformBlockBinding) + { + __context->glUniformBlockBinding(program.Value, uniformBlockIndex, uniformBlockBinding); + } + + /// Forwards to the native C API void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawElementsBaseVertex(uint mode, int count, uint type, void* indices, int basevertex) + { + __context->glDrawElementsBaseVertex(mode, count, type, indices, basevertex); + } + + /// Forwards to the native C API void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawRangeElementsBaseVertex(uint mode, uint start, uint end, int count, uint type, void* indices, int basevertex) + { + __context->glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + } + + /// Forwards to the native C API void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawElementsInstancedBaseVertex(uint mode, int count, uint type, void* indices, int instancecount, int basevertex) + { + __context->glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + } + + /// Forwards to the native C API void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MultiDrawElementsBaseVertex(uint mode, int* count, uint type, void** indices, int drawcount, int* basevertex) + { + __context->glMultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + } + + /// Forwards to the native C API void glProvokingVertex(GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProvokingVertex(uint mode) + { + __context->glProvokingVertex(mode); + } + + /// Forwards to the native C API GLsync glFenceSync(GLenum condition, GLbitfield flags);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void* FenceSync(uint condition, uint flags) + { + return __context->glFenceSync(condition, flags); + } + + /// Forwards to the native C API GLboolean glIsSync(GLsync sync);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsSync(void* sync) + { + return __context->glIsSync(sync); + } + + /// Forwards to the native C API void glDeleteSync(GLsync sync);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteSync(void* sync) + { + __context->glDeleteSync(sync); + } + + /// Forwards to the native C API GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint ClientWaitSync(void* sync, uint flags, ulong timeout) + { + return __context->glClientWaitSync(sync, flags, timeout); + } + + /// Forwards to the native C API void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void WaitSync(void* sync, uint flags, ulong timeout) + { + __context->glWaitSync(sync, flags, timeout); + } + + /// Forwards to the native C API void glGetInteger64v(GLenum pname, GLint64 *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint pname, Span values) + { + fixed (long* __value = values) + { + __context->glGetInteger64v(pname, __value); + } + } + + /// Forwards to the native C API void glGetSynciv(GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetSynciv(void* sync, uint pname, int count, int* length, int* values) + { + __context->glGetSynciv(sync, pname, count, length, values); + } + + /// Forwards to the native C API void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint target, uint index, Span values) + { + fixed (long* __value = values) + { + __context->glGetInteger64i_v(target, index, __value); + } + } + + /// Forwards to the native C API void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetBufferParameter(uint target, uint pname, long* @params) + { + __context->glGetBufferParameteri64v(target, pname, @params); + } + + /// Forwards to the native C API void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrameBufferTexture(uint target, uint attachment, GlHandle texture, int level) + { + __context->glFramebufferTexture(target, attachment, texture.Value, level); + } + + /// Forwards to the native C API void glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexImage2DMultisample(uint target, int samples, uint internalFormat, int width, int height, byte fixedsamplelocations) + { + __context->glTexImage2DMultisample(target, samples, internalFormat, width, height, fixedsamplelocations); + } + + /// Forwards to the native C API void glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexImage3DMultisample(uint target, int samples, uint internalFormat, int width, int height, int depth, byte fixedsamplelocations) + { + __context->glTexImage3DMultisample(target, samples, internalFormat, width, height, depth, fixedsamplelocations); + } + + /// Forwards to the native C API void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetMultisamplefv(uint pname, uint index, float* val) + { + __context->glGetMultisamplefv(pname, index, val); + } + + /// Forwards to the native C API void glSampleMaski(GLuint maskNumber, GLbitfield mask);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SampleMaski(uint maskNumber, uint mask) + { + __context->glSampleMaski(maskNumber, mask); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v3_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v3_3.g.cs deleted file mode 100644 index 0503e0b5..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v3_3.g.cs +++ /dev/null @@ -1,2187 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 3.3 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ActiveTexture(uint texture) - { - Context.glActiveTexture(texture); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void AttachShader(GlHandle program, GlHandle shader) - { - Context.glAttachShader(program.Value, shader.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BeginConditionalRender(uint id, uint mode) - { - Context.glBeginConditionalRender(id, mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BeginQuery(uint target, uint id) - { - Context.glBeginQuery(target, id); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BeginTransformFeedback(uint primitiveMode) - { - Context.glBeginTransformFeedback(primitiveMode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindAttribLocation(GlHandle program, uint index, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - Context.glBindAttribLocation(program.Value, index, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindBuffer(uint target, GlHandle buffer) - { - Context.glBindBuffer(target, buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindBufferBase(uint target, uint index, GlHandle buffer) - { - Context.glBindBufferBase(target, index, buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindBufferRange(uint target, uint index, GlHandle buffer, nint offset, nint size) - { - Context.glBindBufferRange(target, index, buffer.Value, offset, size); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindFragDataLocation(GlHandle program, uint color, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - Context.glBindFragDataLocation(program.Value, color, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindFragDataLocationIndexed(GlHandle program, uint colorNumber, uint index, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - Context.glBindFragDataLocationIndexed(program.Value, colorNumber, index, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindFramebuffer(uint target, GlHandle framebuffer) - { - Context.glBindFramebuffer(target, framebuffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindRenderbuffer(uint target, GlHandle renderbuffer) - { - Context.glBindRenderbuffer(target, renderbuffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindSampler(uint unit, GlHandle sampler) - { - Context.glBindSampler(unit, sampler.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindTexture(uint target, GlHandle texture) - { - Context.glBindTexture(target, texture.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindVertexArray(uint array) - { - Context.glBindVertexArray(array); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendColor(float red, float green, float blue, float alpha) - { - Context.glBlendColor(red, green, blue, alpha); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendEquation(uint mode) - { - Context.glBlendEquation(mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendEquationSeparate(uint modeRGB, uint modeAlpha) - { - Context.glBlendEquationSeparate(modeRGB, modeAlpha); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendFunc(uint sfactor, uint dfactor) - { - Context.glBlendFunc(sfactor, dfactor); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendFuncSeparate(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha) - { - Context.glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) - { - Context.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BufferData(uint target, nint size, void* data, uint usage) - { - Context.glBufferData(target, size, data, usage); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BufferSubData(uint target, nint offset, nint size, void* data) - { - Context.glBufferSubData(target, offset, size, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint CheckFramebufferStatus(uint target) - { - return Context.glCheckFramebufferStatus(target); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClampColor(uint target, uint clamp) - { - Context.glClampColor(target, clamp); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Clear(uint mask) - { - Context.glClear(mask); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearBuffer(uint buffer, int drawbuffer, float depth, int stencil) - { - Context.glClearBufferfi(buffer, drawbuffer, depth, stencil); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearBuffer(uint buffer, int drawbuffer, ReadOnlySpan value) - { - fixed (float* valuePtr = value) - { - Context.glClearBufferfv(buffer, drawbuffer, valuePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearBuffer(uint buffer, int drawbuffer, ReadOnlySpan value) - { - fixed (int* valuePtr = value) - { - Context.glClearBufferiv(buffer, drawbuffer, valuePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearBuffer(uint buffer, int drawbuffer, ReadOnlySpan value) - { - fixed (uint* valuePtr = value) - { - Context.glClearBufferuiv(buffer, drawbuffer, valuePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearColor(float red, float green, float blue, float alpha) - { - Context.glClearColor(red, green, blue, alpha); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearDepth(double depth) - { - Context.glClearDepth(depth); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearStencil(int s) - { - Context.glClearStencil(s); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint ClientWaitSync(glSync sync, uint flags, ulong timeout) - { - return Context.glClientWaitSync(sync, flags, timeout); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ColorMask(byte red, byte green, byte blue, byte alpha) - { - Context.glColorMask(red, green, blue, alpha); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ColorMask(uint index, byte r, byte g, byte b, byte a) - { - Context.glColorMaski(index, r, g, b, a); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompileShader(GlHandle shader) - { - Context.glCompileShader(shader.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTexImage1D(uint target, int level, uint internalformat, int width, int border, int imageSize, void* data) - { - Context.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTexImage2D(uint target, int level, uint internalformat, int width, int height, int border, int imageSize, void* data) - { - Context.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTexImage3D(uint target, int level, uint internalformat, int width, int height, int depth, int border, int imageSize, void* data) - { - Context.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTexSubImage1D(uint target, int level, int xoffset, int width, uint format, int imageSize, void* data) - { - Context.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, void* data) - { - Context.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, void* data) - { - Context.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyBufferSubData(uint readTarget, uint writeTarget, nint readOffset, nint writeOffset, nint size) - { - Context.glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTexImage1D(uint target, int level, uint internalformat, int x, int y, int width, int border) - { - Context.glCopyTexImage1D(target, level, internalformat, x, y, width, border); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTexImage2D(uint target, int level, uint internalformat, int x, int y, int width, int height, int border) - { - Context.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTexSubImage1D(uint target, int level, int xoffset, int x, int y, int width) - { - Context.glCopyTexSubImage1D(target, level, xoffset, x, y, width); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTexSubImage2D(uint target, int level, int xoffset, int yoffset, int x, int y, int width, int height) - { - Context.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) - { - Context.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public GlHandle CreateProgram() - { - return GlHandle.Create(Context.glCreateProgram()); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public GlHandle CreateShader(uint type) - { - return GlHandle.Create(Context.glCreateShader(type)); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CullFace(uint mode) - { - Context.glCullFace(mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteBuffers(ReadOnlySpan buffers) - { - fixed (uint* buffersPtr = buffers) - { - Context.glDeleteBuffers(checked((int)buffers.Length), buffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteFramebuffers(ReadOnlySpan framebuffers) - { - fixed (uint* framebuffersPtr = framebuffers) - { - Context.glDeleteFramebuffers(checked((int)framebuffers.Length), framebuffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteProgram(GlHandle program) - { - Context.glDeleteProgram(program.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteQueries(ReadOnlySpan ids) - { - fixed (uint* idsPtr = ids) - { - Context.glDeleteQueries(checked((int)ids.Length), idsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteRenderbuffers(ReadOnlySpan renderbuffers) - { - fixed (uint* renderbuffersPtr = renderbuffers) - { - Context.glDeleteRenderbuffers(checked((int)renderbuffers.Length), renderbuffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteSamplers(ReadOnlySpan samplers) - { - fixed (uint* samplersPtr = samplers) - { - Context.glDeleteSamplers(checked((int)samplers.Length), samplersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteShader(GlHandle shader) - { - Context.glDeleteShader(shader.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteSync(glSync sync) - { - Context.glDeleteSync(sync); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteTextures(ReadOnlySpan textures) - { - fixed (uint* texturesPtr = textures) - { - Context.glDeleteTextures(checked((int)textures.Length), texturesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteVertexArrays(ReadOnlySpan arrays) - { - fixed (uint* arraysPtr = arrays) - { - Context.glDeleteVertexArrays(checked((int)arrays.Length), arraysPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DepthFunc(uint func) - { - Context.glDepthFunc(func); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DepthMask(byte flag) - { - Context.glDepthMask(flag); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DepthRange(double n, double f) - { - Context.glDepthRange(n, f); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DetachShader(GlHandle program, GlHandle shader) - { - Context.glDetachShader(program.Value, shader.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Disable(uint cap) - { - Context.glDisable(cap); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DisableVertexAttribArray(uint index) - { - Context.glDisableVertexAttribArray(index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Disable(uint target, uint index) - { - Context.glDisablei(target, index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawArrays(uint mode, int first, int count) - { - Context.glDrawArrays(mode, first, count); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawArraysInstanced(uint mode, int first, int count, int instancecount) - { - Context.glDrawArraysInstanced(mode, first, count, instancecount); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawBuffer(uint buf) - { - Context.glDrawBuffer(buf); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawBuffers(ReadOnlySpan bufs) - { - fixed (uint* bufsPtr = bufs) - { - Context.glDrawBuffers(checked((int)bufs.Length), bufsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawElements(uint mode, int count, uint type, void* indices) - { - Context.glDrawElements(mode, count, type, indices); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawElementsBaseVertex(uint mode, int count, uint type, void* indices, int basevertex) - { - Context.glDrawElementsBaseVertex(mode, count, type, indices, basevertex); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawElementsInstanced(uint mode, int count, uint type, void* indices, int instancecount) - { - Context.glDrawElementsInstanced(mode, count, type, indices, instancecount); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawElementsInstancedBaseVertex(uint mode, int count, uint type, void* indices, int instancecount, int basevertex) - { - Context.glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawRangeElements(uint mode, uint start, uint end, int count, uint type, void* indices) - { - Context.glDrawRangeElements(mode, start, end, count, type, indices); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawRangeElementsBaseVertex(uint mode, uint start, uint end, int count, uint type, void* indices, int basevertex) - { - Context.glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Enable(uint cap) - { - Context.glEnable(cap); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void EnableVertexAttribArray(uint index) - { - Context.glEnableVertexAttribArray(index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Enable(uint target, uint index) - { - Context.glEnablei(target, index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void EndConditionalRender() - { - Context.glEndConditionalRender(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void EndQuery(uint target) - { - Context.glEndQuery(target); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void EndTransformFeedback() - { - Context.glEndTransformFeedback(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public glSync FenceSync(uint condition, uint flags) - { - return Context.glFenceSync(condition, flags); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Finish() - { - Context.glFinish(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Flush() - { - Context.glFlush(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FlushMappedBufferRange(uint target, nint offset, nint length) - { - Context.glFlushMappedBufferRange(target, offset, length); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FramebufferRenderbuffer(uint target, uint attachment, uint renderbuffertarget, GlHandle renderbuffer) - { - Context.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FramebufferTexture(uint target, uint attachment, GlHandle texture, int level) - { - Context.glFramebufferTexture(target, attachment, texture.Value, level); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FramebufferTexture1D(uint target, uint attachment, uint textarget, GlHandle texture, int level) - { - Context.glFramebufferTexture1D(target, attachment, textarget, texture.Value, level); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FramebufferTexture2D(uint target, uint attachment, uint textarget, GlHandle texture, int level) - { - Context.glFramebufferTexture2D(target, attachment, textarget, texture.Value, level); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FramebufferTexture3D(uint target, uint attachment, uint textarget, GlHandle texture, int level, int zoffset) - { - Context.glFramebufferTexture3D(target, attachment, textarget, texture.Value, level, zoffset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FramebufferTextureLayer(uint target, uint attachment, GlHandle texture, int level, int layer) - { - Context.glFramebufferTextureLayer(target, attachment, texture.Value, level, layer); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FrontFace(uint mode) - { - Context.glFrontFace(mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenBuffers(Span buffers) - { - fixed (uint* buffersPtr = buffers) - { - Context.glGenBuffers(checked((int)buffers.Length), buffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenFramebuffers(Span framebuffers) - { - fixed (uint* framebuffersPtr = framebuffers) - { - Context.glGenFramebuffers(checked((int)framebuffers.Length), framebuffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenQueries(Span ids) - { - fixed (uint* idsPtr = ids) - { - Context.glGenQueries(checked((int)ids.Length), idsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenRenderbuffers(Span renderbuffers) - { - fixed (uint* renderbuffersPtr = renderbuffers) - { - Context.glGenRenderbuffers(checked((int)renderbuffers.Length), renderbuffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenSamplers(Span samplers) - { - fixed (uint* samplersPtr = samplers) - { - Context.glGenSamplers(checked((int)samplers.Length), samplersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenTextures(Span textures) - { - fixed (uint* texturesPtr = textures) - { - Context.glGenTextures(checked((int)textures.Length), texturesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenVertexArrays(Span arrays) - { - fixed (uint* arraysPtr = arrays) - { - Context.glGenVertexArrays(checked((int)arrays.Length), arraysPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenerateMipmap(uint target) - { - Context.glGenerateMipmap(target); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveAttrib(GlHandle program, uint index, out int length, out int size, out uint type, Span name) - { - length = default; - size = default; - type = default; - fixed (int* lengthPtr = &length) - { - fixed (int* sizePtr = &size) - { - fixed (uint* typePtr = &type) - { - fixed (byte* namePtr = name) - { - Context.glGetActiveAttrib(program.Value, index, checked((int)name.Length), lengthPtr, sizePtr, typePtr, namePtr); - } - } - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveUniform(GlHandle program, uint index, out int length, out int size, out uint type, Span name) - { - length = default; - size = default; - type = default; - fixed (int* lengthPtr = &length) - { - fixed (int* sizePtr = &size) - { - fixed (uint* typePtr = &type) - { - fixed (byte* namePtr = name) - { - Context.glGetActiveUniform(program.Value, index, checked((int)name.Length), lengthPtr, sizePtr, typePtr, namePtr); - } - } - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveUniformBlockName(GlHandle program, uint uniformBlockIndex, out int length, Span uniformBlockName) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* uniformBlockNamePtr = uniformBlockName) - { - Context.glGetActiveUniformBlockName(program.Value, uniformBlockIndex, checked((int)uniformBlockName.Length), lengthPtr, uniformBlockNamePtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveUniformBlockiv(GlHandle program, uint uniformBlockIndex, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetActiveUniformBlockiv(program.Value, uniformBlockIndex, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveUniformName(GlHandle program, uint uniformIndex, out int length, Span uniformName) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* uniformNamePtr = uniformName) - { - Context.glGetActiveUniformName(program.Value, uniformIndex, checked((int)uniformName.Length), lengthPtr, uniformNamePtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveUniformsiv(GlHandle program, ReadOnlySpan uniformIndices, uint pname, Span @params) - { - fixed (uint* uniformIndicesPtr = uniformIndices) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetActiveUniformsiv(program.Value, checked((int)uniformIndices.Length), uniformIndicesPtr, pname, @paramsPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetAttachedShaders(GlHandle program, out int count, Span shaders) - { - count = default; - fixed (int* countPtr = &count) - { - fixed (uint* shadersPtr = shaders) - { - Context.glGetAttachedShaders(program.Value, checked((int)shaders.Length), countPtr, shadersPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetAttribLocation(GlHandle program, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetAttribLocation(program.Value, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetBooleani_v(uint target, uint index, Span data) - { - fixed (byte* dataPtr = data) - { - Context.glGetBooleani_v(target, index, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetBooleanv(uint pname, Span data) - { - fixed (byte* dataPtr = data) - { - Context.glGetBooleanv(pname, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetBufferParameter(uint target, uint pname, Span @params) - { - fixed (long* @paramsPtr = @params) - { - Context.glGetBufferParameteri64v(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetBufferParameter(uint target, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetBufferParameteriv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetBufferPointerv(uint target, uint pname, void** @params) - { - Context.glGetBufferPointerv(target, pname, @params); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetBufferSubData(uint target, nint offset, nint size, void* data) - { - Context.glGetBufferSubData(target, offset, size, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetCompressedTexImage(uint target, int level, void* img) - { - Context.glGetCompressedTexImage(target, level, img); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetDoublev(uint pname, Span data) - { - fixed (double* dataPtr = data) - { - Context.glGetDoublev(pname, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint GetError() - { - return Context.glGetError(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetFloatv(uint pname, Span data) - { - fixed (float* dataPtr = data) - { - Context.glGetFloatv(pname, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetFragDataIndex(GlHandle program, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetFragDataIndex(program.Value, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetFragDataLocation(GlHandle program, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetFragDataLocation(program.Value, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetFramebufferAttachmentParameteriv(uint target, uint attachment, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetFramebufferAttachmentParameteriv(target, attachment, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetInteger64i_v(uint target, uint index, Span data) - { - fixed (long* dataPtr = data) - { - Context.glGetInteger64i_v(target, index, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetInteger64v(uint pname, Span data) - { - fixed (long* dataPtr = data) - { - Context.glGetInteger64v(pname, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetIntegeri_v(uint target, uint index, Span data) - { - fixed (int* dataPtr = data) - { - Context.glGetIntegeri_v(target, index, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetIntegerv(uint pname, Span data) - { - fixed (int* dataPtr = data) - { - Context.glGetIntegerv(pname, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetMultisamplefv(uint pname, uint index, Span val) - { - fixed (float* valPtr = val) - { - Context.glGetMultisamplefv(pname, index, valPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramInfoLog(GlHandle program, out int length, Span infoLog) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* infoLogPtr = infoLog) - { - Context.glGetProgramInfoLog(program.Value, checked((int)infoLog.Length), lengthPtr, infoLogPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramiv(GlHandle program, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetProgramiv(program.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryObject(uint id, uint pname, Span @params) - { - fixed (long* @paramsPtr = @params) - { - Context.glGetQueryObjecti64v(id, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryObject(uint id, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetQueryObjectiv(id, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryObject(uint id, uint pname, Span @params) - { - fixed (ulong* @paramsPtr = @params) - { - Context.glGetQueryObjectui64v(id, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryObject(uint id, uint pname, Span @params) - { - fixed (uint* @paramsPtr = @params) - { - Context.glGetQueryObjectuiv(id, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryiv(uint target, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetQueryiv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetRenderbufferParameteriv(uint target, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetRenderbufferParameteriv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetSamplerParameterI(GlHandle sampler, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetSamplerParameterIiv(sampler.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetSamplerParameterI(GlHandle sampler, uint pname, Span @params) - { - fixed (uint* @paramsPtr = @params) - { - Context.glGetSamplerParameterIuiv(sampler.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetSamplerParameter(GlHandle sampler, uint pname, Span @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glGetSamplerParameterfv(sampler.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetSamplerParameter(GlHandle sampler, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetSamplerParameteriv(sampler.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetShaderInfoLog(GlHandle shader, out int length, Span infoLog) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* infoLogPtr = infoLog) - { - Context.glGetShaderInfoLog(shader.Value, checked((int)infoLog.Length), lengthPtr, infoLogPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetShaderSource(GlHandle shader, out int length, Span source) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* sourcePtr = source) - { - Context.glGetShaderSource(shader.Value, checked((int)source.Length), lengthPtr, sourcePtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetShaderiv(GlHandle shader, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetShaderiv(shader.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte* GetString(uint name) - { - return Context.glGetString(name); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte* GetString(uint name, uint index) - { - return Context.glGetStringi(name, index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetSynciv(glSync sync, uint pname, out int length, Span values) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (int* valuesPtr = values) - { - Context.glGetSynciv(sync, pname, checked((int)values.Length), lengthPtr, valuesPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTexImage(uint target, int level, uint format, uint type, void* pixels) - { - Context.glGetTexImage(target, level, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTexLevelParameter(uint target, int level, uint pname, Span @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glGetTexLevelParameterfv(target, level, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTexLevelParameter(uint target, int level, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetTexLevelParameteriv(target, level, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTexParameterI(uint target, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetTexParameterIiv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTexParameterI(uint target, uint pname, Span @params) - { - fixed (uint* @paramsPtr = @params) - { - Context.glGetTexParameterIuiv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTexParameter(uint target, uint pname, Span @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glGetTexParameterfv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTexParameter(uint target, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetTexParameteriv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTransformFeedbackVarying(GlHandle program, uint index, out int length, out int size, out uint type, Span name) - { - length = default; - size = default; - type = default; - fixed (int* lengthPtr = &length) - { - fixed (int* sizePtr = &size) - { - fixed (uint* typePtr = &type) - { - fixed (byte* namePtr = name) - { - Context.glGetTransformFeedbackVarying(program.Value, index, checked((int)name.Length), lengthPtr, sizePtr, typePtr, namePtr); - } - } - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint GetUniformBlockIndex(GlHandle program, ReadOnlySpan uniformBlockName) - { - fixed (byte* uniformBlockNamePtr = uniformBlockName) - { - return Context.glGetUniformBlockIndex(program.Value, uniformBlockNamePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetUniformIndices(GlHandle program, int uniformCount, byte** uniformNames, Span uniformIndices) - { - fixed (uint* uniformIndicesPtr = uniformIndices) - { - Context.glGetUniformIndices(program.Value, uniformCount, uniformNames, uniformIndicesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetUniformLocation(GlHandle program, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetUniformLocation(program.Value, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetUniform(GlHandle program, int location, Span @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glGetUniformfv(program.Value, location, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetUniform(GlHandle program, int location, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetUniformiv(program.Value, location, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetUniform(GlHandle program, int location, Span @params) - { - fixed (uint* @paramsPtr = @params) - { - Context.glGetUniformuiv(program.Value, location, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexAttribI(uint index, uint pname, out int @params) - { - @params = default; - fixed (int* @paramsPtr = &@params) - { - Context.glGetVertexAttribIiv(index, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexAttribI(uint index, uint pname, out uint @params) - { - @params = default; - fixed (uint* @paramsPtr = &@params) - { - Context.glGetVertexAttribIuiv(index, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexAttribPointerv(uint index, uint pname, void** pointer) - { - Context.glGetVertexAttribPointerv(index, pname, pointer); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexAttrib(uint index, uint pname, Span @params) - { - if (@params.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(@params)); - } - fixed (double* @paramsPtr = @params) - { - Context.glGetVertexAttribdv(index, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexAttrib(uint index, uint pname, Span @params) - { - if (@params.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(@params)); - } - fixed (float* @paramsPtr = @params) - { - Context.glGetVertexAttribfv(index, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexAttrib(uint index, uint pname, Span @params) - { - if (@params.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(@params)); - } - fixed (int* @paramsPtr = @params) - { - Context.glGetVertexAttribiv(index, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Hint(uint target, uint mode) - { - Context.glHint(target, mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsBuffer(GlHandle buffer) - { - return Context.glIsBuffer(buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsEnabled(uint cap) - { - return Context.glIsEnabled(cap); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsEnabled(uint target, uint index) - { - return Context.glIsEnabledi(target, index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsFramebuffer(GlHandle framebuffer) - { - return Context.glIsFramebuffer(framebuffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsProgram(GlHandle program) - { - return Context.glIsProgram(program.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsQuery(uint id) - { - return Context.glIsQuery(id); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsRenderbuffer(GlHandle renderbuffer) - { - return Context.glIsRenderbuffer(renderbuffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsSampler(GlHandle sampler) - { - return Context.glIsSampler(sampler.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsShader(GlHandle shader) - { - return Context.glIsShader(shader.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsSync(glSync sync) - { - return Context.glIsSync(sync); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsTexture(GlHandle texture) - { - return Context.glIsTexture(texture.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsVertexArray(uint array) - { - return Context.glIsVertexArray(array); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void LineWidth(float width) - { - Context.glLineWidth(width); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void LinkProgram(GlHandle program) - { - Context.glLinkProgram(program.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void LogicOp(uint opcode) - { - Context.glLogicOp(opcode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void* MapBuffer(uint target, uint access) - { - return Context.glMapBuffer(target, access); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void* MapBufferRange(uint target, nint offset, nint length, uint access) - { - return Context.glMapBufferRange(target, offset, length, access); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MultiDrawArrays(uint mode, ReadOnlySpan first, ReadOnlySpan count) - { - if (count.Length != first.Length) { - throw new ArgumentException("Span lengths controlled by drawcount must match.", nameof(count)); - } - fixed (int* firstPtr = first) - { - fixed (int* countPtr = count) - { - Context.glMultiDrawArrays(mode, firstPtr, countPtr, checked((int)first.Length)); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MultiDrawElements(uint mode, ReadOnlySpan count, uint type, void** indices, int drawcount) - { - if (count.Length < checked((int)drawcount)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'drawcount'.", nameof(count)); - } - fixed (int* countPtr = count) - { - Context.glMultiDrawElements(mode, countPtr, type, indices, drawcount); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MultiDrawElementsBaseVertex(uint mode, ReadOnlySpan count, uint type, void** indices, int drawcount, ReadOnlySpan basevertex) - { - if (count.Length < checked((int)drawcount)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'drawcount'.", nameof(count)); - } - if (basevertex.Length < checked((int)drawcount)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'drawcount'.", nameof(basevertex)); - } - fixed (int* countPtr = count) - { - fixed (int* basevertexPtr = basevertex) - { - Context.glMultiDrawElementsBaseVertex(mode, countPtr, type, indices, drawcount, basevertexPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PixelStore(uint pname, float param) - { - Context.glPixelStoref(pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PixelStore(uint pname, int param) - { - Context.glPixelStorei(pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PointParameter(uint pname, float param) - { - Context.glPointParameterf(pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PointParameter(uint pname, ReadOnlySpan @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glPointParameterfv(pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PointParameter(uint pname, int param) - { - Context.glPointParameteri(pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PointParameter(uint pname, ReadOnlySpan @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glPointParameteriv(pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PointSize(float size) - { - Context.glPointSize(size); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PolygonMode(uint face, uint mode) - { - Context.glPolygonMode(face, mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PolygonOffset(float factor, float units) - { - Context.glPolygonOffset(factor, units); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PrimitiveRestartIndex(uint index) - { - Context.glPrimitiveRestartIndex(index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ProvokingVertex(uint mode) - { - Context.glProvokingVertex(mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void QueryCounter(uint id, uint target) - { - Context.glQueryCounter(id, target); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ReadBuffer(uint src) - { - Context.glReadBuffer(src); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ReadPixels(int x, int y, int width, int height, uint format, uint type, void* pixels) - { - Context.glReadPixels(x, y, width, height, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void RenderbufferStorage(uint target, uint internalformat, int width, int height) - { - Context.glRenderbufferStorage(target, internalformat, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void RenderbufferStorageMultisample(uint target, int samples, uint internalformat, int width, int height) - { - Context.glRenderbufferStorageMultisample(target, samples, internalformat, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SampleCoverage(float value, byte invert) - { - Context.glSampleCoverage(value, invert); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SampleMaski(uint maskNumber, uint mask) - { - Context.glSampleMaski(maskNumber, mask); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SamplerParameterI(GlHandle sampler, uint pname, ReadOnlySpan param) - { - fixed (int* paramPtr = param) - { - Context.glSamplerParameterIiv(sampler.Value, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SamplerParameterI(GlHandle sampler, uint pname, ReadOnlySpan param) - { - fixed (uint* paramPtr = param) - { - Context.glSamplerParameterIuiv(sampler.Value, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SamplerParameter(GlHandle sampler, uint pname, float param) - { - Context.glSamplerParameterf(sampler.Value, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SamplerParameter(GlHandle sampler, uint pname, ReadOnlySpan param) - { - fixed (float* paramPtr = param) - { - Context.glSamplerParameterfv(sampler.Value, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SamplerParameter(GlHandle sampler, uint pname, int param) - { - Context.glSamplerParameteri(sampler.Value, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SamplerParameter(GlHandle sampler, uint pname, ReadOnlySpan param) - { - fixed (int* paramPtr = param) - { - Context.glSamplerParameteriv(sampler.Value, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Scissor(int x, int y, int width, int height) - { - Context.glScissor(x, y, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ShaderSource(GlHandle shader, int count, byte** @string, ReadOnlySpan length) - { - if (length.Length < checked((int)count)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'count'.", nameof(length)); - } - fixed (int* lengthPtr = length) - { - Context.glShaderSource(shader.Value, count, @string, lengthPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void StencilFunc(uint func, int @ref, uint mask) - { - Context.glStencilFunc(func, @ref, mask); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void StencilFuncSeparate(uint face, uint func, int @ref, uint mask) - { - Context.glStencilFuncSeparate(face, func, @ref, mask); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void StencilMask(uint mask) - { - Context.glStencilMask(mask); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void StencilMaskSeparate(uint face, uint mask) - { - Context.glStencilMaskSeparate(face, mask); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void StencilOp(uint fail, uint zfail, uint zpass) - { - Context.glStencilOp(fail, zfail, zpass); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void StencilOpSeparate(uint face, uint sfail, uint dpfail, uint dppass) - { - Context.glStencilOpSeparate(face, sfail, dpfail, dppass); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexBuffer(uint target, uint internalformat, GlHandle buffer) - { - Context.glTexBuffer(target, internalformat, buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexImage1D(uint target, int level, int internalformat, int width, int border, uint format, uint type, void* pixels) - { - Context.glTexImage1D(target, level, internalformat, width, border, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexImage2D(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, void* pixels) - { - Context.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexImage2DMultisample(uint target, int samples, uint internalformat, int width, int height, byte fixedsamplelocations) - { - Context.glTexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexImage3D(uint target, int level, int internalformat, int width, int height, int depth, int border, uint format, uint type, void* pixels) - { - Context.glTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexImage3DMultisample(uint target, int samples, uint internalformat, int width, int height, int depth, byte fixedsamplelocations) - { - Context.glTexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexParameterI(uint target, uint pname, ReadOnlySpan @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glTexParameterIiv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexParameterI(uint target, uint pname, ReadOnlySpan @params) - { - fixed (uint* @paramsPtr = @params) - { - Context.glTexParameterIuiv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexParameter(uint target, uint pname, float param) - { - Context.glTexParameterf(target, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexParameter(uint target, uint pname, ReadOnlySpan @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glTexParameterfv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexParameter(uint target, uint pname, int param) - { - Context.glTexParameteri(target, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexParameter(uint target, uint pname, ReadOnlySpan @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glTexParameteriv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexSubImage1D(uint target, int level, int xoffset, int width, uint format, uint type, void* pixels) - { - Context.glTexSubImage1D(target, level, xoffset, width, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, void* pixels) - { - Context.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexSubImage3D(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* pixels) - { - Context.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TransformFeedbackVaryings(GlHandle program, int count, byte** varyings, uint bufferMode) - { - Context.glTransformFeedbackVaryings(program.Value, count, varyings, bufferMode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void UniformBlockBinding(GlHandle program, uint uniformBlockIndex, uint uniformBlockBinding) - { - Context.glUniformBlockBinding(program.Value, uniformBlockIndex, uniformBlockBinding); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte UnmapBuffer(uint target) - { - return Context.glUnmapBuffer(target); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void UseProgram(GlHandle program) - { - Context.glUseProgram(program.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ValidateProgram(GlHandle program) - { - Context.glValidateProgram(program.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, double x) - { - Context.glVertexAttrib1d(index, x); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, float x) - { - Context.glVertexAttrib1f(index, x); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, short x) - { - Context.glVertexAttrib1s(index, x); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, double x, double y) - { - Context.glVertexAttrib2d(index, x, y); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, float x, float y) - { - Context.glVertexAttrib2f(index, x, y); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, short x, short y) - { - Context.glVertexAttrib2s(index, x, y); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, double x, double y, double z) - { - Context.glVertexAttrib3d(index, x, y, z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, float x, float y, float z) - { - Context.glVertexAttrib3f(index, x, y, z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, short x, short y, short z) - { - Context.glVertexAttrib3s(index, x, y, z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribNormalized(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (sbyte* vPtr = v) - { - Context.glVertexAttrib4Nbv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribNormalized(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (int* vPtr = v) - { - Context.glVertexAttrib4Niv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribNormalized(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (short* vPtr = v) - { - Context.glVertexAttrib4Nsv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribNormalized(uint index, byte x, byte y, byte z, byte w) - { - Context.glVertexAttrib4Nub(index, x, y, z, w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribNormalized(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (uint* vPtr = v) - { - Context.glVertexAttrib4Nuiv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribNormalized(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (ushort* vPtr = v) - { - Context.glVertexAttrib4Nusv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (sbyte* vPtr = v) - { - Context.glVertexAttrib4bv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, double x, double y, double z, double w) - { - Context.glVertexAttrib4d(index, x, y, z, w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, float x, float y, float z, float w) - { - Context.glVertexAttrib4f(index, x, y, z, w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (int* vPtr = v) - { - Context.glVertexAttrib4iv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, short x, short y, short z, short w) - { - Context.glVertexAttrib4s(index, x, y, z, w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (byte* vPtr = v) - { - Context.glVertexAttrib4ubv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (uint* vPtr = v) - { - Context.glVertexAttrib4uiv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttrib(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (ushort* vPtr = v) - { - Context.glVertexAttrib4usv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribDivisor(uint index, uint divisor) - { - Context.glVertexAttribDivisor(index, divisor); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, int x) - { - Context.glVertexAttribI1i(index, x); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, uint x) - { - Context.glVertexAttribI1ui(index, x); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, int x, int y) - { - Context.glVertexAttribI2i(index, x, y); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, uint x, uint y) - { - Context.glVertexAttribI2ui(index, x, y); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, int x, int y, int z) - { - Context.glVertexAttribI3i(index, x, y, z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, uint x, uint y, uint z) - { - Context.glVertexAttribI3ui(index, x, y, z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (sbyte* vPtr = v) - { - Context.glVertexAttribI4bv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, int x, int y, int z, int w) - { - Context.glVertexAttribI4i(index, x, y, z, w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (short* vPtr = v) - { - Context.glVertexAttribI4sv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (byte* vPtr = v) - { - Context.glVertexAttribI4ubv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, uint x, uint y, uint z, uint w) - { - Context.glVertexAttribI4ui(index, x, y, z, w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribI(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (ushort* vPtr = v) - { - Context.glVertexAttribI4usv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribIPointer(uint index, int size, uint type, int stride, void* pointer) - { - Context.glVertexAttribIPointer(index, size, type, stride, pointer); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribP(uint index, uint type, byte normalized, uint value) - { - Context.glVertexAttribP1ui(index, type, normalized, value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribP2(uint index, uint type, byte normalized, uint value) - { - Context.glVertexAttribP2ui(index, type, normalized, value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribP3(uint index, uint type, byte normalized, uint value) - { - Context.glVertexAttribP3ui(index, type, normalized, value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribP4(uint index, uint type, byte normalized, uint value) - { - Context.glVertexAttribP4ui(index, type, normalized, value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribPointer(uint index, int size, uint type, byte normalized, int stride, void* pointer) - { - Context.glVertexAttribPointer(index, size, type, normalized, stride, pointer); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void Viewport(int x, int y, int width, int height) - { - Context.glViewport(x, y, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void WaitSync(glSync sync, uint flags, ulong timeout) - { - Context.glWaitSync(sync, flags, timeout); - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_0.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_0.g.cs deleted file mode 100644 index 484c5f86..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_0.g.cs +++ /dev/null @@ -1,238 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 4.0 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BeginQueryIndexed(uint target, uint index, uint id) - { - Context.glBeginQueryIndexed(target, index, id); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindTransformFeedback(uint target, uint id) - { - Context.glBindTransformFeedback(target, id); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendEquationSeparate(uint buf, uint modeRGB, uint modeAlpha) - { - Context.glBlendEquationSeparatei(buf, modeRGB, modeAlpha); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendEquation(uint buf, uint mode) - { - Context.glBlendEquationi(buf, mode); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendFuncSeparate(uint buf, uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha) - { - Context.glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlendFunc(uint buf, uint src, uint dst) - { - Context.glBlendFunci(buf, src, dst); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteTransformFeedbacks(ReadOnlySpan ids) - { - fixed (uint* idsPtr = ids) - { - Context.glDeleteTransformFeedbacks(checked((int)ids.Length), idsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawArraysIndirect(uint mode, void* indirect) - { - Context.glDrawArraysIndirect(mode, indirect); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawElementsIndirect(uint mode, uint type, void* indirect) - { - Context.glDrawElementsIndirect(mode, type, indirect); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawTransformFeedback(uint mode, uint id) - { - Context.glDrawTransformFeedback(mode, id); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawTransformFeedbackStream(uint mode, uint id, uint stream) - { - Context.glDrawTransformFeedbackStream(mode, id, stream); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void EndQueryIndexed(uint target, uint index) - { - Context.glEndQueryIndexed(target, index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenTransformFeedbacks(Span ids) - { - fixed (uint* idsPtr = ids) - { - Context.glGenTransformFeedbacks(checked((int)ids.Length), idsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveSubroutineName(GlHandle program, uint shadertype, uint index, out int length, Span name) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* namePtr = name) - { - Context.glGetActiveSubroutineName(program.Value, shadertype, index, checked((int)name.Length), lengthPtr, namePtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveSubroutineUniformName(GlHandle program, uint shadertype, uint index, out int length, Span name) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* namePtr = name) - { - Context.glGetActiveSubroutineUniformName(program.Value, shadertype, index, checked((int)name.Length), lengthPtr, namePtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveSubroutineUniformiv(GlHandle program, uint shadertype, uint index, uint pname, Span values) - { - fixed (int* valuesPtr = values) - { - Context.glGetActiveSubroutineUniformiv(program.Value, shadertype, index, pname, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramStageiv(GlHandle program, uint shadertype, uint pname, out int values) - { - values = default; - fixed (int* valuesPtr = &values) - { - Context.glGetProgramStageiv(program.Value, shadertype, pname, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryIndexediv(uint target, uint index, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetQueryIndexediv(target, index, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint GetSubroutineIndex(GlHandle program, uint shadertype, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetSubroutineIndex(program.Value, shadertype, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetSubroutineUniformLocation(GlHandle program, uint shadertype, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetSubroutineUniformLocation(program.Value, shadertype, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetUniformSubroutineuiv(uint shadertype, int location, out uint @params) - { - @params = default; - fixed (uint* @paramsPtr = &@params) - { - Context.glGetUniformSubroutineuiv(shadertype, location, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetUniform(GlHandle program, int location, Span @params) - { - fixed (double* @paramsPtr = @params) - { - Context.glGetUniformdv(program.Value, location, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsTransformFeedback(uint id) - { - return Context.glIsTransformFeedback(id); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MinSampleShading(float value) - { - Context.glMinSampleShading(value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PatchParameter(uint pname, ReadOnlySpan values) - { - fixed (float* valuesPtr = values) - { - Context.glPatchParameterfv(pname, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PatchParameter(uint pname, int value) - { - Context.glPatchParameteri(pname, value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PauseTransformFeedback() - { - Context.glPauseTransformFeedback(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ResumeTransformFeedback() - { - Context.glResumeTransformFeedback(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void UniformSubroutinesuiv(uint shadertype, ReadOnlySpan indices) - { - fixed (uint* indicesPtr = indices) - { - Context.glUniformSubroutinesuiv(shadertype, checked((int)indices.Length), indicesPtr); - } - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_1.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_1.g.cs deleted file mode 100644 index 795baf52..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_1.g.cs +++ /dev/null @@ -1,286 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 4.1 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ActiveShaderProgram(uint pipeline, GlHandle program) - { - Context.glActiveShaderProgram(pipeline, program.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindProgramPipeline(uint pipeline) - { - Context.glBindProgramPipeline(pipeline); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearDepth(float d) - { - Context.glClearDepthf(d); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public GlHandle CreateShaderProgramv(uint type, int count, byte** strings) - { - return GlHandle.Create(Context.glCreateShaderProgramv(type, count, strings)); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DeleteProgramPipelines(ReadOnlySpan pipelines) - { - fixed (uint* pipelinesPtr = pipelines) - { - Context.glDeleteProgramPipelines(checked((int)pipelines.Length), pipelinesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DepthRangeArrayv(uint first, int count, ReadOnlySpan v) - { - fixed (double* vPtr = v) - { - Context.glDepthRangeArrayv(first, count, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DepthRangeIndexed(uint index, double n, double f) - { - Context.glDepthRangeIndexed(index, n, f); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DepthRange(float n, float f) - { - Context.glDepthRangef(n, f); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenProgramPipelines(Span pipelines) - { - fixed (uint* pipelinesPtr = pipelines) - { - Context.glGenProgramPipelines(checked((int)pipelines.Length), pipelinesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetDoublei_v(uint target, uint index, Span data) - { - fixed (double* dataPtr = data) - { - Context.glGetDoublei_v(target, index, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetFloati_v(uint target, uint index, Span data) - { - fixed (float* dataPtr = data) - { - Context.glGetFloati_v(target, index, dataPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramBinary(GlHandle program, int bufSize, out int length, out uint binaryFormat, void* binary) - { - length = default; - binaryFormat = default; - fixed (int* lengthPtr = &length) - { - fixed (uint* binaryFormatPtr = &binaryFormat) - { - Context.glGetProgramBinary(program.Value, bufSize, lengthPtr, binaryFormatPtr, binary); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramPipelineInfoLog(uint pipeline, out int length, Span infoLog) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* infoLogPtr = infoLog) - { - Context.glGetProgramPipelineInfoLog(pipeline, checked((int)infoLog.Length), lengthPtr, infoLogPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramPipelineiv(uint pipeline, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetProgramPipelineiv(pipeline, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetShaderPrecisionFormat(uint shadertype, uint precisiontype, Span range, out int precision) - { - precision = default; - if (range.Length < 2) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '2'.", nameof(range)); - } - fixed (int* rangePtr = range) - { - fixed (int* precisionPtr = &precision) - { - Context.glGetShaderPrecisionFormat(shadertype, precisiontype, rangePtr, precisionPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexAttribLdv(uint index, uint pname, Span @params) - { - fixed (double* @paramsPtr = @params) - { - Context.glGetVertexAttribLdv(index, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte IsProgramPipeline(uint pipeline) - { - return Context.glIsProgramPipeline(pipeline); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ProgramBinary(GlHandle program, uint binaryFormat, void* binary, int length) - { - Context.glProgramBinary(program.Value, binaryFormat, binary, length); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ProgramParameter(GlHandle program, uint pname, int value) - { - Context.glProgramParameteri(program.Value, pname, value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ReleaseShaderCompiler() - { - Context.glReleaseShaderCompiler(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ScissorArrayv(uint first, int count, ReadOnlySpan v) - { - fixed (int* vPtr = v) - { - Context.glScissorArrayv(first, count, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ScissorIndexed(uint index, int left, int bottom, int width, int height) - { - Context.glScissorIndexed(index, left, bottom, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ScissorIndexed(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (int* vPtr = v) - { - Context.glScissorIndexedv(index, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ShaderBinary(ReadOnlySpan shaders, uint binaryFormat, void* binary, int length) - { - fixed (uint* shadersPtr = shaders) - { - Context.glShaderBinary(checked((int)shaders.Length), shadersPtr, binaryFormat, binary, length); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void UseProgramStages(uint pipeline, uint stages, GlHandle program) - { - Context.glUseProgramStages(pipeline, stages, program.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ValidateProgramPipeline(uint pipeline) - { - Context.glValidateProgramPipeline(pipeline); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribL(uint index, double x) - { - Context.glVertexAttribL1d(index, x); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribL(uint index, double x, double y) - { - Context.glVertexAttribL2d(index, x, y); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribL(uint index, double x, double y, double z) - { - Context.glVertexAttribL3d(index, x, y, z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribL(uint index, double x, double y, double z, double w) - { - Context.glVertexAttribL4d(index, x, y, z, w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribLPointer(uint index, int size, uint type, int stride, void* pointer) - { - Context.glVertexAttribLPointer(index, size, type, stride, pointer); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ViewportArrayv(uint first, int count, ReadOnlySpan v) - { - fixed (float* vPtr = v) - { - Context.glViewportArrayv(first, count, vPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ViewportIndexed(uint index, float x, float y, float w, float h) - { - Context.glViewportIndexedf(index, x, y, w, h); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ViewportIndexed(uint index, ReadOnlySpan v) - { - if (v.Length < 4) { - throw new ArgumentException("Span is shorter than the OpenGL length expression '4'.", nameof(v)); - } - fixed (float* vPtr = v) - { - Context.glViewportIndexedfv(index, vPtr); - } - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_2.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_2.g.cs deleted file mode 100644 index 4d0f9c84..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_2.g.cs +++ /dev/null @@ -1,93 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 4.2 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindImageTexture(uint unit, GlHandle texture, int level, byte layered, int layer, uint access, uint format) - { - Context.glBindImageTexture(unit, texture.Value, level, layered, layer, access, format); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawArraysInstancedBaseInstance(uint mode, int first, int count, int instancecount, uint baseinstance) - { - Context.glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawElementsInstancedBaseInstance(uint mode, int count, uint type, void* indices, int instancecount, uint baseinstance) - { - Context.glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawElementsInstancedBaseVertexBaseInstance(uint mode, int count, uint type, void* indices, int instancecount, int basevertex, uint baseinstance) - { - Context.glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawTransformFeedbackInstanced(uint mode, uint id, int instancecount) - { - Context.glDrawTransformFeedbackInstanced(mode, id, instancecount); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DrawTransformFeedbackStreamInstanced(uint mode, uint id, uint stream, int instancecount) - { - Context.glDrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetActiveAtomicCounterBufferiv(GlHandle program, GlHandle bufferIndex, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetActiveAtomicCounterBufferiv(program.Value, bufferIndex.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetInternalformativ(uint target, uint internalformat, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetInternalformativ(target, internalformat, pname, checked((int)@params.Length), @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MemoryBarrier(uint barriers) - { - Context.glMemoryBarrier(barriers); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexStorage1D(uint target, int levels, uint internalformat, int width) - { - Context.glTexStorage1D(target, levels, internalformat, width); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexStorage2D(uint target, int levels, uint internalformat, int width, int height) - { - Context.glTexStorage2D(target, levels, internalformat, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexStorage3D(uint target, int levels, uint internalformat, int width, int height, int depth) - { - Context.glTexStorage3D(target, levels, internalformat, width, height, depth); - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_3.g.cs deleted file mode 100644 index 134d7495..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_3.g.cs +++ /dev/null @@ -1,379 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 4.3 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindVertexBuffer(uint bindingindex, GlHandle buffer, nint offset, int stride) - { - Context.glBindVertexBuffer(bindingindex, buffer.Value, offset, stride); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearBufferData(uint target, uint internalformat, uint format, uint type, void* data) - { - Context.glClearBufferData(target, internalformat, format, type, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearBufferSubData(uint target, uint internalformat, nint offset, nint size, uint format, uint type, void* data) - { - Context.glClearBufferSubData(target, internalformat, offset, size, format, type, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyImageSubData(uint srcName, uint srcTarget, int srcLevel, int srcX, int srcY, int srcZ, uint dstName, uint dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth) - { - Context.glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DebugMessageCallback(IntPtr callback, void* userParam) - { - Context.glDebugMessageCallback(callback, userParam); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DebugMessageControl(uint source, uint type, uint severity, ReadOnlySpan ids, byte enabled) - { - fixed (uint* idsPtr = ids) - { - Context.glDebugMessageControl(source, type, severity, checked((int)ids.Length), idsPtr, enabled); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DebugMessageInsert(uint source, uint type, uint id, uint severity, int length, ReadOnlySpan buf) - { - fixed (byte* bufPtr = buf) - { - Context.glDebugMessageInsert(source, type, id, severity, length, bufPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DispatchCompute(uint num_groups_x, uint num_groups_y, uint num_groups_z) - { - Context.glDispatchCompute(num_groups_x, num_groups_y, num_groups_z); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DispatchComputeIndirect(nint indirect) - { - Context.glDispatchComputeIndirect(indirect); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FramebufferParameter(uint target, uint pname, int param) - { - Context.glFramebufferParameteri(target, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint GetDebugMessageLog(Span sources, Span types, Span ids, Span severities, Span lengths, Span messageLog) - { - if (types.Length != sources.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(types)); - } - if (ids.Length != sources.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(ids)); - } - if (severities.Length != sources.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(severities)); - } - if (lengths.Length != sources.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(lengths)); - } - fixed (uint* sourcesPtr = sources) - { - fixed (uint* typesPtr = types) - { - fixed (uint* idsPtr = ids) - { - fixed (uint* severitiesPtr = severities) - { - fixed (int* lengthsPtr = lengths) - { - fixed (byte* messageLogPtr = messageLog) - { - return Context.glGetDebugMessageLog(checked((uint)sources.Length), checked((int)messageLog.Length), sourcesPtr, typesPtr, idsPtr, severitiesPtr, lengthsPtr, messageLogPtr); - } - } - } - } - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetFramebufferParameteriv(uint target, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetFramebufferParameteriv(target, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetInternalformati64v(uint target, uint internalformat, uint pname, Span @params) - { - fixed (long* @paramsPtr = @params) - { - Context.glGetInternalformati64v(target, internalformat, pname, checked((int)@params.Length), @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetObjectLabel(uint identifier, uint name, out int length, Span label) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* labelPtr = label) - { - Context.glGetObjectLabel(identifier, name, checked((int)label.Length), lengthPtr, labelPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetObjectPtrLabel(void* ptr, out int length, Span label) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* labelPtr = label) - { - Context.glGetObjectPtrLabel(ptr, checked((int)label.Length), lengthPtr, labelPtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetPointerv(uint pname, void** @params) - { - Context.glGetPointerv(pname, @params); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramInterfaceiv(GlHandle program, uint programInterface, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetProgramInterfaceiv(program.Value, programInterface, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint GetProgramResourceIndex(GlHandle program, uint programInterface, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetProgramResourceIndex(program.Value, programInterface, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetProgramResourceLocation(GlHandle program, uint programInterface, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetProgramResourceLocation(program.Value, programInterface, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int GetProgramResourceLocationIndex(GlHandle program, uint programInterface, ReadOnlySpan name) - { - fixed (byte* namePtr = name) - { - return Context.glGetProgramResourceLocationIndex(program.Value, programInterface, namePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramResourceName(GlHandle program, uint programInterface, uint index, out int length, Span name) - { - length = default; - fixed (int* lengthPtr = &length) - { - fixed (byte* namePtr = name) - { - Context.glGetProgramResourceName(program.Value, programInterface, index, checked((int)name.Length), lengthPtr, namePtr); - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetProgramResourceiv(GlHandle program, uint programInterface, uint index, ReadOnlySpan props, out int length, Span @params) - { - length = default; - fixed (uint* propsPtr = props) - { - fixed (int* lengthPtr = &length) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetProgramResourceiv(program.Value, programInterface, index, checked((int)props.Length), propsPtr, checked((int)@params.Length), lengthPtr, @paramsPtr); - } - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateBufferData(GlHandle buffer) - { - Context.glInvalidateBufferData(buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateBufferSubData(GlHandle buffer, nint offset, nint length) - { - Context.glInvalidateBufferSubData(buffer.Value, offset, length); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateFramebuffer(uint target, ReadOnlySpan attachments) - { - fixed (uint* attachmentsPtr = attachments) - { - Context.glInvalidateFramebuffer(target, checked((int)attachments.Length), attachmentsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateSubFramebuffer(uint target, ReadOnlySpan attachments, int x, int y, int width, int height) - { - fixed (uint* attachmentsPtr = attachments) - { - Context.glInvalidateSubFramebuffer(target, checked((int)attachments.Length), attachmentsPtr, x, y, width, height); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateTexImage(GlHandle texture, int level) - { - Context.glInvalidateTexImage(texture.Value, level); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateTexSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth) - { - Context.glInvalidateTexSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MultiDrawArraysIndirect(uint mode, void* indirect, int drawcount, int stride) - { - Context.glMultiDrawArraysIndirect(mode, indirect, drawcount, stride); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MultiDrawElementsIndirect(uint mode, uint type, void* indirect, int drawcount, int stride) - { - Context.glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ObjectLabel(uint identifier, uint name, int length, ReadOnlySpan label) - { - fixed (byte* labelPtr = label) - { - Context.glObjectLabel(identifier, name, length, labelPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ObjectPtrLabel(void* ptr, int length, ReadOnlySpan label) - { - fixed (byte* labelPtr = label) - { - Context.glObjectPtrLabel(ptr, length, labelPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PopDebugGroup() - { - Context.glPopDebugGroup(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PushDebugGroup(uint source, uint id, int length, ReadOnlySpan message) - { - fixed (byte* messagePtr = message) - { - Context.glPushDebugGroup(source, id, length, messagePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ShaderStorageBlockBinding(GlHandle program, uint storageBlockIndex, uint storageBlockBinding) - { - Context.glShaderStorageBlockBinding(program.Value, storageBlockIndex, storageBlockBinding); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexBufferRange(uint target, uint internalformat, GlHandle buffer, nint offset, nint size) - { - Context.glTexBufferRange(target, internalformat, buffer.Value, offset, size); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexStorage2DMultisample(uint target, int samples, uint internalformat, int width, int height, byte fixedsamplelocations) - { - Context.glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TexStorage3DMultisample(uint target, int samples, uint internalformat, int width, int height, int depth, byte fixedsamplelocations) - { - Context.glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureView(GlHandle texture, uint target, GlHandle origtexture, uint internalformat, uint minlevel, uint numlevels, uint minlayer, uint numlayers) - { - Context.glTextureView(texture.Value, target, origtexture.Value, internalformat, minlevel, numlevels, minlayer, numlayers); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribBinding(uint attribindex, uint bindingindex) - { - Context.glVertexAttribBinding(attribindex, bindingindex); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribFormat(uint attribindex, int size, uint type, byte normalized, uint relativeoffset) - { - Context.glVertexAttribFormat(attribindex, size, type, normalized, relativeoffset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribIFormat(uint attribindex, int size, uint type, uint relativeoffset) - { - Context.glVertexAttribIFormat(attribindex, size, type, relativeoffset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexAttribLFormat(uint attribindex, int size, uint type, uint relativeoffset) - { - Context.glVertexAttribLFormat(attribindex, size, type, relativeoffset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexBindingDivisor(uint bindingindex, uint divisor) - { - Context.glVertexBindingDivisor(bindingindex, divisor); - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_4.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_4.g.cs deleted file mode 100644 index 2d4daadf..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_4.g.cs +++ /dev/null @@ -1,111 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 4.4 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindBuffersBase(uint target, uint first, ReadOnlySpan buffers) - { - fixed (uint* buffersPtr = buffers) - { - Context.glBindBuffersBase(target, first, checked((int)buffers.Length), buffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindBuffersRange(uint target, uint first, ReadOnlySpan buffers, ReadOnlySpan offsets, ReadOnlySpan sizes) - { - if (offsets.Length != buffers.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(offsets)); - } - if (sizes.Length != buffers.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(sizes)); - } - fixed (uint* buffersPtr = buffers) - { - fixed (nint* offsetsPtr = offsets) - { - fixed (nint* sizesPtr = sizes) - { - Context.glBindBuffersRange(target, first, checked((int)buffers.Length), buffersPtr, offsetsPtr, sizesPtr); - } - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindImageTextures(uint first, ReadOnlySpan textures) - { - fixed (uint* texturesPtr = textures) - { - Context.glBindImageTextures(first, checked((int)textures.Length), texturesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindSamplers(uint first, ReadOnlySpan samplers) - { - fixed (uint* samplersPtr = samplers) - { - Context.glBindSamplers(first, checked((int)samplers.Length), samplersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindTextures(uint first, ReadOnlySpan textures) - { - fixed (uint* texturesPtr = textures) - { - Context.glBindTextures(first, checked((int)textures.Length), texturesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindVertexBuffers(uint first, ReadOnlySpan buffers, ReadOnlySpan offsets, ReadOnlySpan strides) - { - if (offsets.Length != buffers.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(offsets)); - } - if (strides.Length != buffers.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(strides)); - } - fixed (uint* buffersPtr = buffers) - { - fixed (nint* offsetsPtr = offsets) - { - fixed (int* stridesPtr = strides) - { - Context.glBindVertexBuffers(first, checked((int)buffers.Length), buffersPtr, offsetsPtr, stridesPtr); - } - } - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BufferStorage(uint target, nint size, void* data, uint flags) - { - Context.glBufferStorage(target, size, data, flags); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearTexImage(GlHandle texture, int level, uint format, uint type, void* data) - { - Context.glClearTexImage(texture.Value, level, format, type, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearTexSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* data) - { - Context.glClearTexSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_5.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_5.g.cs deleted file mode 100644 index 6e831635..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_5.g.cs +++ /dev/null @@ -1,822 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 4.5 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BindTextureUnit(uint unit, GlHandle texture) - { - Context.glBindTextureUnit(unit, texture.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void BlitNamedFramebuffer(GlHandle readFramebuffer, GlHandle drawFramebuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) - { - Context.glBlitNamedFramebuffer(readFramebuffer.Value, drawFramebuffer.Value, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint CheckNamedFramebufferStatus(GlHandle framebuffer, uint target) - { - return Context.glCheckNamedFramebufferStatus(framebuffer.Value, target); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearNamedBufferData(GlHandle buffer, uint internalformat, uint format, uint type, void* data) - { - Context.glClearNamedBufferData(buffer.Value, internalformat, format, type, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearNamedBufferSubData(GlHandle buffer, uint internalformat, nint offset, nint size, uint format, uint type, void* data) - { - Context.glClearNamedBufferSubData(buffer.Value, internalformat, offset, size, format, type, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, float depth, int stencil) - { - Context.glClearNamedFramebufferfi(framebuffer.Value, buffer, drawbuffer, depth, stencil); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, ReadOnlySpan value) - { - fixed (float* valuePtr = value) - { - Context.glClearNamedFramebufferfv(framebuffer.Value, buffer, drawbuffer, valuePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, ReadOnlySpan value) - { - fixed (int* valuePtr = value) - { - Context.glClearNamedFramebufferiv(framebuffer.Value, buffer, drawbuffer, valuePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearNamedFramebuffer(GlHandle framebuffer, uint buffer, int drawbuffer, ReadOnlySpan value) - { - fixed (uint* valuePtr = value) - { - Context.glClearNamedFramebufferuiv(framebuffer.Value, buffer, drawbuffer, valuePtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClipControl(uint origin, uint depth) - { - Context.glClipControl(origin, depth); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTextureSubImage1D(GlHandle texture, int level, int xoffset, int width, uint format, int imageSize, void* data) - { - Context.glCompressedTextureSubImage1D(texture.Value, level, xoffset, width, format, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, void* data) - { - Context.glCompressedTextureSubImage2D(texture.Value, level, xoffset, yoffset, width, height, format, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CompressedTextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, void* data) - { - Context.glCompressedTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyNamedBufferSubData(GlHandle readBuffer, GlHandle writeBuffer, nint readOffset, nint writeOffset, nint size) - { - Context.glCopyNamedBufferSubData(readBuffer.Value, writeBuffer.Value, readOffset, writeOffset, size); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTextureSubImage1D(GlHandle texture, int level, int xoffset, int x, int y, int width) - { - Context.glCopyTextureSubImage1D(texture.Value, level, xoffset, x, y, width); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int x, int y, int width, int height) - { - Context.glCopyTextureSubImage2D(texture.Value, level, xoffset, yoffset, x, y, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CopyTextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) - { - Context.glCopyTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, x, y, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateBuffers(Span buffers) - { - fixed (uint* buffersPtr = buffers) - { - Context.glCreateBuffers(checked((int)buffers.Length), buffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateFramebuffers(Span framebuffers) - { - fixed (uint* framebuffersPtr = framebuffers) - { - Context.glCreateFramebuffers(checked((int)framebuffers.Length), framebuffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateProgramPipelines(Span pipelines) - { - fixed (uint* pipelinesPtr = pipelines) - { - Context.glCreateProgramPipelines(checked((int)pipelines.Length), pipelinesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateQueries(uint target, Span ids) - { - fixed (uint* idsPtr = ids) - { - Context.glCreateQueries(target, checked((int)ids.Length), idsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateRenderbuffers(Span renderbuffers) - { - fixed (uint* renderbuffersPtr = renderbuffers) - { - Context.glCreateRenderbuffers(checked((int)renderbuffers.Length), renderbuffersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateSamplers(Span samplers) - { - fixed (uint* samplersPtr = samplers) - { - Context.glCreateSamplers(checked((int)samplers.Length), samplersPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateTextures(uint target, Span textures) - { - fixed (uint* texturesPtr = textures) - { - Context.glCreateTextures(target, checked((int)textures.Length), texturesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateTransformFeedbacks(Span ids) - { - fixed (uint* idsPtr = ids) - { - Context.glCreateTransformFeedbacks(checked((int)ids.Length), idsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void CreateVertexArrays(Span arrays) - { - fixed (uint* arraysPtr = arrays) - { - Context.glCreateVertexArrays(checked((int)arrays.Length), arraysPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void DisableVertexArrayAttrib(uint vaobj, uint index) - { - Context.glDisableVertexArrayAttrib(vaobj, index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void EnableVertexArrayAttrib(uint vaobj, uint index) - { - Context.glEnableVertexArrayAttrib(vaobj, index); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void FlushMappedNamedBufferRange(GlHandle buffer, nint offset, nint length) - { - Context.glFlushMappedNamedBufferRange(buffer.Value, offset, length); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GenerateTextureMipmap(GlHandle texture) - { - Context.glGenerateTextureMipmap(texture.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetCompressedTextureImage(GlHandle texture, int level, int bufSize, void* pixels) - { - Context.glGetCompressedTextureImage(texture.Value, level, bufSize, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetCompressedTextureSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int bufSize, void* pixels) - { - Context.glGetCompressedTextureSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public uint GetGraphicsResetStatus() - { - return Context.glGetGraphicsResetStatus(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetNamedBufferParameter(GlHandle buffer, uint pname, Span @params) - { - fixed (long* @paramsPtr = @params) - { - Context.glGetNamedBufferParameteri64v(buffer.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetNamedBufferParameter(GlHandle buffer, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetNamedBufferParameteriv(buffer.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetNamedBufferPointerv(GlHandle buffer, uint pname, void** @params) - { - Context.glGetNamedBufferPointerv(buffer.Value, pname, @params); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetNamedBufferSubData(GlHandle buffer, nint offset, nint size, void* data) - { - Context.glGetNamedBufferSubData(buffer.Value, offset, size, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetNamedFramebufferAttachmentParameteriv(GlHandle framebuffer, uint attachment, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetNamedFramebufferAttachmentParameteriv(framebuffer.Value, attachment, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetNamedFramebufferParameteriv(GlHandle framebuffer, uint pname, Span param) - { - fixed (int* paramPtr = param) - { - Context.glGetNamedFramebufferParameteriv(framebuffer.Value, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetNamedRenderbufferParameteriv(GlHandle renderbuffer, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetNamedRenderbufferParameteriv(renderbuffer.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryBufferObject(uint id, GlHandle buffer, uint pname, nint offset) - { - Context.glGetQueryBufferObjecti64v(id, buffer.Value, pname, offset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryBufferObjectiv(uint id, GlHandle buffer, uint pname, nint offset) - { - Context.glGetQueryBufferObjectiv(id, buffer.Value, pname, offset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryBufferObjectui64v(uint id, GlHandle buffer, uint pname, nint offset) - { - Context.glGetQueryBufferObjectui64v(id, buffer.Value, pname, offset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetQueryBufferObjectuiv(uint id, GlHandle buffer, uint pname, nint offset) - { - Context.glGetQueryBufferObjectuiv(id, buffer.Value, pname, offset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureImage(GlHandle texture, int level, uint format, uint type, int bufSize, void* pixels) - { - Context.glGetTextureImage(texture.Value, level, format, type, bufSize, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureLevelParameter(GlHandle texture, int level, uint pname, Span @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glGetTextureLevelParameterfv(texture.Value, level, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureLevelParameter(GlHandle texture, int level, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetTextureLevelParameteriv(texture.Value, level, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureParameterI(GlHandle texture, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetTextureParameterIiv(texture.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureParameterI(GlHandle texture, uint pname, Span @params) - { - fixed (uint* @paramsPtr = @params) - { - Context.glGetTextureParameterIuiv(texture.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureParameter(GlHandle texture, uint pname, Span @params) - { - fixed (float* @paramsPtr = @params) - { - Context.glGetTextureParameterfv(texture.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureParameter(GlHandle texture, uint pname, Span @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glGetTextureParameteriv(texture.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTextureSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, int bufSize, void* pixels) - { - Context.glGetTextureSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTransformFeedbacki64_v(uint xfb, uint pname, uint index, Span param) - { - fixed (long* paramPtr = param) - { - Context.glGetTransformFeedbacki64_v(xfb, pname, index, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTransformFeedbacki_v(uint xfb, uint pname, uint index, Span param) - { - fixed (int* paramPtr = param) - { - Context.glGetTransformFeedbacki_v(xfb, pname, index, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetTransformFeedbackiv(uint xfb, uint pname, Span param) - { - fixed (int* paramPtr = param) - { - Context.glGetTransformFeedbackiv(xfb, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexArrayIndexed64iv(uint vaobj, uint index, uint pname, Span param) - { - fixed (long* paramPtr = param) - { - Context.glGetVertexArrayIndexed64iv(vaobj, index, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexArrayIndexediv(uint vaobj, uint index, uint pname, Span param) - { - fixed (int* paramPtr = param) - { - Context.glGetVertexArrayIndexediv(vaobj, index, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetVertexArrayiv(uint vaobj, uint pname, Span param) - { - fixed (int* paramPtr = param) - { - Context.glGetVertexArrayiv(vaobj, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetnCompressedTexImage(uint target, int lod, int bufSize, void* pixels) - { - Context.glGetnCompressedTexImage(target, lod, bufSize, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetnTexImage(uint target, int level, uint format, uint type, int bufSize, void* pixels) - { - Context.glGetnTexImage(target, level, format, type, bufSize, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetnUniform(GlHandle program, int location, int bufSize, Span @params) - { - if (@params.Length < checked((int)bufSize / 8)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 8'.", nameof(@params)); - } - fixed (double* @paramsPtr = @params) - { - Context.glGetnUniformdv(program.Value, location, bufSize, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetnUniform(GlHandle program, int location, int bufSize, Span @params) - { - if (@params.Length < checked((int)bufSize / 4)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 4'.", nameof(@params)); - } - fixed (float* @paramsPtr = @params) - { - Context.glGetnUniformfv(program.Value, location, bufSize, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetnUniform(GlHandle program, int location, int bufSize, Span @params) - { - if (@params.Length < checked((int)bufSize / 4)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 4'.", nameof(@params)); - } - fixed (int* @paramsPtr = @params) - { - Context.glGetnUniformiv(program.Value, location, bufSize, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void GetnUniform(GlHandle program, int location, int bufSize, Span @params) - { - if (@params.Length < checked((int)bufSize / 4)) { - throw new ArgumentException("Span is shorter than the OpenGL length expression 'bufSize / 4'.", nameof(@params)); - } - fixed (uint* @paramsPtr = @params) - { - Context.glGetnUniformuiv(program.Value, location, bufSize, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateNamedFramebufferData(GlHandle framebuffer, ReadOnlySpan attachments) - { - fixed (uint* attachmentsPtr = attachments) - { - Context.glInvalidateNamedFramebufferData(framebuffer.Value, checked((int)attachments.Length), attachmentsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void InvalidateNamedFramebufferSubData(GlHandle framebuffer, ReadOnlySpan attachments, int x, int y, int width, int height) - { - fixed (uint* attachmentsPtr = attachments) - { - Context.glInvalidateNamedFramebufferSubData(framebuffer.Value, checked((int)attachments.Length), attachmentsPtr, x, y, width, height); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void* MapNamedBuffer(GlHandle buffer, uint access) - { - return Context.glMapNamedBuffer(buffer.Value, access); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void* MapNamedBufferRange(GlHandle buffer, nint offset, nint length, uint access) - { - return Context.glMapNamedBufferRange(buffer.Value, offset, length, access); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MemoryBarrierByRegion(uint barriers) - { - Context.glMemoryBarrierByRegion(barriers); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedBufferData(GlHandle buffer, nint size, void* data, uint usage) - { - Context.glNamedBufferData(buffer.Value, size, data, usage); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedBufferStorage(GlHandle buffer, nint size, void* data, uint flags) - { - Context.glNamedBufferStorage(buffer.Value, size, data, flags); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedBufferSubData(GlHandle buffer, nint offset, nint size, void* data) - { - Context.glNamedBufferSubData(buffer.Value, offset, size, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedFramebufferDrawBuffer(GlHandle framebuffer, uint buf) - { - Context.glNamedFramebufferDrawBuffer(framebuffer.Value, buf); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedFramebufferDrawBuffers(GlHandle framebuffer, ReadOnlySpan bufs) - { - fixed (uint* bufsPtr = bufs) - { - Context.glNamedFramebufferDrawBuffers(framebuffer.Value, checked((int)bufs.Length), bufsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedFramebufferParameter(GlHandle framebuffer, uint pname, int param) - { - Context.glNamedFramebufferParameteri(framebuffer.Value, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedFramebufferReadBuffer(GlHandle framebuffer, uint src) - { - Context.glNamedFramebufferReadBuffer(framebuffer.Value, src); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedFramebufferRenderbuffer(GlHandle framebuffer, uint attachment, uint renderbuffertarget, GlHandle renderbuffer) - { - Context.glNamedFramebufferRenderbuffer(framebuffer.Value, attachment, renderbuffertarget, renderbuffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedFramebufferTexture(GlHandle framebuffer, uint attachment, GlHandle texture, int level) - { - Context.glNamedFramebufferTexture(framebuffer.Value, attachment, texture.Value, level); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedFramebufferTextureLayer(GlHandle framebuffer, uint attachment, GlHandle texture, int level, int layer) - { - Context.glNamedFramebufferTextureLayer(framebuffer.Value, attachment, texture.Value, level, layer); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedRenderbufferStorage(GlHandle renderbuffer, uint internalformat, int width, int height) - { - Context.glNamedRenderbufferStorage(renderbuffer.Value, internalformat, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void NamedRenderbufferStorageMultisample(GlHandle renderbuffer, int samples, uint internalformat, int width, int height) - { - Context.glNamedRenderbufferStorageMultisample(renderbuffer.Value, samples, internalformat, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ReadnPixels(int x, int y, int width, int height, uint format, uint type, int bufSize, void* data) - { - Context.glReadnPixels(x, y, width, height, format, type, bufSize, data); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureBarrier() - { - Context.glTextureBarrier(); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureBuffer(GlHandle texture, uint internalformat, GlHandle buffer) - { - Context.glTextureBuffer(texture.Value, internalformat, buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureBufferRange(GlHandle texture, uint internalformat, GlHandle buffer, nint offset, nint size) - { - Context.glTextureBufferRange(texture.Value, internalformat, buffer.Value, offset, size); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureParameterI(GlHandle texture, uint pname, ReadOnlySpan @params) - { - fixed (int* @paramsPtr = @params) - { - Context.glTextureParameterIiv(texture.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureParameterI(GlHandle texture, uint pname, ReadOnlySpan @params) - { - fixed (uint* @paramsPtr = @params) - { - Context.glTextureParameterIuiv(texture.Value, pname, @paramsPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureParameter(GlHandle texture, uint pname, float param) - { - Context.glTextureParameterf(texture.Value, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureParameter(GlHandle texture, uint pname, ReadOnlySpan param) - { - fixed (float* paramPtr = param) - { - Context.glTextureParameterfv(texture.Value, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureParameter(GlHandle texture, uint pname, int param) - { - Context.glTextureParameteri(texture.Value, pname, param); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureParameter(GlHandle texture, uint pname, ReadOnlySpan param) - { - fixed (int* paramPtr = param) - { - Context.glTextureParameteriv(texture.Value, pname, paramPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureStorage1D(GlHandle texture, int levels, uint internalformat, int width) - { - Context.glTextureStorage1D(texture.Value, levels, internalformat, width); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureStorage2D(GlHandle texture, int levels, uint internalformat, int width, int height) - { - Context.glTextureStorage2D(texture.Value, levels, internalformat, width, height); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureStorage2DMultisample(GlHandle texture, int samples, uint internalformat, int width, int height, byte fixedsamplelocations) - { - Context.glTextureStorage2DMultisample(texture.Value, samples, internalformat, width, height, fixedsamplelocations); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureStorage3D(GlHandle texture, int levels, uint internalformat, int width, int height, int depth) - { - Context.glTextureStorage3D(texture.Value, levels, internalformat, width, height, depth); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureStorage3DMultisample(GlHandle texture, int samples, uint internalformat, int width, int height, int depth, byte fixedsamplelocations) - { - Context.glTextureStorage3DMultisample(texture.Value, samples, internalformat, width, height, depth, fixedsamplelocations); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureSubImage1D(GlHandle texture, int level, int xoffset, int width, uint format, uint type, void* pixels) - { - Context.glTextureSubImage1D(texture.Value, level, xoffset, width, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, void* pixels) - { - Context.glTextureSubImage2D(texture.Value, level, xoffset, yoffset, width, height, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* pixels) - { - Context.glTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TransformFeedbackBufferBase(uint xfb, uint index, GlHandle buffer) - { - Context.glTransformFeedbackBufferBase(xfb, index, buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void TransformFeedbackBufferRange(uint xfb, uint index, GlHandle buffer, nint offset, nint size) - { - Context.glTransformFeedbackBufferRange(xfb, index, buffer.Value, offset, size); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public byte UnmapNamedBuffer(GlHandle buffer) - { - return Context.glUnmapNamedBuffer(buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayAttribBinding(uint vaobj, uint attribindex, uint bindingindex) - { - Context.glVertexArrayAttribBinding(vaobj, attribindex, bindingindex); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayAttribFormat(uint vaobj, uint attribindex, int size, uint type, byte normalized, uint relativeoffset) - { - Context.glVertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayAttribIFormat(uint vaobj, uint attribindex, int size, uint type, uint relativeoffset) - { - Context.glVertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayAttribLFormat(uint vaobj, uint attribindex, int size, uint type, uint relativeoffset) - { - Context.glVertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayBindingDivisor(uint vaobj, uint bindingindex, uint divisor) - { - Context.glVertexArrayBindingDivisor(vaobj, bindingindex, divisor); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayElementBuffer(uint vaobj, GlHandle buffer) - { - Context.glVertexArrayElementBuffer(vaobj, buffer.Value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayVertexBuffer(uint vaobj, uint bindingindex, GlHandle buffer, nint offset, int stride) - { - Context.glVertexArrayVertexBuffer(vaobj, bindingindex, buffer.Value, offset, stride); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void VertexArrayVertexBuffers(uint vaobj, uint first, ReadOnlySpan buffers, ReadOnlySpan offsets, ReadOnlySpan strides) - { - if (offsets.Length != buffers.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(offsets)); - } - if (strides.Length != buffers.Length) { - throw new ArgumentException("Span lengths controlled by count must match.", nameof(strides)); - } - fixed (uint* buffersPtr = buffers) - { - fixed (nint* offsetsPtr = offsets) - { - fixed (int* stridesPtr = strides) - { - Context.glVertexArrayVertexBuffers(vaobj, first, checked((int)buffers.Length), buffersPtr, offsetsPtr, stridesPtr); - } - } - } - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_6.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_6.g.cs deleted file mode 100644 index 2cfb253d..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Raw.v4_6.g.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Version: 4.6 -// -using System; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using StgSharp.Graphics.OpenGL; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MultiDrawArraysIndirectCount(uint mode, void* indirect, nint drawcount, int maxdrawcount, int stride) - { - Context.glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void MultiDrawElementsIndirectCount(uint mode, uint type, void* indirect, nint drawcount, int maxdrawcount, int stride) - { - Context.glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void PolygonOffsetClamp(float factor, float units, float clamp) - { - Context.glPolygonOffsetClamp(factor, units, clamp); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SpecializeShader(GlHandle shader, ReadOnlySpan pEntryPoint, ReadOnlySpan pConstantIndex, ReadOnlySpan pConstantValue) - { - if (pConstantValue.Length != pConstantIndex.Length) { - throw new ArgumentException("Span lengths controlled by numSpecializationConstants must match.", nameof(pConstantValue)); - } - fixed (byte* pEntryPointPtr = pEntryPoint) - { - fixed (uint* pConstantIndexPtr = pConstantIndex) - { - fixed (uint* pConstantValuePtr = pConstantValue) - { - Context.glSpecializeShader(shader.Value, pEntryPointPtr, checked((uint)pConstantIndex.Length), pConstantIndexPtr, pConstantValuePtr); - } - } - } - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v3_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v3_3.g.cs deleted file mode 100644 index 71e949cf..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v3_3.g.cs +++ /dev/null @@ -1,261 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Uniform overloads introduced in OpenGL 3.3 -// -using System; -using System.Runtime.CompilerServices; -using StgSharp.Mathematics.Graphics; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, float v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform1f(uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (float* valuesPtr = values) { - Context.glUniform1fv(uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, int v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform1i(uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (int* valuesPtr = values) { - Context.glUniform1iv(uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, uint v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform1ui(uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (uint* valuesPtr = values) { - Context.glUniform1uiv(uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, float v0, float v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform2f(uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (float* valuesPtr = values) { - Context.glUniform2fv(uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, int v0, int v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform2i(uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (int* valuesPtr = values) { - Context.glUniform2iv(uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, uint v0, uint v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform2ui(uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (uint* valuesPtr = values) { - Context.glUniform2uiv(uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, float v0, float v1, float v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform3f(uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (float* valuesPtr = values) { - Context.glUniform3fv(uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, int v0, int v1, int v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform3i(uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (int* valuesPtr = values) { - Context.glUniform3iv(uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, uint v0, uint v1, uint v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform3ui(uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (uint* valuesPtr = values) { - Context.glUniform3uiv(uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, float v0, float v1, float v2, float v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform4f(uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (float* valuesPtr = values) { - Context.glUniform4fv(uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, int v0, int v1, int v2, int v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform4i(uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (int* valuesPtr = values) { - Context.glUniform4iv(uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, uint v0, uint v1, uint v2, uint v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform4ui(uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (uint* valuesPtr = values) { - Context.glUniform4uiv(uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, Vec2 value) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform2fv(uniform.id.SignedValue, 1, (float*)&value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, Vec3 value) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform3fv(uniform.id.SignedValue, 1, (float*)&value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, Vec4 value) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform4fv(uniform.id.SignedValue, 1, (float*)&value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, GraphicsMatrix value, bool transpose = false) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniformMatrix4fv(uniform.id.SignedValue, 1, transpose ? (byte)1 : (byte)0, (float*)&value); - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v4_0.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v4_0.g.cs deleted file mode 100644 index 58e8a5a3..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v4_0.g.cs +++ /dev/null @@ -1,87 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Uniform overloads introduced in OpenGL 4.0 -// -using System; -using System.Runtime.CompilerServices; -using StgSharp.Mathematics.Graphics; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, double v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform1d(uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (double* valuesPtr = values) { - Context.glUniform1dv(uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, double v0, double v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform2d(uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (double* valuesPtr = values) { - Context.glUniform2dv(uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, double v0, double v1, double v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform3d(uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (double* valuesPtr = values) { - Context.glUniform3dv(uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, double v0, double v1, double v2, double v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glUniform4d(uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (double* valuesPtr = values) { - Context.glUniform4dv(uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v4_1.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v4_1.g.cs deleted file mode 100644 index c9d5c485..00000000 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.Uniform.v4_1.g.cs +++ /dev/null @@ -1,334 +0,0 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Uniform overloads introduced in OpenGL 4.1 -// -using System; -using System.Runtime.CompilerServices; -using StgSharp.Mathematics.Graphics; - -namespace StgSharp.Graphics.OpenGL -{ - public unsafe partial class OpenGLFunction - { - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, double v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform1d(program.Value, uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (double* valuesPtr = values) { - Context.glProgramUniform1dv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, float v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform1f(program.Value, uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (float* valuesPtr = values) { - Context.glProgramUniform1fv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, int v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform1i(program.Value, uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (int* valuesPtr = values) { - Context.glProgramUniform1iv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, uint v0) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform1ui(program.Value, uniform.id.SignedValue, v0); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - fixed (uint* valuesPtr = values) { - Context.glProgramUniform1uiv(program.Value, uniform.id.SignedValue, values.Length, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, double v0, double v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform2d(program.Value, uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (double* valuesPtr = values) { - Context.glProgramUniform2dv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, float v0, float v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform2f(program.Value, uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (float* valuesPtr = values) { - Context.glProgramUniform2fv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, int v0, int v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform2i(program.Value, uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (int* valuesPtr = values) { - Context.glProgramUniform2iv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, uint v0, uint v1) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform2ui(program.Value, uniform.id.SignedValue, v0, v1); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 2) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 2.", nameof(values)); - } - fixed (uint* valuesPtr = values) { - Context.glProgramUniform2uiv(program.Value, uniform.id.SignedValue, values.Length / 2, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, double v0, double v1, double v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform3d(program.Value, uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (double* valuesPtr = values) { - Context.glProgramUniform3dv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, float v0, float v1, float v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform3f(program.Value, uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (float* valuesPtr = values) { - Context.glProgramUniform3fv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, int v0, int v1, int v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform3i(program.Value, uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (int* valuesPtr = values) { - Context.glProgramUniform3iv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, uint v0, uint v1, uint v2) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform3ui(program.Value, uniform.id.SignedValue, v0, v1, v2); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 3) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 3.", nameof(values)); - } - fixed (uint* valuesPtr = values) { - Context.glProgramUniform3uiv(program.Value, uniform.id.SignedValue, values.Length / 3, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, double v0, double v1, double v2, double v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform4d(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (double* valuesPtr = values) { - Context.glProgramUniform4dv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, float v0, float v1, float v2, float v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform4f(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (float* valuesPtr = values) { - Context.glProgramUniform4fv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, int v0, int v1, int v2, int v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform4i(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (int* valuesPtr = values) { - Context.glProgramUniform4iv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, uint v0, uint v1, uint v2, uint v3) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform4ui(program.Value, uniform.id.SignedValue, v0, v1, v2, v3); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, ReadOnlySpan values) - { - ArgumentNullException.ThrowIfNull(uniform); - if ((values.Length % 4) != 0) { - throw new ArgumentException("Uniform data length must be divisible by 4.", nameof(values)); - } - fixed (uint* valuesPtr = values) { - Context.glProgramUniform4uiv(program.Value, uniform.id.SignedValue, values.Length / 4, valuesPtr); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, Vec2 value) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform2fv(program.Value, uniform.id.SignedValue, 1, (float*)&value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, Vec3 value) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform3fv(program.Value, uniform.id.SignedValue, 1, (float*)&value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, Vec4 value) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniform4fv(program.Value, uniform.id.SignedValue, 1, (float*)&value); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void SetUniformValue(GlHandle program, Uniform uniform, GraphicsMatrix value, bool transpose = false) - { - ArgumentNullException.ThrowIfNull(uniform); - Context.glProgramUniformMatrix4fv(program.Value, uniform.id.SignedValue, 1, transpose ? (byte)1 : (byte)0, (float*)&value); - } - - } -} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v3_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v3_3.g.cs new file mode 100644 index 00000000..abfa48c0 --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v3_3.g.cs @@ -0,0 +1,215 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 3.3 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindFragmentDataLocationIndexed(GlHandle program, uint colorNumber, uint index, byte* name) + { + __context->glBindFragDataLocationIndexed(program.Value, colorNumber, index, name); + } + + /// Forwards to the native C API GLint glGetFragDataIndex(GLuint program, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetFragmentDataIndex(GlHandle program, byte* name) + { + return __context->glGetFragDataIndex(program.Value, name); + } + + /// Forwards to the native C API void glGenSamplers(GLsizei count, GLuint *samplers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenSamplers(Span samplers) + { + fixed (GlHandle* __samplers = samplers) + { + __context->glGenSamplers(samplers.Length, (uint*)__samplers); + } + } + + /// Forwards to the native C API void glDeleteSamplers(GLsizei count, const GLuint *samplers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteSamplers(ReadOnlySpan samplers) + { + fixed (GlHandle* __samplers = samplers) + { + __context->glDeleteSamplers(samplers.Length, (uint*)__samplers); + } + } + + /// Forwards to the native C API GLboolean glIsSampler(GLuint sampler);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsSampler(GlHandle sampler) + { + return __context->glIsSampler(sampler.Value); + } + + /// Forwards to the native C API void glBindSampler(GLuint unit, GLuint sampler);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindSampler(uint unit, GlHandle sampler) + { + __context->glBindSampler(unit, sampler.Value); + } + + /// Forwards to the native C API void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SamplerParameter(GlHandle sampler, uint pname, int param) + { + __context->glSamplerParameteri(sampler.Value, pname, param); + } + + /// Forwards to the native C API void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SamplerParameter(GlHandle sampler, uint pname, int* param) + { + __context->glSamplerParameteriv(sampler.Value, pname, param); + } + + /// Forwards to the native C API void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SamplerParameter(GlHandle sampler, uint pname, float param) + { + __context->glSamplerParameterf(sampler.Value, pname, param); + } + + /// Forwards to the native C API void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SamplerParameter(GlHandle sampler, uint pname, float* param) + { + __context->glSamplerParameterfv(sampler.Value, pname, param); + } + + /// Forwards to the native C API void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SamplerParameterInteger(GlHandle sampler, uint pname, int* param) + { + __context->glSamplerParameterIiv(sampler.Value, pname, param); + } + + /// Forwards to the native C API void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SamplerParameterInteger(GlHandle sampler, uint pname, uint* param) + { + __context->glSamplerParameterIuiv(sampler.Value, pname, param); + } + + /// Forwards to the native C API void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetSamplerParameter(GlHandle sampler, uint pname, int* @params) + { + __context->glGetSamplerParameteriv(sampler.Value, pname, @params); + } + + /// Forwards to the native C API void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetSamplerParameterInteger(GlHandle sampler, uint pname, int* @params) + { + __context->glGetSamplerParameterIiv(sampler.Value, pname, @params); + } + + /// Forwards to the native C API void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetSamplerParameter(GlHandle sampler, uint pname, float* @params) + { + __context->glGetSamplerParameterfv(sampler.Value, pname, @params); + } + + /// Forwards to the native C API void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetSamplerParameterInteger(GlHandle sampler, uint pname, uint* @params) + { + __context->glGetSamplerParameterIuiv(sampler.Value, pname, @params); + } + + /// Forwards to the native C API void glQueryCounter(GLuint id, GLenum target);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void QueryCounter(GlHandle id, uint target) + { + __context->glQueryCounter(id.Value, target); + } + + /// Forwards to the native C API void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryObject(GlHandle id, uint pname, long* @params) + { + __context->glGetQueryObjecti64v(id.Value, pname, @params); + } + + /// Forwards to the native C API void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryObject(GlHandle id, uint pname, ulong* @params) + { + __context->glGetQueryObjectui64v(id.Value, pname, @params); + } + + /// Forwards to the native C API void glVertexAttribDivisor(GLuint index, GLuint divisor);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeDivisor(uint index, uint divisor) + { + __context->glVertexAttribDivisor(index, divisor); + } + + /// Forwards to the native C API void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributePacked1(uint index, uint type, byte normalized, uint value) + { + __context->glVertexAttribP1ui(index, type, normalized, value); + } + + /// Forwards to the native C API void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributePacked2(uint index, uint type, byte normalized, uint value) + { + __context->glVertexAttribP2ui(index, type, normalized, value); + } + + /// Forwards to the native C API void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributePacked3(uint index, uint type, byte normalized, uint value) + { + __context->glVertexAttribP3ui(index, type, normalized, value); + } + + /// Forwards to the native C API void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributePacked4(uint index, uint type, byte normalized, uint value) + { + __context->glVertexAttribP4ui(index, type, normalized, value); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_0.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_0.g.cs new file mode 100644 index 00000000..efb8e545 --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_0.g.cs @@ -0,0 +1,333 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 4.0 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glMinSampleShading(GLfloat value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MinSampleShading(float value) + { + __context->glMinSampleShading(value); + } + + /// Forwards to the native C API void glBlendEquationi(GLuint buf, GLenum mode);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendEquationi(uint buf, uint mode) + { + __context->glBlendEquationi(buf, mode); + } + + /// Forwards to the native C API void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendEquationSeparatei(uint buf, uint modeRGB, uint modeAlpha) + { + __context->glBlendEquationSeparatei(buf, modeRGB, modeAlpha); + } + + /// Forwards to the native C API void glBlendFunci(GLuint buf, GLenum src, GLenum dst);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendFunci(uint buf, uint src, uint dst) + { + __context->glBlendFunci(buf, src, dst); + } + + /// Forwards to the native C API void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlendFuncSeparatei(uint buf, uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha) + { + __context->glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + } + + /// Forwards to the native C API void glDrawArraysIndirect(GLenum mode, const void *indirect);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawArraysIndirect(uint mode, void* indirect) + { + __context->glDrawArraysIndirect(mode, indirect); + } + + /// Forwards to the native C API void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawElementsIndirect(uint mode, uint type, void* indirect) + { + __context->glDrawElementsIndirect(mode, type, indirect); + } + + /// Forwards to the native C API void glUniform1d(GLint location, GLdouble x);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, double x) + { + __context->glUniform1d(location, x); + } + + /// Forwards to the native C API void glUniform2d(GLint location, GLdouble x, GLdouble y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, double x, double y) + { + __context->glUniform2d(location, x, y); + } + + /// Forwards to the native C API void glUniform2d(GLint location, GLdouble x, GLdouble y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec2 value) + { + __context->glUniform2d(location, value.X, value.Y); + } + + /// Forwards to the native C API void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, double x, double y, double z) + { + __context->glUniform3d(location, x, y, z); + } + + /// Forwards to the native C API void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec3 value) + { + __context->glUniform3d(location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, double x, double y, double z, double w) + { + __context->glUniform4d(location, x, y, z, w); + } + + /// Forwards to the native C API void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, Vec4 value) + { + __context->glUniform4d(location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan values) + { + fixed (double* __value = values) + { + __context->glUniform1dv(location, values.Length, __value); + } + } + + /// Forwards to the native C API void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void Uniform(int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glUniform4dv(location, values.Length, (double*)__vector); + } + } + + /// Forwards to the native C API void glGetUniformdv(GLuint program, GLint location, GLdouble *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, double* @params) + { + __context->glGetUniformdv(program.Value, location, @params); + } + + /// Forwards to the native C API GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetSubroutineUniformLocation(GlHandle program, uint shadertype, byte* name) + { + return __context->glGetSubroutineUniformLocation(program.Value, shadertype, name); + } + + /// Forwards to the native C API GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint GetSubroutineIndex(GlHandle program, uint shadertype, byte* name) + { + return __context->glGetSubroutineIndex(program.Value, shadertype, name); + } + + /// Forwards to the native C API void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveSubroutineUniformiv(GlHandle program, uint shadertype, uint index, uint pname, int* values) + { + __context->glGetActiveSubroutineUniformiv(program.Value, shadertype, index, pname, values); + } + + /// Forwards to the native C API void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveSubroutineUniformName(GlHandle program, uint shadertype, uint index, int bufSize, int* length, byte* name) + { + __context->glGetActiveSubroutineUniformName(program.Value, shadertype, index, bufSize, length, name); + } + + /// Forwards to the native C API void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveSubroutineName(GlHandle program, uint shadertype, uint index, int bufSize, int* length, byte* name) + { + __context->glGetActiveSubroutineName(program.Value, shadertype, index, bufSize, length, name); + } + + /// Forwards to the native C API void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void UniformSubroutinesuiv(uint shadertype, int count, uint* indices) + { + __context->glUniformSubroutinesuiv(shadertype, count, indices); + } + + /// Forwards to the native C API void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniformSubroutineuiv(uint shadertype, int location, uint* @params) + { + __context->glGetUniformSubroutineuiv(shadertype, location, @params); + } + + /// Forwards to the native C API void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramStageiv(GlHandle program, uint shadertype, uint pname, int* values) + { + __context->glGetProgramStageiv(program.Value, shadertype, pname, values); + } + + /// Forwards to the native C API void glPatchParameteri(GLenum pname, GLint value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PatchParameter(uint pname, int value) + { + __context->glPatchParameteri(pname, value); + } + + /// Forwards to the native C API void glPatchParameterfv(GLenum pname, const GLfloat *values);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PatchParameter(uint pname, float* values) + { + __context->glPatchParameterfv(pname, values); + } + + /// Forwards to the native C API void glBindTransformFeedback(GLenum target, GLuint id);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindTransformFeedback(uint target, GlHandle id) + { + __context->glBindTransformFeedback(target, id.Value); + } + + /// Forwards to the native C API void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteTransformFeedbacks(ReadOnlySpan ids) + { + fixed (GlHandle* __ids = ids) + { + __context->glDeleteTransformFeedbacks(ids.Length, (uint*)__ids); + } + } + + /// Forwards to the native C API void glGenTransformFeedbacks(GLsizei n, GLuint *ids);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenTransformFeedbacks(Span ids) + { + fixed (GlHandle* __ids = ids) + { + __context->glGenTransformFeedbacks(ids.Length, (uint*)__ids); + } + } + + /// Forwards to the native C API GLboolean glIsTransformFeedback(GLuint id);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsTransformFeedback(GlHandle id) + { + return __context->glIsTransformFeedback(id.Value); + } + + /// Forwards to the native C API void glPauseTransformFeedback();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PauseTransformFeedback() + { + __context->glPauseTransformFeedback(); + } + + /// Forwards to the native C API void glResumeTransformFeedback();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ResumeTransformFeedback() + { + __context->glResumeTransformFeedback(); + } + + /// Forwards to the native C API void glDrawTransformFeedback(GLenum mode, GLuint id);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawTransformFeedback(uint mode, GlHandle id) + { + __context->glDrawTransformFeedback(mode, id.Value); + } + + /// Forwards to the native C API void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawTransformFeedbackStream(uint mode, GlHandle id, uint stream) + { + __context->glDrawTransformFeedbackStream(mode, id.Value, stream); + } + + /// Forwards to the native C API void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BeginQueryIndexed(uint target, uint index, GlHandle id) + { + __context->glBeginQueryIndexed(target, index, id.Value); + } + + /// Forwards to the native C API void glEndQueryIndexed(GLenum target, GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void EndQueryIndexed(uint target, uint index) + { + __context->glEndQueryIndexed(target, index); + } + + /// Forwards to the native C API void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryIndexediv(uint target, uint index, uint pname, int* @params) + { + __context->glGetQueryIndexediv(target, index, pname, @params); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_1.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_1.g.cs new file mode 100644 index 00000000..53c40335 --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_1.g.cs @@ -0,0 +1,635 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 4.1 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glReleaseShaderCompiler();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ReleaseShaderCompiler() + { + __context->glReleaseShaderCompiler(); + } + + /// Forwards to the native C API void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ShaderBinary(ReadOnlySpan shaders, uint binaryFormat, void* binary, int length) + { + fixed (GlHandle* __shaders = shaders) + { + __context->glShaderBinary(shaders.Length, (uint*)__shaders, binaryFormat, binary, length); + } + } + + /// Forwards to the native C API void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetShaderPrecisionFormat(uint shadertype, uint precisiontype, int* range, int* precision) + { + __context->glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + } + + /// Forwards to the native C API void glDepthRangef(GLfloat n, GLfloat f);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DepthRangef(float n, float f) + { + __context->glDepthRangef(n, f); + } + + /// Forwards to the native C API void glClearDepthf(GLfloat d);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearDepthf(float d) + { + __context->glClearDepthf(d); + } + + /// Forwards to the native C API void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramBinary(GlHandle program, int bufSize, int* length, uint* binaryFormat, void* binary) + { + __context->glGetProgramBinary(program.Value, bufSize, length, binaryFormat, binary); + } + + /// Forwards to the native C API void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramBinary(GlHandle program, uint binaryFormat, void* binary, int length) + { + __context->glProgramBinary(program.Value, binaryFormat, binary, length); + } + + /// Forwards to the native C API void glProgramParameteri(GLuint program, GLenum pname, GLint value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramParameteri(GlHandle program, uint pname, int value) + { + __context->glProgramParameteri(program.Value, pname, value); + } + + /// Forwards to the native C API void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void UseProgramStages(GlHandle pipeline, uint stages, GlHandle program) + { + __context->glUseProgramStages(pipeline.Value, stages, program.Value); + } + + /// Forwards to the native C API void glActiveShaderProgram(GLuint pipeline, GLuint program);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ActiveShaderProgram(GlHandle pipeline, GlHandle program) + { + __context->glActiveShaderProgram(pipeline.Value, program.Value); + } + + /// Forwards to the native C API GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const*strings);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public GlHandle CreateShaderProgramv(uint type, int count, byte** strings) + { + return GlHandle.Create(__context->glCreateShaderProgramv(type, count, strings)); + } + + /// Forwards to the native C API void glBindProgramPipeline(GLuint pipeline);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindProgramPipeline(GlHandle pipeline) + { + __context->glBindProgramPipeline(pipeline.Value); + } + + /// Forwards to the native C API void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DeleteProgramPipelines(ReadOnlySpan pipelines) + { + fixed (GlHandle* __pipelines = pipelines) + { + __context->glDeleteProgramPipelines(pipelines.Length, (uint*)__pipelines); + } + } + + /// Forwards to the native C API void glGenProgramPipelines(GLsizei n, GLuint *pipelines);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenProgramPipelines(Span pipelines) + { + fixed (GlHandle* __pipelines = pipelines) + { + __context->glGenProgramPipelines(pipelines.Length, (uint*)__pipelines); + } + } + + /// Forwards to the native C API GLboolean glIsProgramPipeline(GLuint pipeline);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte IsProgramPipeline(GlHandle pipeline) + { + return __context->glIsProgramPipeline(pipeline.Value); + } + + /// Forwards to the native C API void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramPipelineiv(GlHandle pipeline, uint pname, int* @params) + { + __context->glGetProgramPipelineiv(pipeline.Value, pname, @params); + } + + /// Forwards to the native C API void glProgramUniform1i(GLuint program, GLint location, GLint v0);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, int v0) + { + __context->glProgramUniform1i(program.Value, location, v0); + } + + /// Forwards to the native C API void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan values) + { + fixed (int* __value = values) + { + __context->glProgramUniform1iv(program.Value, location, values.Length, __value); + } + } + + /// Forwards to the native C API void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, float v0) + { + __context->glProgramUniform1f(program.Value, location, v0); + } + + /// Forwards to the native C API void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan values) + { + fixed (float* __value = values) + { + __context->glProgramUniform1fv(program.Value, location, values.Length, __value); + } + } + + /// Forwards to the native C API void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, double v0) + { + __context->glProgramUniform1d(program.Value, location, v0); + } + + /// Forwards to the native C API void glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan values) + { + fixed (double* __value = values) + { + __context->glProgramUniform1dv(program.Value, location, values.Length, __value); + } + } + + /// Forwards to the native C API void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, uint v0) + { + __context->glProgramUniform1ui(program.Value, location, v0); + } + + /// Forwards to the native C API void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan values) + { + fixed (uint* __value = values) + { + __context->glProgramUniform1uiv(program.Value, location, values.Length, __value); + } + } + + /// Forwards to the native C API void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, int v0, int v1) + { + __context->glProgramUniform2i(program.Value, location, v0, v1); + } + + /// Forwards to the native C API void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec2 value) + { + __context->glProgramUniform2i(program.Value, location, value.X, value.Y); + } + + /// Forwards to the native C API void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, float v0, float v1) + { + __context->glProgramUniform2f(program.Value, location, v0, v1); + } + + /// Forwards to the native C API void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec2 value) + { + __context->glProgramUniform2f(program.Value, location, value.X, value.Y); + } + + /// Forwards to the native C API void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, double v0, double v1) + { + __context->glProgramUniform2d(program.Value, location, v0, v1); + } + + /// Forwards to the native C API void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec2 value) + { + __context->glProgramUniform2d(program.Value, location, value.X, value.Y); + } + + /// Forwards to the native C API void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, uint v0, uint v1) + { + __context->glProgramUniform2ui(program.Value, location, v0, v1); + } + + /// Forwards to the native C API void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec2 value) + { + __context->glProgramUniform2ui(program.Value, location, value.X, value.Y); + } + + /// Forwards to the native C API void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, int v0, int v1, int v2) + { + __context->glProgramUniform3i(program.Value, location, v0, v1, v2); + } + + /// Forwards to the native C API void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec3 value) + { + __context->glProgramUniform3i(program.Value, location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, float v0, float v1, float v2) + { + __context->glProgramUniform3f(program.Value, location, v0, v1, v2); + } + + /// Forwards to the native C API void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec3 value) + { + __context->glProgramUniform3f(program.Value, location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, double v0, double v1, double v2) + { + __context->glProgramUniform3d(program.Value, location, v0, v1, v2); + } + + /// Forwards to the native C API void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec3 value) + { + __context->glProgramUniform3d(program.Value, location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, uint v0, uint v1, uint v2) + { + __context->glProgramUniform3ui(program.Value, location, v0, v1, v2); + } + + /// Forwards to the native C API void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec3 value) + { + __context->glProgramUniform3ui(program.Value, location, value.X, value.Y, value.Z); + } + + /// Forwards to the native C API void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, int v0, int v1, int v2, int v3) + { + __context->glProgramUniform4i(program.Value, location, v0, v1, v2, v3); + } + + /// Forwards to the native C API void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec4 value) + { + __context->glProgramUniform4i(program.Value, location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glProgramUniform4iv(program.Value, location, values.Length, (int*)__vector); + } + } + + /// Forwards to the native C API void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, float v0, float v1, float v2, float v3) + { + __context->glProgramUniform4f(program.Value, location, v0, v1, v2, v3); + } + + /// Forwards to the native C API void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec4 value) + { + __context->glProgramUniform4f(program.Value, location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glProgramUniform4fv(program.Value, location, values.Length, (float*)__vector); + } + } + + /// Forwards to the native C API void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, double v0, double v1, double v2, double v3) + { + __context->glProgramUniform4d(program.Value, location, v0, v1, v2, v3); + } + + /// Forwards to the native C API void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec4 value) + { + __context->glProgramUniform4d(program.Value, location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glProgramUniform4dv(program.Value, location, values.Length, (double*)__vector); + } + } + + /// Forwards to the native C API void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, uint v0, uint v1, uint v2, uint v3) + { + __context->glProgramUniform4ui(program.Value, location, v0, v1, v2, v3); + } + + /// Forwards to the native C API void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, Vec4 value) + { + __context->glProgramUniform4ui(program.Value, location, value.X, value.Y, value.Z, value.W); + } + + /// Forwards to the native C API void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, ReadOnlySpan> values) + { + fixed (Vec4* __vector = values) + { + __context->glProgramUniform4uiv(program.Value, location, values.Length, (uint*)__vector); + } + } + + /// Forwards to the native C API void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, bool transpose, GraphicsMatrix value) + { + __context->glProgramUniformMatrix4fv(program.Value, location, 1, transpose ? (byte)1 : (byte)0, (float*)&value); + } + + /// Forwards to the native C API void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ProgramUniform(GlHandle program, int location, bool transpose, ReadOnlySpan values) + { + fixed (GraphicsMatrix* __value = values) + { + __context->glProgramUniformMatrix4fv(program.Value, location, values.Length, transpose ? (byte)1 : (byte)0, (float*)__value); + } + } + + /// Forwards to the native C API void glValidateProgramPipeline(GLuint pipeline);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ValidateProgramPipeline(GlHandle pipeline) + { + __context->glValidateProgramPipeline(pipeline.Value); + } + + /// Forwards to the native C API void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramPipelineInfoLog(GlHandle pipeline, int bufSize, int* length, byte* infoLog) + { + __context->glGetProgramPipelineInfoLog(pipeline.Value, bufSize, length, infoLog); + } + + /// Forwards to the native C API void glVertexAttribL1d(GLuint index, GLdouble x);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeDouble(uint index, double x) + { + __context->glVertexAttribL1d(index, x); + } + + /// Forwards to the native C API void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeDouble(uint index, double x, double y) + { + __context->glVertexAttribL2d(index, x, y); + } + + /// Forwards to the native C API void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeDouble(uint index, double x, double y, double z) + { + __context->glVertexAttribL3d(index, x, y, z); + } + + /// Forwards to the native C API void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeDouble(uint index, double x, double y, double z, double w) + { + __context->glVertexAttribL4d(index, x, y, z, w); + } + + /// Forwards to the native C API void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeDoublePointer(uint index, int size, uint type, int stride, void* pointer) + { + __context->glVertexAttribLPointer(index, size, type, stride, pointer); + } + + /// Forwards to the native C API void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexAttributeDouble(uint index, uint pname, double* @params) + { + __context->glGetVertexAttribLdv(index, pname, @params); + } + + /// Forwards to the native C API void glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ViewportArrayv(uint first, int count, float* v) + { + __context->glViewportArrayv(first, count, v); + } + + /// Forwards to the native C API void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ViewportIndexed(uint index, float x, float y, float w, float h) + { + __context->glViewportIndexedf(index, x, y, w, h); + } + + /// Forwards to the native C API void glViewportIndexedfv(GLuint index, const GLfloat *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ViewportIndexed(uint index, float* v) + { + __context->glViewportIndexedfv(index, v); + } + + /// Forwards to the native C API void glScissorArrayv(GLuint first, GLsizei count, const GLint *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ScissorArrayv(uint first, int count, int* v) + { + __context->glScissorArrayv(first, count, v); + } + + /// Forwards to the native C API void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ScissorIndexed(uint index, int left, int bottom, int width, int height) + { + __context->glScissorIndexed(index, left, bottom, width, height); + } + + /// Forwards to the native C API void glScissorIndexedv(GLuint index, const GLint *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ScissorIndexed(uint index, int* v) + { + __context->glScissorIndexedv(index, v); + } + + /// Forwards to the native C API void glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DepthRangeArrayv(uint first, int count, double* v) + { + __context->glDepthRangeArrayv(first, count, v); + } + + /// Forwards to the native C API void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DepthRangeIndexed(uint index, double n, double f) + { + __context->glDepthRangeIndexed(index, n, f); + } + + /// Forwards to the native C API void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint target, uint index, Span values) + { + fixed (float* __value = values) + { + __context->glGetFloati_v(target, index, __value); + } + } + + /// Forwards to the native C API void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetValue(uint target, uint index, Span values) + { + fixed (double* __value = values) + { + __context->glGetDoublei_v(target, index, __value); + } + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_2.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_2.g.cs new file mode 100644 index 00000000..e544425c --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_2.g.cs @@ -0,0 +1,113 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 4.2 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawArraysInstancedBaseInstance(uint mode, int first, int count, int instancecount, uint baseinstance) + { + __context->glDrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + } + + /// Forwards to the native C API void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawElementsInstancedBaseInstance(uint mode, int count, uint type, void* indices, int instancecount, uint baseinstance) + { + __context->glDrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + } + + /// Forwards to the native C API void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawElementsInstancedBaseVertexBaseInstance(uint mode, int count, uint type, void* indices, int instancecount, int basevertex, uint baseinstance) + { + __context->glDrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + } + + /// Forwards to the native C API void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetInternalFormat(uint target, uint internalFormat, uint pname, int count, int* @params) + { + __context->glGetInternalformativ(target, internalFormat, pname, count, @params); + } + + /// Forwards to the native C API void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetActiveAtomicCounterBufferiv(GlHandle program, uint bufferIndex, uint pname, int* @params) + { + __context->glGetActiveAtomicCounterBufferiv(program.Value, bufferIndex, pname, @params); + } + + /// Forwards to the native C API void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindImageTexture(uint unit, GlHandle texture, int level, byte layered, int layer, uint access, uint format) + { + __context->glBindImageTexture(unit, texture.Value, level, layered, layer, access, format); + } + + /// Forwards to the native C API void glMemoryBarrier(GLbitfield barriers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MemoryBarrier(uint barriers) + { + __context->glMemoryBarrier(barriers); + } + + /// Forwards to the native C API void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexStorage1D(uint target, int levels, uint internalFormat, int width) + { + __context->glTexStorage1D(target, levels, internalFormat, width); + } + + /// Forwards to the native C API void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexStorage2D(uint target, int levels, uint internalFormat, int width, int height) + { + __context->glTexStorage2D(target, levels, internalFormat, width, height); + } + + /// Forwards to the native C API void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexStorage3D(uint target, int levels, uint internalFormat, int width, int height, int depth) + { + __context->glTexStorage3D(target, levels, internalFormat, width, height, depth); + } + + /// Forwards to the native C API void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawTransformFeedbackInstanced(uint mode, GlHandle id, int instancecount) + { + __context->glDrawTransformFeedbackInstanced(mode, id.Value, instancecount); + } + + /// Forwards to the native C API void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DrawTransformFeedbackStreamInstanced(uint mode, GlHandle id, uint stream, int instancecount) + { + __context->glDrawTransformFeedbackStreamInstanced(mode, id.Value, stream, instancecount); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_3.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_3.g.cs new file mode 100644 index 00000000..8db605be --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_3.g.cs @@ -0,0 +1,361 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 4.3 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearBufferData(uint target, uint internalFormat, uint format, uint type, void* data) + { + __context->glClearBufferData(target, internalFormat, format, type, data); + } + + /// Forwards to the native C API void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearBufferSubData(uint target, uint internalFormat, nint offset, nint size, uint format, uint type, void* data) + { + __context->glClearBufferSubData(target, internalFormat, offset, size, format, type, data); + } + + /// Forwards to the native C API void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DispatchCompute(uint num_groups_x, uint num_groups_y, uint num_groups_z) + { + __context->glDispatchCompute(num_groups_x, num_groups_y, num_groups_z); + } + + /// Forwards to the native C API void glDispatchComputeIndirect(GLintptr indirect);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DispatchComputeIndirect(nint indirect) + { + __context->glDispatchComputeIndirect(indirect); + } + + /// Forwards to the native C API void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyImageSubData(uint srcName, uint srcTarget, int srcLevel, int srcX, int srcY, int srcZ, uint dstName, uint dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth) + { + __context->glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + } + + /// Forwards to the native C API void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FrameBufferParameteri(uint target, uint pname, int param) + { + __context->glFramebufferParameteri(target, pname, param); + } + + /// Forwards to the native C API void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetFrameBufferParameteriv(uint target, uint pname, int* @params) + { + __context->glGetFramebufferParameteriv(target, pname, @params); + } + + /// Forwards to the native C API void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetInternalFormat(uint target, uint internalFormat, uint pname, int count, long* @params) + { + __context->glGetInternalformati64v(target, internalFormat, pname, count, @params); + } + + /// Forwards to the native C API void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateTexSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth) + { + __context->glInvalidateTexSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth); + } + + /// Forwards to the native C API void glInvalidateTexImage(GLuint texture, GLint level);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateTexImage(GlHandle texture, int level) + { + __context->glInvalidateTexImage(texture.Value, level); + } + + /// Forwards to the native C API void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateBufferSubData(GlHandle buffer, nint offset, nint length) + { + __context->glInvalidateBufferSubData(buffer.Value, offset, length); + } + + /// Forwards to the native C API void glInvalidateBufferData(GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateBufferData(GlHandle buffer) + { + __context->glInvalidateBufferData(buffer.Value); + } + + /// Forwards to the native C API void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateFrameBuffer(uint target, int numAttachments, uint* attachments) + { + __context->glInvalidateFramebuffer(target, numAttachments, attachments); + } + + /// Forwards to the native C API void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateSubFrameBuffer(uint target, int numAttachments, uint* attachments, int x, int y, int width, int height) + { + __context->glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + } + + /// Forwards to the native C API void glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MultiDrawArraysIndirect(uint mode, void* indirect, int drawcount, int stride) + { + __context->glMultiDrawArraysIndirect(mode, indirect, drawcount, stride); + } + + /// Forwards to the native C API void glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MultiDrawElementsIndirect(uint mode, uint type, void* indirect, int drawcount, int stride) + { + __context->glMultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + } + + /// Forwards to the native C API void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramInterfaceiv(GlHandle program, uint programInterface, uint pname, int* @params) + { + __context->glGetProgramInterfaceiv(program.Value, programInterface, pname, @params); + } + + /// Forwards to the native C API GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint GetProgramResourceIndex(GlHandle program, uint programInterface, byte* name) + { + return __context->glGetProgramResourceIndex(program.Value, programInterface, name); + } + + /// Forwards to the native C API void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramResourceName(GlHandle program, uint programInterface, uint index, int bufSize, int* length, byte* name) + { + __context->glGetProgramResourceName(program.Value, programInterface, index, bufSize, length, name); + } + + /// Forwards to the native C API void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetProgramResourceiv(GlHandle program, uint programInterface, uint index, int propCount, uint* props, int count, int* length, int* @params) + { + __context->glGetProgramResourceiv(program.Value, programInterface, index, propCount, props, count, length, @params); + } + + /// Forwards to the native C API GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetProgramResourceLocation(GlHandle program, uint programInterface, byte* name) + { + return __context->glGetProgramResourceLocation(program.Value, programInterface, name); + } + + /// Forwards to the native C API GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetProgramResourceLocationIndex(GlHandle program, uint programInterface, byte* name) + { + return __context->glGetProgramResourceLocationIndex(program.Value, programInterface, name); + } + + /// Forwards to the native C API void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ShaderStorageBlockBinding(GlHandle program, uint storageBlockIndex, uint storageBlockBinding) + { + __context->glShaderStorageBlockBinding(program.Value, storageBlockIndex, storageBlockBinding); + } + + /// Forwards to the native C API void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexBufferRange(uint target, uint internalFormat, GlHandle buffer, nint offset, nint size) + { + __context->glTexBufferRange(target, internalFormat, buffer.Value, offset, size); + } + + /// Forwards to the native C API void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexStorage2DMultisample(uint target, int samples, uint internalFormat, int width, int height, byte fixedsamplelocations) + { + __context->glTexStorage2DMultisample(target, samples, internalFormat, width, height, fixedsamplelocations); + } + + /// Forwards to the native C API void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TexStorage3DMultisample(uint target, int samples, uint internalFormat, int width, int height, int depth, byte fixedsamplelocations) + { + __context->glTexStorage3DMultisample(target, samples, internalFormat, width, height, depth, fixedsamplelocations); + } + + /// Forwards to the native C API void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureView(GlHandle texture, uint target, GlHandle origtexture, uint internalFormat, uint minlevel, uint numlevels, uint minlayer, uint numlayers) + { + __context->glTextureView(texture.Value, target, origtexture.Value, internalFormat, minlevel, numlevels, minlayer, numlayers); + } + + /// Forwards to the native C API void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindVertexBuffer(uint bindingIndex, GlHandle buffer, nint offset, int stride) + { + __context->glBindVertexBuffer(bindingIndex, buffer.Value, offset, stride); + } + + /// Forwards to the native C API void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeFormat(uint attributeIndex, int size, uint type, byte normalized, uint relativeOffset) + { + __context->glVertexAttribFormat(attributeIndex, size, type, normalized, relativeOffset); + } + + /// Forwards to the native C API void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeIntegerFormat(uint attributeIndex, int size, uint type, uint relativeOffset) + { + __context->glVertexAttribIFormat(attributeIndex, size, type, relativeOffset); + } + + /// Forwards to the native C API void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeDoubleFormat(uint attributeIndex, int size, uint type, uint relativeOffset) + { + __context->glVertexAttribLFormat(attributeIndex, size, type, relativeOffset); + } + + /// Forwards to the native C API void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexAttributeBinding(uint attributeIndex, uint bindingIndex) + { + __context->glVertexAttribBinding(attributeIndex, bindingIndex); + } + + /// Forwards to the native C API void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexBindingDivisor(uint bindingIndex, uint divisor) + { + __context->glVertexBindingDivisor(bindingIndex, divisor); + } + + /// Forwards to the native C API void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DebugMessageControl(uint source, uint type, uint severity, int count, uint* ids, byte enabled) + { + __context->glDebugMessageControl(source, type, severity, count, ids, enabled); + } + + /// Forwards to the native C API void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DebugMessageInsert(uint source, uint type, uint id, uint severity, int length, byte* buf) + { + __context->glDebugMessageInsert(source, type, id, severity, length, buf); + } + + /// Forwards to the native C API void glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DebugMessageCallback(delegate* unmanaged callback, void* userParam) + { + __context->glDebugMessageCallback(callback, userParam); + } + + /// Forwards to the native C API GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint GetDebugMessageLog(uint count, int bufSize, uint* sources, uint* types, uint* ids, uint* severities, int* lengths, byte* messageLog) + { + return __context->glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); + } + + /// Forwards to the native C API void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PushDebugGroup(uint source, uint id, int length, byte* message) + { + __context->glPushDebugGroup(source, id, length, message); + } + + /// Forwards to the native C API void glPopDebugGroup();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PopDebugGroup() + { + __context->glPopDebugGroup(); + } + + /// Forwards to the native C API void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ObjectLabel(uint identifier, uint name, int length, byte* label) + { + __context->glObjectLabel(identifier, name, length, label); + } + + /// Forwards to the native C API void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetObjectLabel(uint identifier, uint name, int bufSize, int* length, byte* label) + { + __context->glGetObjectLabel(identifier, name, bufSize, length, label); + } + + /// Forwards to the native C API void glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ObjectPtrLabel(void* ptr, int length, byte* label) + { + __context->glObjectPtrLabel(ptr, length, label); + } + + /// Forwards to the native C API void glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetObjectPtrLabel(void* ptr, int bufSize, int* length, byte* label) + { + __context->glGetObjectPtrLabel(ptr, bufSize, length, label); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_4.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_4.g.cs new file mode 100644 index 00000000..be255f00 --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_4.g.cs @@ -0,0 +1,107 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 4.4 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BufferStorage(uint target, nint size, void* data, uint flags) + { + __context->glBufferStorage(target, size, data, flags); + } + + /// Forwards to the native C API void glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearTexImage(GlHandle texture, int level, uint format, uint type, void* data) + { + __context->glClearTexImage(texture.Value, level, format, type, data); + } + + /// Forwards to the native C API void glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearTexSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* data) + { + __context->glClearTexSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + } + + /// Forwards to the native C API void glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindBuffersBase(uint target, uint first, ReadOnlySpan buffers) + { + fixed (GlHandle* __buffers = buffers) + { + __context->glBindBuffersBase(target, first, buffers.Length, (uint*)__buffers); + } + } + + /// Forwards to the native C API void glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindBuffersRange(uint target, uint first, ReadOnlySpan buffers, nint* offsets, nint* sizes) + { + fixed (GlHandle* __buffers = buffers) + { + __context->glBindBuffersRange(target, first, buffers.Length, (uint*)__buffers, offsets, sizes); + } + } + + /// Forwards to the native C API void glBindTextures(GLuint first, GLsizei count, const GLuint *textures);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindTextures(uint first, ReadOnlySpan textures) + { + fixed (GlHandle* __textures = textures) + { + __context->glBindTextures(first, textures.Length, (uint*)__textures); + } + } + + /// Forwards to the native C API void glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindSamplers(uint first, ReadOnlySpan samplers) + { + fixed (GlHandle* __samplers = samplers) + { + __context->glBindSamplers(first, samplers.Length, (uint*)__samplers); + } + } + + /// Forwards to the native C API void glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindImageTextures(uint first, ReadOnlySpan textures) + { + fixed (GlHandle* __textures = textures) + { + __context->glBindImageTextures(first, textures.Length, (uint*)__textures); + } + } + + /// Forwards to the native C API void glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindVertexBuffers(uint first, ReadOnlySpan buffers, nint* offsets, int* strides) + { + fixed (GlHandle* __buffers = buffers) + { + __context->glBindVertexBuffers(first, buffers.Length, (uint*)__buffers, offsets, strides); + } + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_5.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_5.g.cs new file mode 100644 index 00000000..9903feea --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_5.g.cs @@ -0,0 +1,927 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 4.5 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glClipControl(GLenum origin, GLenum depth);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClipControl(uint origin, uint depth) + { + __context->glClipControl(origin, depth); + } + + /// Forwards to the native C API void glCreateTransformFeedbacks(GLsizei n, GLuint *ids);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateTransformFeedbacks(Span ids) + { + fixed (GlHandle* __ids = ids) + { + __context->glCreateTransformFeedbacks(ids.Length, (uint*)__ids); + } + } + + /// Forwards to the native C API void glTransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TransformFeedbackBufferBase(GlHandle xfb, uint index, GlHandle buffer) + { + __context->glTransformFeedbackBufferBase(xfb.Value, index, buffer.Value); + } + + /// Forwards to the native C API void glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TransformFeedbackBufferRange(GlHandle xfb, uint index, GlHandle buffer, nint offset, nint size) + { + __context->glTransformFeedbackBufferRange(xfb.Value, index, buffer.Value, offset, size); + } + + /// Forwards to the native C API void glGetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTransformFeedbackiv(GlHandle xfb, uint pname, int* param) + { + __context->glGetTransformFeedbackiv(xfb.Value, pname, param); + } + + /// Forwards to the native C API void glGetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTransformFeedbacki_v(GlHandle xfb, uint pname, uint index, int* param) + { + __context->glGetTransformFeedbacki_v(xfb.Value, pname, index, param); + } + + /// Forwards to the native C API void glGetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTransformFeedbacki64_v(GlHandle xfb, uint pname, uint index, long* param) + { + __context->glGetTransformFeedbacki64_v(xfb.Value, pname, index, param); + } + + /// Forwards to the native C API void glCreateBuffers(GLsizei n, GLuint *buffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateBuffers(Span buffers) + { + fixed (GlHandle* __buffers = buffers) + { + __context->glCreateBuffers(buffers.Length, (uint*)__buffers); + } + } + + /// Forwards to the native C API void glNamedBufferStorage(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedBufferStorage(GlHandle buffer, nint size, void* data, uint flags) + { + __context->glNamedBufferStorage(buffer.Value, size, data, flags); + } + + /// Forwards to the native C API void glNamedBufferData(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedBufferData(GlHandle buffer, nint size, void* data, uint usage) + { + __context->glNamedBufferData(buffer.Value, size, data, usage); + } + + /// Forwards to the native C API void glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedBufferSubData(GlHandle buffer, nint offset, nint size, void* data) + { + __context->glNamedBufferSubData(buffer.Value, offset, size, data); + } + + /// Forwards to the native C API void glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyNamedBufferSubData(GlHandle readBuffer, GlHandle writeBuffer, nint readOffset, nint writeOffset, nint size) + { + __context->glCopyNamedBufferSubData(readBuffer.Value, writeBuffer.Value, readOffset, writeOffset, size); + } + + /// Forwards to the native C API void glClearNamedBufferData(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearNamedBufferData(GlHandle buffer, uint internalFormat, uint format, uint type, void* data) + { + __context->glClearNamedBufferData(buffer.Value, internalFormat, format, type, data); + } + + /// Forwards to the native C API void glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearNamedBufferSubData(GlHandle buffer, uint internalFormat, nint offset, nint size, uint format, uint type, void* data) + { + __context->glClearNamedBufferSubData(buffer.Value, internalFormat, offset, size, format, type, data); + } + + /// Forwards to the native C API void *glMapNamedBuffer(GLuint buffer, GLenum access);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void* MapNamedBuffer(GlHandle buffer, uint access) + { + return __context->glMapNamedBuffer(buffer.Value, access); + } + + /// Forwards to the native C API void *glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void* MapNamedBufferRange(GlHandle buffer, nint offset, nint length, uint access) + { + return __context->glMapNamedBufferRange(buffer.Value, offset, length, access); + } + + /// Forwards to the native C API GLboolean glUnmapNamedBuffer(GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte UnmapNamedBuffer(GlHandle buffer) + { + return __context->glUnmapNamedBuffer(buffer.Value); + } + + /// Forwards to the native C API void glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizeiptr length);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void FlushMappedNamedBufferRange(GlHandle buffer, nint offset, nint length) + { + __context->glFlushMappedNamedBufferRange(buffer.Value, offset, length); + } + + /// Forwards to the native C API void glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedBufferParameter(GlHandle buffer, uint pname, int* @params) + { + __context->glGetNamedBufferParameteriv(buffer.Value, pname, @params); + } + + /// Forwards to the native C API void glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64 *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedBufferParameter(GlHandle buffer, uint pname, long* @params) + { + __context->glGetNamedBufferParameteri64v(buffer.Value, pname, @params); + } + + /// Forwards to the native C API void glGetNamedBufferPointerv(GLuint buffer, GLenum pname, void **params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedBufferPointerv(GlHandle buffer, uint pname, void** @params) + { + __context->glGetNamedBufferPointerv(buffer.Value, pname, @params); + } + + /// Forwards to the native C API void glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedBufferSubData(GlHandle buffer, nint offset, nint size, void* data) + { + __context->glGetNamedBufferSubData(buffer.Value, offset, size, data); + } + + /// Forwards to the native C API void glCreateFramebuffers(GLsizei n, GLuint *framebuffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateFrameBuffers(Span frameBuffers) + { + fixed (GlHandle* __frameBuffers = frameBuffers) + { + __context->glCreateFramebuffers(frameBuffers.Length, (uint*)__frameBuffers); + } + } + + /// Forwards to the native C API void glNamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedFrameBufferRenderBuffer(GlHandle frameBuffer, uint attachment, uint renderBuffertarget, GlHandle renderBuffer) + { + __context->glNamedFramebufferRenderbuffer(frameBuffer.Value, attachment, renderBuffertarget, renderBuffer.Value); + } + + /// Forwards to the native C API void glNamedFramebufferParameteri(GLuint framebuffer, GLenum pname, GLint param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedFrameBufferParameteri(GlHandle frameBuffer, uint pname, int param) + { + __context->glNamedFramebufferParameteri(frameBuffer.Value, pname, param); + } + + /// Forwards to the native C API void glNamedFramebufferTexture(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedFrameBufferTexture(GlHandle frameBuffer, uint attachment, GlHandle texture, int level) + { + __context->glNamedFramebufferTexture(frameBuffer.Value, attachment, texture.Value, level); + } + + /// Forwards to the native C API void glNamedFramebufferTextureLayer(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedFrameBufferTextureLayer(GlHandle frameBuffer, uint attachment, GlHandle texture, int level, int layer) + { + __context->glNamedFramebufferTextureLayer(frameBuffer.Value, attachment, texture.Value, level, layer); + } + + /// Forwards to the native C API void glNamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedFrameBufferDrawBuffer(GlHandle frameBuffer, uint buf) + { + __context->glNamedFramebufferDrawBuffer(frameBuffer.Value, buf); + } + + /// Forwards to the native C API void glNamedFramebufferDrawBuffers(GLuint framebuffer, GLsizei n, const GLenum *bufs);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedFrameBufferDrawBuffers(GlHandle frameBuffer, int n, uint* bufs) + { + __context->glNamedFramebufferDrawBuffers(frameBuffer.Value, n, bufs); + } + + /// Forwards to the native C API void glNamedFramebufferReadBuffer(GLuint framebuffer, GLenum src);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedFrameBufferReadBuffer(GlHandle frameBuffer, uint src) + { + __context->glNamedFramebufferReadBuffer(frameBuffer.Value, src); + } + + /// Forwards to the native C API void glInvalidateNamedFramebufferData(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateNamedFrameBufferData(GlHandle frameBuffer, int numAttachments, uint* attachments) + { + __context->glInvalidateNamedFramebufferData(frameBuffer.Value, numAttachments, attachments); + } + + /// Forwards to the native C API void glInvalidateNamedFramebufferSubData(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void InvalidateNamedFrameBufferSubData(GlHandle frameBuffer, int numAttachments, uint* attachments, int x, int y, int width, int height) + { + __context->glInvalidateNamedFramebufferSubData(frameBuffer.Value, numAttachments, attachments, x, y, width, height); + } + + /// Forwards to the native C API void glClearNamedFramebufferiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearNamedFrameBuffer(GlHandle frameBuffer, uint buffer, int drawbuffer, int* value) + { + __context->glClearNamedFramebufferiv(frameBuffer.Value, buffer, drawbuffer, value); + } + + /// Forwards to the native C API void glClearNamedFramebufferuiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearNamedFrameBuffer(GlHandle frameBuffer, uint buffer, int drawbuffer, uint* value) + { + __context->glClearNamedFramebufferuiv(frameBuffer.Value, buffer, drawbuffer, value); + } + + /// Forwards to the native C API void glClearNamedFramebufferfv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearNamedFrameBuffer(GlHandle frameBuffer, uint buffer, int drawbuffer, float* value) + { + __context->glClearNamedFramebufferfv(frameBuffer.Value, buffer, drawbuffer, value); + } + + /// Forwards to the native C API void glClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ClearNamedFrameBuffer(GlHandle frameBuffer, uint buffer, int drawbuffer, float depth, int stencil) + { + __context->glClearNamedFramebufferfi(frameBuffer.Value, buffer, drawbuffer, depth, stencil); + } + + /// Forwards to the native C API void glBlitNamedFramebuffer(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BlitNamedFrameBuffer(GlHandle readFrameBuffer, GlHandle drawFrameBuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) + { + __context->glBlitNamedFramebuffer(readFrameBuffer.Value, drawFrameBuffer.Value, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + } + + /// Forwards to the native C API GLenum glCheckNamedFramebufferStatus(GLuint framebuffer, GLenum target);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint CheckNamedFrameBufferStatus(GlHandle frameBuffer, uint target) + { + return __context->glCheckNamedFramebufferStatus(frameBuffer.Value, target); + } + + /// Forwards to the native C API void glGetNamedFramebufferParameteriv(GLuint framebuffer, GLenum pname, GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedFrameBufferParameteriv(GlHandle frameBuffer, uint pname, int* param) + { + __context->glGetNamedFramebufferParameteriv(frameBuffer.Value, pname, param); + } + + /// Forwards to the native C API void glGetNamedFramebufferAttachmentParameteriv(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedFrameBufferAttachmentParameteriv(GlHandle frameBuffer, uint attachment, uint pname, int* @params) + { + __context->glGetNamedFramebufferAttachmentParameteriv(frameBuffer.Value, attachment, pname, @params); + } + + /// Forwards to the native C API void glCreateRenderbuffers(GLsizei n, GLuint *renderbuffers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateRenderBuffers(Span renderBuffers) + { + fixed (GlHandle* __renderBuffers = renderBuffers) + { + __context->glCreateRenderbuffers(renderBuffers.Length, (uint*)__renderBuffers); + } + } + + /// Forwards to the native C API void glNamedRenderbufferStorage(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedRenderBufferStorage(GlHandle renderBuffer, uint internalFormat, int width, int height) + { + __context->glNamedRenderbufferStorage(renderBuffer.Value, internalFormat, width, height); + } + + /// Forwards to the native C API void glNamedRenderbufferStorageMultisample(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedRenderBufferStorageMultisample(GlHandle renderBuffer, int samples, uint internalFormat, int width, int height) + { + __context->glNamedRenderbufferStorageMultisample(renderBuffer.Value, samples, internalFormat, width, height); + } + + /// Forwards to the native C API void glGetNamedRenderbufferParameteriv(GLuint renderbuffer, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedRenderBufferParameteriv(GlHandle renderBuffer, uint pname, int* @params) + { + __context->glGetNamedRenderbufferParameteriv(renderBuffer.Value, pname, @params); + } + + /// Forwards to the native C API void glCreateTextures(GLenum target, GLsizei n, GLuint *textures);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateTextures(uint target, Span textures) + { + fixed (GlHandle* __textures = textures) + { + __context->glCreateTextures(target, textures.Length, (uint*)__textures); + } + } + + /// Forwards to the native C API void glTextureBuffer(GLuint texture, GLenum internalformat, GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureBuffer(GlHandle texture, uint internalFormat, GlHandle buffer) + { + __context->glTextureBuffer(texture.Value, internalFormat, buffer.Value); + } + + /// Forwards to the native C API void glTextureBufferRange(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureBufferRange(GlHandle texture, uint internalFormat, GlHandle buffer, nint offset, nint size) + { + __context->glTextureBufferRange(texture.Value, internalFormat, buffer.Value, offset, size); + } + + /// Forwards to the native C API void glTextureStorage1D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureStorage1D(GlHandle texture, int levels, uint internalFormat, int width) + { + __context->glTextureStorage1D(texture.Value, levels, internalFormat, width); + } + + /// Forwards to the native C API void glTextureStorage2D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureStorage2D(GlHandle texture, int levels, uint internalFormat, int width, int height) + { + __context->glTextureStorage2D(texture.Value, levels, internalFormat, width, height); + } + + /// Forwards to the native C API void glTextureStorage3D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureStorage3D(GlHandle texture, int levels, uint internalFormat, int width, int height, int depth) + { + __context->glTextureStorage3D(texture.Value, levels, internalFormat, width, height, depth); + } + + /// Forwards to the native C API void glTextureStorage2DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureStorage2DMultisample(GlHandle texture, int samples, uint internalFormat, int width, int height, byte fixedsamplelocations) + { + __context->glTextureStorage2DMultisample(texture.Value, samples, internalFormat, width, height, fixedsamplelocations); + } + + /// Forwards to the native C API void glTextureStorage3DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureStorage3DMultisample(GlHandle texture, int samples, uint internalFormat, int width, int height, int depth, byte fixedsamplelocations) + { + __context->glTextureStorage3DMultisample(texture.Value, samples, internalFormat, width, height, depth, fixedsamplelocations); + } + + /// Forwards to the native C API void glTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureSubImage1D(GlHandle texture, int level, int xoffset, int width, uint format, uint type, void* pixels) + { + __context->glTextureSubImage1D(texture.Value, level, xoffset, width, format, type, pixels); + } + + /// Forwards to the native C API void glTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, void* pixels) + { + __context->glTextureSubImage2D(texture.Value, level, xoffset, yoffset, width, height, format, type, pixels); + } + + /// Forwards to the native C API void glTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, void* pixels) + { + __context->glTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + } + + /// Forwards to the native C API void glCompressedTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTextureSubImage1D(GlHandle texture, int level, int xoffset, int width, uint format, int imageSize, void* data) + { + __context->glCompressedTextureSubImage1D(texture.Value, level, xoffset, width, format, imageSize, data); + } + + /// Forwards to the native C API void glCompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int width, int height, uint format, int imageSize, void* data) + { + __context->glCompressedTextureSubImage2D(texture.Value, level, xoffset, yoffset, width, height, format, imageSize, data); + } + + /// Forwards to the native C API void glCompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CompressedTextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int imageSize, void* data) + { + __context->glCompressedTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + } + + /// Forwards to the native C API void glCopyTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTextureSubImage1D(GlHandle texture, int level, int xoffset, int x, int y, int width) + { + __context->glCopyTextureSubImage1D(texture.Value, level, xoffset, x, y, width); + } + + /// Forwards to the native C API void glCopyTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTextureSubImage2D(GlHandle texture, int level, int xoffset, int yoffset, int x, int y, int width, int height) + { + __context->glCopyTextureSubImage2D(texture.Value, level, xoffset, yoffset, x, y, width, height); + } + + /// Forwards to the native C API void glCopyTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CopyTextureSubImage3D(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) + { + __context->glCopyTextureSubImage3D(texture.Value, level, xoffset, yoffset, zoffset, x, y, width, height); + } + + /// Forwards to the native C API void glTextureParameterf(GLuint texture, GLenum pname, GLfloat param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedTextureParameter(GlHandle texture, uint pname, float param) + { + __context->glTextureParameterf(texture.Value, pname, param); + } + + /// Forwards to the native C API void glTextureParameterfv(GLuint texture, GLenum pname, const GLfloat *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedTextureParameter(GlHandle texture, uint pname, float* param) + { + __context->glTextureParameterfv(texture.Value, pname, param); + } + + /// Forwards to the native C API void glTextureParameteri(GLuint texture, GLenum pname, GLint param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedTextureParameter(GlHandle texture, uint pname, int param) + { + __context->glTextureParameteri(texture.Value, pname, param); + } + + /// Forwards to the native C API void glTextureParameterIiv(GLuint texture, GLenum pname, const GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedTextureParameterInteger(GlHandle texture, uint pname, int* @params) + { + __context->glTextureParameterIiv(texture.Value, pname, @params); + } + + /// Forwards to the native C API void glTextureParameterIuiv(GLuint texture, GLenum pname, const GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedTextureParameterInteger(GlHandle texture, uint pname, uint* @params) + { + __context->glTextureParameterIuiv(texture.Value, pname, @params); + } + + /// Forwards to the native C API void glTextureParameteriv(GLuint texture, GLenum pname, const GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void NamedTextureParameter(GlHandle texture, uint pname, int* param) + { + __context->glTextureParameteriv(texture.Value, pname, param); + } + + /// Forwards to the native C API void glGenerateTextureMipmap(GLuint texture);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GenerateTextureMipmap(GlHandle texture) + { + __context->glGenerateTextureMipmap(texture.Value); + } + + /// Forwards to the native C API void glBindTextureUnit(GLuint unit, GLuint texture);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void BindTextureUnit(uint unit, GlHandle texture) + { + __context->glBindTextureUnit(unit, texture.Value); + } + + /// Forwards to the native C API void glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureImage(GlHandle texture, int level, uint format, uint type, int bufSize, void* pixels) + { + __context->glGetTextureImage(texture.Value, level, format, type, bufSize, pixels); + } + + /// Forwards to the native C API void glGetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetCompressedTextureImage(GlHandle texture, int level, int bufSize, void* pixels) + { + __context->glGetCompressedTextureImage(texture.Value, level, bufSize, pixels); + } + + /// Forwards to the native C API void glGetTextureLevelParameterfv(GLuint texture, GLint level, GLenum pname, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedTextureLevelParameter(GlHandle texture, int level, uint pname, float* @params) + { + __context->glGetTextureLevelParameterfv(texture.Value, level, pname, @params); + } + + /// Forwards to the native C API void glGetTextureLevelParameteriv(GLuint texture, GLint level, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedTextureLevelParameter(GlHandle texture, int level, uint pname, int* @params) + { + __context->glGetTextureLevelParameteriv(texture.Value, level, pname, @params); + } + + /// Forwards to the native C API void glGetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedTextureParameter(GlHandle texture, uint pname, float* @params) + { + __context->glGetTextureParameterfv(texture.Value, pname, @params); + } + + /// Forwards to the native C API void glGetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedTextureParameterInteger(GlHandle texture, uint pname, int* @params) + { + __context->glGetTextureParameterIiv(texture.Value, pname, @params); + } + + /// Forwards to the native C API void glGetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedTextureParameterInteger(GlHandle texture, uint pname, uint* @params) + { + __context->glGetTextureParameterIuiv(texture.Value, pname, @params); + } + + /// Forwards to the native C API void glGetTextureParameteriv(GLuint texture, GLenum pname, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetNamedTextureParameter(GlHandle texture, uint pname, int* @params) + { + __context->glGetTextureParameteriv(texture.Value, pname, @params); + } + + /// Forwards to the native C API void glCreateVertexArrays(GLsizei n, GLuint *arrays);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateVertexArrays(Span arrays) + { + fixed (GlHandle* __arrays = arrays) + { + __context->glCreateVertexArrays(arrays.Length, (uint*)__arrays); + } + } + + /// Forwards to the native C API void glDisableVertexArrayAttrib(GLuint vaobj, GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void DisableVertexArrayAttribute(GlHandle vaobj, uint index) + { + __context->glDisableVertexArrayAttrib(vaobj.Value, index); + } + + /// Forwards to the native C API void glEnableVertexArrayAttrib(GLuint vaobj, GLuint index);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void EnableVertexArrayAttribute(GlHandle vaobj, uint index) + { + __context->glEnableVertexArrayAttrib(vaobj.Value, index); + } + + /// Forwards to the native C API void glVertexArrayElementBuffer(GLuint vaobj, GLuint buffer);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayElementBuffer(GlHandle vaobj, GlHandle buffer) + { + __context->glVertexArrayElementBuffer(vaobj.Value, buffer.Value); + } + + /// Forwards to the native C API void glVertexArrayVertexBuffer(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayVertexBuffer(GlHandle vaobj, uint bindingIndex, GlHandle buffer, nint offset, int stride) + { + __context->glVertexArrayVertexBuffer(vaobj.Value, bindingIndex, buffer.Value, offset, stride); + } + + /// Forwards to the native C API void glVertexArrayVertexBuffers(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayVertexBuffers(GlHandle vaobj, uint first, ReadOnlySpan buffers, nint* offsets, int* strides) + { + fixed (GlHandle* __buffers = buffers) + { + __context->glVertexArrayVertexBuffers(vaobj.Value, first, buffers.Length, (uint*)__buffers, offsets, strides); + } + } + + /// Forwards to the native C API void glVertexArrayAttribBinding(GLuint vaobj, GLuint attribindex, GLuint bindingindex);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayAttributeBinding(GlHandle vaobj, uint attributeIndex, uint bindingIndex) + { + __context->glVertexArrayAttribBinding(vaobj.Value, attributeIndex, bindingIndex); + } + + /// Forwards to the native C API void glVertexArrayAttribFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayAttributeFormat(GlHandle vaobj, uint attributeIndex, int size, uint type, byte normalized, uint relativeOffset) + { + __context->glVertexArrayAttribFormat(vaobj.Value, attributeIndex, size, type, normalized, relativeOffset); + } + + /// Forwards to the native C API void glVertexArrayAttribIFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayAttributeIntegerFormat(GlHandle vaobj, uint attributeIndex, int size, uint type, uint relativeOffset) + { + __context->glVertexArrayAttribIFormat(vaobj.Value, attributeIndex, size, type, relativeOffset); + } + + /// Forwards to the native C API void glVertexArrayAttribLFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayAttributeDoubleFormat(GlHandle vaobj, uint attributeIndex, int size, uint type, uint relativeOffset) + { + __context->glVertexArrayAttribLFormat(vaobj.Value, attributeIndex, size, type, relativeOffset); + } + + /// Forwards to the native C API void glVertexArrayBindingDivisor(GLuint vaobj, GLuint bindingindex, GLuint divisor);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void VertexArrayBindingDivisor(GlHandle vaobj, uint bindingIndex, uint divisor) + { + __context->glVertexArrayBindingDivisor(vaobj.Value, bindingIndex, divisor); + } + + /// Forwards to the native C API void glGetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexArrayiv(GlHandle vaobj, uint pname, int* param) + { + __context->glGetVertexArrayiv(vaobj.Value, pname, param); + } + + /// Forwards to the native C API void glGetVertexArrayIndexediv(GLuint vaobj, GLuint index, GLenum pname, GLint *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexArrayIndexediv(GlHandle vaobj, uint index, uint pname, int* param) + { + __context->glGetVertexArrayIndexediv(vaobj.Value, index, pname, param); + } + + /// Forwards to the native C API void glGetVertexArrayIndexed64iv(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetVertexArrayIndexed64iv(GlHandle vaobj, uint index, uint pname, long* param) + { + __context->glGetVertexArrayIndexed64iv(vaobj.Value, index, pname, param); + } + + /// Forwards to the native C API void glCreateSamplers(GLsizei n, GLuint *samplers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateSamplers(Span samplers) + { + fixed (GlHandle* __samplers = samplers) + { + __context->glCreateSamplers(samplers.Length, (uint*)__samplers); + } + } + + /// Forwards to the native C API void glCreateProgramPipelines(GLsizei n, GLuint *pipelines);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateProgramPipelines(Span pipelines) + { + fixed (GlHandle* __pipelines = pipelines) + { + __context->glCreateProgramPipelines(pipelines.Length, (uint*)__pipelines); + } + } + + /// Forwards to the native C API void glCreateQueries(GLenum target, GLsizei n, GLuint *ids);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void CreateQueries(uint target, Span ids) + { + fixed (GlHandle* __ids = ids) + { + __context->glCreateQueries(target, ids.Length, (uint*)__ids); + } + } + + /// Forwards to the native C API void glGetQueryBufferObjecti64v(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryBufferObjecti64v(GlHandle id, GlHandle buffer, uint pname, nint offset) + { + __context->glGetQueryBufferObjecti64v(id.Value, buffer.Value, pname, offset); + } + + /// Forwards to the native C API void glGetQueryBufferObjectiv(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryBufferObjectiv(GlHandle id, GlHandle buffer, uint pname, nint offset) + { + __context->glGetQueryBufferObjectiv(id.Value, buffer.Value, pname, offset); + } + + /// Forwards to the native C API void glGetQueryBufferObjectui64v(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryBufferObjectui64v(GlHandle id, GlHandle buffer, uint pname, nint offset) + { + __context->glGetQueryBufferObjectui64v(id.Value, buffer.Value, pname, offset); + } + + /// Forwards to the native C API void glGetQueryBufferObjectuiv(GLuint id, GLuint buffer, GLenum pname, GLintptr offset);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetQueryBufferObjectuiv(GlHandle id, GlHandle buffer, uint pname, nint offset) + { + __context->glGetQueryBufferObjectuiv(id.Value, buffer.Value, pname, offset); + } + + /// Forwards to the native C API void glMemoryBarrierByRegion(GLbitfield barriers);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MemoryBarrierByRegion(uint barriers) + { + __context->glMemoryBarrierByRegion(barriers); + } + + /// Forwards to the native C API void glGetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetTextureSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, int bufSize, void* pixels) + { + __context->glGetTextureSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); + } + + /// Forwards to the native C API void glGetCompressedTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetCompressedTextureSubImage(GlHandle texture, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int bufSize, void* pixels) + { + __context->glGetCompressedTextureSubImage(texture.Value, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); + } + + /// Forwards to the native C API GLenum glGetGraphicsResetStatus();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint GetGraphicsResetStatus() + { + return __context->glGetGraphicsResetStatus(); + } + + /// Forwards to the native C API void glGetnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetnCompressedTexImage(uint target, int lod, int bufSize, void* pixels) + { + __context->glGetnCompressedTexImage(target, lod, bufSize, pixels); + } + + /// Forwards to the native C API void glGetnTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetnTexImage(uint target, int level, uint format, uint type, int bufSize, void* pixels) + { + __context->glGetnTexImage(target, level, format, type, bufSize, pixels); + } + + /// Forwards to the native C API void glGetnUniformdv(GLuint program, GLint location, GLsizei bufSize, GLdouble *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, int bufSize, double* @params) + { + __context->glGetnUniformdv(program.Value, location, bufSize, @params); + } + + /// Forwards to the native C API void glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, int bufSize, float* @params) + { + __context->glGetnUniformfv(program.Value, location, bufSize, @params); + } + + /// Forwards to the native C API void glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, int bufSize, int* @params) + { + __context->glGetnUniformiv(program.Value, location, bufSize, @params); + } + + /// Forwards to the native C API void glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void GetUniform(GlHandle program, int location, int bufSize, uint* @params) + { + __context->glGetnUniformuiv(program.Value, location, bufSize, @params); + } + + /// Forwards to the native C API void glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void ReadnPixels(int x, int y, int width, int height, uint format, uint type, int bufSize, void* data) + { + __context->glReadnPixels(x, y, width, height, format, type, bufSize, data); + } + + /// Forwards to the native C API void glTextureBarrier();. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void TextureBarrier() + { + __context->glTextureBarrier(); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_6.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_6.g.cs new file mode 100644 index 00000000..51f50c19 --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenGLFunction.v4_6.g.cs @@ -0,0 +1,49 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL 4.6 core-profile forwarding methods. +// + +using StgSharp.Mathematics.Graphics; + +using System; +using System.Runtime.CompilerServices; + +namespace StgSharp.Graphics.OpenGL +{ + public unsafe partial class OpenGLFunction + { + + /// Forwards to the native C API void glSpecializeShader(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void SpecializeShader(GlHandle shader, byte* pEntryPoint, uint numSpecializationConstants, uint* pConstantIndex, uint* pConstantValue) + { + __context->glSpecializeShader(shader.Value, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue); + } + + /// Forwards to the native C API void glMultiDrawArraysIndirectCount(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MultiDrawArraysIndirectCount(uint mode, void* indirect, nint drawcount, int maxdrawcount, int stride) + { + __context->glMultiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride); + } + + /// Forwards to the native C API void glMultiDrawElementsIndirectCount(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void MultiDrawElementsIndirectCount(uint mode, uint type, void* indirect, nint drawcount, int maxdrawcount, int stride) + { + __context->glMultiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride); + } + + /// Forwards to the native C API void glPolygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp);. + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public void PolygonOffsetClamp(float factor, float units, float clamp) + { + __context->glPolygonOffsetClamp(factor, units, clamp); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/Generated/OpenglContext.g.cs b/src/StgSharp.Graphics/OpenGL/Generated/OpenglContext.g.cs index 05e23dba..713a4a0b 100644 --- a/src/StgSharp.Graphics/OpenGL/Generated/OpenglContext.g.cs +++ b/src/StgSharp.Graphics/OpenGL/Generated/OpenglContext.g.cs @@ -1,670 +1,668 @@ -// -// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z -// Aggregated GL3+ commands +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL core function pointer table. // -using System; -using System.Runtime.CompilerServices; namespace StgSharp.Graphics.OpenGL { public unsafe partial struct OpenglContext { - internal unsafe delegate* glActiveShaderProgram; - internal unsafe delegate* glActiveTexture; - internal unsafe delegate* glAttachShader; - internal unsafe delegate* glBeginConditionalRender; - internal unsafe delegate* glBeginQuery; - internal unsafe delegate* glBeginQueryIndexed; - internal unsafe delegate* glBeginTransformFeedback; - internal unsafe delegate* glBindAttribLocation; - internal unsafe delegate* glBindBuffer; - internal unsafe delegate* glBindBufferBase; - internal unsafe delegate* glBindBufferRange; - internal unsafe delegate* glBindBuffersBase; - internal unsafe delegate* glBindBuffersRange; - internal unsafe delegate* glBindFragDataLocation; - internal unsafe delegate* glBindFragDataLocationIndexed; - internal unsafe delegate* glBindFramebuffer; - internal unsafe delegate* glBindImageTexture; - internal unsafe delegate* glBindImageTextures; - internal unsafe delegate* glBindProgramPipeline; - internal unsafe delegate* glBindRenderbuffer; - internal unsafe delegate* glBindSampler; - internal unsafe delegate* glBindSamplers; - internal unsafe delegate* glBindTexture; - internal unsafe delegate* glBindTextureUnit; - internal unsafe delegate* glBindTextures; - internal unsafe delegate* glBindTransformFeedback; - internal unsafe delegate* glBindVertexArray; - internal unsafe delegate* glBindVertexBuffer; - internal unsafe delegate* glBindVertexBuffers; - internal unsafe delegate* glBlendColor; - internal unsafe delegate* glBlendEquation; - internal unsafe delegate* glBlendEquationSeparate; - internal unsafe delegate* glBlendEquationSeparatei; - internal unsafe delegate* glBlendEquationi; - internal unsafe delegate* glBlendFunc; - internal unsafe delegate* glBlendFuncSeparate; - internal unsafe delegate* glBlendFuncSeparatei; - internal unsafe delegate* glBlendFunci; - internal unsafe delegate* glBlitFramebuffer; - internal unsafe delegate* glBlitNamedFramebuffer; - internal unsafe delegate* glBufferData; - internal unsafe delegate* glBufferStorage; - internal unsafe delegate* glBufferSubData; - internal unsafe delegate* glCheckFramebufferStatus; - internal unsafe delegate* glCheckNamedFramebufferStatus; - internal unsafe delegate* glClampColor; - internal unsafe delegate* glClear; - 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* glClearDepth; - internal unsafe delegate* glClearDepthf; - 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* glClientWaitSync; - internal unsafe delegate* glClipControl; - internal unsafe delegate* glColorMask; - internal unsafe delegate* glColorMaski; - internal unsafe delegate* glCompileShader; - internal unsafe delegate* glCompressedTexImage1D; - internal unsafe delegate* glCompressedTexImage2D; - internal unsafe delegate* glCompressedTexImage3D; - internal unsafe delegate* glCompressedTexSubImage1D; - internal unsafe delegate* glCompressedTexSubImage2D; - internal unsafe delegate* glCompressedTexSubImage3D; - internal unsafe delegate* glCompressedTextureSubImage1D; - internal unsafe delegate* glCompressedTextureSubImage2D; - internal unsafe delegate* glCompressedTextureSubImage3D; - internal unsafe delegate* glCopyBufferSubData; - internal unsafe delegate* glCopyImageSubData; - internal unsafe delegate* glCopyNamedBufferSubData; - internal unsafe delegate* glCopyTexImage1D; - internal unsafe delegate* glCopyTexImage2D; - internal unsafe delegate* glCopyTexSubImage1D; - internal unsafe delegate* glCopyTexSubImage2D; - internal unsafe delegate* glCopyTexSubImage3D; - internal unsafe delegate* glCopyTextureSubImage1D; - internal unsafe delegate* glCopyTextureSubImage2D; - internal unsafe delegate* glCopyTextureSubImage3D; - internal unsafe delegate* glCreateBuffers; - internal unsafe delegate* glCreateFramebuffers; - internal unsafe delegate* glCreateProgram; - internal unsafe delegate* glCreateProgramPipelines; - internal unsafe delegate* glCreateQueries; - internal unsafe delegate* glCreateRenderbuffers; - internal unsafe delegate* glCreateSamplers; - internal unsafe delegate* glCreateShader; - internal unsafe delegate* glCreateShaderProgramv; - internal unsafe delegate* glCreateTextures; - internal unsafe delegate* glCreateTransformFeedbacks; - internal unsafe delegate* glCreateVertexArrays; - internal unsafe delegate* glCullFace; - internal unsafe delegate* glDebugMessageCallback; - internal unsafe delegate* glDebugMessageControl; - internal unsafe delegate* glDebugMessageInsert; - internal unsafe delegate* glDeleteBuffers; - internal unsafe delegate* glDeleteFramebuffers; - internal unsafe delegate* glDeleteProgram; - internal unsafe delegate* glDeleteProgramPipelines; - internal unsafe delegate* glDeleteQueries; - internal unsafe delegate* glDeleteRenderbuffers; - internal unsafe delegate* glDeleteSamplers; - internal unsafe delegate* glDeleteShader; - internal unsafe delegate* glDeleteSync; - internal unsafe delegate* glDeleteTextures; - internal unsafe delegate* glDeleteTransformFeedbacks; - internal unsafe delegate* glDeleteVertexArrays; - internal unsafe delegate* glDepthFunc; - internal unsafe delegate* glDepthMask; - internal unsafe delegate* glDepthRange; - internal unsafe delegate* glDepthRangeArrayv; - internal unsafe delegate* glDepthRangeIndexed; - internal unsafe delegate* glDepthRangef; - internal unsafe delegate* glDetachShader; - internal unsafe delegate* glDisable; - internal unsafe delegate* glDisableVertexArrayAttrib; - internal unsafe delegate* glDisableVertexAttribArray; - internal unsafe delegate* glDisablei; - internal unsafe delegate* glDispatchCompute; - internal unsafe delegate* glDispatchComputeIndirect; - internal unsafe delegate* glDrawArrays; - internal unsafe delegate* glDrawArraysIndirect; - internal unsafe delegate* glDrawArraysInstanced; - internal unsafe delegate* glDrawArraysInstancedBaseInstance; - internal unsafe delegate* glDrawBuffer; - internal unsafe delegate* glDrawBuffers; - internal unsafe delegate* glDrawElements; - internal unsafe delegate* glDrawElementsBaseVertex; - internal unsafe delegate* glDrawElementsIndirect; - internal unsafe delegate* glDrawElementsInstanced; - internal unsafe delegate* glDrawElementsInstancedBaseInstance; - internal unsafe delegate* glDrawElementsInstancedBaseVertex; - internal unsafe delegate* glDrawElementsInstancedBaseVertexBaseInstance; - internal unsafe delegate* glDrawRangeElements; - internal unsafe delegate* glDrawRangeElementsBaseVertex; - internal unsafe delegate* glDrawTransformFeedback; - internal unsafe delegate* glDrawTransformFeedbackInstanced; - internal unsafe delegate* glDrawTransformFeedbackStream; - internal unsafe delegate* glDrawTransformFeedbackStreamInstanced; - internal unsafe delegate* glEnable; - internal unsafe delegate* glEnableVertexArrayAttrib; - internal unsafe delegate* glEnableVertexAttribArray; - internal unsafe delegate* glEnablei; - internal unsafe delegate* glEndConditionalRender; - internal unsafe delegate* glEndQuery; - internal unsafe delegate* glEndQueryIndexed; - internal unsafe delegate* glEndTransformFeedback; - internal unsafe delegate* glFenceSync; - internal unsafe delegate* glFinish; - internal unsafe delegate* glFlush; - internal unsafe delegate* glFlushMappedBufferRange; - internal unsafe delegate* glFlushMappedNamedBufferRange; - internal unsafe delegate* glFramebufferParameteri; - internal unsafe delegate* glFramebufferRenderbuffer; - internal unsafe delegate* glFramebufferTexture; - internal unsafe delegate* glFramebufferTexture1D; - internal unsafe delegate* glFramebufferTexture2D; - internal unsafe delegate* glFramebufferTexture3D; - internal unsafe delegate* glFramebufferTextureLayer; - internal unsafe delegate* glFrontFace; - internal unsafe delegate* glGenBuffers; - internal unsafe delegate* glGenFramebuffers; - internal unsafe delegate* glGenProgramPipelines; - internal unsafe delegate* glGenQueries; - internal unsafe delegate* glGenRenderbuffers; - internal unsafe delegate* glGenSamplers; - internal unsafe delegate* glGenTextures; - internal unsafe delegate* glGenTransformFeedbacks; - internal unsafe delegate* glGenVertexArrays; - internal unsafe delegate* glGenerateMipmap; - internal unsafe delegate* glGenerateTextureMipmap; - internal unsafe delegate* glGetActiveAtomicCounterBufferiv; - internal unsafe delegate* glGetActiveAttrib; - internal unsafe delegate* glGetActiveSubroutineName; - internal unsafe delegate* glGetActiveSubroutineUniformName; - internal unsafe delegate* glGetActiveSubroutineUniformiv; - internal unsafe delegate* glGetActiveUniform; - internal unsafe delegate* glGetActiveUniformBlockName; - internal unsafe delegate* glGetActiveUniformBlockiv; - internal unsafe delegate* glGetActiveUniformName; - internal unsafe delegate* glGetActiveUniformsiv; - internal unsafe delegate* glGetAttachedShaders; - internal unsafe delegate* glGetAttribLocation; - internal unsafe delegate* glGetBooleani_v; - internal unsafe delegate* glGetBooleanv; - internal unsafe delegate* glGetBufferParameteri64v; - internal unsafe delegate* glGetBufferParameteriv; - internal unsafe delegate* glGetBufferPointerv; - internal unsafe delegate* glGetBufferSubData; - internal unsafe delegate* glGetCompressedTexImage; - internal unsafe delegate* glGetCompressedTextureImage; - internal unsafe delegate* glGetCompressedTextureSubImage; - internal unsafe delegate* glGetDebugMessageLog; - internal unsafe delegate* glGetDoublei_v; - internal unsafe delegate* glGetDoublev; - internal unsafe delegate* glGetError; - internal unsafe delegate* glGetFloati_v; - internal unsafe delegate* glGetFloatv; - internal unsafe delegate* glGetFragDataIndex; - internal unsafe delegate* glGetFragDataLocation; - internal unsafe delegate* glGetFramebufferAttachmentParameteriv; - internal unsafe delegate* glGetFramebufferParameteriv; - internal unsafe delegate* glGetGraphicsResetStatus; - internal unsafe delegate* glGetInteger64i_v; - internal unsafe delegate* glGetInteger64v; - internal unsafe delegate* glGetIntegeri_v; - internal unsafe delegate* glGetIntegerv; - internal unsafe delegate* glGetInternalformati64v; - internal unsafe delegate* glGetInternalformativ; - internal unsafe delegate* glGetMultisamplefv; - internal unsafe delegate* glGetNamedBufferParameteri64v; - internal unsafe delegate* glGetNamedBufferParameteriv; - internal unsafe delegate* glGetNamedBufferPointerv; - internal unsafe delegate* glGetNamedBufferSubData; - internal unsafe delegate* glGetNamedFramebufferAttachmentParameteriv; - internal unsafe delegate* glGetNamedFramebufferParameteriv; - internal unsafe delegate* glGetNamedRenderbufferParameteriv; - internal unsafe delegate* glGetObjectLabel; - internal unsafe delegate* glGetObjectPtrLabel; - internal unsafe delegate* glGetPointerv; - internal unsafe delegate* glGetProgramBinary; - internal unsafe delegate* glGetProgramInfoLog; - internal unsafe delegate* glGetProgramInterfaceiv; - internal unsafe delegate* glGetProgramPipelineInfoLog; - internal unsafe delegate* glGetProgramPipelineiv; - internal unsafe delegate* glGetProgramResourceIndex; - internal unsafe delegate* glGetProgramResourceLocation; - internal unsafe delegate* glGetProgramResourceLocationIndex; - internal unsafe delegate* glGetProgramResourceName; - internal unsafe delegate* glGetProgramResourceiv; - internal unsafe delegate* glGetProgramStageiv; - internal unsafe delegate* glGetProgramiv; - internal unsafe delegate* glGetQueryBufferObjecti64v; - internal unsafe delegate* glGetQueryBufferObjectiv; - internal unsafe delegate* glGetQueryBufferObjectui64v; - internal unsafe delegate* glGetQueryBufferObjectuiv; - internal unsafe delegate* glGetQueryIndexediv; - internal unsafe delegate* glGetQueryObjecti64v; - internal unsafe delegate* glGetQueryObjectiv; - internal unsafe delegate* glGetQueryObjectui64v; - internal unsafe delegate* glGetQueryObjectuiv; - internal unsafe delegate* glGetQueryiv; - internal unsafe delegate* glGetRenderbufferParameteriv; - internal unsafe delegate* glGetSamplerParameterIiv; - internal unsafe delegate* glGetSamplerParameterIuiv; - internal unsafe delegate* glGetSamplerParameterfv; - internal unsafe delegate* glGetSamplerParameteriv; - internal unsafe delegate* glGetShaderInfoLog; - internal unsafe delegate* glGetShaderPrecisionFormat; - internal unsafe delegate* glGetShaderSource; - internal unsafe delegate* glGetShaderiv; - internal unsafe delegate* glGetString; - internal unsafe delegate* glGetStringi; - internal unsafe delegate* glGetSubroutineIndex; - internal unsafe delegate* glGetSubroutineUniformLocation; - internal unsafe delegate* glGetSynciv; - internal unsafe delegate* glGetTexImage; - internal unsafe delegate* glGetTexLevelParameterfv; - internal unsafe delegate* glGetTexLevelParameteriv; - internal unsafe delegate* glGetTexParameterIiv; - internal unsafe delegate* glGetTexParameterIuiv; - internal unsafe delegate* glGetTexParameterfv; - internal unsafe delegate* glGetTexParameteriv; - internal unsafe delegate* glGetTextureImage; - internal unsafe delegate* glGetTextureLevelParameterfv; - internal unsafe delegate* glGetTextureLevelParameteriv; - internal unsafe delegate* glGetTextureParameterIiv; - internal unsafe delegate* glGetTextureParameterIuiv; - internal unsafe delegate* glGetTextureParameterfv; - internal unsafe delegate* glGetTextureParameteriv; - internal unsafe delegate* glGetTextureSubImage; - internal unsafe delegate* glGetTransformFeedbackVarying; - internal unsafe delegate* glGetTransformFeedbacki64_v; - internal unsafe delegate* glGetTransformFeedbacki_v; - internal unsafe delegate* glGetTransformFeedbackiv; - internal unsafe delegate* glGetUniformBlockIndex; - internal unsafe delegate* glGetUniformIndices; - internal unsafe delegate* glGetUniformLocation; - internal unsafe delegate* glGetUniformSubroutineuiv; - internal unsafe delegate* glGetUniformdv; - internal unsafe delegate* glGetUniformfv; - internal unsafe delegate* glGetUniformiv; - internal unsafe delegate* glGetUniformuiv; - internal unsafe delegate* glGetVertexArrayIndexed64iv; - internal unsafe delegate* glGetVertexArrayIndexediv; - internal unsafe delegate* glGetVertexArrayiv; - internal unsafe delegate* glGetVertexAttribIiv; - internal unsafe delegate* glGetVertexAttribIuiv; - internal unsafe delegate* glGetVertexAttribLdv; - internal unsafe delegate* glGetVertexAttribPointerv; - internal unsafe delegate* glGetVertexAttribdv; - internal unsafe delegate* glGetVertexAttribfv; - internal unsafe delegate* glGetVertexAttribiv; - internal unsafe delegate* glGetnCompressedTexImage; - internal unsafe delegate* glGetnTexImage; - internal unsafe delegate* glGetnUniformdv; - internal unsafe delegate* glGetnUniformfv; - internal unsafe delegate* glGetnUniformiv; - internal unsafe delegate* glGetnUniformuiv; - internal unsafe delegate* glHint; - internal unsafe delegate* glInvalidateBufferData; - internal unsafe delegate* glInvalidateBufferSubData; - internal unsafe delegate* glInvalidateFramebuffer; - internal unsafe delegate* glInvalidateNamedFramebufferData; - internal unsafe delegate* glInvalidateNamedFramebufferSubData; - internal unsafe delegate* glInvalidateSubFramebuffer; - internal unsafe delegate* glInvalidateTexImage; - internal unsafe delegate* glInvalidateTexSubImage; - internal unsafe delegate* glIsBuffer; - internal unsafe delegate* glIsEnabled; - internal unsafe delegate* glIsEnabledi; - internal unsafe delegate* glIsFramebuffer; - internal unsafe delegate* glIsProgram; - internal unsafe delegate* glIsProgramPipeline; - internal unsafe delegate* glIsQuery; - internal unsafe delegate* glIsRenderbuffer; - internal unsafe delegate* glIsSampler; - internal unsafe delegate* glIsShader; - internal unsafe delegate* glIsSync; - internal unsafe delegate* glIsTexture; - internal unsafe delegate* glIsTransformFeedback; - internal unsafe delegate* glIsVertexArray; - internal unsafe delegate* glLineWidth; - internal unsafe delegate* glLinkProgram; - internal unsafe delegate* glLogicOp; - internal unsafe delegate* glMapBuffer; - internal unsafe delegate* glMapBufferRange; - internal unsafe delegate* glMapNamedBuffer; - internal unsafe delegate* glMapNamedBufferRange; - internal unsafe delegate* glMemoryBarrier; - internal unsafe delegate* glMemoryBarrierByRegion; - internal unsafe delegate* glMinSampleShading; - internal unsafe delegate* glMultiDrawArrays; - internal unsafe delegate* glMultiDrawArraysIndirect; - internal unsafe delegate* glMultiDrawArraysIndirectCount; - internal unsafe delegate* glMultiDrawElements; - internal unsafe delegate* glMultiDrawElementsBaseVertex; - internal unsafe delegate* glMultiDrawElementsIndirect; - internal unsafe delegate* glMultiDrawElementsIndirectCount; - internal unsafe delegate* glNamedBufferData; - internal unsafe delegate* glNamedBufferStorage; - internal unsafe delegate* glNamedBufferSubData; - internal unsafe delegate* glNamedFramebufferDrawBuffer; - internal unsafe delegate* glNamedFramebufferDrawBuffers; - internal unsafe delegate* glNamedFramebufferParameteri; - internal unsafe delegate* glNamedFramebufferReadBuffer; - internal unsafe delegate* glNamedFramebufferRenderbuffer; - internal unsafe delegate* glNamedFramebufferTexture; - internal unsafe delegate* glNamedFramebufferTextureLayer; - internal unsafe delegate* glNamedRenderbufferStorage; - internal unsafe delegate* glNamedRenderbufferStorageMultisample; - internal unsafe delegate* glObjectLabel; - internal unsafe delegate* glObjectPtrLabel; - internal unsafe delegate* glPatchParameterfv; - internal unsafe delegate* glPatchParameteri; - internal unsafe delegate* glPauseTransformFeedback; - internal unsafe delegate* glPixelStoref; - internal unsafe delegate* glPixelStorei; - internal unsafe delegate* glPointParameterf; - internal unsafe delegate* glPointParameterfv; - internal unsafe delegate* glPointParameteri; - internal unsafe delegate* glPointParameteriv; - internal unsafe delegate* glPointSize; - internal unsafe delegate* glPolygonMode; - internal unsafe delegate* glPolygonOffset; - internal unsafe delegate* glPolygonOffsetClamp; - internal unsafe delegate* glPopDebugGroup; - internal unsafe delegate* glPrimitiveRestartIndex; - internal unsafe delegate* glProgramBinary; - internal unsafe delegate* glProgramParameteri; - internal unsafe delegate* glProgramUniform1d; - internal unsafe delegate* glProgramUniform1dv; - internal unsafe delegate* glProgramUniform1f; - internal unsafe delegate* glProgramUniform1fv; - internal unsafe delegate* glProgramUniform1i; - internal unsafe delegate* glProgramUniform1iv; - internal unsafe delegate* glProgramUniform1ui; - internal unsafe delegate* glProgramUniform1uiv; - internal unsafe delegate* glProgramUniform2d; - internal unsafe delegate* glProgramUniform2dv; - internal unsafe delegate* glProgramUniform2f; - internal unsafe delegate* glProgramUniform2fv; - internal unsafe delegate* glProgramUniform2i; - internal unsafe delegate* glProgramUniform2iv; - internal unsafe delegate* glProgramUniform2ui; - internal unsafe delegate* glProgramUniform2uiv; - internal unsafe delegate* glProgramUniform3d; - internal unsafe delegate* glProgramUniform3dv; - internal unsafe delegate* glProgramUniform3f; - internal unsafe delegate* glProgramUniform3fv; - internal unsafe delegate* glProgramUniform3i; - internal unsafe delegate* glProgramUniform3iv; - internal unsafe delegate* glProgramUniform3ui; - internal unsafe delegate* glProgramUniform3uiv; - internal unsafe delegate* glProgramUniform4d; - internal unsafe delegate* glProgramUniform4dv; - internal unsafe delegate* glProgramUniform4f; - internal unsafe delegate* glProgramUniform4fv; - internal unsafe delegate* glProgramUniform4i; - internal unsafe delegate* glProgramUniform4iv; - internal unsafe delegate* glProgramUniform4ui; - internal unsafe delegate* glProgramUniform4uiv; - internal unsafe delegate* glProgramUniformMatrix2dv; - internal unsafe delegate* glProgramUniformMatrix2fv; - internal unsafe delegate* glProgramUniformMatrix2x3dv; - internal unsafe delegate* glProgramUniformMatrix2x3fv; - internal unsafe delegate* glProgramUniformMatrix2x4dv; - internal unsafe delegate* glProgramUniformMatrix2x4fv; - internal unsafe delegate* glProgramUniformMatrix3dv; - internal unsafe delegate* glProgramUniformMatrix3fv; - internal unsafe delegate* glProgramUniformMatrix3x2dv; - internal unsafe delegate* glProgramUniformMatrix3x2fv; - internal unsafe delegate* glProgramUniformMatrix3x4dv; - internal unsafe delegate* glProgramUniformMatrix3x4fv; - internal unsafe delegate* glProgramUniformMatrix4dv; - internal unsafe delegate* glProgramUniformMatrix4fv; - internal unsafe delegate* glProgramUniformMatrix4x2dv; - internal unsafe delegate* glProgramUniformMatrix4x2fv; - internal unsafe delegate* glProgramUniformMatrix4x3dv; - internal unsafe delegate* glProgramUniformMatrix4x3fv; - internal unsafe delegate* glProvokingVertex; - internal unsafe delegate* glPushDebugGroup; - internal unsafe delegate* glQueryCounter; - internal unsafe delegate* glReadBuffer; - internal unsafe delegate* glReadPixels; - internal unsafe delegate* glReadnPixels; - internal unsafe delegate* glReleaseShaderCompiler; - internal unsafe delegate* glRenderbufferStorage; - internal unsafe delegate* glRenderbufferStorageMultisample; - internal unsafe delegate* glResumeTransformFeedback; - internal unsafe delegate* glSampleCoverage; - internal unsafe delegate* glSampleMaski; - internal unsafe delegate* glSamplerParameterIiv; - internal unsafe delegate* glSamplerParameterIuiv; - internal unsafe delegate* glSamplerParameterf; - internal unsafe delegate* glSamplerParameterfv; - internal unsafe delegate* glSamplerParameteri; - internal unsafe delegate* glSamplerParameteriv; - internal unsafe delegate* glScissor; - internal unsafe delegate* glScissorArrayv; - internal unsafe delegate* glScissorIndexed; - internal unsafe delegate* glScissorIndexedv; - internal unsafe delegate* glShaderBinary; - internal unsafe delegate* glShaderSource; - internal unsafe delegate* glShaderStorageBlockBinding; - internal unsafe delegate* glSpecializeShader; - internal unsafe delegate* glStencilFunc; - internal unsafe delegate* glStencilFuncSeparate; - internal unsafe delegate* glStencilMask; - internal unsafe delegate* glStencilMaskSeparate; - internal unsafe delegate* glStencilOp; - internal unsafe delegate* glStencilOpSeparate; - internal unsafe delegate* glTexBuffer; - internal unsafe delegate* glTexBufferRange; - internal unsafe delegate* glTexImage1D; - internal unsafe delegate* glTexImage2D; - internal unsafe delegate* glTexImage2DMultisample; - internal unsafe delegate* glTexImage3D; - internal unsafe delegate* glTexImage3DMultisample; - internal unsafe delegate* glTexParameterIiv; - internal unsafe delegate* glTexParameterIuiv; - internal unsafe delegate* glTexParameterf; - internal unsafe delegate* glTexParameterfv; - internal unsafe delegate* glTexParameteri; - internal unsafe delegate* glTexParameteriv; - internal unsafe delegate* glTexStorage1D; - internal unsafe delegate* glTexStorage2D; - internal unsafe delegate* glTexStorage2DMultisample; - internal unsafe delegate* glTexStorage3D; - internal unsafe delegate* glTexStorage3DMultisample; - internal unsafe delegate* glTexSubImage1D; - internal unsafe delegate* glTexSubImage2D; - internal unsafe delegate* glTexSubImage3D; - internal unsafe delegate* glTextureBarrier; - internal unsafe delegate* glTextureBuffer; - internal unsafe delegate* glTextureBufferRange; - internal unsafe delegate* glTextureParameterIiv; - internal unsafe delegate* glTextureParameterIuiv; - internal unsafe delegate* glTextureParameterf; - internal unsafe delegate* glTextureParameterfv; - internal unsafe delegate* glTextureParameteri; - internal unsafe delegate* glTextureParameteriv; - internal unsafe delegate* glTextureStorage1D; - internal unsafe delegate* glTextureStorage2D; - internal unsafe delegate* glTextureStorage2DMultisample; - internal unsafe delegate* glTextureStorage3D; - internal unsafe delegate* glTextureStorage3DMultisample; - internal unsafe delegate* glTextureSubImage1D; - internal unsafe delegate* glTextureSubImage2D; - internal unsafe delegate* glTextureSubImage3D; - internal unsafe delegate* glTextureView; - internal unsafe delegate* glTransformFeedbackBufferBase; - internal unsafe delegate* glTransformFeedbackBufferRange; - internal unsafe delegate* glTransformFeedbackVaryings; - internal unsafe delegate* glUniform1d; - internal unsafe delegate* glUniform1dv; - internal unsafe delegate* glUniform1f; - internal unsafe delegate* glUniform1fv; - internal unsafe delegate* glUniform1i; - internal unsafe delegate* glUniform1iv; - internal unsafe delegate* glUniform1ui; - internal unsafe delegate* glUniform1uiv; - internal unsafe delegate* glUniform2d; - internal unsafe delegate* glUniform2dv; - internal unsafe delegate* glUniform2f; - internal unsafe delegate* glUniform2fv; - internal unsafe delegate* glUniform2i; - internal unsafe delegate* glUniform2iv; - internal unsafe delegate* glUniform2ui; - internal unsafe delegate* glUniform2uiv; - internal unsafe delegate* glUniform3d; - internal unsafe delegate* glUniform3dv; - internal unsafe delegate* glUniform3f; - internal unsafe delegate* glUniform3fv; - internal unsafe delegate* glUniform3i; - internal unsafe delegate* glUniform3iv; - internal unsafe delegate* glUniform3ui; - internal unsafe delegate* glUniform3uiv; - internal unsafe delegate* glUniform4d; - internal unsafe delegate* glUniform4dv; - internal unsafe delegate* glUniform4f; - internal unsafe delegate* glUniform4fv; - internal unsafe delegate* glUniform4i; - internal unsafe delegate* glUniform4iv; - internal unsafe delegate* glUniform4ui; - internal unsafe delegate* glUniform4uiv; - internal unsafe delegate* glUniformBlockBinding; - internal unsafe delegate* glUniformMatrix2dv; - internal unsafe delegate* glUniformMatrix2fv; - internal unsafe delegate* glUniformMatrix2x3dv; - internal unsafe delegate* glUniformMatrix2x3fv; - internal unsafe delegate* glUniformMatrix2x4dv; - internal unsafe delegate* glUniformMatrix2x4fv; - internal unsafe delegate* glUniformMatrix3dv; - internal unsafe delegate* glUniformMatrix3fv; - internal unsafe delegate* glUniformMatrix3x2dv; - internal unsafe delegate* glUniformMatrix3x2fv; - internal unsafe delegate* glUniformMatrix3x4dv; - internal unsafe delegate* glUniformMatrix3x4fv; - internal unsafe delegate* glUniformMatrix4dv; - internal unsafe delegate* glUniformMatrix4fv; - internal unsafe delegate* glUniformMatrix4x2dv; - internal unsafe delegate* glUniformMatrix4x2fv; - internal unsafe delegate* glUniformMatrix4x3dv; - internal unsafe delegate* glUniformMatrix4x3fv; - internal unsafe delegate* glUniformSubroutinesuiv; - internal unsafe delegate* glUnmapBuffer; - internal unsafe delegate* glUnmapNamedBuffer; - internal unsafe delegate* glUseProgram; - internal unsafe delegate* glUseProgramStages; - internal unsafe delegate* glValidateProgram; - internal unsafe delegate* glValidateProgramPipeline; - internal unsafe delegate* glVertexArrayAttribBinding; - internal unsafe delegate* glVertexArrayAttribFormat; - internal unsafe delegate* glVertexArrayAttribIFormat; - internal unsafe delegate* glVertexArrayAttribLFormat; - internal unsafe delegate* glVertexArrayBindingDivisor; - internal unsafe delegate* glVertexArrayElementBuffer; - internal unsafe delegate* glVertexArrayVertexBuffer; - internal unsafe delegate* glVertexArrayVertexBuffers; - internal unsafe delegate* glVertexAttrib1d; - internal unsafe delegate* glVertexAttrib1dv; - internal unsafe delegate* glVertexAttrib1f; - internal unsafe delegate* glVertexAttrib1fv; - internal unsafe delegate* glVertexAttrib1s; - internal unsafe delegate* glVertexAttrib1sv; - internal unsafe delegate* glVertexAttrib2d; - internal unsafe delegate* glVertexAttrib2dv; - internal unsafe delegate* glVertexAttrib2f; - internal unsafe delegate* glVertexAttrib2fv; - internal unsafe delegate* glVertexAttrib2s; - internal unsafe delegate* glVertexAttrib2sv; - internal unsafe delegate* glVertexAttrib3d; - internal unsafe delegate* glVertexAttrib3dv; - internal unsafe delegate* glVertexAttrib3f; - internal unsafe delegate* glVertexAttrib3fv; - internal unsafe delegate* glVertexAttrib3s; - internal unsafe delegate* glVertexAttrib3sv; - internal unsafe delegate* glVertexAttrib4Nbv; - internal unsafe delegate* glVertexAttrib4Niv; - internal unsafe delegate* glVertexAttrib4Nsv; - internal unsafe delegate* glVertexAttrib4Nub; - internal unsafe delegate* glVertexAttrib4Nubv; - internal unsafe delegate* glVertexAttrib4Nuiv; - internal unsafe delegate* glVertexAttrib4Nusv; - internal unsafe delegate* glVertexAttrib4bv; - internal unsafe delegate* glVertexAttrib4d; - internal unsafe delegate* glVertexAttrib4dv; - internal unsafe delegate* glVertexAttrib4f; - internal unsafe delegate* glVertexAttrib4fv; - internal unsafe delegate* glVertexAttrib4iv; - internal unsafe delegate* glVertexAttrib4s; - internal unsafe delegate* glVertexAttrib4sv; - internal unsafe delegate* glVertexAttrib4ubv; - internal unsafe delegate* glVertexAttrib4uiv; - internal unsafe delegate* glVertexAttrib4usv; - internal unsafe delegate* glVertexAttribBinding; - internal unsafe delegate* glVertexAttribDivisor; - internal unsafe delegate* glVertexAttribFormat; - internal unsafe delegate* glVertexAttribI1i; - internal unsafe delegate* glVertexAttribI1iv; - internal unsafe delegate* glVertexAttribI1ui; - internal unsafe delegate* glVertexAttribI1uiv; - internal unsafe delegate* glVertexAttribI2i; - internal unsafe delegate* glVertexAttribI2iv; - internal unsafe delegate* glVertexAttribI2ui; - internal unsafe delegate* glVertexAttribI2uiv; - internal unsafe delegate* glVertexAttribI3i; - internal unsafe delegate* glVertexAttribI3iv; - internal unsafe delegate* glVertexAttribI3ui; - internal unsafe delegate* glVertexAttribI3uiv; - internal unsafe delegate* glVertexAttribI4bv; - internal unsafe delegate* glVertexAttribI4i; - internal unsafe delegate* glVertexAttribI4iv; - internal unsafe delegate* glVertexAttribI4sv; - internal unsafe delegate* glVertexAttribI4ubv; - internal unsafe delegate* glVertexAttribI4ui; - internal unsafe delegate* glVertexAttribI4uiv; - internal unsafe delegate* glVertexAttribI4usv; - internal unsafe delegate* glVertexAttribIFormat; - internal unsafe delegate* glVertexAttribIPointer; - internal unsafe delegate* glVertexAttribL1d; - internal unsafe delegate* glVertexAttribL1dv; - internal unsafe delegate* glVertexAttribL2d; - internal unsafe delegate* glVertexAttribL2dv; - internal unsafe delegate* glVertexAttribL3d; - internal unsafe delegate* glVertexAttribL3dv; - internal unsafe delegate* glVertexAttribL4d; - internal unsafe delegate* glVertexAttribL4dv; - internal unsafe delegate* glVertexAttribLFormat; - internal unsafe delegate* glVertexAttribLPointer; - internal unsafe delegate* glVertexAttribP1ui; - internal unsafe delegate* glVertexAttribP1uiv; - internal unsafe delegate* glVertexAttribP2ui; - internal unsafe delegate* glVertexAttribP2uiv; - internal unsafe delegate* glVertexAttribP3ui; - internal unsafe delegate* glVertexAttribP3uiv; - internal unsafe delegate* glVertexAttribP4ui; - internal unsafe delegate* glVertexAttribP4uiv; - internal unsafe delegate* glVertexAttribPointer; - internal unsafe delegate* glVertexBindingDivisor; - internal unsafe delegate* glViewport; - internal unsafe delegate* glViewportArrayv; - internal unsafe delegate* glViewportIndexedf; - internal unsafe delegate* glViewportIndexedfv; - internal unsafe delegate* glWaitSync; + internal delegate* unmanaged glCullFace; + internal delegate* unmanaged glFrontFace; + internal delegate* unmanaged glHint; + internal delegate* unmanaged glLineWidth; + internal delegate* unmanaged glPointSize; + internal delegate* unmanaged glPolygonMode; + internal delegate* unmanaged glScissor; + internal delegate* unmanaged glTexParameterf; + internal delegate* unmanaged glTexParameterfv; + internal delegate* unmanaged glTexParameteri; + internal delegate* unmanaged glTexParameteriv; + internal delegate* unmanaged glTexImage1D; + internal delegate* unmanaged glTexImage2D; + internal delegate* unmanaged glDrawBuffer; + internal delegate* unmanaged glClear; + internal delegate* unmanaged glClearColor; + internal delegate* unmanaged glClearStencil; + internal delegate* unmanaged glClearDepth; + internal delegate* unmanaged glStencilMask; + internal delegate* unmanaged glColorMask; + internal delegate* unmanaged glDepthMask; + internal delegate* unmanaged glDisable; + internal delegate* unmanaged glEnable; + internal delegate* unmanaged glFinish; + internal delegate* unmanaged glFlush; + internal delegate* unmanaged glBlendFunc; + internal delegate* unmanaged glLogicOp; + internal delegate* unmanaged glStencilFunc; + internal delegate* unmanaged glStencilOp; + internal delegate* unmanaged glDepthFunc; + internal delegate* unmanaged glPixelStoref; + internal delegate* unmanaged glPixelStorei; + internal delegate* unmanaged glReadBuffer; + internal delegate* unmanaged glReadPixels; + internal delegate* unmanaged glGetBooleanv; + internal delegate* unmanaged glGetDoublev; + internal delegate* unmanaged glGetError; + internal delegate* unmanaged glGetFloatv; + internal delegate* unmanaged glGetIntegerv; + internal delegate* unmanaged glGetString; + internal delegate* unmanaged glGetTexImage; + internal delegate* unmanaged glGetTexParameterfv; + internal delegate* unmanaged glGetTexParameteriv; + internal delegate* unmanaged glGetTexLevelParameterfv; + internal delegate* unmanaged glGetTexLevelParameteriv; + internal delegate* unmanaged glIsEnabled; + internal delegate* unmanaged glDepthRange; + internal delegate* unmanaged glViewport; + internal delegate* unmanaged glDrawArrays; + internal delegate* unmanaged glDrawElements; + internal delegate* unmanaged glGetPointerv; + internal delegate* unmanaged glPolygonOffset; + internal delegate* unmanaged glCopyTexImage1D; + internal delegate* unmanaged glCopyTexImage2D; + internal delegate* unmanaged glCopyTexSubImage1D; + internal delegate* unmanaged glCopyTexSubImage2D; + internal delegate* unmanaged glTexSubImage1D; + internal delegate* unmanaged glTexSubImage2D; + internal delegate* unmanaged glBindTexture; + internal delegate* unmanaged glDeleteTextures; + internal delegate* unmanaged glGenTextures; + internal delegate* unmanaged glIsTexture; + internal delegate* unmanaged glDrawRangeElements; + internal delegate* unmanaged glTexImage3D; + internal delegate* unmanaged glTexSubImage3D; + internal delegate* unmanaged glCopyTexSubImage3D; + internal delegate* unmanaged glActiveTexture; + internal delegate* unmanaged glSampleCoverage; + internal delegate* unmanaged glCompressedTexImage3D; + internal delegate* unmanaged glCompressedTexImage2D; + internal delegate* unmanaged glCompressedTexImage1D; + internal delegate* unmanaged glCompressedTexSubImage3D; + internal delegate* unmanaged glCompressedTexSubImage2D; + internal delegate* unmanaged glCompressedTexSubImage1D; + internal delegate* unmanaged glGetCompressedTexImage; + internal delegate* unmanaged glBlendFuncSeparate; + internal delegate* unmanaged glMultiDrawArrays; + internal delegate* unmanaged glMultiDrawElements; + internal delegate* unmanaged glPointParameterf; + internal delegate* unmanaged glPointParameterfv; + internal delegate* unmanaged glPointParameteri; + internal delegate* unmanaged glPointParameteriv; + internal delegate* unmanaged glBlendColor; + internal delegate* unmanaged glBlendEquation; + internal delegate* unmanaged glGenQueries; + internal delegate* unmanaged glDeleteQueries; + internal delegate* unmanaged glIsQuery; + internal delegate* unmanaged glBeginQuery; + internal delegate* unmanaged glEndQuery; + internal delegate* unmanaged glGetQueryiv; + internal delegate* unmanaged glGetQueryObjectiv; + internal delegate* unmanaged glGetQueryObjectuiv; + internal delegate* unmanaged glBindBuffer; + internal delegate* unmanaged glDeleteBuffers; + internal delegate* unmanaged glGenBuffers; + internal delegate* unmanaged glIsBuffer; + internal delegate* unmanaged glBufferData; + internal delegate* unmanaged glBufferSubData; + internal delegate* unmanaged glGetBufferSubData; + internal delegate* unmanaged glMapBuffer; + internal delegate* unmanaged glUnmapBuffer; + internal delegate* unmanaged glGetBufferParameteriv; + internal delegate* unmanaged glGetBufferPointerv; + internal delegate* unmanaged glBlendEquationSeparate; + internal delegate* unmanaged glDrawBuffers; + internal delegate* unmanaged glStencilOpSeparate; + internal delegate* unmanaged glStencilFuncSeparate; + internal delegate* unmanaged glStencilMaskSeparate; + internal delegate* unmanaged glAttachShader; + internal delegate* unmanaged glBindAttribLocation; + internal delegate* unmanaged glCompileShader; + internal delegate* unmanaged glCreateProgram; + internal delegate* unmanaged glCreateShader; + internal delegate* unmanaged glDeleteProgram; + internal delegate* unmanaged glDeleteShader; + internal delegate* unmanaged glDetachShader; + internal delegate* unmanaged glDisableVertexAttribArray; + internal delegate* unmanaged glEnableVertexAttribArray; + internal delegate* unmanaged glGetActiveAttrib; + internal delegate* unmanaged glGetActiveUniform; + internal delegate* unmanaged glGetAttachedShaders; + internal delegate* unmanaged glGetAttribLocation; + internal delegate* unmanaged glGetProgramiv; + internal delegate* unmanaged glGetProgramInfoLog; + internal delegate* unmanaged glGetShaderiv; + internal delegate* unmanaged glGetShaderInfoLog; + internal delegate* unmanaged glGetShaderSource; + internal delegate* unmanaged glGetUniformLocation; + internal delegate* unmanaged glGetUniformfv; + internal delegate* unmanaged glGetUniformiv; + internal delegate* unmanaged glGetVertexAttribdv; + internal delegate* unmanaged glGetVertexAttribfv; + internal delegate* unmanaged glGetVertexAttribiv; + internal delegate* unmanaged glGetVertexAttribPointerv; + internal delegate* unmanaged glIsProgram; + internal delegate* unmanaged glIsShader; + internal delegate* unmanaged glLinkProgram; + internal delegate* unmanaged glShaderSource; + internal delegate* unmanaged glUseProgram; + internal delegate* unmanaged glUniform1f; + internal delegate* unmanaged glUniform2f; + internal delegate* unmanaged glUniform3f; + internal delegate* unmanaged glUniform4f; + internal delegate* unmanaged glUniform1i; + internal delegate* unmanaged glUniform2i; + internal delegate* unmanaged glUniform3i; + internal delegate* unmanaged glUniform4i; + internal delegate* unmanaged glUniform1fv; + internal delegate* unmanaged glUniform2fv; + internal delegate* unmanaged glUniform3fv; + internal delegate* unmanaged glUniform4fv; + internal delegate* unmanaged glUniform1iv; + internal delegate* unmanaged glUniform2iv; + internal delegate* unmanaged glUniform3iv; + internal delegate* unmanaged glUniform4iv; + internal delegate* unmanaged glUniformMatrix2fv; + internal delegate* unmanaged glUniformMatrix3fv; + internal delegate* unmanaged glUniformMatrix4fv; + internal delegate* unmanaged glValidateProgram; + internal delegate* unmanaged glVertexAttrib1d; + internal delegate* unmanaged glVertexAttrib1dv; + internal delegate* unmanaged glVertexAttrib1f; + internal delegate* unmanaged glVertexAttrib1fv; + internal delegate* unmanaged glVertexAttrib1s; + internal delegate* unmanaged glVertexAttrib1sv; + internal delegate* unmanaged glVertexAttrib2d; + internal delegate* unmanaged glVertexAttrib2dv; + internal delegate* unmanaged glVertexAttrib2f; + internal delegate* unmanaged glVertexAttrib2fv; + internal delegate* unmanaged glVertexAttrib2s; + internal delegate* unmanaged glVertexAttrib2sv; + internal delegate* unmanaged glVertexAttrib3d; + internal delegate* unmanaged glVertexAttrib3dv; + internal delegate* unmanaged glVertexAttrib3f; + internal delegate* unmanaged glVertexAttrib3fv; + internal delegate* unmanaged glVertexAttrib3s; + internal delegate* unmanaged glVertexAttrib3sv; + internal delegate* unmanaged glVertexAttrib4Nbv; + internal delegate* unmanaged glVertexAttrib4Niv; + internal delegate* unmanaged glVertexAttrib4Nsv; + internal delegate* unmanaged glVertexAttrib4Nub; + internal delegate* unmanaged glVertexAttrib4Nubv; + internal delegate* unmanaged glVertexAttrib4Nuiv; + internal delegate* unmanaged glVertexAttrib4Nusv; + internal delegate* unmanaged glVertexAttrib4bv; + internal delegate* unmanaged glVertexAttrib4d; + internal delegate* unmanaged glVertexAttrib4dv; + internal delegate* unmanaged glVertexAttrib4f; + internal delegate* unmanaged glVertexAttrib4fv; + internal delegate* unmanaged glVertexAttrib4iv; + internal delegate* unmanaged glVertexAttrib4s; + internal delegate* unmanaged glVertexAttrib4sv; + internal delegate* unmanaged glVertexAttrib4ubv; + internal delegate* unmanaged glVertexAttrib4uiv; + internal delegate* unmanaged glVertexAttrib4usv; + internal delegate* unmanaged glVertexAttribPointer; + internal delegate* unmanaged glUniformMatrix2x3fv; + internal delegate* unmanaged glUniformMatrix3x2fv; + internal delegate* unmanaged glUniformMatrix2x4fv; + internal delegate* unmanaged glUniformMatrix4x2fv; + internal delegate* unmanaged glUniformMatrix3x4fv; + internal delegate* unmanaged glUniformMatrix4x3fv; + internal delegate* unmanaged glColorMaski; + internal delegate* unmanaged glGetBooleani_v; + internal delegate* unmanaged glGetIntegeri_v; + internal delegate* unmanaged glEnablei; + internal delegate* unmanaged glDisablei; + internal delegate* unmanaged glIsEnabledi; + internal delegate* unmanaged glBeginTransformFeedback; + internal delegate* unmanaged glEndTransformFeedback; + internal delegate* unmanaged glBindBufferRange; + internal delegate* unmanaged glBindBufferBase; + internal delegate* unmanaged glTransformFeedbackVaryings; + internal delegate* unmanaged glGetTransformFeedbackVarying; + internal delegate* unmanaged glClampColor; + internal delegate* unmanaged glBeginConditionalRender; + internal delegate* unmanaged glEndConditionalRender; + internal delegate* unmanaged glVertexAttribIPointer; + internal delegate* unmanaged glGetVertexAttribIiv; + internal delegate* unmanaged glGetVertexAttribIuiv; + internal delegate* unmanaged glVertexAttribI1i; + internal delegate* unmanaged glVertexAttribI2i; + internal delegate* unmanaged glVertexAttribI3i; + internal delegate* unmanaged glVertexAttribI4i; + internal delegate* unmanaged glVertexAttribI1ui; + internal delegate* unmanaged glVertexAttribI2ui; + internal delegate* unmanaged glVertexAttribI3ui; + internal delegate* unmanaged glVertexAttribI4ui; + internal delegate* unmanaged glVertexAttribI1iv; + internal delegate* unmanaged glVertexAttribI2iv; + internal delegate* unmanaged glVertexAttribI3iv; + internal delegate* unmanaged glVertexAttribI4iv; + internal delegate* unmanaged glVertexAttribI1uiv; + internal delegate* unmanaged glVertexAttribI2uiv; + internal delegate* unmanaged glVertexAttribI3uiv; + internal delegate* unmanaged glVertexAttribI4uiv; + internal delegate* unmanaged glVertexAttribI4bv; + internal delegate* unmanaged glVertexAttribI4sv; + internal delegate* unmanaged glVertexAttribI4ubv; + internal delegate* unmanaged glVertexAttribI4usv; + internal delegate* unmanaged glGetUniformuiv; + internal delegate* unmanaged glBindFragDataLocation; + internal delegate* unmanaged glGetFragDataLocation; + internal delegate* unmanaged glUniform1ui; + internal delegate* unmanaged glUniform2ui; + internal delegate* unmanaged glUniform3ui; + internal delegate* unmanaged glUniform4ui; + internal delegate* unmanaged glUniform1uiv; + internal delegate* unmanaged glUniform2uiv; + internal delegate* unmanaged glUniform3uiv; + internal delegate* unmanaged glUniform4uiv; + internal delegate* unmanaged glTexParameterIiv; + internal delegate* unmanaged glTexParameterIuiv; + internal delegate* unmanaged glGetTexParameterIiv; + internal delegate* unmanaged glGetTexParameterIuiv; + internal delegate* unmanaged glClearBufferiv; + internal delegate* unmanaged glClearBufferuiv; + internal delegate* unmanaged glClearBufferfv; + internal delegate* unmanaged glClearBufferfi; + internal delegate* unmanaged glGetStringi; + internal delegate* unmanaged glIsRenderbuffer; + internal delegate* unmanaged glBindRenderbuffer; + internal delegate* unmanaged glDeleteRenderbuffers; + internal delegate* unmanaged glGenRenderbuffers; + internal delegate* unmanaged glRenderbufferStorage; + internal delegate* unmanaged glGetRenderbufferParameteriv; + internal delegate* unmanaged glIsFramebuffer; + internal delegate* unmanaged glBindFramebuffer; + internal delegate* unmanaged glDeleteFramebuffers; + internal delegate* unmanaged glGenFramebuffers; + internal delegate* unmanaged glCheckFramebufferStatus; + internal delegate* unmanaged glFramebufferTexture1D; + internal delegate* unmanaged glFramebufferTexture2D; + internal delegate* unmanaged glFramebufferTexture3D; + internal delegate* unmanaged glFramebufferRenderbuffer; + internal delegate* unmanaged glGetFramebufferAttachmentParameteriv; + internal delegate* unmanaged glGenerateMipmap; + internal delegate* unmanaged glBlitFramebuffer; + internal delegate* unmanaged glRenderbufferStorageMultisample; + internal delegate* unmanaged glFramebufferTextureLayer; + internal delegate* unmanaged glMapBufferRange; + internal delegate* unmanaged glFlushMappedBufferRange; + internal delegate* unmanaged glBindVertexArray; + internal delegate* unmanaged glDeleteVertexArrays; + internal delegate* unmanaged glGenVertexArrays; + internal delegate* unmanaged glIsVertexArray; + internal delegate* unmanaged glDrawArraysInstanced; + internal delegate* unmanaged glDrawElementsInstanced; + internal delegate* unmanaged glTexBuffer; + internal delegate* unmanaged glPrimitiveRestartIndex; + internal delegate* unmanaged glCopyBufferSubData; + internal delegate* unmanaged glGetUniformIndices; + internal delegate* unmanaged glGetActiveUniformsiv; + internal delegate* unmanaged glGetActiveUniformName; + internal delegate* unmanaged glGetUniformBlockIndex; + internal delegate* unmanaged glGetActiveUniformBlockiv; + internal delegate* unmanaged glGetActiveUniformBlockName; + internal delegate* unmanaged glUniformBlockBinding; + internal delegate* unmanaged glDrawElementsBaseVertex; + internal delegate* unmanaged glDrawRangeElementsBaseVertex; + internal delegate* unmanaged glDrawElementsInstancedBaseVertex; + internal delegate* unmanaged glMultiDrawElementsBaseVertex; + internal delegate* unmanaged glProvokingVertex; + internal delegate* unmanaged glFenceSync; + internal delegate* unmanaged glIsSync; + internal delegate* unmanaged glDeleteSync; + internal delegate* unmanaged glClientWaitSync; + internal delegate* unmanaged glWaitSync; + internal delegate* unmanaged glGetInteger64v; + internal delegate* unmanaged glGetSynciv; + internal delegate* unmanaged glGetInteger64i_v; + internal delegate* unmanaged glGetBufferParameteri64v; + internal delegate* unmanaged glFramebufferTexture; + internal delegate* unmanaged glTexImage2DMultisample; + internal delegate* unmanaged glTexImage3DMultisample; + internal delegate* unmanaged glGetMultisamplefv; + internal delegate* unmanaged glSampleMaski; + internal delegate* unmanaged glBindFragDataLocationIndexed; + internal delegate* unmanaged glGetFragDataIndex; + internal delegate* unmanaged glGenSamplers; + internal delegate* unmanaged glDeleteSamplers; + internal delegate* unmanaged glIsSampler; + internal delegate* unmanaged glBindSampler; + internal delegate* unmanaged glSamplerParameteri; + internal delegate* unmanaged glSamplerParameteriv; + internal delegate* unmanaged glSamplerParameterf; + internal delegate* unmanaged glSamplerParameterfv; + internal delegate* unmanaged glSamplerParameterIiv; + internal delegate* unmanaged glSamplerParameterIuiv; + internal delegate* unmanaged glGetSamplerParameteriv; + internal delegate* unmanaged glGetSamplerParameterIiv; + internal delegate* unmanaged glGetSamplerParameterfv; + internal delegate* unmanaged glGetSamplerParameterIuiv; + internal delegate* unmanaged glQueryCounter; + internal delegate* unmanaged glGetQueryObjecti64v; + internal delegate* unmanaged glGetQueryObjectui64v; + internal delegate* unmanaged glVertexAttribDivisor; + internal delegate* unmanaged glVertexAttribP1ui; + internal delegate* unmanaged glVertexAttribP1uiv; + internal delegate* unmanaged glVertexAttribP2ui; + internal delegate* unmanaged glVertexAttribP2uiv; + internal delegate* unmanaged glVertexAttribP3ui; + internal delegate* unmanaged glVertexAttribP3uiv; + internal delegate* unmanaged glVertexAttribP4ui; + internal delegate* unmanaged glVertexAttribP4uiv; + internal delegate* unmanaged glMinSampleShading; + internal delegate* unmanaged glBlendEquationi; + internal delegate* unmanaged glBlendEquationSeparatei; + internal delegate* unmanaged glBlendFunci; + internal delegate* unmanaged glBlendFuncSeparatei; + internal delegate* unmanaged glDrawArraysIndirect; + internal delegate* unmanaged glDrawElementsIndirect; + internal delegate* unmanaged glUniform1d; + internal delegate* unmanaged glUniform2d; + internal delegate* unmanaged glUniform3d; + internal delegate* unmanaged glUniform4d; + internal delegate* unmanaged glUniform1dv; + internal delegate* unmanaged glUniform2dv; + internal delegate* unmanaged glUniform3dv; + internal delegate* unmanaged glUniform4dv; + internal delegate* unmanaged glUniformMatrix2dv; + internal delegate* unmanaged glUniformMatrix3dv; + internal delegate* unmanaged glUniformMatrix4dv; + internal delegate* unmanaged glUniformMatrix2x3dv; + internal delegate* unmanaged glUniformMatrix2x4dv; + internal delegate* unmanaged glUniformMatrix3x2dv; + internal delegate* unmanaged glUniformMatrix3x4dv; + internal delegate* unmanaged glUniformMatrix4x2dv; + internal delegate* unmanaged glUniformMatrix4x3dv; + internal delegate* unmanaged glGetUniformdv; + internal delegate* unmanaged glGetSubroutineUniformLocation; + internal delegate* unmanaged glGetSubroutineIndex; + internal delegate* unmanaged glGetActiveSubroutineUniformiv; + internal delegate* unmanaged glGetActiveSubroutineUniformName; + internal delegate* unmanaged glGetActiveSubroutineName; + internal delegate* unmanaged glUniformSubroutinesuiv; + internal delegate* unmanaged glGetUniformSubroutineuiv; + internal delegate* unmanaged glGetProgramStageiv; + internal delegate* unmanaged glPatchParameteri; + internal delegate* unmanaged glPatchParameterfv; + internal delegate* unmanaged glBindTransformFeedback; + internal delegate* unmanaged glDeleteTransformFeedbacks; + internal delegate* unmanaged glGenTransformFeedbacks; + internal delegate* unmanaged glIsTransformFeedback; + internal delegate* unmanaged glPauseTransformFeedback; + internal delegate* unmanaged glResumeTransformFeedback; + internal delegate* unmanaged glDrawTransformFeedback; + internal delegate* unmanaged glDrawTransformFeedbackStream; + internal delegate* unmanaged glBeginQueryIndexed; + internal delegate* unmanaged glEndQueryIndexed; + internal delegate* unmanaged glGetQueryIndexediv; + internal delegate* unmanaged glReleaseShaderCompiler; + internal delegate* unmanaged glShaderBinary; + internal delegate* unmanaged glGetShaderPrecisionFormat; + internal delegate* unmanaged glDepthRangef; + internal delegate* unmanaged glClearDepthf; + internal delegate* unmanaged glGetProgramBinary; + internal delegate* unmanaged glProgramBinary; + internal delegate* unmanaged glProgramParameteri; + internal delegate* unmanaged glUseProgramStages; + internal delegate* unmanaged glActiveShaderProgram; + internal delegate* unmanaged glCreateShaderProgramv; + internal delegate* unmanaged glBindProgramPipeline; + internal delegate* unmanaged glDeleteProgramPipelines; + internal delegate* unmanaged glGenProgramPipelines; + internal delegate* unmanaged glIsProgramPipeline; + internal delegate* unmanaged glGetProgramPipelineiv; + internal delegate* unmanaged glProgramUniform1i; + internal delegate* unmanaged glProgramUniform1iv; + internal delegate* unmanaged glProgramUniform1f; + internal delegate* unmanaged glProgramUniform1fv; + internal delegate* unmanaged glProgramUniform1d; + internal delegate* unmanaged glProgramUniform1dv; + internal delegate* unmanaged glProgramUniform1ui; + internal delegate* unmanaged glProgramUniform1uiv; + internal delegate* unmanaged glProgramUniform2i; + internal delegate* unmanaged glProgramUniform2iv; + internal delegate* unmanaged glProgramUniform2f; + internal delegate* unmanaged glProgramUniform2fv; + internal delegate* unmanaged glProgramUniform2d; + internal delegate* unmanaged glProgramUniform2dv; + internal delegate* unmanaged glProgramUniform2ui; + internal delegate* unmanaged glProgramUniform2uiv; + internal delegate* unmanaged glProgramUniform3i; + internal delegate* unmanaged glProgramUniform3iv; + internal delegate* unmanaged glProgramUniform3f; + internal delegate* unmanaged glProgramUniform3fv; + internal delegate* unmanaged glProgramUniform3d; + internal delegate* unmanaged glProgramUniform3dv; + internal delegate* unmanaged glProgramUniform3ui; + internal delegate* unmanaged glProgramUniform3uiv; + internal delegate* unmanaged glProgramUniform4i; + internal delegate* unmanaged glProgramUniform4iv; + internal delegate* unmanaged glProgramUniform4f; + internal delegate* unmanaged glProgramUniform4fv; + internal delegate* unmanaged glProgramUniform4d; + internal delegate* unmanaged glProgramUniform4dv; + internal delegate* unmanaged glProgramUniform4ui; + internal delegate* unmanaged glProgramUniform4uiv; + internal delegate* unmanaged glProgramUniformMatrix2fv; + internal delegate* unmanaged glProgramUniformMatrix3fv; + internal delegate* unmanaged glProgramUniformMatrix4fv; + internal delegate* unmanaged glProgramUniformMatrix2dv; + internal delegate* unmanaged glProgramUniformMatrix3dv; + internal delegate* unmanaged glProgramUniformMatrix4dv; + internal delegate* unmanaged glProgramUniformMatrix2x3fv; + internal delegate* unmanaged glProgramUniformMatrix3x2fv; + internal delegate* unmanaged glProgramUniformMatrix2x4fv; + internal delegate* unmanaged glProgramUniformMatrix4x2fv; + internal delegate* unmanaged glProgramUniformMatrix3x4fv; + internal delegate* unmanaged glProgramUniformMatrix4x3fv; + internal delegate* unmanaged glProgramUniformMatrix2x3dv; + internal delegate* unmanaged glProgramUniformMatrix3x2dv; + internal delegate* unmanaged glProgramUniformMatrix2x4dv; + internal delegate* unmanaged glProgramUniformMatrix4x2dv; + internal delegate* unmanaged glProgramUniformMatrix3x4dv; + internal delegate* unmanaged glProgramUniformMatrix4x3dv; + internal delegate* unmanaged glValidateProgramPipeline; + internal delegate* unmanaged glGetProgramPipelineInfoLog; + internal delegate* unmanaged glVertexAttribL1d; + internal delegate* unmanaged glVertexAttribL2d; + internal delegate* unmanaged glVertexAttribL3d; + internal delegate* unmanaged glVertexAttribL4d; + internal delegate* unmanaged glVertexAttribL1dv; + internal delegate* unmanaged glVertexAttribL2dv; + internal delegate* unmanaged glVertexAttribL3dv; + internal delegate* unmanaged glVertexAttribL4dv; + internal delegate* unmanaged glVertexAttribLPointer; + internal delegate* unmanaged glGetVertexAttribLdv; + internal delegate* unmanaged glViewportArrayv; + internal delegate* unmanaged glViewportIndexedf; + internal delegate* unmanaged glViewportIndexedfv; + internal delegate* unmanaged glScissorArrayv; + internal delegate* unmanaged glScissorIndexed; + internal delegate* unmanaged glScissorIndexedv; + internal delegate* unmanaged glDepthRangeArrayv; + internal delegate* unmanaged glDepthRangeIndexed; + internal delegate* unmanaged glGetFloati_v; + internal delegate* unmanaged glGetDoublei_v; + internal delegate* unmanaged glDrawArraysInstancedBaseInstance; + internal delegate* unmanaged glDrawElementsInstancedBaseInstance; + internal delegate* unmanaged glDrawElementsInstancedBaseVertexBaseInstance; + internal delegate* unmanaged glGetInternalformativ; + internal delegate* unmanaged glGetActiveAtomicCounterBufferiv; + internal delegate* unmanaged glBindImageTexture; + internal delegate* unmanaged glMemoryBarrier; + internal delegate* unmanaged glTexStorage1D; + internal delegate* unmanaged glTexStorage2D; + internal delegate* unmanaged glTexStorage3D; + internal delegate* unmanaged glDrawTransformFeedbackInstanced; + internal delegate* unmanaged glDrawTransformFeedbackStreamInstanced; + internal delegate* unmanaged glClearBufferData; + internal delegate* unmanaged glClearBufferSubData; + internal delegate* unmanaged glDispatchCompute; + internal delegate* unmanaged glDispatchComputeIndirect; + internal delegate* unmanaged glCopyImageSubData; + internal delegate* unmanaged glFramebufferParameteri; + internal delegate* unmanaged glGetFramebufferParameteriv; + internal delegate* unmanaged glGetInternalformati64v; + internal delegate* unmanaged glInvalidateTexSubImage; + internal delegate* unmanaged glInvalidateTexImage; + internal delegate* unmanaged glInvalidateBufferSubData; + internal delegate* unmanaged glInvalidateBufferData; + internal delegate* unmanaged glInvalidateFramebuffer; + internal delegate* unmanaged glInvalidateSubFramebuffer; + internal delegate* unmanaged glMultiDrawArraysIndirect; + internal delegate* unmanaged glMultiDrawElementsIndirect; + internal delegate* unmanaged glGetProgramInterfaceiv; + internal delegate* unmanaged glGetProgramResourceIndex; + internal delegate* unmanaged glGetProgramResourceName; + internal delegate* unmanaged glGetProgramResourceiv; + internal delegate* unmanaged glGetProgramResourceLocation; + internal delegate* unmanaged glGetProgramResourceLocationIndex; + internal delegate* unmanaged glShaderStorageBlockBinding; + internal delegate* unmanaged glTexBufferRange; + internal delegate* unmanaged glTexStorage2DMultisample; + internal delegate* unmanaged glTexStorage3DMultisample; + internal delegate* unmanaged glTextureView; + internal delegate* unmanaged glBindVertexBuffer; + internal delegate* unmanaged glVertexAttribFormat; + internal delegate* unmanaged glVertexAttribIFormat; + internal delegate* unmanaged glVertexAttribLFormat; + internal delegate* unmanaged glVertexAttribBinding; + internal delegate* unmanaged glVertexBindingDivisor; + internal delegate* unmanaged glDebugMessageControl; + internal delegate* unmanaged glDebugMessageInsert; + internal delegate* unmanaged, void*, void> glDebugMessageCallback; + internal delegate* unmanaged glGetDebugMessageLog; + internal delegate* unmanaged glPushDebugGroup; + internal delegate* unmanaged glPopDebugGroup; + internal delegate* unmanaged glObjectLabel; + internal delegate* unmanaged glGetObjectLabel; + internal delegate* unmanaged glObjectPtrLabel; + internal delegate* unmanaged glGetObjectPtrLabel; + internal delegate* unmanaged glBufferStorage; + internal delegate* unmanaged glClearTexImage; + internal delegate* unmanaged glClearTexSubImage; + internal delegate* unmanaged glBindBuffersBase; + internal delegate* unmanaged glBindBuffersRange; + internal delegate* unmanaged glBindTextures; + internal delegate* unmanaged glBindSamplers; + internal delegate* unmanaged glBindImageTextures; + internal delegate* unmanaged glBindVertexBuffers; + internal delegate* unmanaged glClipControl; + internal delegate* unmanaged glCreateTransformFeedbacks; + internal delegate* unmanaged glTransformFeedbackBufferBase; + internal delegate* unmanaged glTransformFeedbackBufferRange; + internal delegate* unmanaged glGetTransformFeedbackiv; + internal delegate* unmanaged glGetTransformFeedbacki_v; + internal delegate* unmanaged glGetTransformFeedbacki64_v; + internal delegate* unmanaged glCreateBuffers; + internal delegate* unmanaged glNamedBufferStorage; + internal delegate* unmanaged glNamedBufferData; + internal delegate* unmanaged glNamedBufferSubData; + internal delegate* unmanaged glCopyNamedBufferSubData; + internal delegate* unmanaged glClearNamedBufferData; + internal delegate* unmanaged glClearNamedBufferSubData; + internal delegate* unmanaged glMapNamedBuffer; + internal delegate* unmanaged glMapNamedBufferRange; + internal delegate* unmanaged glUnmapNamedBuffer; + internal delegate* unmanaged glFlushMappedNamedBufferRange; + internal delegate* unmanaged glGetNamedBufferParameteriv; + internal delegate* unmanaged glGetNamedBufferParameteri64v; + internal delegate* unmanaged glGetNamedBufferPointerv; + internal delegate* unmanaged glGetNamedBufferSubData; + internal delegate* unmanaged glCreateFramebuffers; + internal delegate* unmanaged glNamedFramebufferRenderbuffer; + internal delegate* unmanaged glNamedFramebufferParameteri; + internal delegate* unmanaged glNamedFramebufferTexture; + internal delegate* unmanaged glNamedFramebufferTextureLayer; + internal delegate* unmanaged glNamedFramebufferDrawBuffer; + internal delegate* unmanaged glNamedFramebufferDrawBuffers; + internal delegate* unmanaged glNamedFramebufferReadBuffer; + internal delegate* unmanaged glInvalidateNamedFramebufferData; + internal delegate* unmanaged glInvalidateNamedFramebufferSubData; + internal delegate* unmanaged glClearNamedFramebufferiv; + internal delegate* unmanaged glClearNamedFramebufferuiv; + internal delegate* unmanaged glClearNamedFramebufferfv; + internal delegate* unmanaged glClearNamedFramebufferfi; + internal delegate* unmanaged glBlitNamedFramebuffer; + internal delegate* unmanaged glCheckNamedFramebufferStatus; + internal delegate* unmanaged glGetNamedFramebufferParameteriv; + internal delegate* unmanaged glGetNamedFramebufferAttachmentParameteriv; + internal delegate* unmanaged glCreateRenderbuffers; + internal delegate* unmanaged glNamedRenderbufferStorage; + internal delegate* unmanaged glNamedRenderbufferStorageMultisample; + internal delegate* unmanaged glGetNamedRenderbufferParameteriv; + internal delegate* unmanaged glCreateTextures; + internal delegate* unmanaged glTextureBuffer; + internal delegate* unmanaged glTextureBufferRange; + internal delegate* unmanaged glTextureStorage1D; + internal delegate* unmanaged glTextureStorage2D; + internal delegate* unmanaged glTextureStorage3D; + internal delegate* unmanaged glTextureStorage2DMultisample; + internal delegate* unmanaged glTextureStorage3DMultisample; + internal delegate* unmanaged glTextureSubImage1D; + internal delegate* unmanaged glTextureSubImage2D; + internal delegate* unmanaged glTextureSubImage3D; + internal delegate* unmanaged glCompressedTextureSubImage1D; + internal delegate* unmanaged glCompressedTextureSubImage2D; + internal delegate* unmanaged glCompressedTextureSubImage3D; + internal delegate* unmanaged glCopyTextureSubImage1D; + internal delegate* unmanaged glCopyTextureSubImage2D; + internal delegate* unmanaged glCopyTextureSubImage3D; + internal delegate* unmanaged glTextureParameterf; + internal delegate* unmanaged glTextureParameterfv; + internal delegate* unmanaged glTextureParameteri; + internal delegate* unmanaged glTextureParameterIiv; + internal delegate* unmanaged glTextureParameterIuiv; + internal delegate* unmanaged glTextureParameteriv; + internal delegate* unmanaged glGenerateTextureMipmap; + internal delegate* unmanaged glBindTextureUnit; + internal delegate* unmanaged glGetTextureImage; + internal delegate* unmanaged glGetCompressedTextureImage; + internal delegate* unmanaged glGetTextureLevelParameterfv; + internal delegate* unmanaged glGetTextureLevelParameteriv; + internal delegate* unmanaged glGetTextureParameterfv; + internal delegate* unmanaged glGetTextureParameterIiv; + internal delegate* unmanaged glGetTextureParameterIuiv; + internal delegate* unmanaged glGetTextureParameteriv; + internal delegate* unmanaged glCreateVertexArrays; + internal delegate* unmanaged glDisableVertexArrayAttrib; + internal delegate* unmanaged glEnableVertexArrayAttrib; + internal delegate* unmanaged glVertexArrayElementBuffer; + internal delegate* unmanaged glVertexArrayVertexBuffer; + internal delegate* unmanaged glVertexArrayVertexBuffers; + internal delegate* unmanaged glVertexArrayAttribBinding; + internal delegate* unmanaged glVertexArrayAttribFormat; + internal delegate* unmanaged glVertexArrayAttribIFormat; + internal delegate* unmanaged glVertexArrayAttribLFormat; + internal delegate* unmanaged glVertexArrayBindingDivisor; + internal delegate* unmanaged glGetVertexArrayiv; + internal delegate* unmanaged glGetVertexArrayIndexediv; + internal delegate* unmanaged glGetVertexArrayIndexed64iv; + internal delegate* unmanaged glCreateSamplers; + internal delegate* unmanaged glCreateProgramPipelines; + internal delegate* unmanaged glCreateQueries; + internal delegate* unmanaged glGetQueryBufferObjecti64v; + internal delegate* unmanaged glGetQueryBufferObjectiv; + internal delegate* unmanaged glGetQueryBufferObjectui64v; + internal delegate* unmanaged glGetQueryBufferObjectuiv; + internal delegate* unmanaged glMemoryBarrierByRegion; + internal delegate* unmanaged glGetTextureSubImage; + internal delegate* unmanaged glGetCompressedTextureSubImage; + internal delegate* unmanaged glGetGraphicsResetStatus; + internal delegate* unmanaged glGetnCompressedTexImage; + internal delegate* unmanaged glGetnTexImage; + internal delegate* unmanaged glGetnUniformdv; + internal delegate* unmanaged glGetnUniformfv; + internal delegate* unmanaged glGetnUniformiv; + internal delegate* unmanaged glGetnUniformuiv; + internal delegate* unmanaged glReadnPixels; + internal delegate* unmanaged glTextureBarrier; + internal delegate* unmanaged glSpecializeShader; + internal delegate* unmanaged glMultiDrawArraysIndirectCount; + internal delegate* unmanaged glMultiDrawElementsIndirectCount; + internal delegate* unmanaged glPolygonOffsetClamp; } } diff --git a/src/StgSharp.Graphics/OpenGL/Generated/glconst.cs b/src/StgSharp.Graphics/OpenGL/Generated/glconst.cs new file mode 100644 index 00000000..c6b1e300 --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/Generated/glconst.cs @@ -0,0 +1,1380 @@ +// +// Generated by StgSharp.GenerateGL. +// Desktop OpenGL constants. +// + +namespace StgSharp.Graphics.OpenGL +{ + public static class glConst + { + + public const int DEPTH_BUFFER_BIT = 0x00000100; + public const int STENCIL_BUFFER_BIT = 0x00000400; + public const int COLOR_BUFFER_BIT = 0x00004000; + public const int FALSE = 0; + public const int TRUE = 1; + public const int POINTS = 0x0000; + public const int LINES = 0x0001; + public const int LINE_LOOP = 0x0002; + public const int LINE_STRIP = 0x0003; + public const int TRIANGLES = 0x0004; + public const int TRIANGLE_STRIP = 0x0005; + public const int TRIANGLE_FAN = 0x0006; + public const int QUADS = 0x0007; + public const int NEVER = 0x0200; + public const int LESS = 0x0201; + public const int EQUAL = 0x0202; + public const int LEQUAL = 0x0203; + public const int GREATER = 0x0204; + public const int NOTEQUAL = 0x0205; + public const int GEQUAL = 0x0206; + public const int ALWAYS = 0x0207; + public const int ZERO = 0; + public const int ONE = 1; + public const int SRC_COLOR = 0x0300; + public const int ONE_MINUS_SRC_COLOR = 0x0301; + public const int SRC_ALPHA = 0x0302; + public const int ONE_MINUS_SRC_ALPHA = 0x0303; + public const int DST_ALPHA = 0x0304; + public const int ONE_MINUS_DST_ALPHA = 0x0305; + public const int DST_COLOR = 0x0306; + public const int ONE_MINUS_DST_COLOR = 0x0307; + public const int SRC_ALPHA_SATURATE = 0x0308; + public const int NONE = 0; + public const int FRONT_LEFT = 0x0400; + public const int FRONT_RIGHT = 0x0401; + public const int BACK_LEFT = 0x0402; + public const int BACK_RIGHT = 0x0403; + public const int FRONT = 0x0404; + public const int BACK = 0x0405; + public const int LEFT = 0x0406; + public const int RIGHT = 0x0407; + public const int FRONT_AND_BACK = 0x0408; + public const int NO_ERROR = 0; + public const int INVALID_ENUM = 0x0500; + public const int INVALID_VALUE = 0x0501; + public const int INVALID_OPERATION = 0x0502; + public const int OUT_OF_MEMORY = 0x0505; + public const int CW = 0x0900; + public const int CCW = 0x0901; + public const int POINT_SIZE = 0x0B11; + public const int POINT_SIZE_RANGE = 0x0B12; + public const int POINT_SIZE_GRANULARITY = 0x0B13; + public const int LINE_SMOOTH = 0x0B20; + public const int LINE_WIDTH = 0x0B21; + public const int LINE_WIDTH_RANGE = 0x0B22; + public const int LINE_WIDTH_GRANULARITY = 0x0B23; + public const int POLYGON_MODE = 0x0B40; + public const int POLYGON_SMOOTH = 0x0B41; + public const int CULL_FACE = 0x0B44; + public const int CULL_FACE_MODE = 0x0B45; + public const int FRONT_FACE = 0x0B46; + public const int DEPTH_RANGE = 0x0B70; + public const int DEPTH_TEST = 0x0B71; + public const int DEPTH_WRITEMASK = 0x0B72; + public const int DEPTH_CLEAR_VALUE = 0x0B73; + public const int DEPTH_FUNC = 0x0B74; + public const int STENCIL_TEST = 0x0B90; + public const int STENCIL_CLEAR_VALUE = 0x0B91; + public const int STENCIL_FUNC = 0x0B92; + public const int STENCIL_VALUE_MASK = 0x0B93; + public const int STENCIL_FAIL = 0x0B94; + public const int STENCIL_PASS_DEPTH_FAIL = 0x0B95; + public const int STENCIL_PASS_DEPTH_PASS = 0x0B96; + public const int STENCIL_REF = 0x0B97; + public const int STENCIL_WRITEMASK = 0x0B98; + public const int VIEWPORT = 0x0BA2; + public const int DITHER = 0x0BD0; + public const int BLEND_DST = 0x0BE0; + public const int BLEND_SRC = 0x0BE1; + public const int BLEND = 0x0BE2; + public const int LOGIC_OP_MODE = 0x0BF0; + public const int DRAW_BUFFER = 0x0C01; + public const int READ_BUFFER = 0x0C02; + public const int SCISSOR_BOX = 0x0C10; + public const int SCISSOR_TEST = 0x0C11; + public const int COLOR_CLEAR_VALUE = 0x0C22; + public const int COLOR_WRITEMASK = 0x0C23; + public const int DOUBLEBUFFER = 0x0C32; + public const int STEREO = 0x0C33; + public const int LINE_SMOOTH_HINT = 0x0C52; + public const int POLYGON_SMOOTH_HINT = 0x0C53; + public const int UNPACK_SWAP_BYTES = 0x0CF0; + public const int UNPACK_LSB_FIRST = 0x0CF1; + public const int UNPACK_ROW_LENGTH = 0x0CF2; + public const int UNPACK_SKIP_ROWS = 0x0CF3; + public const int UNPACK_SKIP_PIXELS = 0x0CF4; + public const int UNPACK_ALIGNMENT = 0x0CF5; + public const int PACK_SWAP_BYTES = 0x0D00; + public const int PACK_LSB_FIRST = 0x0D01; + public const int PACK_ROW_LENGTH = 0x0D02; + public const int PACK_SKIP_ROWS = 0x0D03; + public const int PACK_SKIP_PIXELS = 0x0D04; + public const int PACK_ALIGNMENT = 0x0D05; + public const int MAX_TEXTURE_SIZE = 0x0D33; + public const int MAX_VIEWPORT_DIMS = 0x0D3A; + public const int SUBPIXEL_BITS = 0x0D50; + public const int TEXTURE_1D = 0x0DE0; + public const int TEXTURE_2D = 0x0DE1; + public const int TEXTURE_WIDTH = 0x1000; + public const int TEXTURE_HEIGHT = 0x1001; + public const int TEXTURE_BORDER_COLOR = 0x1004; + public const int DONT_CARE = 0x1100; + public const int FASTEST = 0x1101; + public const int NICEST = 0x1102; + public const int BYTE = 0x1400; + public const int UNSIGNED_BYTE = 0x1401; + public const int SHORT = 0x1402; + public const int UNSIGNED_SHORT = 0x1403; + public const int INT = 0x1404; + public const int UNSIGNED_INT = 0x1405; + public const int FLOAT = 0x1406; + public const int STACK_OVERFLOW = 0x0503; + public const int STACK_UNDERFLOW = 0x0504; + public const int CLEAR = 0x1500; + public const int AND = 0x1501; + public const int AND_REVERSE = 0x1502; + public const int COPY = 0x1503; + public const int AND_INVERTED = 0x1504; + public const int NOOP = 0x1505; + public const int XOR = 0x1506; + public const int OR = 0x1507; + public const int NOR = 0x1508; + public const int EQUIV = 0x1509; + public const int INVERT = 0x150A; + public const int OR_REVERSE = 0x150B; + public const int COPY_INVERTED = 0x150C; + public const int OR_INVERTED = 0x150D; + public const int NAND = 0x150E; + public const int SET = 0x150F; + public const int TEXTURE = 0x1702; + public const int COLOR = 0x1800; + public const int DEPTH = 0x1801; + public const int STENCIL = 0x1802; + public const int STENCIL_INDEX = 0x1901; + public const int DEPTH_COMPONENT = 0x1902; + public const int RED = 0x1903; + public const int GREEN = 0x1904; + public const int BLUE = 0x1905; + public const int ALPHA = 0x1906; + public const int RGB = 0x1907; + public const int RGBA = 0x1908; + public const int POINT = 0x1B00; + public const int LINE = 0x1B01; + public const int FILL = 0x1B02; + public const int KEEP = 0x1E00; + public const int REPLACE = 0x1E01; + public const int INCR = 0x1E02; + public const int DECR = 0x1E03; + public const int VENDOR = 0x1F00; + public const int RENDERER = 0x1F01; + public const int VERSION = 0x1F02; + public const int EXTENSIONS = 0x1F03; + public const int NEAREST = 0x2600; + public const int LINEAR = 0x2601; + public const int NEAREST_MIPMAP_NEAREST = 0x2700; + public const int LINEAR_MIPMAP_NEAREST = 0x2701; + public const int NEAREST_MIPMAP_LINEAR = 0x2702; + public const int LINEAR_MIPMAP_LINEAR = 0x2703; + public const int TEXTURE_MAG_FILTER = 0x2800; + public const int TEXTURE_MIN_FILTER = 0x2801; + public const int TEXTURE_WRAP_S = 0x2802; + public const int TEXTURE_WRAP_T = 0x2803; + public const int REPEAT = 0x2901; + public const int COLOR_LOGIC_OP = 0x0BF2; + public const int POLYGON_OFFSET_UNITS = 0x2A00; + public const int POLYGON_OFFSET_POINT = 0x2A01; + public const int POLYGON_OFFSET_LINE = 0x2A02; + public const int POLYGON_OFFSET_FILL = 0x8037; + public const int POLYGON_OFFSET_FACTOR = 0x8038; + public const int TEXTURE_BINDING_1D = 0x8068; + public const int TEXTURE_BINDING_2D = 0x8069; + public const int TEXTURE_INTERNAL_FORMAT = 0x1003; + public const int TEXTURE_RED_SIZE = 0x805C; + public const int TEXTURE_GREEN_SIZE = 0x805D; + public const int TEXTURE_BLUE_SIZE = 0x805E; + public const int TEXTURE_ALPHA_SIZE = 0x805F; + public const int DOUBLE = 0x140A; + public const int PROXY_TEXTURE_1D = 0x8063; + public const int PROXY_TEXTURE_2D = 0x8064; + public const int R3_G3_B2 = 0x2A10; + public const int RGB4 = 0x804F; + public const int RGB5 = 0x8050; + public const int RGB8 = 0x8051; + public const int RGB10 = 0x8052; + public const int RGB12 = 0x8053; + public const int RGB16 = 0x8054; + public const int RGBA2 = 0x8055; + public const int RGBA4 = 0x8056; + public const int RGB5_A1 = 0x8057; + public const int RGBA8 = 0x8058; + public const int RGB10_A2 = 0x8059; + public const int RGBA12 = 0x805A; + public const int RGBA16 = 0x805B; + public const int VERTEX_ARRAY = 0x8074; + public const int UNSIGNED_BYTE_3_3_2 = 0x8032; + public const int UNSIGNED_SHORT_4_4_4_4 = 0x8033; + public const int UNSIGNED_SHORT_5_5_5_1 = 0x8034; + public const int UNSIGNED_INT_8_8_8_8 = 0x8035; + public const int UNSIGNED_INT_10_10_10_2 = 0x8036; + public const int TEXTURE_BINDING_3D = 0x806A; + public const int PACK_SKIP_IMAGES = 0x806B; + public const int PACK_IMAGE_HEIGHT = 0x806C; + public const int UNPACK_SKIP_IMAGES = 0x806D; + public const int UNPACK_IMAGE_HEIGHT = 0x806E; + public const int TEXTURE_3D = 0x806F; + public const int PROXY_TEXTURE_3D = 0x8070; + public const int TEXTURE_DEPTH = 0x8071; + public const int TEXTURE_WRAP_R = 0x8072; + public const int MAX_3D_TEXTURE_SIZE = 0x8073; + public const int UNSIGNED_BYTE_2_3_3_REV = 0x8362; + public const int UNSIGNED_SHORT_5_6_5 = 0x8363; + public const int UNSIGNED_SHORT_5_6_5_REV = 0x8364; + public const int UNSIGNED_SHORT_4_4_4_4_REV = 0x8365; + public const int UNSIGNED_SHORT_1_5_5_5_REV = 0x8366; + public const int UNSIGNED_INT_8_8_8_8_REV = 0x8367; + public const int UNSIGNED_INT_2_10_10_10_REV = 0x8368; + public const int BGR = 0x80E0; + public const int BGRA = 0x80E1; + public const int MAX_ELEMENTS_VERTICES = 0x80E8; + public const int MAX_ELEMENTS_INDICES = 0x80E9; + public const int CLAMP_TO_EDGE = 0x812F; + public const int TEXTURE_MIN_LOD = 0x813A; + public const int TEXTURE_MAX_LOD = 0x813B; + public const int TEXTURE_BASE_LEVEL = 0x813C; + public const int TEXTURE_MAX_LEVEL = 0x813D; + public const int SMOOTH_POINT_SIZE_RANGE = 0x0B12; + public const int SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13; + public const int SMOOTH_LINE_WIDTH_RANGE = 0x0B22; + public const int SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23; + public const int ALIASED_LINE_WIDTH_RANGE = 0x846E; + public const int TEXTURE0 = 0x84C0; + public const int TEXTURE1 = 0x84C1; + public const int TEXTURE2 = 0x84C2; + public const int TEXTURE3 = 0x84C3; + public const int TEXTURE4 = 0x84C4; + public const int TEXTURE5 = 0x84C5; + public const int TEXTURE6 = 0x84C6; + public const int TEXTURE7 = 0x84C7; + public const int TEXTURE8 = 0x84C8; + public const int TEXTURE9 = 0x84C9; + public const int TEXTURE10 = 0x84CA; + public const int TEXTURE11 = 0x84CB; + public const int TEXTURE12 = 0x84CC; + public const int TEXTURE13 = 0x84CD; + public const int TEXTURE14 = 0x84CE; + public const int TEXTURE15 = 0x84CF; + public const int TEXTURE16 = 0x84D0; + public const int TEXTURE17 = 0x84D1; + public const int TEXTURE18 = 0x84D2; + public const int TEXTURE19 = 0x84D3; + public const int TEXTURE20 = 0x84D4; + public const int TEXTURE21 = 0x84D5; + public const int TEXTURE22 = 0x84D6; + public const int TEXTURE23 = 0x84D7; + public const int TEXTURE24 = 0x84D8; + public const int TEXTURE25 = 0x84D9; + public const int TEXTURE26 = 0x84DA; + public const int TEXTURE27 = 0x84DB; + public const int TEXTURE28 = 0x84DC; + public const int TEXTURE29 = 0x84DD; + public const int TEXTURE30 = 0x84DE; + public const int TEXTURE31 = 0x84DF; + public const int ACTIVE_TEXTURE = 0x84E0; + public const int MULTISAMPLE = 0x809D; + public const int SAMPLE_ALPHA_TO_COVERAGE = 0x809E; + public const int SAMPLE_ALPHA_TO_ONE = 0x809F; + public const int SAMPLE_COVERAGE = 0x80A0; + public const int SAMPLE_BUFFERS = 0x80A8; + public const int SAMPLES = 0x80A9; + public const int SAMPLE_COVERAGE_VALUE = 0x80AA; + public const int SAMPLE_COVERAGE_INVERT = 0x80AB; + public const int TEXTURE_CUBE_MAP = 0x8513; + public const int TEXTURE_BINDING_CUBE_MAP = 0x8514; + public const int TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; + public const int TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; + public const int TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; + public const int TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; + public const int TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; + public const int PROXY_TEXTURE_CUBE_MAP = 0x851B; + public const int MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; + public const int COMPRESSED_RGB = 0x84ED; + public const int COMPRESSED_RGBA = 0x84EE; + public const int TEXTURE_COMPRESSION_HINT = 0x84EF; + public const int TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0; + public const int TEXTURE_COMPRESSED = 0x86A1; + public const int NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; + public const int COMPRESSED_TEXTURE_FORMATS = 0x86A3; + public const int CLAMP_TO_BORDER = 0x812D; + public const int BLEND_DST_RGB = 0x80C8; + public const int BLEND_SRC_RGB = 0x80C9; + public const int BLEND_DST_ALPHA = 0x80CA; + public const int BLEND_SRC_ALPHA = 0x80CB; + public const int POINT_FADE_THRESHOLD_SIZE = 0x8128; + public const int DEPTH_COMPONENT16 = 0x81A5; + public const int DEPTH_COMPONENT24 = 0x81A6; + public const int DEPTH_COMPONENT32 = 0x81A7; + public const int MIRRORED_REPEAT = 0x8370; + public const int MAX_TEXTURE_LOD_BIAS = 0x84FD; + public const int TEXTURE_LOD_BIAS = 0x8501; + public const int INCR_WRAP = 0x8507; + public const int DECR_WRAP = 0x8508; + public const int TEXTURE_DEPTH_SIZE = 0x884A; + public const int TEXTURE_COMPARE_MODE = 0x884C; + public const int TEXTURE_COMPARE_FUNC = 0x884D; + public const int BLEND_COLOR = 0x8005; + public const int BLEND_EQUATION = 0x8009; + public const int CONSTANT_COLOR = 0x8001; + public const int ONE_MINUS_CONSTANT_COLOR = 0x8002; + public const int CONSTANT_ALPHA = 0x8003; + public const int ONE_MINUS_CONSTANT_ALPHA = 0x8004; + public const int FUNC_ADD = 0x8006; + public const int FUNC_REVERSE_SUBTRACT = 0x800B; + public const int FUNC_SUBTRACT = 0x800A; + public const int MIN = 0x8007; + public const int MAX = 0x8008; + public const int BUFFER_SIZE = 0x8764; + public const int BUFFER_USAGE = 0x8765; + public const int QUERY_COUNTER_BITS = 0x8864; + public const int CURRENT_QUERY = 0x8865; + public const int QUERY_RESULT = 0x8866; + public const int QUERY_RESULT_AVAILABLE = 0x8867; + public const int ARRAY_BUFFER = 0x8892; + public const int ELEMENT_ARRAY_BUFFER = 0x8893; + public const int ARRAY_BUFFER_BINDING = 0x8894; + public const int ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; + public const int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; + public const int READ_ONLY = 0x88B8; + public const int WRITE_ONLY = 0x88B9; + public const int READ_WRITE = 0x88BA; + public const int BUFFER_ACCESS = 0x88BB; + public const int BUFFER_MAPPED = 0x88BC; + public const int BUFFER_MAP_POINTER = 0x88BD; + public const int STREAM_DRAW = 0x88E0; + public const int STREAM_READ = 0x88E1; + public const int STREAM_COPY = 0x88E2; + public const int STATIC_DRAW = 0x88E4; + public const int STATIC_READ = 0x88E5; + public const int STATIC_COPY = 0x88E6; + public const int DYNAMIC_DRAW = 0x88E8; + public const int DYNAMIC_READ = 0x88E9; + public const int DYNAMIC_COPY = 0x88EA; + public const int SAMPLES_PASSED = 0x8914; + public const int SRC1_ALPHA = 0x8589; + public const int BLEND_EQUATION_RGB = 0x8009; + public const int VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; + public const int VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; + public const int VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; + public const int VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; + public const int CURRENT_VERTEX_ATTRIB = 0x8626; + public const int VERTEX_PROGRAM_POINT_SIZE = 0x8642; + public const int VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; + public const int STENCIL_BACK_FUNC = 0x8800; + public const int STENCIL_BACK_FAIL = 0x8801; + public const int STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; + public const int STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; + public const int MAX_DRAW_BUFFERS = 0x8824; + public const int DRAW_BUFFER0 = 0x8825; + public const int DRAW_BUFFER1 = 0x8826; + public const int DRAW_BUFFER2 = 0x8827; + public const int DRAW_BUFFER3 = 0x8828; + public const int DRAW_BUFFER4 = 0x8829; + public const int DRAW_BUFFER5 = 0x882A; + public const int DRAW_BUFFER6 = 0x882B; + public const int DRAW_BUFFER7 = 0x882C; + public const int DRAW_BUFFER8 = 0x882D; + public const int DRAW_BUFFER9 = 0x882E; + public const int DRAW_BUFFER10 = 0x882F; + public const int DRAW_BUFFER11 = 0x8830; + public const int DRAW_BUFFER12 = 0x8831; + public const int DRAW_BUFFER13 = 0x8832; + public const int DRAW_BUFFER14 = 0x8833; + public const int DRAW_BUFFER15 = 0x8834; + public const int BLEND_EQUATION_ALPHA = 0x883D; + public const int MAX_VERTEX_ATTRIBS = 0x8869; + public const int VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; + public const int MAX_TEXTURE_IMAGE_UNITS = 0x8872; + public const int FRAGMENT_SHADER = 0x8B30; + public const int VERTEX_SHADER = 0x8B31; + public const int MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49; + public const int MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A; + public const int MAX_VARYING_FLOATS = 0x8B4B; + public const int MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; + public const int MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; + public const int SHADER_TYPE = 0x8B4F; + public const int FLOAT_VEC2 = 0x8B50; + public const int FLOAT_VEC3 = 0x8B51; + public const int FLOAT_VEC4 = 0x8B52; + public const int INT_VEC2 = 0x8B53; + public const int INT_VEC3 = 0x8B54; + public const int INT_VEC4 = 0x8B55; + public const int BOOL = 0x8B56; + public const int BOOL_VEC2 = 0x8B57; + public const int BOOL_VEC3 = 0x8B58; + public const int BOOL_VEC4 = 0x8B59; + public const int FLOAT_MAT2 = 0x8B5A; + public const int FLOAT_MAT3 = 0x8B5B; + public const int FLOAT_MAT4 = 0x8B5C; + public const int SAMPLER_1D = 0x8B5D; + public const int SAMPLER_2D = 0x8B5E; + public const int SAMPLER_3D = 0x8B5F; + public const int SAMPLER_CUBE = 0x8B60; + public const int SAMPLER_1D_SHADOW = 0x8B61; + public const int SAMPLER_2D_SHADOW = 0x8B62; + public const int DELETE_STATUS = 0x8B80; + public const int COMPILE_STATUS = 0x8B81; + public const int LINK_STATUS = 0x8B82; + public const int VALIDATE_STATUS = 0x8B83; + public const int INFO_LOG_LENGTH = 0x8B84; + public const int ATTACHED_SHADERS = 0x8B85; + public const int ACTIVE_UNIFORMS = 0x8B86; + public const int ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; + public const int SHADER_SOURCE_LENGTH = 0x8B88; + public const int ACTIVE_ATTRIBUTES = 0x8B89; + public const int ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; + public const int FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B; + public const int SHADING_LANGUAGE_VERSION = 0x8B8C; + public const int CURRENT_PROGRAM = 0x8B8D; + public const int POINT_SPRITE_COORD_ORIGIN = 0x8CA0; + public const int LOWER_LEFT = 0x8CA1; + public const int UPPER_LEFT = 0x8CA2; + public const int STENCIL_BACK_REF = 0x8CA3; + public const int STENCIL_BACK_VALUE_MASK = 0x8CA4; + public const int STENCIL_BACK_WRITEMASK = 0x8CA5; + public const int PIXEL_PACK_BUFFER = 0x88EB; + public const int PIXEL_UNPACK_BUFFER = 0x88EC; + public const int PIXEL_PACK_BUFFER_BINDING = 0x88ED; + public const int PIXEL_UNPACK_BUFFER_BINDING = 0x88EF; + public const int FLOAT_MAT2x3 = 0x8B65; + public const int FLOAT_MAT2x4 = 0x8B66; + public const int FLOAT_MAT3x2 = 0x8B67; + public const int FLOAT_MAT3x4 = 0x8B68; + public const int FLOAT_MAT4x2 = 0x8B69; + public const int FLOAT_MAT4x3 = 0x8B6A; + public const int SRGB = 0x8C40; + public const int SRGB8 = 0x8C41; + public const int SRGB_ALPHA = 0x8C42; + public const int SRGB8_ALPHA8 = 0x8C43; + public const int COMPRESSED_SRGB = 0x8C48; + public const int COMPRESSED_SRGB_ALPHA = 0x8C49; + public const int COMPARE_REF_TO_TEXTURE = 0x884E; + public const int CLIP_DISTANCE0 = 0x3000; + public const int CLIP_DISTANCE1 = 0x3001; + public const int CLIP_DISTANCE2 = 0x3002; + public const int CLIP_DISTANCE3 = 0x3003; + public const int CLIP_DISTANCE4 = 0x3004; + public const int CLIP_DISTANCE5 = 0x3005; + public const int CLIP_DISTANCE6 = 0x3006; + public const int CLIP_DISTANCE7 = 0x3007; + public const int MAX_CLIP_DISTANCES = 0x0D32; + public const int MAJOR_VERSION = 0x821B; + public const int MINOR_VERSION = 0x821C; + public const int NUM_EXTENSIONS = 0x821D; + public const int CONTEXT_FLAGS = 0x821E; + public const int COMPRESSED_RED = 0x8225; + public const int COMPRESSED_RG = 0x8226; + public const int CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001; + public const int RGBA32F = 0x8814; + public const int RGB32F = 0x8815; + public const int RGBA16F = 0x881A; + public const int RGB16F = 0x881B; + public const int VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD; + public const int MAX_ARRAY_TEXTURE_LAYERS = 0x88FF; + public const int MIN_PROGRAM_TEXEL_OFFSET = 0x8904; + public const int MAX_PROGRAM_TEXEL_OFFSET = 0x8905; + public const int CLAMP_READ_COLOR = 0x891C; + public const int FIXED_ONLY = 0x891D; + public const int MAX_VARYING_COMPONENTS = 0x8B4B; + public const int TEXTURE_1D_ARRAY = 0x8C18; + public const int PROXY_TEXTURE_1D_ARRAY = 0x8C19; + public const int TEXTURE_2D_ARRAY = 0x8C1A; + public const int PROXY_TEXTURE_2D_ARRAY = 0x8C1B; + public const int TEXTURE_BINDING_1D_ARRAY = 0x8C1C; + public const int TEXTURE_BINDING_2D_ARRAY = 0x8C1D; + public const int R11F_G11F_B10F = 0x8C3A; + public const int UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B; + public const int RGB9_E5 = 0x8C3D; + public const int UNSIGNED_INT_5_9_9_9_REV = 0x8C3E; + public const int TEXTURE_SHARED_SIZE = 0x8C3F; + public const int TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76; + public const int TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80; + public const int TRANSFORM_FEEDBACK_VARYINGS = 0x8C83; + public const int TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84; + public const int TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85; + public const int PRIMITIVES_GENERATED = 0x8C87; + public const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88; + public const int RASTERIZER_DISCARD = 0x8C89; + public const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A; + public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B; + public const int INTERLEAVED_ATTRIBS = 0x8C8C; + public const int SEPARATE_ATTRIBS = 0x8C8D; + public const int TRANSFORM_FEEDBACK_BUFFER = 0x8C8E; + public const int TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F; + public const int RGBA32UI = 0x8D70; + public const int RGB32UI = 0x8D71; + public const int RGBA16UI = 0x8D76; + public const int RGB16UI = 0x8D77; + public const int RGBA8UI = 0x8D7C; + public const int RGB8UI = 0x8D7D; + public const int RGBA32I = 0x8D82; + public const int RGB32I = 0x8D83; + public const int RGBA16I = 0x8D88; + public const int RGB16I = 0x8D89; + public const int RGBA8I = 0x8D8E; + public const int RGB8I = 0x8D8F; + public const int RED_INTEGER = 0x8D94; + public const int GREEN_INTEGER = 0x8D95; + public const int BLUE_INTEGER = 0x8D96; + public const int RGB_INTEGER = 0x8D98; + public const int RGBA_INTEGER = 0x8D99; + public const int BGR_INTEGER = 0x8D9A; + public const int BGRA_INTEGER = 0x8D9B; + public const int SAMPLER_1D_ARRAY = 0x8DC0; + public const int SAMPLER_2D_ARRAY = 0x8DC1; + public const int SAMPLER_1D_ARRAY_SHADOW = 0x8DC3; + public const int SAMPLER_2D_ARRAY_SHADOW = 0x8DC4; + public const int SAMPLER_CUBE_SHADOW = 0x8DC5; + public const int UNSIGNED_INT_VEC2 = 0x8DC6; + public const int UNSIGNED_INT_VEC3 = 0x8DC7; + public const int UNSIGNED_INT_VEC4 = 0x8DC8; + public const int INT_SAMPLER_1D = 0x8DC9; + public const int INT_SAMPLER_2D = 0x8DCA; + public const int INT_SAMPLER_3D = 0x8DCB; + public const int INT_SAMPLER_CUBE = 0x8DCC; + public const int INT_SAMPLER_1D_ARRAY = 0x8DCE; + public const int INT_SAMPLER_2D_ARRAY = 0x8DCF; + public const int UNSIGNED_INT_SAMPLER_1D = 0x8DD1; + public const int UNSIGNED_INT_SAMPLER_2D = 0x8DD2; + public const int UNSIGNED_INT_SAMPLER_3D = 0x8DD3; + public const int UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4; + public const int UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6; + public const int UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7; + public const int QUERY_WAIT = 0x8E13; + public const int QUERY_NO_WAIT = 0x8E14; + public const int QUERY_BY_REGION_WAIT = 0x8E15; + public const int QUERY_BY_REGION_NO_WAIT = 0x8E16; + public const int BUFFER_ACCESS_FLAGS = 0x911F; + public const int BUFFER_MAP_LENGTH = 0x9120; + public const int BUFFER_MAP_OFFSET = 0x9121; + public const int DEPTH_COMPONENT32F = 0x8CAC; + public const int DEPTH32F_STENCIL8 = 0x8CAD; + public const int FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD; + public const int INVALID_FRAMEBUFFER_OPERATION = 0x0506; + public const int FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; + public const int FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; + public const int FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; + public const int FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; + public const int FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; + public const int FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; + public const int FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; + public const int FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; + public const int FRAMEBUFFER_DEFAULT = 0x8218; + public const int FRAMEBUFFER_UNDEFINED = 0x8219; + public const int DEPTH_STENCIL_ATTACHMENT = 0x821A; + public const int MAX_RENDERBUFFER_SIZE = 0x84E8; + public const int DEPTH_STENCIL = 0x84F9; + public const int UNSIGNED_INT_24_8 = 0x84FA; + public const int DEPTH24_STENCIL8 = 0x88F0; + public const int TEXTURE_STENCIL_SIZE = 0x88F1; + public const int TEXTURE_RED_TYPE = 0x8C10; + public const int TEXTURE_GREEN_TYPE = 0x8C11; + public const int TEXTURE_BLUE_TYPE = 0x8C12; + public const int TEXTURE_ALPHA_TYPE = 0x8C13; + public const int TEXTURE_DEPTH_TYPE = 0x8C16; + public const int UNSIGNED_NORMALIZED = 0x8C17; + public const int FRAMEBUFFER_BINDING = 0x8CA6; + public const int DRAW_FRAMEBUFFER_BINDING = 0x8CA6; + public const int RENDERBUFFER_BINDING = 0x8CA7; + public const int READ_FRAMEBUFFER = 0x8CA8; + public const int DRAW_FRAMEBUFFER = 0x8CA9; + public const int READ_FRAMEBUFFER_BINDING = 0x8CAA; + public const int RENDERBUFFER_SAMPLES = 0x8CAB; + public const int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; + public const int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; + public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; + public const int FRAMEBUFFER_COMPLETE = 0x8CD5; + public const int FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; + public const int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; + public const int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; + public const int FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; + public const int FRAMEBUFFER_UNSUPPORTED = 0x8CDD; + public const int MAX_COLOR_ATTACHMENTS = 0x8CDF; + public const int COLOR_ATTACHMENT0 = 0x8CE0; + public const int COLOR_ATTACHMENT1 = 0x8CE1; + public const int COLOR_ATTACHMENT2 = 0x8CE2; + public const int COLOR_ATTACHMENT3 = 0x8CE3; + public const int COLOR_ATTACHMENT4 = 0x8CE4; + public const int COLOR_ATTACHMENT5 = 0x8CE5; + public const int COLOR_ATTACHMENT6 = 0x8CE6; + public const int COLOR_ATTACHMENT7 = 0x8CE7; + public const int COLOR_ATTACHMENT8 = 0x8CE8; + public const int COLOR_ATTACHMENT9 = 0x8CE9; + public const int COLOR_ATTACHMENT10 = 0x8CEA; + public const int COLOR_ATTACHMENT11 = 0x8CEB; + public const int COLOR_ATTACHMENT12 = 0x8CEC; + public const int COLOR_ATTACHMENT13 = 0x8CED; + public const int COLOR_ATTACHMENT14 = 0x8CEE; + public const int COLOR_ATTACHMENT15 = 0x8CEF; + public const int COLOR_ATTACHMENT16 = 0x8CF0; + public const int COLOR_ATTACHMENT17 = 0x8CF1; + public const int COLOR_ATTACHMENT18 = 0x8CF2; + public const int COLOR_ATTACHMENT19 = 0x8CF3; + public const int COLOR_ATTACHMENT20 = 0x8CF4; + public const int COLOR_ATTACHMENT21 = 0x8CF5; + public const int COLOR_ATTACHMENT22 = 0x8CF6; + public const int COLOR_ATTACHMENT23 = 0x8CF7; + public const int COLOR_ATTACHMENT24 = 0x8CF8; + public const int COLOR_ATTACHMENT25 = 0x8CF9; + public const int COLOR_ATTACHMENT26 = 0x8CFA; + public const int COLOR_ATTACHMENT27 = 0x8CFB; + public const int COLOR_ATTACHMENT28 = 0x8CFC; + public const int COLOR_ATTACHMENT29 = 0x8CFD; + public const int COLOR_ATTACHMENT30 = 0x8CFE; + public const int COLOR_ATTACHMENT31 = 0x8CFF; + public const int DEPTH_ATTACHMENT = 0x8D00; + public const int STENCIL_ATTACHMENT = 0x8D20; + public const int FRAMEBUFFER = 0x8D40; + public const int RENDERBUFFER = 0x8D41; + public const int RENDERBUFFER_WIDTH = 0x8D42; + public const int RENDERBUFFER_HEIGHT = 0x8D43; + public const int RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; + public const int STENCIL_INDEX1 = 0x8D46; + public const int STENCIL_INDEX4 = 0x8D47; + public const int STENCIL_INDEX8 = 0x8D48; + public const int STENCIL_INDEX16 = 0x8D49; + public const int RENDERBUFFER_RED_SIZE = 0x8D50; + public const int RENDERBUFFER_GREEN_SIZE = 0x8D51; + public const int RENDERBUFFER_BLUE_SIZE = 0x8D52; + public const int RENDERBUFFER_ALPHA_SIZE = 0x8D53; + public const int RENDERBUFFER_DEPTH_SIZE = 0x8D54; + public const int RENDERBUFFER_STENCIL_SIZE = 0x8D55; + public const int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; + public const int MAX_SAMPLES = 0x8D57; + public const int FRAMEBUFFER_SRGB = 0x8DB9; + public const int HALF_FLOAT = 0x140B; + public const int MAP_READ_BIT = 0x0001; + public const int MAP_WRITE_BIT = 0x0002; + public const int MAP_INVALIDATE_RANGE_BIT = 0x0004; + public const int MAP_INVALIDATE_BUFFER_BIT = 0x0008; + public const int MAP_FLUSH_EXPLICIT_BIT = 0x0010; + public const int MAP_UNSYNCHRONIZED_BIT = 0x0020; + public const int COMPRESSED_RED_RGTC1 = 0x8DBB; + public const int COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC; + public const int COMPRESSED_RG_RGTC2 = 0x8DBD; + public const int COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE; + public const int RG = 0x8227; + public const int RG_INTEGER = 0x8228; + public const int R8 = 0x8229; + public const int R16 = 0x822A; + public const int RG8 = 0x822B; + public const int RG16 = 0x822C; + public const int R16F = 0x822D; + public const int R32F = 0x822E; + public const int RG16F = 0x822F; + public const int RG32F = 0x8230; + public const int R8I = 0x8231; + public const int R8UI = 0x8232; + public const int R16I = 0x8233; + public const int R16UI = 0x8234; + public const int R32I = 0x8235; + public const int R32UI = 0x8236; + public const int RG8I = 0x8237; + public const int RG8UI = 0x8238; + public const int RG16I = 0x8239; + public const int RG16UI = 0x823A; + public const int RG32I = 0x823B; + public const int RG32UI = 0x823C; + public const int VERTEX_ARRAY_BINDING = 0x85B5; + public const int SAMPLER_2D_RECT = 0x8B63; + public const int SAMPLER_2D_RECT_SHADOW = 0x8B64; + public const int SAMPLER_BUFFER = 0x8DC2; + public const int INT_SAMPLER_2D_RECT = 0x8DCD; + public const int INT_SAMPLER_BUFFER = 0x8DD0; + public const int UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5; + public const int UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8; + public const int TEXTURE_BUFFER = 0x8C2A; + public const int MAX_TEXTURE_BUFFER_SIZE = 0x8C2B; + public const int TEXTURE_BINDING_BUFFER = 0x8C2C; + public const int TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D; + public const int TEXTURE_RECTANGLE = 0x84F5; + public const int TEXTURE_BINDING_RECTANGLE = 0x84F6; + public const int PROXY_TEXTURE_RECTANGLE = 0x84F7; + public const int MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8; + public const int R8_SNORM = 0x8F94; + public const int RG8_SNORM = 0x8F95; + public const int RGB8_SNORM = 0x8F96; + public const int RGBA8_SNORM = 0x8F97; + public const int R16_SNORM = 0x8F98; + public const int RG16_SNORM = 0x8F99; + public const int RGB16_SNORM = 0x8F9A; + public const int RGBA16_SNORM = 0x8F9B; + public const int SIGNED_NORMALIZED = 0x8F9C; + public const int PRIMITIVE_RESTART = 0x8F9D; + public const int PRIMITIVE_RESTART_INDEX = 0x8F9E; + public const int COPY_READ_BUFFER = 0x8F36; + public const int COPY_WRITE_BUFFER = 0x8F37; + public const int UNIFORM_BUFFER = 0x8A11; + public const int UNIFORM_BUFFER_BINDING = 0x8A28; + public const int UNIFORM_BUFFER_START = 0x8A29; + public const int UNIFORM_BUFFER_SIZE = 0x8A2A; + public const int MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B; + public const int MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C; + public const int MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D; + public const int MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E; + public const int MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F; + public const int MAX_UNIFORM_BLOCK_SIZE = 0x8A30; + public const int MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31; + public const int MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32; + public const int MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33; + public const int UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34; + public const int ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35; + public const int ACTIVE_UNIFORM_BLOCKS = 0x8A36; + public const int UNIFORM_TYPE = 0x8A37; + public const int UNIFORM_SIZE = 0x8A38; + public const int UNIFORM_NAME_LENGTH = 0x8A39; + public const int UNIFORM_BLOCK_INDEX = 0x8A3A; + public const int UNIFORM_OFFSET = 0x8A3B; + public const int UNIFORM_ARRAY_STRIDE = 0x8A3C; + public const int UNIFORM_MATRIX_STRIDE = 0x8A3D; + public const int UNIFORM_IS_ROW_MAJOR = 0x8A3E; + public const int UNIFORM_BLOCK_BINDING = 0x8A3F; + public const int UNIFORM_BLOCK_DATA_SIZE = 0x8A40; + public const int UNIFORM_BLOCK_NAME_LENGTH = 0x8A41; + public const int UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42; + public const int UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; + public const int UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; + public const int UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45; + public const int UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; + public const uint INVALID_INDEX = 0xFFFFFFFFu; + public const int CONTEXT_CORE_PROFILE_BIT = 0x00000001; + public const int CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002; + public const int LINES_ADJACENCY = 0x000A; + public const int LINE_STRIP_ADJACENCY = 0x000B; + public const int TRIANGLES_ADJACENCY = 0x000C; + public const int TRIANGLE_STRIP_ADJACENCY = 0x000D; + public const int PROGRAM_POINT_SIZE = 0x8642; + public const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; + public const int FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; + public const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; + public const int GEOMETRY_SHADER = 0x8DD9; + public const int GEOMETRY_VERTICES_OUT = 0x8916; + public const int GEOMETRY_INPUT_TYPE = 0x8917; + public const int GEOMETRY_OUTPUT_TYPE = 0x8918; + public const int MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; + public const int MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; + public const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; + public const int MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; + public const int MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; + public const int MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; + public const int MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; + public const int CONTEXT_PROFILE_MASK = 0x9126; + public const int DEPTH_CLAMP = 0x864F; + public const int QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; + public const int FIRST_VERTEX_CONVENTION = 0x8E4D; + public const int LAST_VERTEX_CONVENTION = 0x8E4E; + public const int PROVOKING_VERTEX = 0x8E4F; + public const int TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; + public const int MAX_SERVER_WAIT_TIMEOUT = 0x9111; + public const int OBJECT_TYPE = 0x9112; + public const int SYNC_CONDITION = 0x9113; + public const int SYNC_STATUS = 0x9114; + public const int SYNC_FLAGS = 0x9115; + public const int SYNC_FENCE = 0x9116; + public const int SYNC_GPU_COMMANDS_COMPLETE = 0x9117; + public const int UNSIGNALED = 0x9118; + public const int SIGNALED = 0x9119; + public const int ALREADY_SIGNALED = 0x911A; + public const int TIMEOUT_EXPIRED = 0x911B; + public const int CONDITION_SATISFIED = 0x911C; + public const int WAIT_FAILED = 0x911D; + public const ulong TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFUL; + public const int SYNC_FLUSH_COMMANDS_BIT = 0x00000001; + public const int SAMPLE_POSITION = 0x8E50; + public const int SAMPLE_MASK = 0x8E51; + public const int SAMPLE_MASK_VALUE = 0x8E52; + public const int MAX_SAMPLE_MASK_WORDS = 0x8E59; + public const int TEXTURE_2D_MULTISAMPLE = 0x9100; + public const int PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; + public const int TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; + public const int PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; + public const int TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; + public const int TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; + public const int TEXTURE_SAMPLES = 0x9106; + public const int TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; + public const int SAMPLER_2D_MULTISAMPLE = 0x9108; + public const int INT_SAMPLER_2D_MULTISAMPLE = 0x9109; + public const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; + public const int SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; + public const int INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; + public const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; + public const int MAX_COLOR_TEXTURE_SAMPLES = 0x910E; + public const int MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; + public const int MAX_INTEGER_SAMPLES = 0x9110; + public const int VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE; + public const int SRC1_COLOR = 0x88F9; + public const int ONE_MINUS_SRC1_COLOR = 0x88FA; + public const int ONE_MINUS_SRC1_ALPHA = 0x88FB; + public const int MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC; + public const int ANY_SAMPLES_PASSED = 0x8C2F; + public const int SAMPLER_BINDING = 0x8919; + public const int RGB10_A2UI = 0x906F; + public const int TEXTURE_SWIZZLE_R = 0x8E42; + public const int TEXTURE_SWIZZLE_G = 0x8E43; + public const int TEXTURE_SWIZZLE_B = 0x8E44; + public const int TEXTURE_SWIZZLE_A = 0x8E45; + public const int TEXTURE_SWIZZLE_RGBA = 0x8E46; + public const int TIME_ELAPSED = 0x88BF; + public const int TIMESTAMP = 0x8E28; + public const int INT_2_10_10_10_REV = 0x8D9F; + public const int SAMPLE_SHADING = 0x8C36; + public const int MIN_SAMPLE_SHADING_VALUE = 0x8C37; + public const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E; + public const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F; + public const int TEXTURE_CUBE_MAP_ARRAY = 0x9009; + public const int TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A; + public const int PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B; + public const int SAMPLER_CUBE_MAP_ARRAY = 0x900C; + public const int SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D; + public const int INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E; + public const int UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F; + public const int DRAW_INDIRECT_BUFFER = 0x8F3F; + public const int DRAW_INDIRECT_BUFFER_BINDING = 0x8F43; + public const int GEOMETRY_SHADER_INVOCATIONS = 0x887F; + public const int MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A; + public const int MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B; + public const int MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C; + public const int FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D; + public const int MAX_VERTEX_STREAMS = 0x8E71; + public const int DOUBLE_VEC2 = 0x8FFC; + public const int DOUBLE_VEC3 = 0x8FFD; + public const int DOUBLE_VEC4 = 0x8FFE; + public const int DOUBLE_MAT2 = 0x8F46; + public const int DOUBLE_MAT3 = 0x8F47; + public const int DOUBLE_MAT4 = 0x8F48; + public const int DOUBLE_MAT2x3 = 0x8F49; + public const int DOUBLE_MAT2x4 = 0x8F4A; + public const int DOUBLE_MAT3x2 = 0x8F4B; + public const int DOUBLE_MAT3x4 = 0x8F4C; + public const int DOUBLE_MAT4x2 = 0x8F4D; + public const int DOUBLE_MAT4x3 = 0x8F4E; + public const int ACTIVE_SUBROUTINES = 0x8DE5; + public const int ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6; + public const int ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47; + public const int ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48; + public const int ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49; + public const int MAX_SUBROUTINES = 0x8DE7; + public const int MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8; + public const int NUM_COMPATIBLE_SUBROUTINES = 0x8E4A; + public const int COMPATIBLE_SUBROUTINES = 0x8E4B; + public const int PATCHES = 0x000E; + public const int PATCH_VERTICES = 0x8E72; + public const int PATCH_DEFAULT_INNER_LEVEL = 0x8E73; + public const int PATCH_DEFAULT_OUTER_LEVEL = 0x8E74; + public const int TESS_CONTROL_OUTPUT_VERTICES = 0x8E75; + public const int TESS_GEN_MODE = 0x8E76; + public const int TESS_GEN_SPACING = 0x8E77; + public const int TESS_GEN_VERTEX_ORDER = 0x8E78; + public const int TESS_GEN_POINT_MODE = 0x8E79; + public const int ISOLINES = 0x8E7A; + public const int FRACTIONAL_ODD = 0x8E7B; + public const int FRACTIONAL_EVEN = 0x8E7C; + public const int MAX_PATCH_VERTICES = 0x8E7D; + public const int MAX_TESS_GEN_LEVEL = 0x8E7E; + public const int MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F; + public const int MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80; + public const int MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81; + public const int MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82; + public const int MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83; + public const int MAX_TESS_PATCH_COMPONENTS = 0x8E84; + public const int MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85; + public const int MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86; + public const int MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89; + public const int MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A; + public const int MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C; + public const int MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D; + public const int MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E; + public const int MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F; + public const int UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0; + public const int UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1; + public const int TESS_EVALUATION_SHADER = 0x8E87; + public const int TESS_CONTROL_SHADER = 0x8E88; + public const int TRANSFORM_FEEDBACK = 0x8E22; + public const int TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23; + public const int TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24; + public const int TRANSFORM_FEEDBACK_BINDING = 0x8E25; + public const int MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70; + public const int FIXED = 0x140C; + public const int IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; + public const int IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; + public const int LOW_FLOAT = 0x8DF0; + public const int MEDIUM_FLOAT = 0x8DF1; + public const int HIGH_FLOAT = 0x8DF2; + public const int LOW_INT = 0x8DF3; + public const int MEDIUM_INT = 0x8DF4; + public const int HIGH_INT = 0x8DF5; + public const int SHADER_COMPILER = 0x8DFA; + public const int SHADER_BINARY_FORMATS = 0x8DF8; + public const int NUM_SHADER_BINARY_FORMATS = 0x8DF9; + public const int MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; + public const int MAX_VARYING_VECTORS = 0x8DFC; + public const int MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; + public const int RGB565 = 0x8D62; + public const int PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257; + public const int PROGRAM_BINARY_LENGTH = 0x8741; + public const int NUM_PROGRAM_BINARY_FORMATS = 0x87FE; + public const int PROGRAM_BINARY_FORMATS = 0x87FF; + public const int VERTEX_SHADER_BIT = 0x00000001; + public const int FRAGMENT_SHADER_BIT = 0x00000002; + public const int GEOMETRY_SHADER_BIT = 0x00000004; + public const int TESS_CONTROL_SHADER_BIT = 0x00000008; + public const int TESS_EVALUATION_SHADER_BIT = 0x00000010; + public const uint ALL_SHADER_BITS = 0xFFFFFFFFu; + public const int PROGRAM_SEPARABLE = 0x8258; + public const int ACTIVE_PROGRAM = 0x8259; + public const int PROGRAM_PIPELINE_BINDING = 0x825A; + public const int MAX_VIEWPORTS = 0x825B; + public const int VIEWPORT_SUBPIXEL_BITS = 0x825C; + public const int VIEWPORT_BOUNDS_RANGE = 0x825D; + public const int LAYER_PROVOKING_VERTEX = 0x825E; + public const int VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F; + public const int UNDEFINED_VERTEX = 0x8260; + public const int COPY_READ_BUFFER_BINDING = 0x8F36; + public const int COPY_WRITE_BUFFER_BINDING = 0x8F37; + public const int TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; + public const int TRANSFORM_FEEDBACK_PAUSED = 0x8E23; + public const int UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127; + public const int UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128; + public const int UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129; + public const int UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A; + public const int PACK_COMPRESSED_BLOCK_WIDTH = 0x912B; + public const int PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C; + public const int PACK_COMPRESSED_BLOCK_DEPTH = 0x912D; + public const int PACK_COMPRESSED_BLOCK_SIZE = 0x912E; + public const int NUM_SAMPLE_COUNTS = 0x9380; + public const int MIN_MAP_BUFFER_ALIGNMENT = 0x90BC; + public const int ATOMIC_COUNTER_BUFFER = 0x92C0; + public const int ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1; + public const int ATOMIC_COUNTER_BUFFER_START = 0x92C2; + public const int ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3; + public const int ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4; + public const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5; + public const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB; + public const int MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC; + public const int MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD; + public const int MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE; + public const int MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF; + public const int MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0; + public const int MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1; + public const int MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2; + public const int MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3; + public const int MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4; + public const int MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5; + public const int MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6; + public const int MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7; + public const int MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8; + public const int MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC; + public const int ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9; + public const int UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA; + public const int UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB; + public const int VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001; + public const int ELEMENT_ARRAY_BARRIER_BIT = 0x00000002; + public const int UNIFORM_BARRIER_BIT = 0x00000004; + public const int TEXTURE_FETCH_BARRIER_BIT = 0x00000008; + public const int SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020; + public const int COMMAND_BARRIER_BIT = 0x00000040; + public const int PIXEL_BUFFER_BARRIER_BIT = 0x00000080; + public const int TEXTURE_UPDATE_BARRIER_BIT = 0x00000100; + public const int BUFFER_UPDATE_BARRIER_BIT = 0x00000200; + public const int FRAMEBUFFER_BARRIER_BIT = 0x00000400; + public const int TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800; + public const int ATOMIC_COUNTER_BARRIER_BIT = 0x00001000; + public const uint ALL_BARRIER_BITS = 0xFFFFFFFFu; + public const int MAX_IMAGE_UNITS = 0x8F38; + public const int MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39; + public const int IMAGE_BINDING_NAME = 0x8F3A; + public const int IMAGE_BINDING_LEVEL = 0x8F3B; + public const int IMAGE_BINDING_LAYERED = 0x8F3C; + public const int IMAGE_BINDING_LAYER = 0x8F3D; + public const int IMAGE_BINDING_ACCESS = 0x8F3E; + public const int IMAGE_1D = 0x904C; + public const int IMAGE_2D = 0x904D; + public const int IMAGE_3D = 0x904E; + public const int IMAGE_2D_RECT = 0x904F; + public const int IMAGE_CUBE = 0x9050; + public const int IMAGE_BUFFER = 0x9051; + public const int IMAGE_1D_ARRAY = 0x9052; + public const int IMAGE_2D_ARRAY = 0x9053; + public const int IMAGE_CUBE_MAP_ARRAY = 0x9054; + public const int IMAGE_2D_MULTISAMPLE = 0x9055; + public const int IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056; + public const int INT_IMAGE_1D = 0x9057; + public const int INT_IMAGE_2D = 0x9058; + public const int INT_IMAGE_3D = 0x9059; + public const int INT_IMAGE_2D_RECT = 0x905A; + public const int INT_IMAGE_CUBE = 0x905B; + public const int INT_IMAGE_BUFFER = 0x905C; + public const int INT_IMAGE_1D_ARRAY = 0x905D; + public const int INT_IMAGE_2D_ARRAY = 0x905E; + public const int INT_IMAGE_CUBE_MAP_ARRAY = 0x905F; + public const int INT_IMAGE_2D_MULTISAMPLE = 0x9060; + public const int INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061; + public const int UNSIGNED_INT_IMAGE_1D = 0x9062; + public const int UNSIGNED_INT_IMAGE_2D = 0x9063; + public const int UNSIGNED_INT_IMAGE_3D = 0x9064; + public const int UNSIGNED_INT_IMAGE_2D_RECT = 0x9065; + public const int UNSIGNED_INT_IMAGE_CUBE = 0x9066; + public const int UNSIGNED_INT_IMAGE_BUFFER = 0x9067; + public const int UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068; + public const int UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069; + public const int UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A; + public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B; + public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C; + public const int MAX_IMAGE_SAMPLES = 0x906D; + public const int IMAGE_BINDING_FORMAT = 0x906E; + public const int IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7; + public const int IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8; + public const int IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9; + public const int MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA; + public const int MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB; + public const int MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC; + public const int MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD; + public const int MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE; + public const int MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF; + public const int COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C; + public const int COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D; + public const int COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E; + public const int COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F; + public const int TEXTURE_IMMUTABLE_FORMAT = 0x912F; + public const int NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9; + public const int VERTEX_ATTRIB_ARRAY_LONG = 0x874E; + public const int COMPRESSED_RGB8_ETC2 = 0x9274; + public const int COMPRESSED_SRGB8_ETC2 = 0x9275; + public const int COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; + public const int COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; + public const int COMPRESSED_RGBA8_ETC2_EAC = 0x9278; + public const int COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; + public const int COMPRESSED_R11_EAC = 0x9270; + public const int COMPRESSED_SIGNED_R11_EAC = 0x9271; + public const int COMPRESSED_RG11_EAC = 0x9272; + public const int COMPRESSED_SIGNED_RG11_EAC = 0x9273; + public const int PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69; + public const int ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; + public const int MAX_ELEMENT_INDEX = 0x8D6B; + public const int COMPUTE_SHADER = 0x91B9; + public const int MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB; + public const int MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC; + public const int MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD; + public const int MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262; + public const int MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263; + public const int MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264; + public const int MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265; + public const int MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266; + public const int MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB; + public const int MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE; + public const int MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF; + public const int COMPUTE_WORK_GROUP_SIZE = 0x8267; + public const int UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC; + public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED; + public const int DISPATCH_INDIRECT_BUFFER = 0x90EE; + public const int DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF; + public const int COMPUTE_SHADER_BIT = 0x00000020; + public const int DEBUG_OUTPUT_SYNCHRONOUS = 0x8242; + public const int DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243; + public const int DEBUG_CALLBACK_FUNCTION = 0x8244; + public const int DEBUG_CALLBACK_USER_PARAM = 0x8245; + public const int DEBUG_SOURCE_API = 0x8246; + public const int DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247; + public const int DEBUG_SOURCE_SHADER_COMPILER = 0x8248; + public const int DEBUG_SOURCE_THIRD_PARTY = 0x8249; + public const int DEBUG_SOURCE_APPLICATION = 0x824A; + public const int DEBUG_SOURCE_OTHER = 0x824B; + public const int DEBUG_TYPE_ERROR = 0x824C; + public const int DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D; + public const int DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E; + public const int DEBUG_TYPE_PORTABILITY = 0x824F; + public const int DEBUG_TYPE_PERFORMANCE = 0x8250; + public const int DEBUG_TYPE_OTHER = 0x8251; + public const int MAX_DEBUG_MESSAGE_LENGTH = 0x9143; + public const int MAX_DEBUG_LOGGED_MESSAGES = 0x9144; + public const int DEBUG_LOGGED_MESSAGES = 0x9145; + public const int DEBUG_SEVERITY_HIGH = 0x9146; + public const int DEBUG_SEVERITY_MEDIUM = 0x9147; + public const int DEBUG_SEVERITY_LOW = 0x9148; + public const int DEBUG_TYPE_MARKER = 0x8268; + public const int DEBUG_TYPE_PUSH_GROUP = 0x8269; + public const int DEBUG_TYPE_POP_GROUP = 0x826A; + public const int DEBUG_SEVERITY_NOTIFICATION = 0x826B; + public const int MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C; + public const int DEBUG_GROUP_STACK_DEPTH = 0x826D; + public const int BUFFER = 0x82E0; + public const int SHADER = 0x82E1; + public const int PROGRAM = 0x82E2; + public const int QUERY = 0x82E3; + public const int PROGRAM_PIPELINE = 0x82E4; + public const int SAMPLER = 0x82E6; + public const int MAX_LABEL_LENGTH = 0x82E8; + public const int DEBUG_OUTPUT = 0x92E0; + public const int CONTEXT_FLAG_DEBUG_BIT = 0x00000002; + public const int MAX_UNIFORM_LOCATIONS = 0x826E; + public const int FRAMEBUFFER_DEFAULT_WIDTH = 0x9310; + public const int FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311; + public const int FRAMEBUFFER_DEFAULT_LAYERS = 0x9312; + public const int FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313; + public const int FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314; + public const int MAX_FRAMEBUFFER_WIDTH = 0x9315; + public const int MAX_FRAMEBUFFER_HEIGHT = 0x9316; + public const int MAX_FRAMEBUFFER_LAYERS = 0x9317; + public const int MAX_FRAMEBUFFER_SAMPLES = 0x9318; + public const int INTERNALFORMAT_SUPPORTED = 0x826F; + public const int INTERNALFORMAT_PREFERRED = 0x8270; + public const int INTERNALFORMAT_RED_SIZE = 0x8271; + public const int INTERNALFORMAT_GREEN_SIZE = 0x8272; + public const int INTERNALFORMAT_BLUE_SIZE = 0x8273; + public const int INTERNALFORMAT_ALPHA_SIZE = 0x8274; + public const int INTERNALFORMAT_DEPTH_SIZE = 0x8275; + public const int INTERNALFORMAT_STENCIL_SIZE = 0x8276; + public const int INTERNALFORMAT_SHARED_SIZE = 0x8277; + public const int INTERNALFORMAT_RED_TYPE = 0x8278; + public const int INTERNALFORMAT_GREEN_TYPE = 0x8279; + public const int INTERNALFORMAT_BLUE_TYPE = 0x827A; + public const int INTERNALFORMAT_ALPHA_TYPE = 0x827B; + public const int INTERNALFORMAT_DEPTH_TYPE = 0x827C; + public const int INTERNALFORMAT_STENCIL_TYPE = 0x827D; + public const int MAX_WIDTH = 0x827E; + public const int MAX_HEIGHT = 0x827F; + public const int MAX_DEPTH = 0x8280; + public const int MAX_LAYERS = 0x8281; + public const int MAX_COMBINED_DIMENSIONS = 0x8282; + public const int COLOR_COMPONENTS = 0x8283; + public const int DEPTH_COMPONENTS = 0x8284; + public const int STENCIL_COMPONENTS = 0x8285; + public const int COLOR_RENDERABLE = 0x8286; + public const int DEPTH_RENDERABLE = 0x8287; + public const int STENCIL_RENDERABLE = 0x8288; + public const int FRAMEBUFFER_RENDERABLE = 0x8289; + public const int FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A; + public const int FRAMEBUFFER_BLEND = 0x828B; + public const int READ_PIXELS = 0x828C; + public const int READ_PIXELS_FORMAT = 0x828D; + public const int READ_PIXELS_TYPE = 0x828E; + public const int TEXTURE_IMAGE_FORMAT = 0x828F; + public const int TEXTURE_IMAGE_TYPE = 0x8290; + public const int GET_TEXTURE_IMAGE_FORMAT = 0x8291; + public const int GET_TEXTURE_IMAGE_TYPE = 0x8292; + public const int MIPMAP = 0x8293; + public const int MANUAL_GENERATE_MIPMAP = 0x8294; + public const int AUTO_GENERATE_MIPMAP = 0x8295; + public const int COLOR_ENCODING = 0x8296; + public const int SRGB_READ = 0x8297; + public const int SRGB_WRITE = 0x8298; + public const int FILTER = 0x829A; + public const int VERTEX_TEXTURE = 0x829B; + public const int TESS_CONTROL_TEXTURE = 0x829C; + public const int TESS_EVALUATION_TEXTURE = 0x829D; + public const int GEOMETRY_TEXTURE = 0x829E; + public const int FRAGMENT_TEXTURE = 0x829F; + public const int COMPUTE_TEXTURE = 0x82A0; + public const int TEXTURE_SHADOW = 0x82A1; + public const int TEXTURE_GATHER = 0x82A2; + public const int TEXTURE_GATHER_SHADOW = 0x82A3; + public const int SHADER_IMAGE_LOAD = 0x82A4; + public const int SHADER_IMAGE_STORE = 0x82A5; + public const int SHADER_IMAGE_ATOMIC = 0x82A6; + public const int IMAGE_TEXEL_SIZE = 0x82A7; + public const int IMAGE_COMPATIBILITY_CLASS = 0x82A8; + public const int IMAGE_PIXEL_FORMAT = 0x82A9; + public const int IMAGE_PIXEL_TYPE = 0x82AA; + public const int SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC; + public const int SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD; + public const int SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE; + public const int SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF; + public const int TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1; + public const int TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2; + public const int TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3; + public const int CLEAR_BUFFER = 0x82B4; + public const int TEXTURE_VIEW = 0x82B5; + public const int VIEW_COMPATIBILITY_CLASS = 0x82B6; + public const int FULL_SUPPORT = 0x82B7; + public const int CAVEAT_SUPPORT = 0x82B8; + public const int IMAGE_CLASS_4_X_32 = 0x82B9; + public const int IMAGE_CLASS_2_X_32 = 0x82BA; + public const int IMAGE_CLASS_1_X_32 = 0x82BB; + public const int IMAGE_CLASS_4_X_16 = 0x82BC; + public const int IMAGE_CLASS_2_X_16 = 0x82BD; + public const int IMAGE_CLASS_1_X_16 = 0x82BE; + public const int IMAGE_CLASS_4_X_8 = 0x82BF; + public const int IMAGE_CLASS_2_X_8 = 0x82C0; + public const int IMAGE_CLASS_1_X_8 = 0x82C1; + public const int IMAGE_CLASS_11_11_10 = 0x82C2; + public const int IMAGE_CLASS_10_10_10_2 = 0x82C3; + public const int VIEW_CLASS_128_BITS = 0x82C4; + public const int VIEW_CLASS_96_BITS = 0x82C5; + public const int VIEW_CLASS_64_BITS = 0x82C6; + public const int VIEW_CLASS_48_BITS = 0x82C7; + public const int VIEW_CLASS_32_BITS = 0x82C8; + public const int VIEW_CLASS_24_BITS = 0x82C9; + public const int VIEW_CLASS_16_BITS = 0x82CA; + public const int VIEW_CLASS_8_BITS = 0x82CB; + public const int VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC; + public const int VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD; + public const int VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE; + public const int VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF; + public const int VIEW_CLASS_RGTC1_RED = 0x82D0; + public const int VIEW_CLASS_RGTC2_RG = 0x82D1; + public const int VIEW_CLASS_BPTC_UNORM = 0x82D2; + public const int VIEW_CLASS_BPTC_FLOAT = 0x82D3; + public const int UNIFORM = 0x92E1; + public const int UNIFORM_BLOCK = 0x92E2; + public const int PROGRAM_INPUT = 0x92E3; + public const int PROGRAM_OUTPUT = 0x92E4; + public const int BUFFER_VARIABLE = 0x92E5; + public const int SHADER_STORAGE_BLOCK = 0x92E6; + public const int VERTEX_SUBROUTINE = 0x92E8; + public const int TESS_CONTROL_SUBROUTINE = 0x92E9; + public const int TESS_EVALUATION_SUBROUTINE = 0x92EA; + public const int GEOMETRY_SUBROUTINE = 0x92EB; + public const int FRAGMENT_SUBROUTINE = 0x92EC; + public const int COMPUTE_SUBROUTINE = 0x92ED; + public const int VERTEX_SUBROUTINE_UNIFORM = 0x92EE; + public const int TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF; + public const int TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0; + public const int GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1; + public const int FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2; + public const int COMPUTE_SUBROUTINE_UNIFORM = 0x92F3; + public const int TRANSFORM_FEEDBACK_VARYING = 0x92F4; + public const int ACTIVE_RESOURCES = 0x92F5; + public const int MAX_NAME_LENGTH = 0x92F6; + public const int MAX_NUM_ACTIVE_VARIABLES = 0x92F7; + public const int MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8; + public const int NAME_LENGTH = 0x92F9; + public const int TYPE = 0x92FA; + public const int ARRAY_SIZE = 0x92FB; + public const int OFFSET = 0x92FC; + public const int BLOCK_INDEX = 0x92FD; + public const int ARRAY_STRIDE = 0x92FE; + public const int MATRIX_STRIDE = 0x92FF; + public const int IS_ROW_MAJOR = 0x9300; + public const int ATOMIC_COUNTER_BUFFER_INDEX = 0x9301; + public const int BUFFER_BINDING = 0x9302; + public const int BUFFER_DATA_SIZE = 0x9303; + public const int NUM_ACTIVE_VARIABLES = 0x9304; + public const int ACTIVE_VARIABLES = 0x9305; + public const int REFERENCED_BY_VERTEX_SHADER = 0x9306; + public const int REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307; + public const int REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308; + public const int REFERENCED_BY_GEOMETRY_SHADER = 0x9309; + public const int REFERENCED_BY_FRAGMENT_SHADER = 0x930A; + public const int REFERENCED_BY_COMPUTE_SHADER = 0x930B; + public const int TOP_LEVEL_ARRAY_SIZE = 0x930C; + public const int TOP_LEVEL_ARRAY_STRIDE = 0x930D; + public const int LOCATION = 0x930E; + public const int LOCATION_INDEX = 0x930F; + public const int IS_PER_PATCH = 0x92E7; + public const int SHADER_STORAGE_BUFFER = 0x90D2; + public const int SHADER_STORAGE_BUFFER_BINDING = 0x90D3; + public const int SHADER_STORAGE_BUFFER_START = 0x90D4; + public const int SHADER_STORAGE_BUFFER_SIZE = 0x90D5; + public const int MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6; + public const int MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7; + public const int MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8; + public const int MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9; + public const int MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA; + public const int MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB; + public const int MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC; + public const int MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD; + public const int MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE; + public const int SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF; + public const int SHADER_STORAGE_BARRIER_BIT = 0x00002000; + public const int MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39; + public const int DEPTH_STENCIL_TEXTURE_MODE = 0x90EA; + public const int TEXTURE_BUFFER_OFFSET = 0x919D; + public const int TEXTURE_BUFFER_SIZE = 0x919E; + public const int TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F; + public const int TEXTURE_VIEW_MIN_LEVEL = 0x82DB; + public const int TEXTURE_VIEW_NUM_LEVELS = 0x82DC; + public const int TEXTURE_VIEW_MIN_LAYER = 0x82DD; + public const int TEXTURE_VIEW_NUM_LAYERS = 0x82DE; + public const int TEXTURE_IMMUTABLE_LEVELS = 0x82DF; + public const int VERTEX_ATTRIB_BINDING = 0x82D4; + public const int VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5; + public const int VERTEX_BINDING_DIVISOR = 0x82D6; + public const int VERTEX_BINDING_OFFSET = 0x82D7; + public const int VERTEX_BINDING_STRIDE = 0x82D8; + public const int MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9; + public const int MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA; + public const int VERTEX_BINDING_BUFFER = 0x8F4F; + public const int MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; + public const int PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; + public const int TEXTURE_BUFFER_BINDING = 0x8C2A; + public const int MAP_PERSISTENT_BIT = 0x0040; + public const int MAP_COHERENT_BIT = 0x0080; + public const int DYNAMIC_STORAGE_BIT = 0x0100; + public const int CLIENT_STORAGE_BIT = 0x0200; + public const int CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000; + public const int BUFFER_IMMUTABLE_STORAGE = 0x821F; + public const int BUFFER_STORAGE_FLAGS = 0x8220; + public const int CLEAR_TEXTURE = 0x9365; + public const int LOCATION_COMPONENT = 0x934A; + public const int TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B; + public const int TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C; + public const int QUERY_BUFFER = 0x9192; + public const int QUERY_BUFFER_BARRIER_BIT = 0x00008000; + public const int QUERY_BUFFER_BINDING = 0x9193; + public const int QUERY_RESULT_NO_WAIT = 0x9194; + public const int MIRROR_CLAMP_TO_EDGE = 0x8743; + public const int CONTEXT_LOST = 0x0507; + public const int NEGATIVE_ONE_TO_ONE = 0x935E; + public const int ZERO_TO_ONE = 0x935F; + public const int CLIP_ORIGIN = 0x935C; + public const int CLIP_DEPTH_MODE = 0x935D; + public const int QUERY_WAIT_INVERTED = 0x8E17; + public const int QUERY_NO_WAIT_INVERTED = 0x8E18; + public const int QUERY_BY_REGION_WAIT_INVERTED = 0x8E19; + public const int QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A; + public const int MAX_CULL_DISTANCES = 0x82F9; + public const int MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA; + public const int TEXTURE_TARGET = 0x1006; + public const int QUERY_TARGET = 0x82EA; + public const int GUILTY_CONTEXT_RESET = 0x8253; + public const int INNOCENT_CONTEXT_RESET = 0x8254; + public const int UNKNOWN_CONTEXT_RESET = 0x8255; + public const int RESET_NOTIFICATION_STRATEGY = 0x8256; + public const int LOSE_CONTEXT_ON_RESET = 0x8252; + public const int NO_RESET_NOTIFICATION = 0x8261; + public const int CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004; + public const int CONTEXT_RELEASE_BEHAVIOR = 0x82FB; + public const int CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC; + public const int SHADER_BINARY_FORMAT_SPIR_V = 0x9551; + public const int SPIR_V_BINARY = 0x9552; + public const int PARAMETER_BUFFER = 0x80EE; + public const int PARAMETER_BUFFER_BINDING = 0x80EF; + public const int CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008; + public const int VERTICES_SUBMITTED = 0x82EE; + public const int PRIMITIVES_SUBMITTED = 0x82EF; + public const int VERTEX_SHADER_INVOCATIONS = 0x82F0; + public const int TESS_CONTROL_SHADER_PATCHES = 0x82F1; + public const int TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2; + public const int GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3; + public const int FRAGMENT_SHADER_INVOCATIONS = 0x82F4; + public const int COMPUTE_SHADER_INVOCATIONS = 0x82F5; + public const int CLIPPING_INPUT_PRIMITIVES = 0x82F6; + public const int CLIPPING_OUTPUT_PRIMITIVES = 0x82F7; + public const int POLYGON_OFFSET_CLAMP = 0x8E1B; + public const int SPIR_V_EXTENSIONS = 0x9553; + public const int NUM_SPIR_V_EXTENSIONS = 0x9554; + public const int TEXTURE_MAX_ANISOTROPY = 0x84FE; + public const int MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF; + public const int TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC; + public const int TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED; + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/glAttachment.cs b/src/StgSharp.Graphics/OpenGL/glAttachment.cs new file mode 100644 index 00000000..2716fffa --- /dev/null +++ b/src/StgSharp.Graphics/OpenGL/glAttachment.cs @@ -0,0 +1,31 @@ +// ----------------------------------------------------------------------------- +// file="glConst" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Drawing; + +namespace StgSharp.Graphics.OpenGL +{ + // rename types in style of glConst + + public static class glAttachment + { + + public const uint Depth = glConst.DEPTH_ATTACHMENT; + public const uint DepthAndStencil = glConst.DEPTH_STENCIL_ATTACHMENT; + public const uint Stencil = glConst.STENCIL_ATTACHMENT; + + public static uint Color( + int i + ) + { + ArgumentOutOfRangeException.ThrowIfNegative(i); + return (uint)(glConst.COLOR_ATTACHMENT0 + i); + } + + } +} diff --git a/src/StgSharp.Graphics/OpenGL/glConst.cs b/src/StgSharp.Graphics/OpenGL/glConst.cs deleted file mode 100644 index c10d5561..00000000 --- a/src/StgSharp.Graphics/OpenGL/glConst.cs +++ /dev/null @@ -1,4540 +0,0 @@ -// ----------------------------------------------------------------------------- -// file="glConst" -// Project: StgSharp -// Copyright (c) Nitload. -// SPDX-License-Identifier: MIT -// ----------------------------------------------------------------------------- - -using System; -using System.Drawing; - -namespace StgSharp.Graphics.OpenGL -{ - // rename types in style of glConst - - public static unsafe class glConst - { - - #region glad - - public const int _1PASS_EXT = 0x80A1; - public const int _1PASS_SGIS = 0x80A1; - public const int _2PASS_0_EXT = 0x80A2; - public const int _2PASS_0_SGIS = 0x80A2; - public const int _2PASS_1_EXT = 0x80A3; - public const int _2PASS_1_SGIS = 0x80A3; - public const int _2X_BIT_ATI = 0x00000001; - public const int _422_AVERAGE_EXT = 0x80CE; - public const int _422_EXT = 0x80CC; - public const int _422_REV_AVERAGE_EXT = 0x80CF; - public const int _422_REV_EXT = 0x80CD; - public const int _4PASS_0_EXT = 0x80A4; - public const int _4PASS_0_SGIS = 0x80A4; - public const int _4PASS_1_EXT = 0x80A5; - public const int _4PASS_1_SGIS = 0x80A5; - public const int _4PASS_2_EXT = 0x80A6; - public const int _4PASS_2_SGIS = 0x80A6; - public const int _4PASS_3_EXT = 0x80A7; - public const int _4PASS_3_SGIS = 0x80A7; - public const int _4X_BIT_ATI = 0x00000002; - public const int _8X_BIT_ATI = 0x00000004; - public const int ABGR_EXT = 0x8000; - public const int ACCUM_ADJACENT_PAIRS_NV = 0x90AD; - public const int ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9; - public const int ACTIVE_ATTRIBUTES = 0x8B89; - public const int ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; - public const int ACTIVE_PROGRAM = 0x8259; - public const int ACTIVE_PROGRAM_EXT = 0x8B8D; - public const int ACTIVE_RESOURCES = 0x92F5; - public const int ACTIVE_STENCIL_FACE_EXT = 0x8911; - public const int ACTIVE_SUBROUTINES = 0x8DE5; - public const int ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48; - public const int ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6; - public const int ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47; - public const int ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49; - public const int ACTIVE_TEXTURE = 0x84E0; - public const int ACTIVE_TEXTURE_ARB = 0x84E0; - public const int ACTIVE_UNIFORMS = 0x8B86; - public const int ACTIVE_UNIFORM_BLOCKS = 0x8A36; - public const int ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35; - public const int ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; - public const int ACTIVE_VARIABLES = 0x9305; - public const int ACTIVE_VARYINGS_NV = 0x8C81; - public const int ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82; - public const int ACTIVE_VERTEX_UNITS_ARB = 0x86A5; - public const int ADD_ATI = 0x8963; - public const int ADD_SIGNED_ARB = 0x8574; - public const int ADD_SIGNED_EXT = 0x8574; - public const int ADJACENT_PAIRS_NV = 0x90AE; - public const int AFFINE_2D_NV = 0x9092; - public const int AFFINE_3D_NV = 0x9094; - public const int ALIASED_LINE_WIDTH_RANGE = 0x846E; - public const int ALLOW_DRAW_FRG_HINT_PGI = 0x1A210; - public const int ALLOW_DRAW_MEM_HINT_PGI = 0x1A211; - public const int ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E; - public const int ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F; - public const uint ALL_BARRIER_BITS = 0xFFFFFFFF; - public const uint ALL_BARRIER_BITS_EXT = 0xFFFFFFFF; - public const int ALL_COMPLETED_NV = 0x84F2; - public const uint ALL_PIXELS_AMD = 0xFFFFFFFF; - public const uint ALL_SHADER_BITS = 0xFFFFFFFF; - public const int ALL_STATIC_DATA_IBM = 103060; - public const int ALPHA = 0x1906; - public const int ALPHA12_EXT = 0x803D; - public const int ALPHA16F_ARB = 0x881C; - public const int ALPHA16F_EXT = 0x881C; - public const int ALPHA16I_EXT = 0x8D8A; - public const int ALPHA16UI_EXT = 0x8D78; - public const int ALPHA16_EXT = 0x803E; - public const int ALPHA16_SNORM = 0x9018; - public const int ALPHA32F_ARB = 0x8816; - public const int ALPHA32F_EXT = 0x8816; - public const int ALPHA32I_EXT = 0x8D84; - public const int ALPHA32UI_EXT = 0x8D72; - public const int ALPHA4_EXT = 0x803B; - public const int ALPHA8I_EXT = 0x8D90; - public const int ALPHA8UI_EXT = 0x8D7E; - public const int ALPHA8_EXT = 0x803C; - public const int ALPHA8_SNORM = 0x9014; - public const int ALPHA_FLOAT16_APPLE = 0x881C; - public const int ALPHA_FLOAT16_ATI = 0x881C; - public const int ALPHA_FLOAT32_APPLE = 0x8816; - public const int ALPHA_FLOAT32_ATI = 0x8816; - public const int ALPHA_INTEGER_EXT = 0x8D97; - public const int ALPHA_MAX_CLAMP_INGR = 0x8567; - public const int ALPHA_MAX_SGIX = 0x8321; - public const int ALPHA_MIN_CLAMP_INGR = 0x8563; - public const int ALPHA_MIN_SGIX = 0x8320; - public const int ALPHA_REF_COMMAND_NV = 0x000F; - public const int ALPHA_SNORM = 0x9010; - public const int ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D; - public const int ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F; - public const int ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E; - public const int ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF; - public const int ALREADY_SIGNALED = 0x911A; - public const int ALWAYS = 0x0207; - public const int ALWAYS_FAST_HINT_PGI = 0x1A20C; - public const int ALWAYS_SOFT_HINT_PGI = 0x1A20D; - public const int AND = 0x1501; - public const int AND_INVERTED = 0x1504; - public const int AND_REVERSE = 0x1502; - public const int ANY_SAMPLES_PASSED = 0x8C2F; - public const int ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; - public const int ARC_TO_NV = 0xFE; - public const int ARRAY_BUFFER = 0x8892; - public const int ARRAY_BUFFER_ARB = 0x8892; - public const int ARRAY_BUFFER_BINDING = 0x8894; - public const int ARRAY_BUFFER_BINDING_ARB = 0x8894; - public const int ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9; - public const int ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8; - public const int ARRAY_OBJECT_BUFFER_ATI = 0x8766; - public const int ARRAY_OBJECT_OFFSET_ATI = 0x8767; - public const int ARRAY_SIZE = 0x92FB; - public const int ARRAY_STRIDE = 0x92FE; - public const int ASYNC_DRAW_PIXELS_SGIX = 0x835D; - public const int ASYNC_HISTOGRAM_SGIX = 0x832C; - public const int ASYNC_MARKER_SGIX = 0x8329; - public const int ASYNC_READ_PIXELS_SGIX = 0x835E; - public const int ASYNC_TEX_IMAGE_SGIX = 0x835C; - public const int ATOMIC_COUNTER_BARRIER_BIT = 0x00001000; - public const int ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000; - public const int ATOMIC_COUNTER_BUFFER = 0x92C0; - public const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5; - public const int ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6; - public const int ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1; - public const int ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4; - public const int ATOMIC_COUNTER_BUFFER_INDEX = 0x9301; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9; - public const int ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7; - public const int ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3; - public const int ATOMIC_COUNTER_BUFFER_START = 0x92C2; - public const int ATTACHED_MEMORY_OBJECT_NV = 0x95A4; - public const int ATTACHED_MEMORY_OFFSET_NV = 0x95A5; - public const int ATTACHED_SHADERS = 0x8B85; - public const int ATTENUATION_EXT = 0x834D; - public const int ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009; - public const int ATTRIB_ARRAY_POINTER_NV = 0x8645; - public const int ATTRIB_ARRAY_SIZE_NV = 0x8623; - public const int ATTRIB_ARRAY_STRIDE_NV = 0x8624; - public const int ATTRIB_ARRAY_TYPE_NV = 0x8625; - public const int AUTO_GENERATE_MIPMAP = 0x8295; - public const int AUX_DEPTH_STENCIL_APPLE = 0x8A14; - public const int AVERAGE_EXT = 0x8335; - public const int AVERAGE_HP = 0x8160; - public const int BACK = 0x0405; - public const int BACK_LEFT = 0x0402; - public const int BACK_NORMALS_HINT_PGI = 0x1A223; - public const int BACK_PRIMARY_COLOR_NV = 0x8C77; - public const int BACK_RIGHT = 0x0403; - public const int BACK_SECONDARY_COLOR_NV = 0x8C78; - public const int BEVEL_NV = 0x90A6; - public const int BGR = 0x80E0; - public const int BGRA = 0x80E1; - public const int BGRA8_EXT = 0x93A1; - public const int BGRA_EXT = 0x80E1; - public const int BGRA_INTEGER = 0x8D9B; - public const int BGRA_INTEGER_EXT = 0x8D9B; - public const int BGR_EXT = 0x80E0; - public const int BGR_INTEGER = 0x8D9A; - public const int BGR_INTEGER_EXT = 0x8D9A; - public const int BIAS_BIT_ATI = 0x00000008; - public const int BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541; - public const int BINORMAL_ARRAY_EXT = 0x843A; - public const int BINORMAL_ARRAY_POINTER_EXT = 0x8443; - public const int BINORMAL_ARRAY_STRIDE_EXT = 0x8441; - public const int BINORMAL_ARRAY_TYPE_EXT = 0x8440; - public const int BLACKHOLE_RENDER_INTEL = 0x83FC; - public const int BLEND = 0x0BE2; - public const int BLEND_ADVANCED_COHERENT_KHR = 0x9285; - public const int BLEND_ADVANCED_COHERENT_NV = 0x9285; - public const int BLEND_COLOR = 0x8005; - public const int BLEND_COLOR_COMMAND_NV = 0x000B; - public const int BLEND_COLOR_EXT = 0x8005; - public const int BLEND_DST = 0x0BE0; - public const int BLEND_DST_ALPHA = 0x80CA; - public const int BLEND_DST_ALPHA_EXT = 0x80CA; - public const int BLEND_DST_RGB = 0x80C8; - public const int BLEND_DST_RGB_EXT = 0x80C8; - public const int BLEND_EQUATION = 0x8009; - public const int BLEND_EQUATION_ALPHA = 0x883D; - public const int BLEND_EQUATION_ALPHA_EXT = 0x883D; - public const int BLEND_EQUATION_EXT = 0x8009; - public const int BLEND_EQUATION_RGB = 0x8009; - public const int BLEND_EQUATION_RGB_EXT = 0x8009; - public const int BLEND_OVERLAP_NV = 0x9281; - public const int BLEND_PREMULTIPLIED_SRC_NV = 0x9280; - public const int BLEND_SRC = 0x0BE1; - public const int BLEND_SRC_ALPHA = 0x80CB; - public const int BLEND_SRC_ALPHA_EXT = 0x80CB; - public const int BLEND_SRC_RGB = 0x80C9; - public const int BLEND_SRC_RGB_EXT = 0x80C9; - public const int BLOCK_INDEX = 0x92FD; - public const int BLUE = 0x1905; - public const int BLUE_BIT_ATI = 0x00000004; - public const int BLUE_INTEGER = 0x8D96; - public const int BLUE_INTEGER_EXT = 0x8D96; - public const int BLUE_MAX_CLAMP_INGR = 0x8566; - public const int BLUE_MIN_CLAMP_INGR = 0x8562; - public const int BLUE_NV = 0x1905; - public const int BOLD_BIT_NV = 0x01; - public const int BOOL = 0x8B56; - public const int BOOL_ARB = 0x8B56; - public const int BOOL_VEC2 = 0x8B57; - public const int BOOL_VEC2_ARB = 0x8B57; - public const int BOOL_VEC3 = 0x8B58; - public const int BOOL_VEC3_ARB = 0x8B58; - public const int BOOL_VEC4 = 0x8B59; - public const int BOOL_VEC4_ARB = 0x8B59; - public const int BOUNDING_BOX_NV = 0x908D; - public const int BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C; - public const int BUFFER = 0x82E0; - public const int BUFFER_ACCESS = 0x88BB; - public const int BUFFER_ACCESS_ARB = 0x88BB; - public const int BUFFER_ACCESS_FLAGS = 0x911F; - public const int BUFFER_BINDING = 0x9302; - public const int BUFFER_DATA_SIZE = 0x9303; - public const int BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13; - public const int BUFFER_GPU_ADDRESS_NV = 0x8F1D; - public const int BUFFER_IMMUTABLE_STORAGE = 0x821F; - public const int BUFFER_MAPPED = 0x88BC; - public const int BUFFER_MAPPED_ARB = 0x88BC; - public const int BUFFER_MAP_LENGTH = 0x9120; - public const int BUFFER_MAP_OFFSET = 0x9121; - public const int BUFFER_MAP_POINTER = 0x88BD; - public const int BUFFER_MAP_POINTER_ARB = 0x88BD; - public const int BUFFER_OBJECT_APPLE = 0x85B3; - public const int BUFFER_OBJECT_EXT = 0x9151; - public const int BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12; - public const int BUFFER_SIZE = 0x8764; - public const int BUFFER_SIZE_ARB = 0x8764; - public const int BUFFER_STORAGE_FLAGS = 0x8220; - public const int BUFFER_UPDATE_BARRIER_BIT = 0x00000200; - public const int BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200; - public const int BUFFER_USAGE = 0x8765; - public const int BUFFER_USAGE_ARB = 0x8765; - public const int BUFFER_VARIABLE = 0x92E5; - public const int BUMP_ENVMAP_ATI = 0x877B; - public const int BUMP_NUM_TEX_UNITS_ATI = 0x8777; - public const int BUMP_ROT_MATRIX_ATI = 0x8775; - public const int BUMP_ROT_MATRIX_SIZE_ATI = 0x8776; - public const int BUMP_TARGET_ATI = 0x877C; - public const int BUMP_TEX_UNITS_ATI = 0x8778; - public const int BYTE = 0x1400; - public const int CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183; - public const int CAVEAT_SUPPORT = 0x82B8; - public const int CCW = 0x0901; - public const int CIRCULAR_CCW_ARC_TO_NV = 0xF8; - public const int CIRCULAR_CW_ARC_TO_NV = 0xFA; - public const int CIRCULAR_TANGENT_ARC_TO_NV = 0xFC; - public const int CLAMP_FRAGMENT_COLOR_ARB = 0x891B; - public const int CLAMP_READ_COLOR = 0x891C; - public const int CLAMP_READ_COLOR_ARB = 0x891C; - public const int CLAMP_TO_BORDER = 0x812D; - public const int CLAMP_TO_BORDER_ARB = 0x812D; - public const int CLAMP_TO_BORDER_SGIS = 0x812D; - public const int CLAMP_TO_EDGE = 0x812F; - public const int CLAMP_TO_EDGE_SGIS = 0x812F; - public const int CLAMP_VERTEX_COLOR_ARB = 0x891A; - public const int CLEAR = 0x1500; - public const int CLEAR_BUFFER = 0x82B4; - public const int CLEAR_TEXTURE = 0x9365; - public const int CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1; - public const int CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000; - public const int CLIENT_STORAGE_BIT = 0x0200; - public const int CLIPPING_INPUT_PRIMITIVES = 0x82F6; - public const int CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6; - public const int CLIPPING_OUTPUT_PRIMITIVES = 0x82F7; - public const int CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7; - public const int CLIP_DEPTH_MODE = 0x935D; - public const int CLIP_DISTANCE0 = 0x3000; - public const int CLIP_DISTANCE1 = 0x3001; - public const int CLIP_DISTANCE2 = 0x3002; - public const int CLIP_DISTANCE3 = 0x3003; - public const int CLIP_DISTANCE4 = 0x3004; - public const int CLIP_DISTANCE5 = 0x3005; - public const int CLIP_DISTANCE6 = 0x3006; - public const int CLIP_DISTANCE7 = 0x3007; - public const int CLIP_DISTANCE_NV = 0x8C7A; - public const int CLIP_FAR_HINT_PGI = 0x1A221; - public const int CLIP_NEAR_HINT_PGI = 0x1A220; - public const int CLIP_ORIGIN = 0x935C; - public const int CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0; - public const int CLOSE_PATH_NV = 0x00; - public const int CMYKA_EXT = 0x800D; - public const int CMYK_EXT = 0x800C; - public const int CND0_ATI = 0x896B; - public const int CND_ATI = 0x896A; - public const int COLOR = 0x1800; - public const int COLOR3_BIT_PGI = 0x00010000; - public const int COLOR4_BIT_PGI = 0x00020000; - public const int COLORBURN_KHR = 0x929A; - public const int COLORBURN_NV = 0x929A; - public const int COLORDODGE_KHR = 0x9299; - public const int COLORDODGE_NV = 0x9299; - public const int COLOR_ALPHA_PAIRING_ATI = 0x8975; - public const int COLOR_ARRAY_ADDRESS_NV = 0x8F23; - public const int COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898; - public const int COLOR_ARRAY_COUNT_EXT = 0x8084; - public const int COLOR_ARRAY_EXT = 0x8076; - public const int COLOR_ARRAY_LENGTH_NV = 0x8F2D; - public const int COLOR_ARRAY_LIST_IBM = 103072; - public const int COLOR_ARRAY_LIST_STRIDE_IBM = 103082; - public const int COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7; - public const int COLOR_ARRAY_POINTER_EXT = 0x8090; - public const int COLOR_ARRAY_SIZE_EXT = 0x8081; - public const int COLOR_ARRAY_STRIDE_EXT = 0x8083; - public const int COLOR_ARRAY_TYPE_EXT = 0x8082; - public const int COLOR_ATTACHMENT0 = 0x8CE0; - public const int COLOR_ATTACHMENT0_EXT = 0x8CE0; - public const int COLOR_ATTACHMENT1 = 0x8CE1; - public const int COLOR_ATTACHMENT10 = 0x8CEA; - public const int COLOR_ATTACHMENT10_EXT = 0x8CEA; - public const int COLOR_ATTACHMENT11 = 0x8CEB; - public const int COLOR_ATTACHMENT11_EXT = 0x8CEB; - public const int COLOR_ATTACHMENT12 = 0x8CEC; - public const int COLOR_ATTACHMENT12_EXT = 0x8CEC; - public const int COLOR_ATTACHMENT13 = 0x8CED; - public const int COLOR_ATTACHMENT13_EXT = 0x8CED; - public const int COLOR_ATTACHMENT14 = 0x8CEE; - public const int COLOR_ATTACHMENT14_EXT = 0x8CEE; - public const int COLOR_ATTACHMENT15 = 0x8CEF; - public const int COLOR_ATTACHMENT15_EXT = 0x8CEF; - public const int COLOR_ATTACHMENT16 = 0x8CF0; - public const int COLOR_ATTACHMENT17 = 0x8CF1; - public const int COLOR_ATTACHMENT18 = 0x8CF2; - public const int COLOR_ATTACHMENT19 = 0x8CF3; - public const int COLOR_ATTACHMENT1_EXT = 0x8CE1; - public const int COLOR_ATTACHMENT2 = 0x8CE2; - public const int COLOR_ATTACHMENT20 = 0x8CF4; - public const int COLOR_ATTACHMENT21 = 0x8CF5; - public const int COLOR_ATTACHMENT22 = 0x8CF6; - public const int COLOR_ATTACHMENT23 = 0x8CF7; - public const int COLOR_ATTACHMENT24 = 0x8CF8; - public const int COLOR_ATTACHMENT25 = 0x8CF9; - public const int COLOR_ATTACHMENT26 = 0x8CFA; - public const int COLOR_ATTACHMENT27 = 0x8CFB; - public const int COLOR_ATTACHMENT28 = 0x8CFC; - public const int COLOR_ATTACHMENT29 = 0x8CFD; - public const int COLOR_ATTACHMENT2_EXT = 0x8CE2; - public const int COLOR_ATTACHMENT3 = 0x8CE3; - public const int COLOR_ATTACHMENT30 = 0x8CFE; - public const int COLOR_ATTACHMENT31 = 0x8CFF; - public const int COLOR_ATTACHMENT3_EXT = 0x8CE3; - public const int COLOR_ATTACHMENT4 = 0x8CE4; - public const int COLOR_ATTACHMENT4_EXT = 0x8CE4; - public const int COLOR_ATTACHMENT5 = 0x8CE5; - public const int COLOR_ATTACHMENT5_EXT = 0x8CE5; - public const int COLOR_ATTACHMENT6 = 0x8CE6; - public const int COLOR_ATTACHMENT6_EXT = 0x8CE6; - public const int COLOR_ATTACHMENT7 = 0x8CE7; - public const int COLOR_ATTACHMENT7_EXT = 0x8CE7; - public const int COLOR_ATTACHMENT8 = 0x8CE8; - public const int COLOR_ATTACHMENT8_EXT = 0x8CE8; - public const int COLOR_ATTACHMENT9 = 0x8CE9; - public const int COLOR_ATTACHMENT9_EXT = 0x8CE9; - public const int COLOR_BUFFER_BIT = 0x00004000; - public const int COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835; - public const int COLOR_CLEAR_VALUE = 0x0C22; - public const int COLOR_COMPONENTS = 0x8283; - public const int COLOR_ENCODING = 0x8296; - public const int COLOR_FLOAT_APPLE = 0x8A0F; - public const int COLOR_INDEX12_EXT = 0x80E6; - public const int COLOR_INDEX16_EXT = 0x80E7; - public const int COLOR_INDEX1_EXT = 0x80E2; - public const int COLOR_INDEX2_EXT = 0x80E3; - public const int COLOR_INDEX4_EXT = 0x80E4; - public const int COLOR_INDEX8_EXT = 0x80E5; - public const int COLOR_LOGIC_OP = 0x0BF2; - public const int COLOR_MATRIX_SGI = 0x80B1; - public const int COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2; - public const int COLOR_RENDERABLE = 0x8286; - public const int COLOR_SAMPLES_NV = 0x8E20; - public const int COLOR_SUM_ARB = 0x8458; - public const int COLOR_SUM_CLAMP_NV = 0x854F; - public const int COLOR_SUM_EXT = 0x8458; - public const int COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD; - public const int COLOR_TABLE_BIAS_SGI = 0x80D7; - public const int COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC; - public const int COLOR_TABLE_FORMAT_SGI = 0x80D8; - public const int COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB; - public const int COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF; - public const int COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE; - public const int COLOR_TABLE_RED_SIZE_SGI = 0x80DA; - public const int COLOR_TABLE_SCALE_SGI = 0x80D6; - public const int COLOR_TABLE_SGI = 0x80D0; - public const int COLOR_TABLE_WIDTH_SGI = 0x80D9; - public const int COLOR_WRITEMASK = 0x0C23; - public const int COMBINE4_NV = 0x8503; - public const int COMBINER0_NV = 0x8550; - public const int COMBINER1_NV = 0x8551; - public const int COMBINER2_NV = 0x8552; - public const int COMBINER3_NV = 0x8553; - public const int COMBINER4_NV = 0x8554; - public const int COMBINER5_NV = 0x8555; - public const int COMBINER6_NV = 0x8556; - public const int COMBINER7_NV = 0x8557; - public const int COMBINER_AB_DOT_PRODUCT_NV = 0x8545; - public const int COMBINER_AB_OUTPUT_NV = 0x854A; - public const int COMBINER_BIAS_NV = 0x8549; - public const int COMBINER_CD_DOT_PRODUCT_NV = 0x8546; - public const int COMBINER_CD_OUTPUT_NV = 0x854B; - public const int COMBINER_COMPONENT_USAGE_NV = 0x8544; - public const int COMBINER_INPUT_NV = 0x8542; - public const int COMBINER_MAPPING_NV = 0x8543; - public const int COMBINER_MUX_SUM_NV = 0x8547; - public const int COMBINER_SCALE_NV = 0x8548; - public const int COMBINER_SUM_OUTPUT_NV = 0x854C; - public const int COMBINE_ALPHA_ARB = 0x8572; - public const int COMBINE_ALPHA_EXT = 0x8572; - public const int COMBINE_ARB = 0x8570; - public const int COMBINE_EXT = 0x8570; - public const int COMBINE_RGB_ARB = 0x8571; - public const int COMBINE_RGB_EXT = 0x8571; - public const int COMMAND_BARRIER_BIT = 0x00000040; - public const int COMMAND_BARRIER_BIT_EXT = 0x00000040; - public const int COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E; - public const int COMPARE_REF_TO_TEXTURE = 0x884E; - public const int COMPARE_R_TO_TEXTURE_ARB = 0x884E; - public const int COMPATIBLE_SUBROUTINES = 0x8E4B; - public const int COMPILE_STATUS = 0x8B81; - public const int COMPLETION_STATUS_ARB = 0x91B1; - public const int COMPLETION_STATUS_KHR = 0x91B1; - public const int COMPRESSED_ALPHA_ARB = 0x84E9; - public const int COMPRESSED_INTENSITY_ARB = 0x84EC; - public const int COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB; - public const int COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72; - public const int COMPRESSED_LUMINANCE_ARB = 0x84EA; - public const int COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70; - public const int COMPRESSED_R11_EAC = 0x9270; - public const int COMPRESSED_RED = 0x8225; - public const int COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; - public const int COMPRESSED_RED_RGTC1 = 0x8DBB; - public const int COMPRESSED_RED_RGTC1_EXT = 0x8DBB; - public const int COMPRESSED_RG = 0x8226; - public const int COMPRESSED_RG11_EAC = 0x9272; - public const int COMPRESSED_RGB = 0x84ED; - public const int COMPRESSED_RGB8_ETC2 = 0x9274; - public const int COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; - public const int COMPRESSED_RGBA = 0x84EE; - public const int COMPRESSED_RGBA8_ETC2_EAC = 0x9278; - public const int COMPRESSED_RGBA_ARB = 0x84EE; - public const int COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; - public const int COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; - public const int COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; - public const int COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; - public const int COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; - public const int COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; - public const int COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; - public const int COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; - public const int COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; - public const int COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; - public const int COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; - public const int COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; - public const int COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; - public const int COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; - public const int COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C; - public const int COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C; - public const int COMPRESSED_RGBA_FXT1_3DFX = 0x86B1; - public const int COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; - public const int COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; - public const int COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; - public const int COMPRESSED_RGB_ARB = 0x84ED; - public const int COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E; - public const int COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E; - public const int COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F; - public const int COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F; - public const int COMPRESSED_RGB_FXT1_3DFX = 0x86B0; - public const int COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; - public const int COMPRESSED_RG_RGTC2 = 0x8DBD; - public const int COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73; - public const int COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71; - public const int COMPRESSED_SIGNED_R11_EAC = 0x9271; - public const int COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; - public const int COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC; - public const int COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; - public const int COMPRESSED_SIGNED_RG11_EAC = 0x9273; - public const int COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE; - public const int COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B; - public const int COMPRESSED_SLUMINANCE_EXT = 0x8C4A; - public const int COMPRESSED_SRGB = 0x8C48; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; - public const int COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; - public const int COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; - public const int COMPRESSED_SRGB8_ETC2 = 0x9275; - public const int COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; - public const int COMPRESSED_SRGB_ALPHA = 0x8C49; - public const int COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D; - public const int COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D; - public const int COMPRESSED_SRGB_ALPHA_EXT = 0x8C49; - public const int COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; - public const int COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; - public const int COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; - public const int COMPRESSED_SRGB_EXT = 0x8C48; - public const int COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; - public const int COMPRESSED_TEXTURE_FORMATS = 0x86A3; - public const int COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3; - public const int COMPUTE_PROGRAM_NV = 0x90FB; - public const int COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC; - public const int COMPUTE_SHADER = 0x91B9; - public const int COMPUTE_SHADER_BIT = 0x00000020; - public const int COMPUTE_SHADER_INVOCATIONS = 0x82F5; - public const int COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5; - public const int COMPUTE_SUBROUTINE = 0x92ED; - public const int COMPUTE_SUBROUTINE_UNIFORM = 0x92F3; - public const int COMPUTE_TEXTURE = 0x82A0; - public const int COMPUTE_WORK_GROUP_SIZE = 0x8267; - public const int COMP_BIT_ATI = 0x00000002; - public const int CONDITION_SATISFIED = 0x911C; - public const int CONFORMANT_NV = 0x9374; - public const int CONIC_CURVE_TO_NV = 0x1A; - public const int CONJOINT_NV = 0x9284; - public const int CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE; - public const int CONSERVATIVE_RASTERIZATION_NV = 0x9346; - public const int CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B; - public const int CONSERVATIVE_RASTER_DILATE_NV = 0x9379; - public const int CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A; - public const int CONSERVATIVE_RASTER_MODE_NV = 0x954D; - public const int CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E; - public const int CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550; - public const int CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F; - public const int CONSERVE_MEMORY_HINT_PGI = 0x1A1FD; - public const int CONSTANT_ALPHA = 0x8003; - public const int CONSTANT_ALPHA_EXT = 0x8003; - public const int CONSTANT_ARB = 0x8576; - public const int CONSTANT_BORDER_HP = 0x8151; - public const int CONSTANT_COLOR = 0x8001; - public const int CONSTANT_COLOR0_NV = 0x852A; - public const int CONSTANT_COLOR1_NV = 0x852B; - public const int CONSTANT_COLOR_EXT = 0x8001; - public const int CONSTANT_EXT = 0x8576; - public const int CONST_EYE_NV = 0x86E5; - public const int CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002; - public const int CONTEXT_CORE_PROFILE_BIT = 0x00000001; - public const int CONTEXT_FLAGS = 0x821E; - public const int CONTEXT_FLAG_DEBUG_BIT = 0x00000002; - public const int CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001; - public const int CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008; - public const int CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008; - public const int CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004; - public const int CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004; - public const int CONTEXT_LOST = 0x0507; - public const int CONTEXT_PROFILE_MASK = 0x9126; - public const int CONTEXT_RELEASE_BEHAVIOR = 0x82FB; - public const int CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC; - public const int CONTEXT_ROBUST_ACCESS = 0x90F3; - public const int CONTINUOUS_AMD = 0x9007; - public const int CONTRAST_NV = 0x92A1; - public const int CONVEX_HULL_NV = 0x908B; - public const int CONVOLUTION_1D_EXT = 0x8010; - public const int CONVOLUTION_2D_EXT = 0x8011; - public const int CONVOLUTION_BORDER_COLOR_HP = 0x8154; - public const int CONVOLUTION_BORDER_MODE_EXT = 0x8013; - public const int CONVOLUTION_FILTER_BIAS_EXT = 0x8015; - public const int CONVOLUTION_FILTER_SCALE_EXT = 0x8014; - public const int CONVOLUTION_FORMAT_EXT = 0x8017; - public const int CONVOLUTION_HEIGHT_EXT = 0x8019; - public const int CONVOLUTION_HINT_SGIX = 0x8316; - public const int CONVOLUTION_WIDTH_EXT = 0x8018; - public const int CON_0_ATI = 0x8941; - public const int CON_10_ATI = 0x894B; - public const int CON_11_ATI = 0x894C; - public const int CON_12_ATI = 0x894D; - public const int CON_13_ATI = 0x894E; - public const int CON_14_ATI = 0x894F; - public const int CON_15_ATI = 0x8950; - public const int CON_16_ATI = 0x8951; - public const int CON_17_ATI = 0x8952; - public const int CON_18_ATI = 0x8953; - public const int CON_19_ATI = 0x8954; - public const int CON_1_ATI = 0x8942; - public const int CON_20_ATI = 0x8955; - public const int CON_21_ATI = 0x8956; - public const int CON_22_ATI = 0x8957; - public const int CON_23_ATI = 0x8958; - public const int CON_24_ATI = 0x8959; - public const int CON_25_ATI = 0x895A; - public const int CON_26_ATI = 0x895B; - public const int CON_27_ATI = 0x895C; - public const int CON_28_ATI = 0x895D; - public const int CON_29_ATI = 0x895E; - public const int CON_2_ATI = 0x8943; - public const int CON_30_ATI = 0x895F; - public const int CON_31_ATI = 0x8960; - public const int CON_3_ATI = 0x8944; - public const int CON_4_ATI = 0x8945; - public const int CON_5_ATI = 0x8946; - public const int CON_6_ATI = 0x8947; - public const int CON_7_ATI = 0x8948; - public const int CON_8_ATI = 0x8949; - public const int CON_9_ATI = 0x894A; - public const int COORD_REPLACE_ARB = 0x8862; - public const int COORD_REPLACE_NV = 0x8862; - public const int COPY = 0x1503; - public const int COPY_INVERTED = 0x150C; - public const int COPY_READ_BUFFER = 0x8F36; - public const int COPY_READ_BUFFER_BINDING = 0x8F36; - public const int COPY_WRITE_BUFFER = 0x8F37; - public const int COPY_WRITE_BUFFER_BINDING = 0x8F37; - public const int COUNTER_RANGE_AMD = 0x8BC1; - public const int COUNTER_TYPE_AMD = 0x8BC0; - public const int COUNT_DOWN_NV = 0x9089; - public const int COUNT_UP_NV = 0x9088; - public const int COVERAGE_MODULATION_NV = 0x9332; - public const int COVERAGE_MODULATION_TABLE_NV = 0x9331; - public const int COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333; - public const int CUBIC_CURVE_TO_NV = 0x0C; - public const int CUBIC_EXT = 0x8334; - public const int CUBIC_HP = 0x815F; - public const int CULL_FACE = 0x0B44; - public const int CULL_FACE_MODE = 0x0B45; - public const int CULL_FRAGMENT_NV = 0x86E7; - public const int CULL_MODES_NV = 0x86E0; - public const int CULL_VERTEX_EXT = 0x81AA; - public const int CULL_VERTEX_EYE_POSITION_EXT = 0x81AB; - public const int CULL_VERTEX_IBM = 103050; - public const int CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC; - public const int CURRENT_ATTRIB_NV = 0x8626; - public const int CURRENT_BINORMAL_EXT = 0x843C; - public const int CURRENT_FOG_COORDINATE_EXT = 0x8453; - public const int CURRENT_MATRIX_ARB = 0x8641; - public const int CURRENT_MATRIX_INDEX_ARB = 0x8845; - public const int CURRENT_MATRIX_NV = 0x8641; - public const int CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640; - public const int CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640; - public const int CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865; - public const int CURRENT_PALETTE_MATRIX_ARB = 0x8843; - public const int CURRENT_PROGRAM = 0x8B8D; - public const int CURRENT_QUERY = 0x8865; - public const int CURRENT_QUERY_ARB = 0x8865; - public const int CURRENT_RASTER_NORMAL_SGIX = 0x8406; - public const int CURRENT_SECONDARY_COLOR_EXT = 0x8459; - public const int CURRENT_TANGENT_EXT = 0x843B; - public const int CURRENT_TIME_NV = 0x8E28; - public const int CURRENT_VERTEX_ATTRIB = 0x8626; - public const int CURRENT_VERTEX_ATTRIB_ARB = 0x8626; - public const int CURRENT_VERTEX_EXT = 0x87E2; - public const int CURRENT_VERTEX_WEIGHT_EXT = 0x850B; - public const int CURRENT_WEIGHT_ARB = 0x86A8; - public const int CW = 0x0900; - public const int D3D12_FENCE_VALUE_EXT = 0x9595; - public const int DARKEN_KHR = 0x9297; - public const int DARKEN_NV = 0x9297; - public const int DATA_BUFFER_AMD = 0x9151; - public const int DEBUG_CALLBACK_FUNCTION = 0x8244; - public const int DEBUG_CALLBACK_FUNCTION_ARB = 0x8244; - public const int DEBUG_CALLBACK_USER_PARAM = 0x8245; - public const int DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245; - public const int DEBUG_CATEGORY_API_ERROR_AMD = 0x9149; - public const int DEBUG_CATEGORY_APPLICATION_AMD = 0x914F; - public const int DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B; - public const int DEBUG_CATEGORY_OTHER_AMD = 0x9150; - public const int DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D; - public const int DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E; - public const int DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C; - public const int DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A; - public const int DEBUG_GROUP_STACK_DEPTH = 0x826D; - public const int DEBUG_LOGGED_MESSAGES = 0x9145; - public const int DEBUG_LOGGED_MESSAGES_AMD = 0x9145; - public const int DEBUG_LOGGED_MESSAGES_ARB = 0x9145; - public const int DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243; - public const int DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243; - public const int DEBUG_OUTPUT = 0x92E0; - public const int DEBUG_OUTPUT_SYNCHRONOUS = 0x8242; - public const int DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242; - public const int DEBUG_SEVERITY_HIGH = 0x9146; - public const int DEBUG_SEVERITY_HIGH_AMD = 0x9146; - public const int DEBUG_SEVERITY_HIGH_ARB = 0x9146; - public const int DEBUG_SEVERITY_LOW = 0x9148; - public const int DEBUG_SEVERITY_LOW_AMD = 0x9148; - public const int DEBUG_SEVERITY_LOW_ARB = 0x9148; - public const int DEBUG_SEVERITY_MEDIUM = 0x9147; - public const int DEBUG_SEVERITY_MEDIUM_AMD = 0x9147; - public const int DEBUG_SEVERITY_MEDIUM_ARB = 0x9147; - public const int DEBUG_SEVERITY_NOTIFICATION = 0x826B; - public const int DEBUG_SOURCE_API = 0x8246; - public const int DEBUG_SOURCE_API_ARB = 0x8246; - public const int DEBUG_SOURCE_APPLICATION = 0x824A; - public const int DEBUG_SOURCE_APPLICATION_ARB = 0x824A; - public const int DEBUG_SOURCE_OTHER = 0x824B; - public const int DEBUG_SOURCE_OTHER_ARB = 0x824B; - public const int DEBUG_SOURCE_SHADER_COMPILER = 0x8248; - public const int DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248; - public const int DEBUG_SOURCE_THIRD_PARTY = 0x8249; - public const int DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249; - public const int DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247; - public const int DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247; - public const int DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D; - public const int DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D; - public const int DEBUG_TYPE_ERROR = 0x824C; - public const int DEBUG_TYPE_ERROR_ARB = 0x824C; - public const int DEBUG_TYPE_MARKER = 0x8268; - public const int DEBUG_TYPE_OTHER = 0x8251; - public const int DEBUG_TYPE_OTHER_ARB = 0x8251; - public const int DEBUG_TYPE_PERFORMANCE = 0x8250; - public const int DEBUG_TYPE_PERFORMANCE_ARB = 0x8250; - public const int DEBUG_TYPE_POP_GROUP = 0x826A; - public const int DEBUG_TYPE_PORTABILITY = 0x824F; - public const int DEBUG_TYPE_PORTABILITY_ARB = 0x824F; - public const int DEBUG_TYPE_PUSH_GROUP = 0x8269; - public const int DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E; - public const int DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E; - public const int DECODE_EXT = 0x8A49; - public const int DECR = 0x1E03; - public const int DECR_WRAP = 0x8508; - public const int DECR_WRAP_EXT = 0x8508; - public const int DEDICATED_MEMORY_OBJECT_EXT = 0x9581; - public const int DEFORMATIONS_MASK_SGIX = 0x8196; - public const int DELETE_STATUS = 0x8B80; - public const int DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9; - public const int DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA; - public const int DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858; - public const int DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859; - public const int DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A; - public const int DEPTH = 0x1801; - public const int DEPTH24_STENCIL8 = 0x88F0; - public const int DEPTH24_STENCIL8_EXT = 0x88F0; - public const int DEPTH32F_STENCIL8 = 0x8CAD; - public const int DEPTH32F_STENCIL8_NV = 0x8DAC; - public const int DEPTH_ATTACHMENT = 0x8D00; - public const int DEPTH_ATTACHMENT_EXT = 0x8D00; - public const int DEPTH_BOUNDS_EXT = 0x8891; - public const int DEPTH_BOUNDS_TEST_EXT = 0x8890; - public const int DEPTH_BUFFER_BIT = 0x00000100; - public const int DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF; - public const int DEPTH_CLAMP = 0x864F; - public const int DEPTH_CLAMP_FAR_AMD = 0x901F; - public const int DEPTH_CLAMP_NEAR_AMD = 0x901E; - public const int DEPTH_CLAMP_NV = 0x864F; - public const int DEPTH_CLEAR_VALUE = 0x0B73; - public const int DEPTH_COMPONENT = 0x1902; - public const int DEPTH_COMPONENT16 = 0x81A5; - public const int DEPTH_COMPONENT16_ARB = 0x81A5; - public const int DEPTH_COMPONENT16_SGIX = 0x81A5; - public const int DEPTH_COMPONENT24 = 0x81A6; - public const int DEPTH_COMPONENT24_ARB = 0x81A6; - public const int DEPTH_COMPONENT24_SGIX = 0x81A6; - public const int DEPTH_COMPONENT32 = 0x81A7; - public const int DEPTH_COMPONENT32F = 0x8CAC; - public const int DEPTH_COMPONENT32F_NV = 0x8DAB; - public const int DEPTH_COMPONENT32_ARB = 0x81A7; - public const int DEPTH_COMPONENT32_SGIX = 0x81A7; - public const int DEPTH_COMPONENTS = 0x8284; - public const int DEPTH_FUNC = 0x0B74; - public const int DEPTH_RANGE = 0x0B70; - public const int DEPTH_RENDERABLE = 0x8287; - public const int DEPTH_SAMPLES_NV = 0x932D; - public const int DEPTH_STENCIL = 0x84F9; - public const int DEPTH_STENCIL_ATTACHMENT = 0x821A; - public const int DEPTH_STENCIL_EXT = 0x84F9; - public const int DEPTH_STENCIL_NV = 0x84F9; - public const int DEPTH_STENCIL_TEXTURE_MODE = 0x90EA; - public const int DEPTH_STENCIL_TO_BGRA_NV = 0x886F; - public const int DEPTH_STENCIL_TO_RGBA_NV = 0x886E; - public const int DEPTH_TEST = 0x0B71; - public const int DEPTH_TEXTURE_MODE_ARB = 0x884B; - public const int DEPTH_WRITEMASK = 0x0B72; - public const int DETACHED_BUFFERS_NV = 0x95AB; - public const int DETACHED_MEMORY_INCARNATION_NV = 0x95A9; - public const int DETACHED_TEXTURES_NV = 0x95AA; - public const int DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096; - public const int DETAIL_TEXTURE_2D_SGIS = 0x8095; - public const int DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C; - public const int DETAIL_TEXTURE_LEVEL_SGIS = 0x809A; - public const int DETAIL_TEXTURE_MODE_SGIS = 0x809B; - public const int DEVICE_LUID_EXT = 0x9599; - public const int DEVICE_NODE_MASK_EXT = 0x959A; - public const int DEVICE_UUID_EXT = 0x9597; - public const int DIFFERENCE_KHR = 0x929E; - public const int DIFFERENCE_NV = 0x929E; - public const int DISCARD_ATI = 0x8763; - public const int DISCARD_NV = 0x8530; - public const int DISCRETE_AMD = 0x9006; - public const int DISJOINT_NV = 0x9283; - public const int DISPATCH_INDIRECT_BUFFER = 0x90EE; - public const int DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF; - public const int DISTANCE_ATTENUATION_EXT = 0x8129; - public const int DISTANCE_ATTENUATION_SGIS = 0x8129; - public const int DITHER = 0x0BD0; - public const int DONT_CARE = 0x1100; - public const int DOT2_ADD_ATI = 0x896C; - public const int DOT3_ATI = 0x8966; - public const int DOT3_RGBA_ARB = 0x86AF; - public const int DOT3_RGBA_EXT = 0x8741; - public const int DOT3_RGB_ARB = 0x86AE; - public const int DOT3_RGB_EXT = 0x8740; - public const int DOT4_ATI = 0x8967; - public const int DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D; - public const int DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3; - public const int DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED; - public const int DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1; - public const int DOT_PRODUCT_NV = 0x86EC; - public const int DOT_PRODUCT_PASS_THROUGH_NV = 0x885B; - public const int DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2; - public const int DOT_PRODUCT_TEXTURE_1D_NV = 0x885C; - public const int DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE; - public const int DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF; - public const int DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0; - public const int DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E; - public const int DOUBLE = 0x140A; - public const int DOUBLEBUFFER = 0x0C32; - public const int DOUBLE_MAT2 = 0x8F46; - public const int DOUBLE_MAT2_EXT = 0x8F46; - public const int DOUBLE_MAT2x3 = 0x8F49; - public const int DOUBLE_MAT2x3_EXT = 0x8F49; - public const int DOUBLE_MAT2x4 = 0x8F4A; - public const int DOUBLE_MAT2x4_EXT = 0x8F4A; - public const int DOUBLE_MAT3 = 0x8F47; - public const int DOUBLE_MAT3_EXT = 0x8F47; - public const int DOUBLE_MAT3x2 = 0x8F4B; - public const int DOUBLE_MAT3x2_EXT = 0x8F4B; - public const int DOUBLE_MAT3x4 = 0x8F4C; - public const int DOUBLE_MAT3x4_EXT = 0x8F4C; - public const int DOUBLE_MAT4 = 0x8F48; - public const int DOUBLE_MAT4_EXT = 0x8F48; - public const int DOUBLE_MAT4x2 = 0x8F4D; - public const int DOUBLE_MAT4x2_EXT = 0x8F4D; - public const int DOUBLE_MAT4x3 = 0x8F4E; - public const int DOUBLE_MAT4x3_EXT = 0x8F4E; - public const int DOUBLE_VEC2 = 0x8FFC; - public const int DOUBLE_VEC2_EXT = 0x8FFC; - public const int DOUBLE_VEC3 = 0x8FFD; - public const int DOUBLE_VEC3_EXT = 0x8FFD; - public const int DOUBLE_VEC4 = 0x8FFE; - public const int DOUBLE_VEC4_EXT = 0x8FFE; - public const int DRAW_ARRAYS_COMMAND_NV = 0x0003; - public const int DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007; - public const int DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005; - public const int DRAW_BUFFER = 0x0C01; - public const int DRAW_BUFFER0 = 0x8825; - public const int DRAW_BUFFER0_ARB = 0x8825; - public const int DRAW_BUFFER0_ATI = 0x8825; - public const int DRAW_BUFFER1 = 0x8826; - public const int DRAW_BUFFER10 = 0x882F; - public const int DRAW_BUFFER10_ARB = 0x882F; - public const int DRAW_BUFFER10_ATI = 0x882F; - public const int DRAW_BUFFER11 = 0x8830; - public const int DRAW_BUFFER11_ARB = 0x8830; - public const int DRAW_BUFFER11_ATI = 0x8830; - public const int DRAW_BUFFER12 = 0x8831; - public const int DRAW_BUFFER12_ARB = 0x8831; - public const int DRAW_BUFFER12_ATI = 0x8831; - public const int DRAW_BUFFER13 = 0x8832; - public const int DRAW_BUFFER13_ARB = 0x8832; - public const int DRAW_BUFFER13_ATI = 0x8832; - public const int DRAW_BUFFER14 = 0x8833; - public const int DRAW_BUFFER14_ARB = 0x8833; - public const int DRAW_BUFFER14_ATI = 0x8833; - public const int DRAW_BUFFER15 = 0x8834; - public const int DRAW_BUFFER15_ARB = 0x8834; - public const int DRAW_BUFFER15_ATI = 0x8834; - public const int DRAW_BUFFER1_ARB = 0x8826; - public const int DRAW_BUFFER1_ATI = 0x8826; - public const int DRAW_BUFFER2 = 0x8827; - public const int DRAW_BUFFER2_ARB = 0x8827; - public const int DRAW_BUFFER2_ATI = 0x8827; - public const int DRAW_BUFFER3 = 0x8828; - public const int DRAW_BUFFER3_ARB = 0x8828; - public const int DRAW_BUFFER3_ATI = 0x8828; - public const int DRAW_BUFFER4 = 0x8829; - public const int DRAW_BUFFER4_ARB = 0x8829; - public const int DRAW_BUFFER4_ATI = 0x8829; - public const int DRAW_BUFFER5 = 0x882A; - public const int DRAW_BUFFER5_ARB = 0x882A; - public const int DRAW_BUFFER5_ATI = 0x882A; - public const int DRAW_BUFFER6 = 0x882B; - public const int DRAW_BUFFER6_ARB = 0x882B; - public const int DRAW_BUFFER6_ATI = 0x882B; - public const int DRAW_BUFFER7 = 0x882C; - public const int DRAW_BUFFER7_ARB = 0x882C; - public const int DRAW_BUFFER7_ATI = 0x882C; - public const int DRAW_BUFFER8 = 0x882D; - public const int DRAW_BUFFER8_ARB = 0x882D; - public const int DRAW_BUFFER8_ATI = 0x882D; - public const int DRAW_BUFFER9 = 0x882E; - public const int DRAW_BUFFER9_ARB = 0x882E; - public const int DRAW_BUFFER9_ATI = 0x882E; - public const int DRAW_ELEMENTS_COMMAND_NV = 0x0002; - public const int DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006; - public const int DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004; - public const int DRAW_FRAMEBUFFER = 0x8CA9; - public const int DRAW_FRAMEBUFFER_BINDING = 0x8CA6; - public const int DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6; - public const int DRAW_FRAMEBUFFER_EXT = 0x8CA9; - public const int DRAW_INDIRECT_ADDRESS_NV = 0x8F41; - public const int DRAW_INDIRECT_BUFFER = 0x8F3F; - public const int DRAW_INDIRECT_BUFFER_BINDING = 0x8F43; - public const int DRAW_INDIRECT_LENGTH_NV = 0x8F42; - public const int DRAW_INDIRECT_UNIFIED_NV = 0x8F40; - public const int DRAW_PIXELS_APPLE = 0x8A0A; - public const int DRIVER_UUID_EXT = 0x9598; - public const int DSDT8_MAG8_INTENSITY8_NV = 0x870B; - public const int DSDT8_MAG8_NV = 0x870A; - public const int DSDT8_NV = 0x8709; - public const int DSDT_MAG_INTENSITY_NV = 0x86DC; - public const int DSDT_MAG_NV = 0x86F6; - public const int DSDT_MAG_VIB_NV = 0x86F7; - public const int DSDT_NV = 0x86F5; - public const int DST_ALPHA = 0x0304; - public const int DST_ATOP_NV = 0x928F; - public const int DST_COLOR = 0x0306; - public const int DST_IN_NV = 0x928B; - public const int DST_NV = 0x9287; - public const int DST_OUT_NV = 0x928D; - public const int DST_OVER_NV = 0x9289; - public const int DS_BIAS_NV = 0x8716; - public const int DS_SCALE_NV = 0x8710; - public const int DT_BIAS_NV = 0x8717; - public const int DT_SCALE_NV = 0x8711; - public const int DU8DV8_ATI = 0x877A; - public const int DUAL_ALPHA12_SGIS = 0x8112; - public const int DUAL_ALPHA16_SGIS = 0x8113; - public const int DUAL_ALPHA4_SGIS = 0x8110; - public const int DUAL_ALPHA8_SGIS = 0x8111; - public const int DUAL_INTENSITY12_SGIS = 0x811A; - public const int DUAL_INTENSITY16_SGIS = 0x811B; - public const int DUAL_INTENSITY4_SGIS = 0x8118; - public const int DUAL_INTENSITY8_SGIS = 0x8119; - public const int DUAL_LUMINANCE12_SGIS = 0x8116; - public const int DUAL_LUMINANCE16_SGIS = 0x8117; - public const int DUAL_LUMINANCE4_SGIS = 0x8114; - public const int DUAL_LUMINANCE8_SGIS = 0x8115; - public const int DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C; - public const int DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D; - public const int DUAL_TEXTURE_SELECT_SGIS = 0x8124; - public const int DUDV_ATI = 0x8779; - public const int DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2; - public const int DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4; - public const int DYNAMIC_ATI = 0x8761; - public const int DYNAMIC_COPY = 0x88EA; - public const int DYNAMIC_COPY_ARB = 0x88EA; - public const int DYNAMIC_DRAW = 0x88E8; - public const int DYNAMIC_DRAW_ARB = 0x88E8; - public const int DYNAMIC_READ = 0x88E9; - public const int DYNAMIC_READ_ARB = 0x88E9; - public const int DYNAMIC_STORAGE_BIT = 0x0100; - public const int EDGEFLAG_BIT_PGI = 0x00040000; - public const int EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26; - public const int EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B; - public const int EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D; - public const int EDGE_FLAG_ARRAY_EXT = 0x8079; - public const int EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30; - public const int EDGE_FLAG_ARRAY_LIST_IBM = 103075; - public const int EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085; - public const int EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093; - public const int EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C; - public const int EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C; - public const int EIGHTH_BIT_ATI = 0x00000020; - public const int ELEMENT_ADDRESS_COMMAND_NV = 0x0008; - public const int ELEMENT_ARRAY_ADDRESS_NV = 0x8F29; - public const int ELEMENT_ARRAY_APPLE = 0x8A0C; - public const int ELEMENT_ARRAY_ATI = 0x8768; - public const int ELEMENT_ARRAY_BARRIER_BIT = 0x00000002; - public const int ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002; - public const int ELEMENT_ARRAY_BUFFER = 0x8893; - public const int ELEMENT_ARRAY_BUFFER_ARB = 0x8893; - public const int ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; - public const int ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895; - public const int ELEMENT_ARRAY_LENGTH_NV = 0x8F33; - public const int ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E; - public const int ELEMENT_ARRAY_POINTER_ATI = 0x876A; - public const int ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D; - public const int ELEMENT_ARRAY_TYPE_ATI = 0x8769; - public const int ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F; - public const int EMBOSS_CONSTANT_NV = 0x855E; - public const int EMBOSS_LIGHT_NV = 0x855D; - public const int EMBOSS_MAP_NV = 0x855F; - public const int EQUAL = 0x0202; - public const int EQUIV = 0x1509; - public const int EVAL_2D_NV = 0x86C0; - public const int EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5; - public const int EVAL_TRIANGULAR_2D_NV = 0x86C1; - public const int EVAL_VERTEX_ATTRIB0_NV = 0x86C6; - public const int EVAL_VERTEX_ATTRIB10_NV = 0x86D0; - public const int EVAL_VERTEX_ATTRIB11_NV = 0x86D1; - public const int EVAL_VERTEX_ATTRIB12_NV = 0x86D2; - public const int EVAL_VERTEX_ATTRIB13_NV = 0x86D3; - public const int EVAL_VERTEX_ATTRIB14_NV = 0x86D4; - public const int EVAL_VERTEX_ATTRIB15_NV = 0x86D5; - public const int EVAL_VERTEX_ATTRIB1_NV = 0x86C7; - public const int EVAL_VERTEX_ATTRIB2_NV = 0x86C8; - public const int EVAL_VERTEX_ATTRIB3_NV = 0x86C9; - public const int EVAL_VERTEX_ATTRIB4_NV = 0x86CA; - public const int EVAL_VERTEX_ATTRIB5_NV = 0x86CB; - public const int EVAL_VERTEX_ATTRIB6_NV = 0x86CC; - public const int EVAL_VERTEX_ATTRIB7_NV = 0x86CD; - public const int EVAL_VERTEX_ATTRIB8_NV = 0x86CE; - public const int EVAL_VERTEX_ATTRIB9_NV = 0x86CF; - public const int EXCLUSION_KHR = 0x92A0; - public const int EXCLUSION_NV = 0x92A0; - public const int EXCLUSIVE_EXT = 0x8F11; - public const int EXPAND_NEGATE_NV = 0x8539; - public const int EXPAND_NORMAL_NV = 0x8538; - public const int EXTENSIONS = 0x1F03; - public const int EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160; - public const int EYE_DISTANCE_TO_LINE_SGIS = 0x81F2; - public const int EYE_DISTANCE_TO_POINT_SGIS = 0x81F0; - public const int EYE_LINE_SGIS = 0x81F6; - public const int EYE_PLANE = 0x2502; - public const int EYE_PLANE_ABSOLUTE_NV = 0x855C; - public const int EYE_POINT_SGIS = 0x81F4; - public const int EYE_RADIAL_NV = 0x855B; - public const int E_TIMES_F_NV = 0x8531; - public const int FACTOR_MAX_AMD = 0x901D; - public const int FACTOR_MIN_AMD = 0x901C; - public const int FAILURE_NV = 0x9030; - public const int FALSE = 0; - public const int FASTEST = 0x1101; - public const int FENCE_APPLE = 0x8A0B; - public const int FENCE_CONDITION_NV = 0x84F4; - public const int FENCE_STATUS_NV = 0x84F3; - public const int FIELDS_NV = 0x8E27; - public const int FIELD_LOWER_NV = 0x9023; - public const int FIELD_UPPER_NV = 0x9022; - public const int FILE_NAME_NV = 0x9074; - public const int FILL = 0x1B02; - public const int FILL_RECTANGLE_NV = 0x933C; - public const int FILTER = 0x829A; - public const int FILTER4_SGIS = 0x8146; - public const int FIRST_TO_REST_NV = 0x90AF; - public const int FIRST_VERTEX_CONVENTION = 0x8E4D; - public const int FIRST_VERTEX_CONVENTION_EXT = 0x8E4D; - public const int FIXED = 0x140C; - public const int FIXED_OES = 0x140C; - public const int FIXED_ONLY = 0x891D; - public const int FIXED_ONLY_ARB = 0x891D; - public const int FLOAT = 0x1406; - public const int FLOAT16_MAT2_AMD = 0x91C5; - public const int FLOAT16_MAT2x3_AMD = 0x91C8; - public const int FLOAT16_MAT2x4_AMD = 0x91C9; - public const int FLOAT16_MAT3_AMD = 0x91C6; - public const int FLOAT16_MAT3x2_AMD = 0x91CA; - public const int FLOAT16_MAT3x4_AMD = 0x91CB; - public const int FLOAT16_MAT4_AMD = 0x91C7; - public const int FLOAT16_MAT4x2_AMD = 0x91CC; - public const int FLOAT16_MAT4x3_AMD = 0x91CD; - public const int FLOAT16_NV = 0x8FF8; - public const int FLOAT16_VEC2_NV = 0x8FF9; - public const int FLOAT16_VEC3_NV = 0x8FFA; - public const int FLOAT16_VEC4_NV = 0x8FFB; - public const int FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD; - public const int FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD; - public const int FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D; - public const int FLOAT_MAT2 = 0x8B5A; - public const int FLOAT_MAT2_ARB = 0x8B5A; - public const int FLOAT_MAT2x3 = 0x8B65; - public const int FLOAT_MAT2x4 = 0x8B66; - public const int FLOAT_MAT3 = 0x8B5B; - public const int FLOAT_MAT3_ARB = 0x8B5B; - public const int FLOAT_MAT3x2 = 0x8B67; - public const int FLOAT_MAT3x4 = 0x8B68; - public const int FLOAT_MAT4 = 0x8B5C; - public const int FLOAT_MAT4_ARB = 0x8B5C; - public const int FLOAT_MAT4x2 = 0x8B69; - public const int FLOAT_MAT4x3 = 0x8B6A; - public const int FLOAT_R16_NV = 0x8884; - public const int FLOAT_R32_NV = 0x8885; - public const int FLOAT_RG16_NV = 0x8886; - public const int FLOAT_RG32_NV = 0x8887; - public const int FLOAT_RGB16_NV = 0x8888; - public const int FLOAT_RGB32_NV = 0x8889; - public const int FLOAT_RGBA16_NV = 0x888A; - public const int FLOAT_RGBA32_NV = 0x888B; - public const int FLOAT_RGBA_MODE_NV = 0x888E; - public const int FLOAT_RGBA_NV = 0x8883; - public const int FLOAT_RGB_NV = 0x8882; - public const int FLOAT_RG_NV = 0x8881; - public const int FLOAT_R_NV = 0x8880; - public const int FLOAT_VEC2 = 0x8B50; - public const int FLOAT_VEC2_ARB = 0x8B50; - public const int FLOAT_VEC3 = 0x8B51; - public const int FLOAT_VEC3_ARB = 0x8B51; - public const int FLOAT_VEC4 = 0x8B52; - public const int FLOAT_VEC4_ARB = 0x8B52; - public const int FOG = 0x0B60; - public const int FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D; - public const int FOG_COORDINATE_ARRAY_EXT = 0x8457; - public const int FOG_COORDINATE_ARRAY_LIST_IBM = 103076; - public const int FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086; - public const int FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456; - public const int FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455; - public const int FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454; - public const int FOG_COORDINATE_EXT = 0x8451; - public const int FOG_COORDINATE_SOURCE_EXT = 0x8450; - public const int FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28; - public const int FOG_COORD_ARRAY_LENGTH_NV = 0x8F32; - public const int FOG_DISTANCE_MODE_NV = 0x855A; - public const int FOG_FUNC_POINTS_SGIS = 0x812B; - public const int FOG_FUNC_SGIS = 0x812A; - public const int FOG_OFFSET_SGIX = 0x8198; - public const int FOG_OFFSET_VALUE_SGIX = 0x8199; - public const int FOG_SPECULAR_TEXTURE_WIN = 0x80EC; - public const int FONT_ASCENDER_BIT_NV = 0x00200000; - public const int FONT_DESCENDER_BIT_NV = 0x00400000; - public const int FONT_GLYPHS_AVAILABLE_NV = 0x9368; - public const int FONT_HAS_KERNING_BIT_NV = 0x10000000; - public const int FONT_HEIGHT_BIT_NV = 0x00800000; - public const int FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000; - public const int FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000; - public const int FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000; - public const int FONT_TARGET_UNAVAILABLE_NV = 0x9369; - public const int FONT_UNAVAILABLE_NV = 0x936A; - public const int FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000; - public const int FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000; - public const int FONT_UNINTELLIGIBLE_NV = 0x936B; - public const int FONT_UNITS_PER_EM_BIT_NV = 0x00100000; - public const int FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000; - public const int FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000; - public const int FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000; - public const int FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000; - public const int FORCE_BLUE_TO_ONE_NV = 0x8860; - public const int FORMAT_SUBSAMPLE_244_244_OML = 0x8983; - public const int FORMAT_SUBSAMPLE_24_24_OML = 0x8982; - public const int FRACTIONAL_EVEN = 0x8E7C; - public const int FRACTIONAL_ODD = 0x8E7B; - public const int FRAGMENT_COLOR_EXT = 0x834C; - public const int FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402; - public const int FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403; - public const int FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401; - public const int FRAGMENT_COVERAGE_COLOR_NV = 0x92DE; - public const int FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD; - public const int FRAGMENT_DEPTH_EXT = 0x8452; - public const int FRAGMENT_INPUT_NV = 0x936D; - public const int FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D; - public const int FRAGMENT_LIGHT0_SGIX = 0x840C; - public const int FRAGMENT_LIGHT1_SGIX = 0x840D; - public const int FRAGMENT_LIGHT2_SGIX = 0x840E; - public const int FRAGMENT_LIGHT3_SGIX = 0x840F; - public const int FRAGMENT_LIGHT4_SGIX = 0x8410; - public const int FRAGMENT_LIGHT5_SGIX = 0x8411; - public const int FRAGMENT_LIGHT6_SGIX = 0x8412; - public const int FRAGMENT_LIGHT7_SGIX = 0x8413; - public const int FRAGMENT_LIGHTING_SGIX = 0x8400; - public const int FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A; - public const int FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408; - public const int FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B; - public const int FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409; - public const int FRAGMENT_MATERIAL_EXT = 0x8349; - public const int FRAGMENT_NORMAL_EXT = 0x834A; - public const int FRAGMENT_PROGRAM_ARB = 0x8804; - public const int FRAGMENT_PROGRAM_BINDING_NV = 0x8873; - public const int FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D; - public const int FRAGMENT_PROGRAM_NV = 0x8870; - public const int FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4; - public const int FRAGMENT_SHADER = 0x8B30; - public const int FRAGMENT_SHADER_ARB = 0x8B30; - public const int FRAGMENT_SHADER_ATI = 0x8920; - public const int FRAGMENT_SHADER_BIT = 0x00000002; - public const int FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B; - public const int FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B; - public const int FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52; - public const int FRAGMENT_SHADER_INVOCATIONS = 0x82F4; - public const int FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4; - public const int FRAGMENT_SUBROUTINE = 0x92EC; - public const int FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2; - public const int FRAGMENT_TEXTURE = 0x829F; - public const int FRAMEBUFFER = 0x8D40; - public const int FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215; - public const int FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214; - public const int FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210; - public const int FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211; - public const int FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216; - public const int FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213; - public const int FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7; - public const int FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7; - public const int FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7; - public const int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; - public const int FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1; - public const int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; - public const int FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0; - public const int FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212; - public const int FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2; - public const int FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; - public const int FRAMEBUFFER_BARRIER_BIT = 0x00000400; - public const int FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400; - public const int FRAMEBUFFER_BINDING = 0x8CA6; - public const int FRAMEBUFFER_BINDING_EXT = 0x8CA6; - public const int FRAMEBUFFER_BLEND = 0x828B; - public const int FRAMEBUFFER_COMPLETE = 0x8CD5; - public const int FRAMEBUFFER_COMPLETE_EXT = 0x8CD5; - public const int FRAMEBUFFER_DEFAULT = 0x8218; - public const int FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314; - public const int FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311; - public const int FRAMEBUFFER_DEFAULT_LAYERS = 0x9312; - public const int FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313; - public const int FRAMEBUFFER_DEFAULT_WIDTH = 0x9310; - public const int FRAMEBUFFER_EXT = 0x8D40; - public const int FRAMEBUFFER_FLIP_X_MESA = 0x8BBC; - public const int FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB; - public const int FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; - public const int FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6; - public const int FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9; - public const int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB; - public const int FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB; - public const int FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA; - public const int FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9; - public const int FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9; - public const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8; - public const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8; - public const int FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8; - public const int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; - public const int FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7; - public const int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56; - public const int FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56; - public const int FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC; - public const int FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC; - public const int FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; - public const int FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342; - public const int FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342; - public const int FRAMEBUFFER_RENDERABLE = 0x8289; - public const int FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A; - public const int FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343; - public const int FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343; - public const int FRAMEBUFFER_SRGB = 0x8DB9; - public const int FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA; - public const int FRAMEBUFFER_SRGB_EXT = 0x8DB9; - public const int FRAMEBUFFER_SWAP_XY_MESA = 0x8BBD; - public const int FRAMEBUFFER_UNDEFINED = 0x8219; - public const int FRAMEBUFFER_UNSUPPORTED = 0x8CDD; - public const int FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD; - public const int FRAMEZOOM_FACTOR_SGIX = 0x818C; - public const int FRAMEZOOM_SGIX = 0x818B; - public const int FRAME_NV = 0x8E26; - public const int FRONT = 0x0404; - public const int FRONT_AND_BACK = 0x0408; - public const int FRONT_FACE = 0x0B46; - public const int FRONT_FACE_COMMAND_NV = 0x0012; - public const int FRONT_LEFT = 0x0400; - public const int FRONT_RIGHT = 0x0401; - public const int FULL_RANGE_EXT = 0x87E1; - public const int FULL_STIPPLE_HINT_PGI = 0x1A219; - public const int FULL_SUPPORT = 0x82B7; - public const int FUNC_ADD = 0x8006; - public const int FUNC_ADD_EXT = 0x8006; - public const int FUNC_REVERSE_SUBTRACT = 0x800B; - public const int FUNC_REVERSE_SUBTRACT_EXT = 0x800B; - public const int FUNC_SUBTRACT = 0x800A; - public const int FUNC_SUBTRACT_EXT = 0x800A; - public const int GENERATE_MIPMAP_HINT_SGIS = 0x8192; - public const int GENERATE_MIPMAP_SGIS = 0x8191; - public const int GENERIC_ATTRIB_NV = 0x8C7D; - public const int GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002; - public const int GEOMETRY_DEFORMATION_SGIX = 0x8194; - public const int GEOMETRY_INPUT_TYPE = 0x8917; - public const int GEOMETRY_INPUT_TYPE_ARB = 0x8DDB; - public const int GEOMETRY_INPUT_TYPE_EXT = 0x8DDB; - public const int GEOMETRY_OUTPUT_TYPE = 0x8918; - public const int GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC; - public const int GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC; - public const int GEOMETRY_PROGRAM_NV = 0x8C26; - public const int GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3; - public const int GEOMETRY_SHADER = 0x8DD9; - public const int GEOMETRY_SHADER_ARB = 0x8DD9; - public const int GEOMETRY_SHADER_BIT = 0x00000004; - public const int GEOMETRY_SHADER_EXT = 0x8DD9; - public const int GEOMETRY_SHADER_INVOCATIONS = 0x887F; - public const int GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3; - public const int GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3; - public const int GEOMETRY_SUBROUTINE = 0x92EB; - public const int GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1; - public const int GEOMETRY_TEXTURE = 0x829E; - public const int GEOMETRY_VERTICES_OUT = 0x8916; - public const int GEOMETRY_VERTICES_OUT_ARB = 0x8DDA; - public const int GEOMETRY_VERTICES_OUT_EXT = 0x8DDA; - public const int GEQUAL = 0x0206; - public const int GET_TEXTURE_IMAGE_FORMAT = 0x8291; - public const int GET_TEXTURE_IMAGE_TYPE = 0x8292; - public const int GLOBAL_ALPHA_FACTOR_SUN = 0x81DA; - public const int GLOBAL_ALPHA_SUN = 0x81D9; - public const int GLYPH_HAS_KERNING_BIT_NV = 0x100; - public const int GLYPH_HEIGHT_BIT_NV = 0x02; - public const int GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10; - public const int GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04; - public const int GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08; - public const int GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80; - public const int GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20; - public const int GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40; - public const int GLYPH_WIDTH_BIT_NV = 0x01; - public const int GPU_ADDRESS_NV = 0x8F34; - public const int GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049; - public const int GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047; - public const int GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B; - public const int GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A; - public const int GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048; - public const int GREATER = 0x0204; - public const int GREEN = 0x1904; - public const int GREEN_BIT_ATI = 0x00000002; - public const int GREEN_INTEGER = 0x8D95; - public const int GREEN_INTEGER_EXT = 0x8D95; - public const int GREEN_MAX_CLAMP_INGR = 0x8565; - public const int GREEN_MIN_CLAMP_INGR = 0x8561; - public const int GREEN_NV = 0x1904; - public const int GUILTY_CONTEXT_RESET = 0x8253; - public const int GUILTY_CONTEXT_RESET_ARB = 0x8253; - public const int HALF_APPLE = 0x140B; - public const int HALF_BIAS_NEGATE_NV = 0x853B; - public const int HALF_BIAS_NORMAL_NV = 0x853A; - public const int HALF_BIT_ATI = 0x00000008; - public const int HALF_FLOAT = 0x140B; - public const int HALF_FLOAT_ARB = 0x140B; - public const int HALF_FLOAT_NV = 0x140B; - public const int HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B; - public const int HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C; - public const int HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594; - public const int HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A; - public const int HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589; - public const int HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586; - public const int HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587; - public const int HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588; - public const int HARDLIGHT_KHR = 0x929B; - public const int HARDLIGHT_NV = 0x929B; - public const int HARDMIX_NV = 0x92A9; - public const int HIGH_FLOAT = 0x8DF2; - public const int HIGH_INT = 0x8DF5; - public const int HILO16_NV = 0x86F8; - public const int HILO8_NV = 0x885E; - public const int HILO_NV = 0x86F4; - public const int HISTOGRAM_ALPHA_SIZE_EXT = 0x802B; - public const int HISTOGRAM_BLUE_SIZE_EXT = 0x802A; - public const int HISTOGRAM_EXT = 0x8024; - public const int HISTOGRAM_FORMAT_EXT = 0x8027; - public const int HISTOGRAM_GREEN_SIZE_EXT = 0x8029; - public const int HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C; - public const int HISTOGRAM_RED_SIZE_EXT = 0x8028; - public const int HISTOGRAM_SINK_EXT = 0x802D; - public const int HISTOGRAM_WIDTH_EXT = 0x8026; - public const int HI_BIAS_NV = 0x8714; - public const int HI_SCALE_NV = 0x870E; - public const int HORIZONTAL_LINE_TO_NV = 0x06; - public const int HSL_COLOR_KHR = 0x92AF; - public const int HSL_COLOR_NV = 0x92AF; - public const int HSL_HUE_KHR = 0x92AD; - public const int HSL_HUE_NV = 0x92AD; - public const int HSL_LUMINOSITY_KHR = 0x92B0; - public const int HSL_LUMINOSITY_NV = 0x92B0; - public const int HSL_SATURATION_KHR = 0x92AE; - public const int HSL_SATURATION_NV = 0x92AE; - public const int IDENTITY_NV = 0x862A; - public const int IGNORE_BORDER_HP = 0x8150; - public const int IMAGE_1D = 0x904C; - public const int IMAGE_1D_ARRAY = 0x9052; - public const int IMAGE_1D_ARRAY_EXT = 0x9052; - public const int IMAGE_1D_EXT = 0x904C; - public const int IMAGE_2D = 0x904D; - public const int IMAGE_2D_ARRAY = 0x9053; - public const int IMAGE_2D_ARRAY_EXT = 0x9053; - public const int IMAGE_2D_EXT = 0x904D; - public const int IMAGE_2D_MULTISAMPLE = 0x9055; - public const int IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056; - public const int IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056; - public const int IMAGE_2D_MULTISAMPLE_EXT = 0x9055; - public const int IMAGE_2D_RECT = 0x904F; - public const int IMAGE_2D_RECT_EXT = 0x904F; - public const int IMAGE_3D = 0x904E; - public const int IMAGE_3D_EXT = 0x904E; - public const int IMAGE_BINDING_ACCESS = 0x8F3E; - public const int IMAGE_BINDING_ACCESS_EXT = 0x8F3E; - public const int IMAGE_BINDING_FORMAT = 0x906E; - public const int IMAGE_BINDING_FORMAT_EXT = 0x906E; - public const int IMAGE_BINDING_LAYER = 0x8F3D; - public const int IMAGE_BINDING_LAYERED = 0x8F3C; - public const int IMAGE_BINDING_LAYERED_EXT = 0x8F3C; - public const int IMAGE_BINDING_LAYER_EXT = 0x8F3D; - public const int IMAGE_BINDING_LEVEL = 0x8F3B; - public const int IMAGE_BINDING_LEVEL_EXT = 0x8F3B; - public const int IMAGE_BINDING_NAME = 0x8F3A; - public const int IMAGE_BINDING_NAME_EXT = 0x8F3A; - public const int IMAGE_BUFFER = 0x9051; - public const int IMAGE_BUFFER_EXT = 0x9051; - public const int IMAGE_CLASS_10_10_10_2 = 0x82C3; - public const int IMAGE_CLASS_11_11_10 = 0x82C2; - public const int IMAGE_CLASS_1_X_16 = 0x82BE; - public const int IMAGE_CLASS_1_X_32 = 0x82BB; - public const int IMAGE_CLASS_1_X_8 = 0x82C1; - public const int IMAGE_CLASS_2_X_16 = 0x82BD; - public const int IMAGE_CLASS_2_X_32 = 0x82BA; - public const int IMAGE_CLASS_2_X_8 = 0x82C0; - public const int IMAGE_CLASS_4_X_16 = 0x82BC; - public const int IMAGE_CLASS_4_X_32 = 0x82B9; - public const int IMAGE_CLASS_4_X_8 = 0x82BF; - public const int IMAGE_COMPATIBILITY_CLASS = 0x82A8; - public const int IMAGE_CUBE = 0x9050; - public const int IMAGE_CUBE_EXT = 0x9050; - public const int IMAGE_CUBE_MAP_ARRAY = 0x9054; - public const int IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054; - public const int IMAGE_CUBIC_WEIGHT_HP = 0x815E; - public const int IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9; - public const int IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8; - public const int IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7; - public const int IMAGE_MAG_FILTER_HP = 0x815C; - public const int IMAGE_MIN_FILTER_HP = 0x815D; - public const int IMAGE_PIXEL_FORMAT = 0x82A9; - public const int IMAGE_PIXEL_TYPE = 0x82AA; - public const int IMAGE_ROTATE_ANGLE_HP = 0x8159; - public const int IMAGE_ROTATE_ORIGIN_X_HP = 0x815A; - public const int IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B; - public const int IMAGE_SCALE_X_HP = 0x8155; - public const int IMAGE_SCALE_Y_HP = 0x8156; - public const int IMAGE_TEXEL_SIZE = 0x82A7; - public const int IMAGE_TRANSFORM_2D_HP = 0x8161; - public const int IMAGE_TRANSLATE_X_HP = 0x8157; - public const int IMAGE_TRANSLATE_Y_HP = 0x8158; - public const int IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; - public const int IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B; - public const int IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; - public const int IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A; - public const int INCLUSIVE_EXT = 0x8F10; - public const int INCR = 0x1E02; - public const int INCR_WRAP = 0x8507; - public const int INCR_WRAP_EXT = 0x8507; - public const int INDEX_ARRAY_ADDRESS_NV = 0x8F24; - public const int INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899; - public const int INDEX_ARRAY_COUNT_EXT = 0x8087; - public const int INDEX_ARRAY_EXT = 0x8077; - public const int INDEX_ARRAY_LENGTH_NV = 0x8F2E; - public const int INDEX_ARRAY_LIST_IBM = 103073; - public const int INDEX_ARRAY_LIST_STRIDE_IBM = 103083; - public const int INDEX_ARRAY_POINTER_EXT = 0x8091; - public const int INDEX_ARRAY_STRIDE_EXT = 0x8086; - public const int INDEX_ARRAY_TYPE_EXT = 0x8085; - public const int INDEX_BIT_PGI = 0x00080000; - public const int INDEX_MATERIAL_EXT = 0x81B8; - public const int INDEX_MATERIAL_FACE_EXT = 0x81BA; - public const int INDEX_MATERIAL_PARAMETER_EXT = 0x81B9; - public const int INDEX_TEST_EXT = 0x81B5; - public const int INDEX_TEST_FUNC_EXT = 0x81B6; - public const int INDEX_TEST_REF_EXT = 0x81B7; - public const int INFO_LOG_LENGTH = 0x8B84; - public const int INNOCENT_CONTEXT_RESET = 0x8254; - public const int INNOCENT_CONTEXT_RESET_ARB = 0x8254; - public const int INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180; - public const int INSTRUMENT_MEASUREMENTS_SGIX = 0x8181; - public const int INT = 0x1404; - public const int INT16_NV = 0x8FE4; - public const int INT16_VEC2_NV = 0x8FE5; - public const int INT16_VEC3_NV = 0x8FE6; - public const int INT16_VEC4_NV = 0x8FE7; - public const int INT64_ARB = 0x140E; - public const int INT64_NV = 0x140E; - public const int INT64_VEC2_ARB = 0x8FE9; - public const int INT64_VEC2_NV = 0x8FE9; - public const int INT64_VEC3_ARB = 0x8FEA; - public const int INT64_VEC3_NV = 0x8FEA; - public const int INT64_VEC4_ARB = 0x8FEB; - public const int INT64_VEC4_NV = 0x8FEB; - public const int INT8_NV = 0x8FE0; - public const int INT8_VEC2_NV = 0x8FE1; - public const int INT8_VEC3_NV = 0x8FE2; - public const int INT8_VEC4_NV = 0x8FE3; - public const int INTENSITY12_EXT = 0x804C; - public const int INTENSITY16F_ARB = 0x881D; - public const int INTENSITY16I_EXT = 0x8D8B; - public const int INTENSITY16UI_EXT = 0x8D79; - public const int INTENSITY16_EXT = 0x804D; - public const int INTENSITY16_SNORM = 0x901B; - public const int INTENSITY32F_ARB = 0x8817; - public const int INTENSITY32I_EXT = 0x8D85; - public const int INTENSITY32UI_EXT = 0x8D73; - public const int INTENSITY4_EXT = 0x804A; - public const int INTENSITY8I_EXT = 0x8D91; - public const int INTENSITY8UI_EXT = 0x8D7F; - public const int INTENSITY8_EXT = 0x804B; - public const int INTENSITY8_SNORM = 0x9017; - public const int INTENSITY_EXT = 0x8049; - public const int INTENSITY_FLOAT16_APPLE = 0x881D; - public const int INTENSITY_FLOAT16_ATI = 0x881D; - public const int INTENSITY_FLOAT32_APPLE = 0x8817; - public const int INTENSITY_FLOAT32_ATI = 0x8817; - public const int INTENSITY_SNORM = 0x9013; - public const int INTERLACE_OML = 0x8980; - public const int INTERLACE_READ_INGR = 0x8568; - public const int INTERLACE_READ_OML = 0x8981; - public const int INTERLACE_SGIX = 0x8094; - public const int INTERLEAVED_ATTRIBS = 0x8C8C; - public const int INTERLEAVED_ATTRIBS_EXT = 0x8C8C; - public const int INTERLEAVED_ATTRIBS_NV = 0x8C8C; - public const int INTERNALFORMAT_ALPHA_SIZE = 0x8274; - public const int INTERNALFORMAT_ALPHA_TYPE = 0x827B; - public const int INTERNALFORMAT_BLUE_SIZE = 0x8273; - public const int INTERNALFORMAT_BLUE_TYPE = 0x827A; - public const int INTERNALFORMAT_DEPTH_SIZE = 0x8275; - public const int INTERNALFORMAT_DEPTH_TYPE = 0x827C; - public const int INTERNALFORMAT_GREEN_SIZE = 0x8272; - public const int INTERNALFORMAT_GREEN_TYPE = 0x8279; - public const int INTERNALFORMAT_PREFERRED = 0x8270; - public const int INTERNALFORMAT_RED_SIZE = 0x8271; - public const int INTERNALFORMAT_RED_TYPE = 0x8278; - public const int INTERNALFORMAT_SHARED_SIZE = 0x8277; - public const int INTERNALFORMAT_STENCIL_SIZE = 0x8276; - public const int INTERNALFORMAT_STENCIL_TYPE = 0x827D; - public const int INTERNALFORMAT_SUPPORTED = 0x826F; - public const int INTERPOLATE_ARB = 0x8575; - public const int INTERPOLATE_EXT = 0x8575; - public const int INT_2_10_10_10_REV = 0x8D9F; - public const int INT_IMAGE_1D = 0x9057; - public const int INT_IMAGE_1D_ARRAY = 0x905D; - public const int INT_IMAGE_1D_ARRAY_EXT = 0x905D; - public const int INT_IMAGE_1D_EXT = 0x9057; - public const int INT_IMAGE_2D = 0x9058; - public const int INT_IMAGE_2D_ARRAY = 0x905E; - public const int INT_IMAGE_2D_ARRAY_EXT = 0x905E; - public const int INT_IMAGE_2D_EXT = 0x9058; - public const int INT_IMAGE_2D_MULTISAMPLE = 0x9060; - public const int INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061; - public const int INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061; - public const int INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060; - public const int INT_IMAGE_2D_RECT = 0x905A; - public const int INT_IMAGE_2D_RECT_EXT = 0x905A; - public const int INT_IMAGE_3D = 0x9059; - public const int INT_IMAGE_3D_EXT = 0x9059; - public const int INT_IMAGE_BUFFER = 0x905C; - public const int INT_IMAGE_BUFFER_EXT = 0x905C; - public const int INT_IMAGE_CUBE = 0x905B; - public const int INT_IMAGE_CUBE_EXT = 0x905B; - public const int INT_IMAGE_CUBE_MAP_ARRAY = 0x905F; - public const int INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F; - public const int INT_SAMPLER_1D = 0x8DC9; - public const int INT_SAMPLER_1D_ARRAY = 0x8DCE; - public const int INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE; - public const int INT_SAMPLER_1D_EXT = 0x8DC9; - public const int INT_SAMPLER_2D = 0x8DCA; - public const int INT_SAMPLER_2D_ARRAY = 0x8DCF; - public const int INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF; - public const int INT_SAMPLER_2D_EXT = 0x8DCA; - public const int INT_SAMPLER_2D_MULTISAMPLE = 0x9109; - public const int INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C; - public const int INT_SAMPLER_2D_RECT = 0x8DCD; - public const int INT_SAMPLER_2D_RECT_EXT = 0x8DCD; - public const int INT_SAMPLER_3D = 0x8DCB; - public const int INT_SAMPLER_3D_EXT = 0x8DCB; - public const int INT_SAMPLER_BUFFER = 0x8DD0; - public const int INT_SAMPLER_BUFFER_AMD = 0x9002; - public const int INT_SAMPLER_BUFFER_EXT = 0x8DD0; - public const int INT_SAMPLER_CUBE = 0x8DCC; - public const int INT_SAMPLER_CUBE_EXT = 0x8DCC; - public const int INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E; - public const int INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E; - public const int INT_SAMPLER_RENDERBUFFER_NV = 0x8E57; - public const int INT_VEC2 = 0x8B53; - public const int INT_VEC2_ARB = 0x8B53; - public const int INT_VEC3 = 0x8B54; - public const int INT_VEC3_ARB = 0x8B54; - public const int INT_VEC4 = 0x8B55; - public const int INT_VEC4_ARB = 0x8B55; - public const int INVALID_ENUM = 0x0500; - public const int INVALID_FRAMEBUFFER_OPERATION = 0x0506; - public const int INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506; - public const uint INVALID_INDEX = 0xFFFFFFFF; - public const int INVALID_OPERATION = 0x0502; - public const int INVALID_VALUE = 0x0501; - public const int INVARIANT_DATATYPE_EXT = 0x87EB; - public const int INVARIANT_EXT = 0x87C2; - public const int INVARIANT_VALUE_EXT = 0x87EA; - public const int INVERSE_NV = 0x862B; - public const int INVERSE_TRANSPOSE_NV = 0x862D; - public const int INVERT = 0x150A; - public const int INVERTED_SCREEN_W_REND = 0x8491; - public const int INVERT_OVG_NV = 0x92B4; - public const int INVERT_RGB_NV = 0x92A3; - public const int IR_INSTRUMENT1_SGIX = 0x817F; - public const int ISOLINES = 0x8E7A; - public const int IS_PER_PATCH = 0x92E7; - public const int IS_ROW_MAJOR = 0x9300; - public const int ITALIC_BIT_NV = 0x02; - public const int IUI_N3F_V2F_EXT = 0x81AF; - public const int IUI_N3F_V3F_EXT = 0x81B0; - public const int IUI_V2F_EXT = 0x81AD; - public const int IUI_V3F_EXT = 0x81AE; - public const int KEEP = 0x1E00; - public const int LARGE_CCW_ARC_TO_NV = 0x16; - public const int LARGE_CW_ARC_TO_NV = 0x18; - public const int LAST_VERTEX_CONVENTION = 0x8E4E; - public const int LAST_VERTEX_CONVENTION_EXT = 0x8E4E; - public const int LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027; - public const int LAYER_NV = 0x8DAA; - public const int LAYER_PROVOKING_VERTEX = 0x825E; - public const int LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E; - public const int LAYOUT_DEFAULT_INTEL = 0; - public const int LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531; - public const int LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530; - public const int LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F; - public const int LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590; - public const int LAYOUT_GENERAL_EXT = 0x958D; - public const int LAYOUT_LINEAR_CPU_CACHED_INTEL = 2; - public const int LAYOUT_LINEAR_INTEL = 1; - public const int LAYOUT_SHADER_READ_ONLY_EXT = 0x9591; - public const int LAYOUT_TRANSFER_DST_EXT = 0x9593; - public const int LAYOUT_TRANSFER_SRC_EXT = 0x9592; - public const int LEFT = 0x0406; - public const int LEQUAL = 0x0203; - public const int LERP_ATI = 0x8969; - public const int LESS = 0x0201; - public const int LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800; - public const int LIGHTEN_KHR = 0x9298; - public const int LIGHTEN_NV = 0x9298; - public const int LIGHT_ENV_MODE_SGIX = 0x8407; - public const int LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8; - public const int LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0; - public const int LINE = 0x1B01; - public const int LINEAR = 0x2601; - public const int LINEARBURN_NV = 0x92A5; - public const int LINEARDODGE_NV = 0x92A4; - public const int LINEARLIGHT_NV = 0x92A7; - public const int LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170; - public const int LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F; - public const int LINEAR_DETAIL_ALPHA_SGIS = 0x8098; - public const int LINEAR_DETAIL_COLOR_SGIS = 0x8099; - public const int LINEAR_DETAIL_SGIS = 0x8097; - public const int LINEAR_MIPMAP_LINEAR = 0x2703; - public const int LINEAR_MIPMAP_NEAREST = 0x2701; - public const int LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE; - public const int LINEAR_SHARPEN_COLOR_SGIS = 0x80AF; - public const int LINEAR_SHARPEN_SGIS = 0x80AD; - public const int LINEAR_TILING_EXT = 0x9585; - public const int LINES = 0x0001; - public const int LINES_ADJACENCY = 0x000A; - public const int LINES_ADJACENCY_ARB = 0x000A; - public const int LINES_ADJACENCY_EXT = 0x000A; - public const int LINE_LOOP = 0x0002; - public const int LINE_SMOOTH = 0x0B20; - public const int LINE_SMOOTH_HINT = 0x0C52; - public const int LINE_STRIP = 0x0003; - public const int LINE_STRIP_ADJACENCY = 0x000B; - public const int LINE_STRIP_ADJACENCY_ARB = 0x000B; - public const int LINE_STRIP_ADJACENCY_EXT = 0x000B; - public const int LINE_TO_NV = 0x04; - public const int LINE_WIDTH = 0x0B21; - public const int LINE_WIDTH_COMMAND_NV = 0x000D; - public const int LINE_WIDTH_GRANULARITY = 0x0B23; - public const int LINE_WIDTH_RANGE = 0x0B22; - public const int LINK_STATUS = 0x8B82; - public const int LIST_PRIORITY_SGIX = 0x8182; - public const int LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED; - public const int LOCAL_CONSTANT_EXT = 0x87C3; - public const int LOCAL_CONSTANT_VALUE_EXT = 0x87EC; - public const int LOCAL_EXT = 0x87C4; - public const int LOCATION = 0x930E; - public const int LOCATION_COMPONENT = 0x934A; - public const int LOCATION_INDEX = 0x930F; - public const int LOGIC_OP_MODE = 0x0BF0; - public const int LOSE_CONTEXT_ON_RESET = 0x8252; - public const int LOSE_CONTEXT_ON_RESET_ARB = 0x8252; - public const int LOWER_LEFT = 0x8CA1; - public const int LOW_FLOAT = 0x8DF0; - public const int LOW_INT = 0x8DF3; - public const int LO_BIAS_NV = 0x8715; - public const int LO_SCALE_NV = 0x870F; - public const int LUID_SIZE_EXT = 8; - public const int LUMINANCE12_ALPHA12_EXT = 0x8047; - public const int LUMINANCE12_ALPHA4_EXT = 0x8046; - public const int LUMINANCE12_EXT = 0x8041; - public const int LUMINANCE16F_ARB = 0x881E; - public const int LUMINANCE16F_EXT = 0x881E; - public const int LUMINANCE16I_EXT = 0x8D8C; - public const int LUMINANCE16UI_EXT = 0x8D7A; - public const int LUMINANCE16_ALPHA16_EXT = 0x8048; - public const int LUMINANCE16_ALPHA16_SNORM = 0x901A; - public const int LUMINANCE16_EXT = 0x8042; - public const int LUMINANCE16_SNORM = 0x9019; - public const int LUMINANCE32F_ARB = 0x8818; - public const int LUMINANCE32F_EXT = 0x8818; - public const int LUMINANCE32I_EXT = 0x8D86; - public const int LUMINANCE32UI_EXT = 0x8D74; - public const int LUMINANCE4_ALPHA4_EXT = 0x8043; - public const int LUMINANCE4_EXT = 0x803F; - public const int LUMINANCE6_ALPHA2_EXT = 0x8044; - public const int LUMINANCE8I_EXT = 0x8D92; - public const int LUMINANCE8UI_EXT = 0x8D80; - public const int LUMINANCE8_ALPHA8_EXT = 0x8045; - public const int LUMINANCE8_ALPHA8_SNORM = 0x9016; - public const int LUMINANCE8_EXT = 0x8040; - public const int LUMINANCE8_SNORM = 0x9015; - public const int LUMINANCE_ALPHA16F_ARB = 0x881F; - public const int LUMINANCE_ALPHA16F_EXT = 0x881F; - public const int LUMINANCE_ALPHA16I_EXT = 0x8D8D; - public const int LUMINANCE_ALPHA16UI_EXT = 0x8D7B; - public const int LUMINANCE_ALPHA32F_ARB = 0x8819; - public const int LUMINANCE_ALPHA32F_EXT = 0x8819; - public const int LUMINANCE_ALPHA32I_EXT = 0x8D87; - public const int LUMINANCE_ALPHA32UI_EXT = 0x8D75; - public const int LUMINANCE_ALPHA8I_EXT = 0x8D93; - public const int LUMINANCE_ALPHA8UI_EXT = 0x8D81; - public const int LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F; - public const int LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F; - public const int LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819; - public const int LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819; - public const int LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D; - public const int LUMINANCE_ALPHA_SNORM = 0x9012; - public const int LUMINANCE_FLOAT16_APPLE = 0x881E; - public const int LUMINANCE_FLOAT16_ATI = 0x881E; - public const int LUMINANCE_FLOAT32_APPLE = 0x8818; - public const int LUMINANCE_FLOAT32_ATI = 0x8818; - public const int LUMINANCE_INTEGER_EXT = 0x8D9C; - public const int LUMINANCE_SNORM = 0x9011; - public const int MAD_ATI = 0x8968; - public const int MAGNITUDE_BIAS_NV = 0x8718; - public const int MAGNITUDE_SCALE_NV = 0x8712; - public const int MAJOR_VERSION = 0x821B; - public const int MANUAL_GENERATE_MIPMAP = 0x8294; - public const int MAP1_BINORMAL_EXT = 0x8446; - public const int MAP1_TANGENT_EXT = 0x8444; - public const int MAP1_VERTEX_ATTRIB0_4_NV = 0x8660; - public const int MAP1_VERTEX_ATTRIB10_4_NV = 0x866A; - public const int MAP1_VERTEX_ATTRIB11_4_NV = 0x866B; - public const int MAP1_VERTEX_ATTRIB12_4_NV = 0x866C; - public const int MAP1_VERTEX_ATTRIB13_4_NV = 0x866D; - public const int MAP1_VERTEX_ATTRIB14_4_NV = 0x866E; - public const int MAP1_VERTEX_ATTRIB15_4_NV = 0x866F; - public const int MAP1_VERTEX_ATTRIB1_4_NV = 0x8661; - public const int MAP1_VERTEX_ATTRIB2_4_NV = 0x8662; - public const int MAP1_VERTEX_ATTRIB3_4_NV = 0x8663; - public const int MAP1_VERTEX_ATTRIB4_4_NV = 0x8664; - public const int MAP1_VERTEX_ATTRIB5_4_NV = 0x8665; - public const int MAP1_VERTEX_ATTRIB6_4_NV = 0x8666; - public const int MAP1_VERTEX_ATTRIB7_4_NV = 0x8667; - public const int MAP1_VERTEX_ATTRIB8_4_NV = 0x8668; - public const int MAP1_VERTEX_ATTRIB9_4_NV = 0x8669; - public const int MAP2_BINORMAL_EXT = 0x8447; - public const int MAP2_TANGENT_EXT = 0x8445; - public const int MAP2_VERTEX_ATTRIB0_4_NV = 0x8670; - public const int MAP2_VERTEX_ATTRIB10_4_NV = 0x867A; - public const int MAP2_VERTEX_ATTRIB11_4_NV = 0x867B; - public const int MAP2_VERTEX_ATTRIB12_4_NV = 0x867C; - public const int MAP2_VERTEX_ATTRIB13_4_NV = 0x867D; - public const int MAP2_VERTEX_ATTRIB14_4_NV = 0x867E; - public const int MAP2_VERTEX_ATTRIB15_4_NV = 0x867F; - public const int MAP2_VERTEX_ATTRIB1_4_NV = 0x8671; - public const int MAP2_VERTEX_ATTRIB2_4_NV = 0x8672; - public const int MAP2_VERTEX_ATTRIB3_4_NV = 0x8673; - public const int MAP2_VERTEX_ATTRIB4_4_NV = 0x8674; - public const int MAP2_VERTEX_ATTRIB5_4_NV = 0x8675; - public const int MAP2_VERTEX_ATTRIB6_4_NV = 0x8676; - public const int MAP2_VERTEX_ATTRIB7_4_NV = 0x8677; - public const int MAP2_VERTEX_ATTRIB8_4_NV = 0x8678; - public const int MAP2_VERTEX_ATTRIB9_4_NV = 0x8679; - public const int MAP_ATTRIB_U_ORDER_NV = 0x86C3; - public const int MAP_ATTRIB_V_ORDER_NV = 0x86C4; - public const int MAP_COHERENT_BIT = 0x0080; - public const int MAP_FLUSH_EXPLICIT_BIT = 0x0010; - public const int MAP_INVALIDATE_BUFFER_BIT = 0x0008; - public const int MAP_INVALIDATE_RANGE_BIT = 0x0004; - public const int MAP_PERSISTENT_BIT = 0x0040; - public const int MAP_READ_BIT = 0x0001; - public const int MAP_TESSELLATION_NV = 0x86C2; - public const int MAP_UNSYNCHRONIZED_BIT = 0x0020; - public const int MAP_WRITE_BIT = 0x0002; - public const int MATERIAL_SIDE_HINT_PGI = 0x1A22C; - public const int MATRIX0_ARB = 0x88C0; - public const int MATRIX0_NV = 0x8630; - public const int MATRIX10_ARB = 0x88CA; - public const int MATRIX11_ARB = 0x88CB; - public const int MATRIX12_ARB = 0x88CC; - public const int MATRIX13_ARB = 0x88CD; - public const int MATRIX14_ARB = 0x88CE; - public const int MATRIX15_ARB = 0x88CF; - public const int MATRIX16_ARB = 0x88D0; - public const int MATRIX17_ARB = 0x88D1; - public const int MATRIX18_ARB = 0x88D2; - public const int MATRIX19_ARB = 0x88D3; - public const int MATRIX1_ARB = 0x88C1; - public const int MATRIX1_NV = 0x8631; - public const int MATRIX20_ARB = 0x88D4; - public const int MATRIX21_ARB = 0x88D5; - public const int MATRIX22_ARB = 0x88D6; - public const int MATRIX23_ARB = 0x88D7; - public const int MATRIX24_ARB = 0x88D8; - public const int MATRIX25_ARB = 0x88D9; - public const int MATRIX26_ARB = 0x88DA; - public const int MATRIX27_ARB = 0x88DB; - public const int MATRIX28_ARB = 0x88DC; - public const int MATRIX29_ARB = 0x88DD; - public const int MATRIX2_ARB = 0x88C2; - public const int MATRIX2_NV = 0x8632; - public const int MATRIX30_ARB = 0x88DE; - public const int MATRIX31_ARB = 0x88DF; - public const int MATRIX3_ARB = 0x88C3; - public const int MATRIX3_NV = 0x8633; - public const int MATRIX4_ARB = 0x88C4; - public const int MATRIX4_NV = 0x8634; - public const int MATRIX5_ARB = 0x88C5; - public const int MATRIX5_NV = 0x8635; - public const int MATRIX6_ARB = 0x88C6; - public const int MATRIX6_NV = 0x8636; - public const int MATRIX7_ARB = 0x88C7; - public const int MATRIX7_NV = 0x8637; - public const int MATRIX8_ARB = 0x88C8; - public const int MATRIX9_ARB = 0x88C9; - public const int MATRIX_EXT = 0x87C0; - public const int MATRIX_INDEX_ARRAY_ARB = 0x8844; - public const int MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849; - public const int MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846; - public const int MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848; - public const int MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847; - public const int MATRIX_PALETTE_ARB = 0x8840; - public const int MATRIX_STRIDE = 0x92FF; - public const int MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000; - public const int MAT_AMBIENT_BIT_PGI = 0x00100000; - public const int MAT_COLOR_INDEXES_BIT_PGI = 0x01000000; - public const int MAT_DIFFUSE_BIT_PGI = 0x00400000; - public const int MAT_EMISSION_BIT_PGI = 0x00800000; - public const int MAT_SHININESS_BIT_PGI = 0x02000000; - public const int MAT_SPECULAR_BIT_PGI = 0x04000000; - public const int MAX = 0x8008; - public const int MAX_3D_TEXTURE_SIZE = 0x8073; - public const int MAX_3D_TEXTURE_SIZE_EXT = 0x8073; - public const int MAX_4D_TEXTURE_SIZE_SGIS = 0x8138; - public const int MAX_ACTIVE_LIGHTS_SGIX = 0x8405; - public const int MAX_ARRAY_TEXTURE_LAYERS = 0x88FF; - public const int MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF; - public const int MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360; - public const int MAX_ASYNC_HISTOGRAM_SGIX = 0x832D; - public const int MAX_ASYNC_READ_PIXELS_SGIX = 0x8361; - public const int MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F; - public const int MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC; - public const int MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8; - public const int MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED; - public const int MAX_CLIPMAP_DEPTH_SGIX = 0x8177; - public const int MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178; - public const int MAX_CLIP_DISTANCES = 0x0D32; - public const int MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F; - public const int MAX_COLOR_ATTACHMENTS = 0x8CDF; - public const int MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF; - public const int MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3; - public const int MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4; - public const int MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3; - public const int MAX_COLOR_TEXTURE_SAMPLES = 0x910E; - public const int MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7; - public const int MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1; - public const int MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA; - public const int MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266; - public const int MAX_COMBINED_DIMENSIONS = 0x8282; - public const int MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33; - public const int MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32; - public const int MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF; - public const int MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39; - public const int MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39; - public const int MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67; - public const int MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39; - public const int MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC; - public const int MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F; - public const int MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E; - public const int MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F; - public const int MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; - public const int MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D; - public const int MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E; - public const int MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31; - public const int MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265; - public const int MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264; - public const int MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB; - public const int MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF; - public const int MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD; - public const int MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB; - public const int MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262; - public const int MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC; - public const int MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB; - public const int MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263; - public const int MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344; - public const int MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345; - public const int MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE; - public const int MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB; - public const int MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF; - public const int MAX_CONVOLUTION_HEIGHT_EXT = 0x801B; - public const int MAX_CONVOLUTION_WIDTH_EXT = 0x801A; - public const int MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; - public const int MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C; - public const int MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C; - public const int MAX_CULL_DISTANCES = 0x82F9; - public const int MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C; - public const int MAX_DEBUG_LOGGED_MESSAGES = 0x9144; - public const int MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144; - public const int MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144; - public const int MAX_DEBUG_MESSAGE_LENGTH = 0x9143; - public const int MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143; - public const int MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143; - public const int MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1; - public const int MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0; - public const int MAX_DEFORMATION_ORDER_SGIX = 0x8197; - public const int MAX_DEPTH = 0x8280; - public const int MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5; - public const int MAX_DEPTH_TEXTURE_SAMPLES = 0x910F; - public const int MAX_DETACHED_BUFFERS_NV = 0x95AD; - public const int MAX_DETACHED_TEXTURES_NV = 0x95AC; - public const int MAX_DRAW_BUFFERS = 0x8824; - public const int MAX_DRAW_BUFFERS_ARB = 0x8824; - public const int MAX_DRAW_BUFFERS_ATI = 0x8824; - public const int MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D; - public const int MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC; - public const int MAX_ELEMENTS_INDICES = 0x80E9; - public const int MAX_ELEMENTS_INDICES_EXT = 0x80E9; - public const int MAX_ELEMENTS_VERTICES = 0x80E8; - public const int MAX_ELEMENTS_VERTICES_EXT = 0x80E8; - public const int MAX_ELEMENT_INDEX = 0x8D6B; - public const int MAX_EXT = 0x8008; - public const int MAX_FOG_FUNC_POINTS_SGIS = 0x812C; - public const int MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6; - public const int MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0; - public const int MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3; - public const int MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE; - public const int MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125; - public const int MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C; - public const int MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C; - public const int MAX_FRAGMENT_LIGHTS_SGIX = 0x8404; - public const int MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868; - public const int MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA; - public const int MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D; - public const int MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49; - public const int MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49; - public const int MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; - public const int MAX_FRAMEBUFFER_HEIGHT = 0x9316; - public const int MAX_FRAMEBUFFER_LAYERS = 0x9317; - public const int MAX_FRAMEBUFFER_SAMPLES = 0x9318; - public const int MAX_FRAMEBUFFER_WIDTH = 0x9315; - public const int MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D; - public const int MAX_GENERAL_COMBINERS_NV = 0x854D; - public const int MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5; - public const int MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF; - public const int MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4; - public const int MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD; - public const int MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123; - public const int MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124; - public const int MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0; - public const int MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0; - public const int MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0; - public const int MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A; - public const int MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A; - public const int MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7; - public const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29; - public const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29; - public const int MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29; - public const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1; - public const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1; - public const int MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1; - public const int MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C; - public const int MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF; - public const int MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF; - public const int MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF; - public const int MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD; - public const int MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD; - public const int MAX_HEIGHT = 0x827F; - public const int MAX_IMAGE_SAMPLES = 0x906D; - public const int MAX_IMAGE_SAMPLES_EXT = 0x906D; - public const int MAX_IMAGE_UNITS = 0x8F38; - public const int MAX_IMAGE_UNITS_EXT = 0x8F38; - public const int MAX_INTEGER_SAMPLES = 0x9110; - public const int MAX_LABEL_LENGTH = 0x82E8; - public const int MAX_LAYERS = 0x8281; - public const int MAX_LGPU_GPUS_NVX = 0x92BA; - public const int MAX_MAP_TESSELLATION_NV = 0x86D6; - public const int MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841; - public const int MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65; - public const int MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64; - public const int MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62; - public const int MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539; - public const int MAX_MESH_OUTPUT_VERTICES_NV = 0x9538; - public const int MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66; - public const int MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61; - public const int MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536; - public const int MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60; - public const int MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63; - public const int MAX_MESH_VIEWS_NV = 0x9557; - public const int MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2; - public const int MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B; - public const int MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11; - public const int MAX_NAME_LENGTH = 0x92F6; - public const int MAX_NUM_ACTIVE_VARIABLES = 0x92F7; - public const int MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8; - public const int MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA; - public const int MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD; - public const int MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE; - public const int MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC; - public const int MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB; - public const int MAX_PALETTE_MATRICES_ARB = 0x8842; - public const int MAX_PATCH_VERTICES = 0x8E7D; - public const int MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337; - public const int MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1; - public const int MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1; - public const int MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B; - public const int MAX_PROGRAM_ATTRIBS_ARB = 0x88AD; - public const int MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908; - public const int MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5; - public const int MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5; - public const int MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4; - public const int MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5; - public const int MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6; - public const int MAX_PROGRAM_IF_DEPTH_NV = 0x88F6; - public const int MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1; - public const int MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4; - public const int MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8; - public const int MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7; - public const int MAX_PROGRAM_MATRICES_ARB = 0x862F; - public const int MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E; - public const int MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3; - public const int MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E; - public const int MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF; - public const int MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3; - public const int MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB; - public const int MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7; - public const int MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810; - public const int MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F; - public const int MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27; - public const int MAX_PROGRAM_PARAMETERS_ARB = 0x88A9; - public const int MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0; - public const int MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1; - public const int MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8; - public const int MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909; - public const int MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45; - public const int MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44; - public const int MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5; - public const int MAX_PROGRAM_TEXEL_OFFSET = 0x8905; - public const int MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905; - public const int MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905; - public const int MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F; - public const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F; - public const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F; - public const int MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F; - public const int MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D; - public const int MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C; - public const int MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28; - public const int MAX_RASTER_SAMPLES_EXT = 0x9329; - public const int MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7; - public const int MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8; - public const int MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8; - public const int MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8; - public const int MAX_RENDERBUFFER_SIZE = 0x84E8; - public const int MAX_RENDERBUFFER_SIZE_EXT = 0x84E8; - public const int MAX_SAMPLES = 0x8D57; - public const int MAX_SAMPLES_EXT = 0x8D57; - public const int MAX_SAMPLE_MASK_WORDS = 0x8E59; - public const int MAX_SAMPLE_MASK_WORDS_NV = 0x8E59; - public const int MAX_SERVER_WAIT_TIMEOUT = 0x9111; - public const int MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35; - public const int MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0; - public const int MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0; - public const int MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE; - public const int MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD; - public const int MAX_SHININESS_NV = 0x8504; - public const int MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199; - public const int MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199; - public const int MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A; - public const int MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A; - public const int MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198; - public const int MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198; - public const int MAX_SPOT_EXPONENT_NV = 0x8505; - public const int MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349; - public const int MAX_SUBROUTINES = 0x8DE7; - public const int MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8; - public const int MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D; - public const int MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C; - public const int MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A; - public const int MAX_TASK_OUTPUT_COUNT_NV = 0x953A; - public const int MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E; - public const int MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69; - public const int MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537; - public const int MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68; - public const int MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B; - public const int MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3; - public const int MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C; - public const int MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3; - public const int MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD; - public const int MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB; - public const int MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C; - public const int MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83; - public const int MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8; - public const int MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81; - public const int MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85; - public const int MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89; - public const int MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F; - public const int MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4; - public const int MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE; - public const int MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC; - public const int MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D; - public const int MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86; - public const int MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9; - public const int MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82; - public const int MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A; - public const int MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80; - public const int MAX_TESS_GEN_LEVEL = 0x8E7E; - public const int MAX_TESS_PATCH_COMPONENTS = 0x8E84; - public const int MAX_TEXTURE_BUFFER_SIZE = 0x8C2B; - public const int MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B; - public const int MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B; - public const int MAX_TEXTURE_COORDS_ARB = 0x8871; - public const int MAX_TEXTURE_COORDS_NV = 0x8871; - public const int MAX_TEXTURE_IMAGE_UNITS = 0x8872; - public const int MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872; - public const int MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872; - public const int MAX_TEXTURE_LOD_BIAS = 0x84FD; - public const int MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD; - public const int MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF; - public const int MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; - public const int MAX_TEXTURE_SIZE = 0x0D33; - public const int MAX_TEXTURE_UNITS_ARB = 0x84E2; - public const int MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV = 0x95B6; - public const int MAX_TRACK_MATRICES_NV = 0x862F; - public const int MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E; - public const int MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70; - public const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A; - public const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A; - public const int MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A; - public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B; - public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B; - public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B; - public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80; - public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80; - public const int MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80; - public const int MAX_UNIFORM_BLOCK_SIZE = 0x8A30; - public const int MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F; - public const int MAX_UNIFORM_LOCATIONS = 0x826E; - public const int MAX_VARYING_COMPONENTS = 0x8B4B; - public const int MAX_VARYING_COMPONENTS_EXT = 0x8B4B; - public const int MAX_VARYING_FLOATS = 0x8B4B; - public const int MAX_VARYING_FLOATS_ARB = 0x8B4B; - public const int MAX_VARYING_VECTORS = 0x8DFC; - public const int MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520; - public const int MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2; - public const int MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC; - public const int MAX_VERTEX_ATTRIBS = 0x8869; - public const int MAX_VERTEX_ATTRIBS_ARB = 0x8869; - public const int MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA; - public const int MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9; - public const int MAX_VERTEX_ATTRIB_STRIDE = 0x82E5; - public const int MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2; - public const int MAX_VERTEX_HINT_PGI = 0x1A22D; - public const int MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA; - public const int MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122; - public const int MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5; - public const int MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7; - public const int MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9; - public const int MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8; - public const int MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6; - public const int MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6; - public const int MAX_VERTEX_STREAMS = 0x8E71; - public const int MAX_VERTEX_STREAMS_ATI = 0x876B; - public const int MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; - public const int MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C; - public const int MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B; - public const int MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A; - public const int MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A; - public const int MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; - public const int MAX_VERTEX_UNITS_ARB = 0x86A4; - public const int MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE; - public const int MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE; - public const int MAX_VIEWPORTS = 0x825B; - public const int MAX_VIEWPORT_DIMS = 0x0D3A; - public const int MAX_VIEWS_OVR = 0x9631; - public const int MAX_WIDTH = 0x827E; - public const int MAX_WINDOW_RECTANGLES_EXT = 0x8F14; - public const int MEDIUM_FLOAT = 0x8DF1; - public const int MEDIUM_INT = 0x8DF4; - public const int MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6; - public const int MEMORY_ATTACHABLE_NV = 0x95A8; - public const int MEMORY_ATTACHABLE_SIZE_NV = 0x95A7; - public const int MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543; - public const int MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF; - public const int MESH_OUTPUT_TYPE_NV = 0x957B; - public const int MESH_PRIMITIVES_OUT_NV = 0x957A; - public const int MESH_SHADER_BIT_NV = 0x00000040; - public const int MESH_SHADER_NV = 0x9559; - public const int MESH_SUBROUTINE_NV = 0x957C; - public const int MESH_SUBROUTINE_UNIFORM_NV = 0x957E; - public const int MESH_VERTICES_OUT_NV = 0x9579; - public const int MESH_WORK_GROUP_SIZE_NV = 0x953E; - public const int MIN = 0x8007; - public const int MINMAX_EXT = 0x802E; - public const int MINMAX_FORMAT_EXT = 0x802F; - public const int MINMAX_SINK_EXT = 0x8030; - public const int MINOR_VERSION = 0x821C; - public const int MINUS_CLAMPED_NV = 0x92B3; - public const int MINUS_NV = 0x929F; - public const int MIN_EXT = 0x8007; - public const int MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B; - public const int MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B; - public const int MIN_LOD_WARNING_AMD = 0x919C; - public const int MIN_MAP_BUFFER_ALIGNMENT = 0x90BC; - public const int MIN_PROGRAM_TEXEL_OFFSET = 0x8904; - public const int MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904; - public const int MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904; - public const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E; - public const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E; - public const int MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E; - public const int MIN_SAMPLE_SHADING_VALUE = 0x8C37; - public const int MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37; - public const int MIN_SPARSE_LEVEL_AMD = 0x919B; - public const int MIPMAP = 0x8293; - public const int MIRRORED_REPEAT = 0x8370; - public const int MIRRORED_REPEAT_ARB = 0x8370; - public const int MIRRORED_REPEAT_IBM = 0x8370; - public const int MIRROR_CLAMP_ATI = 0x8742; - public const int MIRROR_CLAMP_EXT = 0x8742; - public const int MIRROR_CLAMP_TO_BORDER_EXT = 0x8912; - public const int MIRROR_CLAMP_TO_EDGE = 0x8743; - public const int MIRROR_CLAMP_TO_EDGE_ATI = 0x8743; - public const int MIRROR_CLAMP_TO_EDGE_EXT = 0x8743; - public const int MITER_REVERT_NV = 0x90A7; - public const int MITER_TRUNCATE_NV = 0x90A8; - public const int MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F; - public const int MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330; - public const int MODELVIEW0_ARB = 0x1700; - public const int MODELVIEW0_EXT = 0x1700; - public const int MODELVIEW0_MATRIX_EXT = 0x0BA6; - public const int MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3; - public const int MODELVIEW10_ARB = 0x872A; - public const int MODELVIEW11_ARB = 0x872B; - public const int MODELVIEW12_ARB = 0x872C; - public const int MODELVIEW13_ARB = 0x872D; - public const int MODELVIEW14_ARB = 0x872E; - public const int MODELVIEW15_ARB = 0x872F; - public const int MODELVIEW16_ARB = 0x8730; - public const int MODELVIEW17_ARB = 0x8731; - public const int MODELVIEW18_ARB = 0x8732; - public const int MODELVIEW19_ARB = 0x8733; - public const int MODELVIEW1_ARB = 0x850A; - public const int MODELVIEW1_EXT = 0x850A; - public const int MODELVIEW1_MATRIX_EXT = 0x8506; - public const int MODELVIEW1_STACK_DEPTH_EXT = 0x8502; - public const int MODELVIEW20_ARB = 0x8734; - public const int MODELVIEW21_ARB = 0x8735; - public const int MODELVIEW22_ARB = 0x8736; - public const int MODELVIEW23_ARB = 0x8737; - public const int MODELVIEW24_ARB = 0x8738; - public const int MODELVIEW25_ARB = 0x8739; - public const int MODELVIEW26_ARB = 0x873A; - public const int MODELVIEW27_ARB = 0x873B; - public const int MODELVIEW28_ARB = 0x873C; - public const int MODELVIEW29_ARB = 0x873D; - public const int MODELVIEW2_ARB = 0x8722; - public const int MODELVIEW30_ARB = 0x873E; - public const int MODELVIEW31_ARB = 0x873F; - public const int MODELVIEW3_ARB = 0x8723; - public const int MODELVIEW4_ARB = 0x8724; - public const int MODELVIEW5_ARB = 0x8725; - public const int MODELVIEW6_ARB = 0x8726; - public const int MODELVIEW7_ARB = 0x8727; - public const int MODELVIEW8_ARB = 0x8728; - public const int MODELVIEW9_ARB = 0x8729; - public const int MODELVIEW_PROJECTION_NV = 0x8629; - public const int MODULATE_ADD_ATI = 0x8744; - public const int MODULATE_SIGNED_ADD_ATI = 0x8745; - public const int MODULATE_SUBTRACT_ATI = 0x8746; - public const int MOVE_TO_CONTINUES_NV = 0x90B6; - public const int MOVE_TO_NV = 0x02; - public const int MOVE_TO_RESETS_NV = 0x90B5; - public const int MOV_ATI = 0x8961; - public const int MULTICAST_GPUS_NV = 0x92BA; - public const int MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549; - public const int MULTIPLY_KHR = 0x9294; - public const int MULTIPLY_NV = 0x9294; - public const int MULTISAMPLE = 0x809D; - public const int MULTISAMPLES_NV = 0x9371; - public const int MULTISAMPLE_3DFX = 0x86B2; - public const int MULTISAMPLE_ARB = 0x809D; - public const int MULTISAMPLE_BIT_3DFX = 0x20000000; - public const int MULTISAMPLE_BIT_ARB = 0x20000000; - public const int MULTISAMPLE_BIT_EXT = 0x20000000; - public const int MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12; - public const int MULTISAMPLE_EXT = 0x809D; - public const int MULTISAMPLE_FILTER_HINT_NV = 0x8534; - public const int MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382; - public const int MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381; - public const int MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B; - public const int MULTISAMPLE_SGIS = 0x809D; - public const int MUL_ATI = 0x8964; - public const int MVP_MATRIX_EXT = 0x87E3; - public const int NAMED_STRING_LENGTH_ARB = 0x8DE9; - public const int NAMED_STRING_TYPE_ARB = 0x8DEA; - public const int NAME_LENGTH = 0x92F9; - public const int NAND = 0x150E; - public const int NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203; - public const int NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204; - public const int NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202; - public const int NEAREST = 0x2600; - public const int NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E; - public const int NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D; - public const int NEAREST_MIPMAP_LINEAR = 0x2702; - public const int NEAREST_MIPMAP_NEAREST = 0x2700; - public const int NEGATE_BIT_ATI = 0x00000004; - public const int NEGATIVE_ONE_EXT = 0x87DF; - public const int NEGATIVE_ONE_TO_ONE = 0x935E; - public const int NEGATIVE_W_EXT = 0x87DC; - public const int NEGATIVE_X_EXT = 0x87D9; - public const int NEGATIVE_Y_EXT = 0x87DA; - public const int NEGATIVE_Z_EXT = 0x87DB; - public const int NEVER = 0x0200; - public const int NEXT_BUFFER_NV = -2; - public const int NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025; - public const int NICEST = 0x1102; - public const int NONE = 0; - public const int NOOP = 0x1505; - public const int NOP_COMMAND_NV = 0x0001; - public const int NOR = 0x1508; - public const int NORMALIZED_RANGE_EXT = 0x87E0; - public const int NORMAL_ARRAY_ADDRESS_NV = 0x8F22; - public const int NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897; - public const int NORMAL_ARRAY_COUNT_EXT = 0x8080; - public const int NORMAL_ARRAY_EXT = 0x8075; - public const int NORMAL_ARRAY_LENGTH_NV = 0x8F2C; - public const int NORMAL_ARRAY_LIST_IBM = 103071; - public const int NORMAL_ARRAY_LIST_STRIDE_IBM = 103081; - public const int NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6; - public const int NORMAL_ARRAY_POINTER_EXT = 0x808F; - public const int NORMAL_ARRAY_STRIDE_EXT = 0x807F; - public const int NORMAL_ARRAY_TYPE_EXT = 0x807E; - public const int NORMAL_BIT_PGI = 0x08000000; - public const int NORMAL_MAP_ARB = 0x8511; - public const int NORMAL_MAP_EXT = 0x8511; - public const int NORMAL_MAP_NV = 0x8511; - public const int NOTEQUAL = 0x0205; - public const int NO_ERROR = 0; - public const int NO_RESET_NOTIFICATION = 0x8261; - public const int NO_RESET_NOTIFICATION_ARB = 0x8261; - public const int NUM_ACTIVE_VARIABLES = 0x9304; - public const int NUM_COMPATIBLE_SUBROUTINES = 0x8E4A; - public const int NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; - public const int NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2; - public const int NUM_DEVICE_UUIDS_EXT = 0x9596; - public const int NUM_EXTENSIONS = 0x821D; - public const int NUM_FILL_STREAMS_NV = 0x8E29; - public const int NUM_FRAGMENT_CONSTANTS_ATI = 0x896F; - public const int NUM_FRAGMENT_REGISTERS_ATI = 0x896E; - public const int NUM_GENERAL_COMBINERS_NV = 0x854E; - public const int NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973; - public const int NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971; - public const int NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972; - public const int NUM_LOOPBACK_COMPONENTS_ATI = 0x8974; - public const int NUM_PASSES_ATI = 0x8970; - public const int NUM_PROGRAM_BINARY_FORMATS = 0x87FE; - public const int NUM_SAMPLE_COUNTS = 0x9380; - public const int NUM_SHADER_BINARY_FORMATS = 0x8DF9; - public const int NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9; - public const int NUM_SPARSE_LEVELS_ARB = 0x91AA; - public const int NUM_SPIR_V_EXTENSIONS = 0x9554; - public const int NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6; - public const int NUM_TILING_TYPES_EXT = 0x9582; - public const int NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024; - public const int NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8; - public const int NUM_WINDOW_RECTANGLES_EXT = 0x8F15; - public const int OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89; - public const int OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A; - public const int OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86; - public const int OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87; - public const int OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85; - public const int OBJECT_BUFFER_SIZE_ATI = 0x8764; - public const int OBJECT_BUFFER_USAGE_ATI = 0x8765; - public const int OBJECT_COMPILE_STATUS_ARB = 0x8B81; - public const int OBJECT_DELETE_STATUS_ARB = 0x8B80; - public const int OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3; - public const int OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1; - public const int OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84; - public const int OBJECT_LINE_SGIS = 0x81F7; - public const int OBJECT_LINK_STATUS_ARB = 0x8B82; - public const int OBJECT_POINT_SGIS = 0x81F5; - public const int OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88; - public const int OBJECT_SUBTYPE_ARB = 0x8B4F; - public const int OBJECT_TYPE = 0x9112; - public const int OBJECT_TYPE_ARB = 0x8B4E; - public const int OBJECT_VALIDATE_STATUS_ARB = 0x8B83; - public const int OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F; - public const int OCCLUSION_TEST_HP = 0x8165; - public const int OCCLUSION_TEST_RESULT_HP = 0x8166; - public const int OFFSET = 0x92FC; - public const int OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856; - public const int OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857; - public const int OFFSET_HILO_TEXTURE_2D_NV = 0x8854; - public const int OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855; - public const int OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850; - public const int OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851; - public const int OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852; - public const int OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853; - public const int OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3; - public const int OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1; - public const int OFFSET_TEXTURE_2D_NV = 0x86E8; - public const int OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2; - public const int OFFSET_TEXTURE_BIAS_NV = 0x86E3; - public const int OFFSET_TEXTURE_MATRIX_NV = 0x86E1; - public const int OFFSET_TEXTURE_RECTANGLE_NV = 0x864C; - public const int OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D; - public const int OFFSET_TEXTURE_SCALE_NV = 0x86E2; - public const int ONE = 1; - public const int ONE_EXT = 0x87DE; - public const int ONE_MINUS_CONSTANT_ALPHA = 0x8004; - public const int ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004; - public const int ONE_MINUS_CONSTANT_COLOR = 0x8002; - public const int ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002; - public const int ONE_MINUS_DST_ALPHA = 0x0305; - public const int ONE_MINUS_DST_COLOR = 0x0307; - public const int ONE_MINUS_SRC1_ALPHA = 0x88FB; - public const int ONE_MINUS_SRC1_COLOR = 0x88FA; - public const int ONE_MINUS_SRC_ALPHA = 0x0303; - public const int ONE_MINUS_SRC_COLOR = 0x0301; - public const int OPERAND0_ALPHA_ARB = 0x8598; - public const int OPERAND0_ALPHA_EXT = 0x8598; - public const int OPERAND0_RGB_ARB = 0x8590; - public const int OPERAND0_RGB_EXT = 0x8590; - public const int OPERAND1_ALPHA_ARB = 0x8599; - public const int OPERAND1_ALPHA_EXT = 0x8599; - public const int OPERAND1_RGB_ARB = 0x8591; - public const int OPERAND1_RGB_EXT = 0x8591; - public const int OPERAND2_ALPHA_ARB = 0x859A; - public const int OPERAND2_ALPHA_EXT = 0x859A; - public const int OPERAND2_RGB_ARB = 0x8592; - public const int OPERAND2_RGB_EXT = 0x8592; - public const int OPERAND3_ALPHA_NV = 0x859B; - public const int OPERAND3_RGB_NV = 0x8593; - public const int OPTIMAL_TILING_EXT = 0x9584; - public const int OP_ADD_EXT = 0x8787; - public const int OP_CLAMP_EXT = 0x878E; - public const int OP_CROSS_PRODUCT_EXT = 0x8797; - public const int OP_DOT3_EXT = 0x8784; - public const int OP_DOT4_EXT = 0x8785; - public const int OP_EXP_BASE_2_EXT = 0x8791; - public const int OP_FLOOR_EXT = 0x878F; - public const int OP_FRAC_EXT = 0x8789; - public const int OP_INDEX_EXT = 0x8782; - public const int OP_LOG_BASE_2_EXT = 0x8792; - public const int OP_MADD_EXT = 0x8788; - public const int OP_MAX_EXT = 0x878A; - public const int OP_MIN_EXT = 0x878B; - public const int OP_MOV_EXT = 0x8799; - public const int OP_MULTIPLY_MATRIX_EXT = 0x8798; - public const int OP_MUL_EXT = 0x8786; - public const int OP_NEGATE_EXT = 0x8783; - public const int OP_POWER_EXT = 0x8793; - public const int OP_RECIP_EXT = 0x8794; - public const int OP_RECIP_SQRT_EXT = 0x8795; - public const int OP_ROUND_EXT = 0x8790; - public const int OP_SET_GE_EXT = 0x878C; - public const int OP_SET_LT_EXT = 0x878D; - public const int OP_SUB_EXT = 0x8796; - public const int OR = 0x1507; - public const int OR_INVERTED = 0x150D; - public const int OR_REVERSE = 0x150B; - public const int OUTPUT_COLOR0_EXT = 0x879B; - public const int OUTPUT_COLOR1_EXT = 0x879C; - public const int OUTPUT_FOG_EXT = 0x87BD; - public const int OUTPUT_TEXTURE_COORD0_EXT = 0x879D; - public const int OUTPUT_TEXTURE_COORD10_EXT = 0x87A7; - public const int OUTPUT_TEXTURE_COORD11_EXT = 0x87A8; - public const int OUTPUT_TEXTURE_COORD12_EXT = 0x87A9; - public const int OUTPUT_TEXTURE_COORD13_EXT = 0x87AA; - public const int OUTPUT_TEXTURE_COORD14_EXT = 0x87AB; - public const int OUTPUT_TEXTURE_COORD15_EXT = 0x87AC; - public const int OUTPUT_TEXTURE_COORD16_EXT = 0x87AD; - public const int OUTPUT_TEXTURE_COORD17_EXT = 0x87AE; - public const int OUTPUT_TEXTURE_COORD18_EXT = 0x87AF; - public const int OUTPUT_TEXTURE_COORD19_EXT = 0x87B0; - public const int OUTPUT_TEXTURE_COORD1_EXT = 0x879E; - public const int OUTPUT_TEXTURE_COORD20_EXT = 0x87B1; - public const int OUTPUT_TEXTURE_COORD21_EXT = 0x87B2; - public const int OUTPUT_TEXTURE_COORD22_EXT = 0x87B3; - public const int OUTPUT_TEXTURE_COORD23_EXT = 0x87B4; - public const int OUTPUT_TEXTURE_COORD24_EXT = 0x87B5; - public const int OUTPUT_TEXTURE_COORD25_EXT = 0x87B6; - public const int OUTPUT_TEXTURE_COORD26_EXT = 0x87B7; - public const int OUTPUT_TEXTURE_COORD27_EXT = 0x87B8; - public const int OUTPUT_TEXTURE_COORD28_EXT = 0x87B9; - public const int OUTPUT_TEXTURE_COORD29_EXT = 0x87BA; - public const int OUTPUT_TEXTURE_COORD2_EXT = 0x879F; - public const int OUTPUT_TEXTURE_COORD30_EXT = 0x87BB; - public const int OUTPUT_TEXTURE_COORD31_EXT = 0x87BC; - public const int OUTPUT_TEXTURE_COORD3_EXT = 0x87A0; - public const int OUTPUT_TEXTURE_COORD4_EXT = 0x87A1; - public const int OUTPUT_TEXTURE_COORD5_EXT = 0x87A2; - public const int OUTPUT_TEXTURE_COORD6_EXT = 0x87A3; - public const int OUTPUT_TEXTURE_COORD7_EXT = 0x87A4; - public const int OUTPUT_TEXTURE_COORD8_EXT = 0x87A5; - public const int OUTPUT_TEXTURE_COORD9_EXT = 0x87A6; - public const int OUTPUT_VERTEX_EXT = 0x879A; - public const int OUT_OF_MEMORY = 0x0505; - public const int OVERLAY_KHR = 0x9296; - public const int OVERLAY_NV = 0x9296; - public const int PACK_ALIGNMENT = 0x0D05; - public const int PACK_CMYK_HINT_EXT = 0x800E; - public const int PACK_COMPRESSED_BLOCK_DEPTH = 0x912D; - public const int PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C; - public const int PACK_COMPRESSED_BLOCK_SIZE = 0x912E; - public const int PACK_COMPRESSED_BLOCK_WIDTH = 0x912B; - public const int PACK_IMAGE_DEPTH_SGIS = 0x8131; - public const int PACK_IMAGE_HEIGHT = 0x806C; - public const int PACK_IMAGE_HEIGHT_EXT = 0x806C; - public const int PACK_INVERT_MESA = 0x8758; - public const int PACK_LSB_FIRST = 0x0D01; - public const int PACK_RESAMPLE_OML = 0x8984; - public const int PACK_RESAMPLE_SGIX = 0x842E; - public const int PACK_ROW_BYTES_APPLE = 0x8A15; - public const int PACK_ROW_LENGTH = 0x0D02; - public const int PACK_SKIP_IMAGES = 0x806B; - public const int PACK_SKIP_IMAGES_EXT = 0x806B; - public const int PACK_SKIP_PIXELS = 0x0D04; - public const int PACK_SKIP_ROWS = 0x0D03; - public const int PACK_SKIP_VOLUMES_SGIS = 0x8130; - public const int PACK_SUBSAMPLE_RATE_SGIX = 0x85A0; - public const int PACK_SWAP_BYTES = 0x0D00; - public const int PALETTE4_R5_G6_B5_OES = 0x8B92; - public const int PALETTE4_RGB5_A1_OES = 0x8B94; - public const int PALETTE4_RGB8_OES = 0x8B90; - public const int PALETTE4_RGBA4_OES = 0x8B93; - public const int PALETTE4_RGBA8_OES = 0x8B91; - public const int PALETTE8_R5_G6_B5_OES = 0x8B97; - public const int PALETTE8_RGB5_A1_OES = 0x8B99; - public const int PALETTE8_RGB8_OES = 0x8B95; - public const int PALETTE8_RGBA4_OES = 0x8B98; - public const int PALETTE8_RGBA8_OES = 0x8B96; - public const int PARALLEL_ARRAYS_INTEL = 0x83F4; - public const int PARAMETER_BUFFER = 0x80EE; - public const int PARAMETER_BUFFER_ARB = 0x80EE; - public const int PARAMETER_BUFFER_BINDING = 0x80EF; - public const int PARAMETER_BUFFER_BINDING_ARB = 0x80EF; - public const int PARTIAL_SUCCESS_NV = 0x902E; - public const int PASS_THROUGH_NV = 0x86E6; - public const int PATCHES = 0x000E; - public const int PATCH_DEFAULT_INNER_LEVEL = 0x8E73; - public const int PATCH_DEFAULT_OUTER_LEVEL = 0x8E74; - public const int PATCH_VERTICES = 0x8E72; - public const int PATH_CLIENT_LENGTH_NV = 0x907F; - public const int PATH_COMMAND_COUNT_NV = 0x909D; - public const int PATH_COMPUTED_LENGTH_NV = 0x90A0; - public const int PATH_COORD_COUNT_NV = 0x909E; - public const int PATH_COVER_DEPTH_FUNC_NV = 0x90BF; - public const int PATH_DASH_ARRAY_COUNT_NV = 0x909F; - public const int PATH_DASH_CAPS_NV = 0x907B; - public const int PATH_DASH_OFFSET_NV = 0x907E; - public const int PATH_DASH_OFFSET_RESET_NV = 0x90B4; - public const int PATH_END_CAPS_NV = 0x9076; - public const int PATH_ERROR_POSITION_NV = 0x90AB; - public const int PATH_FILL_BOUNDING_BOX_NV = 0x90A1; - public const int PATH_FILL_COVER_MODE_NV = 0x9082; - public const int PATH_FILL_MASK_NV = 0x9081; - public const int PATH_FILL_MODE_NV = 0x9080; - public const int PATH_FORMAT_PS_NV = 0x9071; - public const int PATH_FORMAT_SVG_NV = 0x9070; - public const int PATH_GEN_COEFF_NV = 0x90B1; - public const int PATH_GEN_COMPONENTS_NV = 0x90B3; - public const int PATH_GEN_MODE_NV = 0x90B0; - public const int PATH_INITIAL_DASH_CAP_NV = 0x907C; - public const int PATH_INITIAL_END_CAP_NV = 0x9077; - public const int PATH_JOIN_STYLE_NV = 0x9079; - public const int PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36; - public const int PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38; - public const int PATH_MITER_LIMIT_NV = 0x907A; - public const int PATH_MODELVIEW_MATRIX_NV = 0x0BA6; - public const int PATH_MODELVIEW_NV = 0x1700; - public const int PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3; - public const int PATH_OBJECT_BOUNDING_BOX_NV = 0x908A; - public const int PATH_PROJECTION_MATRIX_NV = 0x0BA7; - public const int PATH_PROJECTION_NV = 0x1701; - public const int PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4; - public const int PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD; - public const int PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE; - public const int PATH_STENCIL_FUNC_NV = 0x90B7; - public const int PATH_STENCIL_REF_NV = 0x90B8; - public const int PATH_STENCIL_VALUE_MASK_NV = 0x90B9; - public const int PATH_STROKE_BOUNDING_BOX_NV = 0x90A2; - public const int PATH_STROKE_COVER_MODE_NV = 0x9083; - public const int PATH_STROKE_MASK_NV = 0x9084; - public const int PATH_STROKE_WIDTH_NV = 0x9075; - public const int PATH_TERMINAL_DASH_CAP_NV = 0x907D; - public const int PATH_TERMINAL_END_CAP_NV = 0x9078; - public const int PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3; - public const int PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4; - public const int PERCENTAGE_AMD = 0x8BC3; - public const int PERFMON_RESULT_AMD = 0x8BC6; - public const int PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4; - public const int PERFMON_RESULT_SIZE_AMD = 0x8BC5; - public const int PERFORMANCE_MONITOR_AMD = 0x9152; - public const int PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC; - public const int PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB; - public const int PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA; - public const int PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8; - public const int PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9; - public const int PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF; - public const int PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1; - public const int PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2; - public const int PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0; - public const int PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE; - public const int PERFQUERY_COUNTER_RAW_INTEL = 0x94F4; - public const int PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3; - public const int PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5; - public const int PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9; - public const int PERFQUERY_FLUSH_INTEL = 0x83FA; - public const int PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001; - public const int PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500; - public const int PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD; - public const int PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000; - public const int PERFQUERY_WAIT_INTEL = 0x83FB; - public const int PERTURB_EXT = 0x85AE; - public const int PER_GPU_STORAGE_BIT_NV = 0x0800; - public const int PER_GPU_STORAGE_NV = 0x9548; - public const int PER_STAGE_CONSTANTS_NV = 0x8535; - public const int PHONG_HINT_WIN = 0x80EB; - public const int PHONG_WIN = 0x80EA; - public const int PINLIGHT_NV = 0x92A8; - public const int PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE; - public const int PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF; - public const int PIXEL_BUFFER_BARRIER_BIT = 0x00000080; - public const int PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080; - public const int PIXEL_COUNTER_BITS_NV = 0x8864; - public const int PIXEL_COUNT_AVAILABLE_NV = 0x8867; - public const int PIXEL_COUNT_NV = 0x8866; - public const int PIXEL_CUBIC_WEIGHT_EXT = 0x8333; - public const int PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355; - public const int PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354; - public const int PIXEL_GROUP_COLOR_SGIS = 0x8356; - public const int PIXEL_MAG_FILTER_EXT = 0x8331; - public const int PIXEL_MIN_FILTER_EXT = 0x8332; - public const int PIXEL_PACK_BUFFER = 0x88EB; - public const int PIXEL_PACK_BUFFER_ARB = 0x88EB; - public const int PIXEL_PACK_BUFFER_BINDING = 0x88ED; - public const int PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED; - public const int PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED; - public const int PIXEL_PACK_BUFFER_EXT = 0x88EB; - public const int PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3; - public const int PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4; - public const int PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2; - public const int PIXEL_TEXTURE_SGIS = 0x8353; - public const int PIXEL_TEX_GEN_MODE_SGIX = 0x832B; - public const int PIXEL_TEX_GEN_SGIX = 0x8139; - public const int PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E; - public const int PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F; - public const int PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145; - public const int PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144; - public const int PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143; - public const int PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142; - public const int PIXEL_TILE_HEIGHT_SGIX = 0x8141; - public const int PIXEL_TILE_WIDTH_SGIX = 0x8140; - public const int PIXEL_TRANSFORM_2D_EXT = 0x8330; - public const int PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338; - public const int PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336; - public const int PIXEL_UNPACK_BUFFER = 0x88EC; - public const int PIXEL_UNPACK_BUFFER_ARB = 0x88EC; - public const int PIXEL_UNPACK_BUFFER_BINDING = 0x88EF; - public const int PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF; - public const int PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF; - public const int PIXEL_UNPACK_BUFFER_EXT = 0x88EC; - public const int PLUS_CLAMPED_ALPHA_NV = 0x92B2; - public const int PLUS_CLAMPED_NV = 0x92B1; - public const int PLUS_DARKER_NV = 0x9292; - public const int PLUS_NV = 0x9291; - public const int PN_TRIANGLES_ATI = 0x87F0; - public const int PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3; - public const int PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7; - public const int PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8; - public const int PN_TRIANGLES_POINT_MODE_ATI = 0x87F2; - public const int PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6; - public const int PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5; - public const int PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4; - public const int POINT = 0x1B00; - public const int POINTS = 0x0000; - public const int POINT_DISTANCE_ATTENUATION_ARB = 0x8129; - public const int POINT_FADE_THRESHOLD_SIZE = 0x8128; - public const int POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128; - public const int POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128; - public const int POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128; - public const int POINT_SIZE = 0x0B11; - public const int POINT_SIZE_GRANULARITY = 0x0B13; - public const int POINT_SIZE_MAX_ARB = 0x8127; - public const int POINT_SIZE_MAX_EXT = 0x8127; - public const int POINT_SIZE_MAX_SGIS = 0x8127; - public const int POINT_SIZE_MIN_ARB = 0x8126; - public const int POINT_SIZE_MIN_EXT = 0x8126; - public const int POINT_SIZE_MIN_SGIS = 0x8126; - public const int POINT_SIZE_RANGE = 0x0B12; - public const int POINT_SPRITE_ARB = 0x8861; - public const int POINT_SPRITE_COORD_ORIGIN = 0x8CA0; - public const int POINT_SPRITE_NV = 0x8861; - public const int POINT_SPRITE_R_MODE_NV = 0x8863; - public const int POLYGON_MODE = 0x0B40; - public const int POLYGON_OFFSET_BIAS_EXT = 0x8039; - public const int POLYGON_OFFSET_CLAMP = 0x8E1B; - public const int POLYGON_OFFSET_CLAMP_EXT = 0x8E1B; - public const int POLYGON_OFFSET_COMMAND_NV = 0x000E; - public const int POLYGON_OFFSET_EXT = 0x8037; - public const int POLYGON_OFFSET_FACTOR = 0x8038; - public const int POLYGON_OFFSET_FACTOR_EXT = 0x8038; - public const int POLYGON_OFFSET_FILL = 0x8037; - public const int POLYGON_OFFSET_LINE = 0x2A02; - public const int POLYGON_OFFSET_POINT = 0x2A01; - public const int POLYGON_OFFSET_UNITS = 0x2A00; - public const int POLYGON_SMOOTH = 0x0B41; - public const int POLYGON_SMOOTH_HINT = 0x0C53; - public const int POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB; - public const int POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7; - public const int POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA; - public const int POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6; - public const int POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2; - public const int POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9; - public const int POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5; - public const int POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8; - public const int POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4; - public const int POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023; - public const int POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F; - public const int POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022; - public const int POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E; - public const int POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1; - public const int POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021; - public const int POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D; - public const int POST_CONVOLUTION_RED_BIAS_EXT = 0x8020; - public const int POST_CONVOLUTION_RED_SCALE_EXT = 0x801C; - public const int POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162; - public const int POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B; - public const int POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179; - public const int POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C; - public const int POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A; - public const int PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8; - public const int PRESENT_DURATION_NV = 0x8E2B; - public const int PRESENT_TIME_NV = 0x8E2A; - public const int PRESERVE_ATI = 0x8762; - public const int PREVIOUS_ARB = 0x8578; - public const int PREVIOUS_EXT = 0x8578; - public const int PREVIOUS_TEXTURE_INPUT_NV = 0x86E4; - public const int PRIMARY_COLOR_ARB = 0x8577; - public const int PRIMARY_COLOR_EXT = 0x8577; - public const int PRIMARY_COLOR_NV = 0x852C; - public const int PRIMITIVES_GENERATED = 0x8C87; - public const int PRIMITIVES_GENERATED_EXT = 0x8C87; - public const int PRIMITIVES_GENERATED_NV = 0x8C87; - public const int PRIMITIVES_SUBMITTED = 0x82EF; - public const int PRIMITIVES_SUBMITTED_ARB = 0x82EF; - public const int PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE; - public const int PRIMITIVE_ID_NV = 0x8C7C; - public const int PRIMITIVE_RESTART = 0x8F9D; - public const int PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69; - public const int PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221; - public const int PRIMITIVE_RESTART_INDEX = 0x8F9E; - public const int PRIMITIVE_RESTART_INDEX_NV = 0x8559; - public const int PRIMITIVE_RESTART_NV = 0x8558; - public const int PROGRAM = 0x82E2; - public const int PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341; - public const int PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341; - public const int PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340; - public const int PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340; - public const int PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0; - public const int PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805; - public const int PROGRAM_ATTRIBS_ARB = 0x88AC; - public const int PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906; - public const int PROGRAM_BINARY_FORMATS = 0x87FF; - public const int PROGRAM_BINARY_FORMAT_MESA = 0x875F; - public const int PROGRAM_BINARY_LENGTH = 0x8741; - public const int PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257; - public const int PROGRAM_BINDING_ARB = 0x8677; - public const int PROGRAM_ERROR_POSITION_ARB = 0x864B; - public const int PROGRAM_ERROR_POSITION_NV = 0x864B; - public const int PROGRAM_ERROR_STRING_ARB = 0x8874; - public const int PROGRAM_ERROR_STRING_NV = 0x8874; - public const int PROGRAM_FORMAT_ARB = 0x8876; - public const int PROGRAM_FORMAT_ASCII_ARB = 0x8875; - public const int PROGRAM_INPUT = 0x92E3; - public const int PROGRAM_INSTRUCTIONS_ARB = 0x88A0; - public const int PROGRAM_LENGTH_ARB = 0x8627; - public const int PROGRAM_LENGTH_NV = 0x8627; - public const int PROGRAM_MATRIX_EXT = 0x8E2D; - public const int PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F; - public const int PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2; - public const int PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808; - public const int PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE; - public const int PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2; - public const int PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA; - public const int PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6; - public const int PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A; - public const int PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809; - public const int PROGRAM_OBJECT_ARB = 0x8B40; - public const int PROGRAM_OBJECT_EXT = 0x8B40; - public const int PROGRAM_OUTPUT = 0x92E4; - public const int PROGRAM_PARAMETERS_ARB = 0x88A8; - public const int PROGRAM_PARAMETER_NV = 0x8644; - public const int PROGRAM_PIPELINE = 0x82E4; - public const int PROGRAM_PIPELINE_BINDING = 0x825A; - public const int PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F; - public const int PROGRAM_POINT_SIZE = 0x8642; - public const int PROGRAM_POINT_SIZE_ARB = 0x8642; - public const int PROGRAM_POINT_SIZE_EXT = 0x8642; - public const int PROGRAM_RESIDENT_NV = 0x8647; - public const int PROGRAM_RESULT_COMPONENTS_NV = 0x8907; - public const int PROGRAM_SEPARABLE = 0x8258; - public const int PROGRAM_STRING_ARB = 0x8628; - public const int PROGRAM_STRING_NV = 0x8628; - public const int PROGRAM_TARGET_NV = 0x8646; - public const int PROGRAM_TEMPORARIES_ARB = 0x88A4; - public const int PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807; - public const int PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806; - public const int PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6; - public const int PROTECTED_MEMORY_OBJECT_EXT = 0x959B; - public const int PROVOKING_VERTEX = 0x8E4F; - public const int PROVOKING_VERTEX_EXT = 0x8E4F; - public const int PROXY_COLOR_TABLE_SGI = 0x80D3; - public const int PROXY_HISTOGRAM_EXT = 0x8025; - public const int PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5; - public const int PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4; - public const int PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163; - public const int PROXY_TEXTURE_1D = 0x8063; - public const int PROXY_TEXTURE_1D_ARRAY = 0x8C19; - public const int PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19; - public const int PROXY_TEXTURE_1D_EXT = 0x8063; - public const int PROXY_TEXTURE_1D_STACK_MESAX = 0x875B; - public const int PROXY_TEXTURE_2D = 0x8064; - public const int PROXY_TEXTURE_2D_ARRAY = 0x8C1B; - public const int PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B; - public const int PROXY_TEXTURE_2D_EXT = 0x8064; - public const int PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101; - public const int PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103; - public const int PROXY_TEXTURE_2D_STACK_MESAX = 0x875C; - public const int PROXY_TEXTURE_3D = 0x8070; - public const int PROXY_TEXTURE_3D_EXT = 0x8070; - public const int PROXY_TEXTURE_4D_SGIS = 0x8135; - public const int PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD; - public const int PROXY_TEXTURE_CUBE_MAP = 0x851B; - public const int PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B; - public const int PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B; - public const int PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B; - public const int PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B; - public const int PROXY_TEXTURE_RECTANGLE = 0x84F7; - public const int PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7; - public const int PROXY_TEXTURE_RECTANGLE_NV = 0x84F7; - public const int PURGEABLE_APPLE = 0x8A1D; - public const int PURGED_CONTEXT_RESET_NV = 0x92BB; - public const int QUADRATIC_CURVE_TO_NV = 0x0A; - public const int QUADS = 0x0007; - public const int QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C; - public const int QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C; - public const int QUAD_ALPHA4_SGIS = 0x811E; - public const int QUAD_ALPHA8_SGIS = 0x811F; - public const int QUAD_INTENSITY4_SGIS = 0x8122; - public const int QUAD_INTENSITY8_SGIS = 0x8123; - public const int QUAD_LUMINANCE4_SGIS = 0x8120; - public const int QUAD_LUMINANCE8_SGIS = 0x8121; - public const int QUAD_MESH_SUN = 0x8614; - public const int QUAD_TEXTURE_SELECT_SGIS = 0x8125; - public const int QUARTER_BIT_ATI = 0x00000010; - public const int QUERY = 0x82E3; - public const uint QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF; - public const int QUERY_BUFFER = 0x9192; - public const int QUERY_BUFFER_AMD = 0x9192; - public const int QUERY_BUFFER_BARRIER_BIT = 0x00008000; - public const int QUERY_BUFFER_BINDING = 0x9193; - public const int QUERY_BUFFER_BINDING_AMD = 0x9193; - public const int QUERY_BY_REGION_NO_WAIT = 0x8E16; - public const int QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A; - public const int QUERY_BY_REGION_NO_WAIT_NV = 0x8E16; - public const int QUERY_BY_REGION_WAIT = 0x8E15; - public const int QUERY_BY_REGION_WAIT_INVERTED = 0x8E19; - public const int QUERY_BY_REGION_WAIT_NV = 0x8E15; - public const int QUERY_COUNTER_BITS = 0x8864; - public const int QUERY_COUNTER_BITS_ARB = 0x8864; - public const int QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008; - public const int QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002; - public const int QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001; - public const int QUERY_NO_WAIT = 0x8E14; - public const int QUERY_NO_WAIT_INVERTED = 0x8E18; - public const int QUERY_NO_WAIT_NV = 0x8E14; - public const int QUERY_OBJECT_AMD = 0x9153; - public const int QUERY_OBJECT_EXT = 0x9153; - public const int QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547; - public const int QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542; - public const int QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546; - public const int QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544; - public const int QUERY_RESOURCE_TEXTURE_NV = 0x9545; - public const int QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540; - public const int QUERY_RESULT = 0x8866; - public const int QUERY_RESULT_ARB = 0x8866; - public const int QUERY_RESULT_AVAILABLE = 0x8867; - public const int QUERY_RESULT_AVAILABLE_ARB = 0x8867; - public const int QUERY_RESULT_NO_WAIT = 0x9194; - public const int QUERY_RESULT_NO_WAIT_AMD = 0x9194; - public const int QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004; - public const int QUERY_TARGET = 0x82EA; - public const int QUERY_WAIT = 0x8E13; - public const int QUERY_WAIT_INVERTED = 0x8E17; - public const int QUERY_WAIT_NV = 0x8E13; - public const int R11F_G11F_B10F = 0x8C3A; - public const int R11F_G11F_B10F_EXT = 0x8C3A; - public const int R16 = 0x822A; - public const int R16F = 0x822D; - public const int R16F_EXT = 0x822D; - public const int R16I = 0x8233; - public const int R16UI = 0x8234; - public const int R16_SNORM = 0x8F98; - public const int R1UI_C3F_V3F_SUN = 0x85C6; - public const int R1UI_C4F_N3F_V3F_SUN = 0x85C8; - public const int R1UI_C4UB_V3F_SUN = 0x85C5; - public const int R1UI_N3F_V3F_SUN = 0x85C7; - public const int R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB; - public const int R1UI_T2F_N3F_V3F_SUN = 0x85CA; - public const int R1UI_T2F_V3F_SUN = 0x85C9; - public const int R1UI_V3F_SUN = 0x85C4; - public const int R32F = 0x822E; - public const int R32F_EXT = 0x822E; - public const int R32I = 0x8235; - public const int R32UI = 0x8236; - public const int R3_G3_B2 = 0x2A10; - public const int R8 = 0x8229; - public const int R8I = 0x8231; - public const int R8UI = 0x8232; - public const int R8_EXT = 0x8229; - public const int R8_SNORM = 0x8F94; - public const int RASTERIZER_DISCARD = 0x8C89; - public const int RASTERIZER_DISCARD_EXT = 0x8C89; - public const int RASTERIZER_DISCARD_NV = 0x8C89; - public const int RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A; - public const int RASTER_MULTISAMPLE_EXT = 0x9327; - public const int RASTER_POSITION_UNCLIPPED_IBM = 0x19262; - public const int RASTER_SAMPLES_EXT = 0x9328; - public const int READ_BUFFER = 0x0C02; - public const int READ_FRAMEBUFFER = 0x8CA8; - public const int READ_FRAMEBUFFER_BINDING = 0x8CAA; - public const int READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA; - public const int READ_FRAMEBUFFER_EXT = 0x8CA8; - public const int READ_ONLY = 0x88B8; - public const int READ_ONLY_ARB = 0x88B8; - public const int READ_PIXELS = 0x828C; - public const int READ_PIXELS_FORMAT = 0x828D; - public const int READ_PIXELS_TYPE = 0x828E; - public const int READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B; - public const int READ_PIXEL_DATA_RANGE_NV = 0x8879; - public const int READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D; - public const int READ_WRITE = 0x88BA; - public const int READ_WRITE_ARB = 0x88BA; - public const int RECLAIM_MEMORY_HINT_PGI = 0x1A1FE; - public const int RECT_NV = 0xF6; - public const int RED = 0x1903; - public const int REDUCE_EXT = 0x8016; - public const int RED_BIT_ATI = 0x00000001; - public const int RED_INTEGER = 0x8D94; - public const int RED_INTEGER_EXT = 0x8D94; - public const int RED_MAX_CLAMP_INGR = 0x8564; - public const int RED_MIN_CLAMP_INGR = 0x8560; - public const int RED_NV = 0x1903; - public const int RED_SNORM = 0x8F90; - public const int REFERENCED_BY_COMPUTE_SHADER = 0x930B; - public const int REFERENCED_BY_FRAGMENT_SHADER = 0x930A; - public const int REFERENCED_BY_GEOMETRY_SHADER = 0x9309; - public const int REFERENCED_BY_MESH_SHADER_NV = 0x95A0; - public const int REFERENCED_BY_TASK_SHADER_NV = 0x95A1; - public const int REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307; - public const int REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308; - public const int REFERENCED_BY_VERTEX_SHADER = 0x9306; - public const int REFERENCE_PLANE_EQUATION_SGIX = 0x817E; - public const int REFERENCE_PLANE_SGIX = 0x817D; - public const int REFLECTION_MAP_ARB = 0x8512; - public const int REFLECTION_MAP_EXT = 0x8512; - public const int REFLECTION_MAP_NV = 0x8512; - public const int REGISTER_COMBINERS_NV = 0x8522; - public const int REG_0_ATI = 0x8921; - public const int REG_10_ATI = 0x892B; - public const int REG_11_ATI = 0x892C; - public const int REG_12_ATI = 0x892D; - public const int REG_13_ATI = 0x892E; - public const int REG_14_ATI = 0x892F; - public const int REG_15_ATI = 0x8930; - public const int REG_16_ATI = 0x8931; - public const int REG_17_ATI = 0x8932; - public const int REG_18_ATI = 0x8933; - public const int REG_19_ATI = 0x8934; - public const int REG_1_ATI = 0x8922; - public const int REG_20_ATI = 0x8935; - public const int REG_21_ATI = 0x8936; - public const int REG_22_ATI = 0x8937; - public const int REG_23_ATI = 0x8938; - public const int REG_24_ATI = 0x8939; - public const int REG_25_ATI = 0x893A; - public const int REG_26_ATI = 0x893B; - public const int REG_27_ATI = 0x893C; - public const int REG_28_ATI = 0x893D; - public const int REG_29_ATI = 0x893E; - public const int REG_2_ATI = 0x8923; - public const int REG_30_ATI = 0x893F; - public const int REG_31_ATI = 0x8940; - public const int REG_3_ATI = 0x8924; - public const int REG_4_ATI = 0x8925; - public const int REG_5_ATI = 0x8926; - public const int REG_6_ATI = 0x8927; - public const int REG_7_ATI = 0x8928; - public const int REG_8_ATI = 0x8929; - public const int REG_9_ATI = 0x892A; - public const int RELATIVE_ARC_TO_NV = 0xFF; - public const int RELATIVE_CONIC_CURVE_TO_NV = 0x1B; - public const int RELATIVE_CUBIC_CURVE_TO_NV = 0x0D; - public const int RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07; - public const int RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17; - public const int RELATIVE_LARGE_CW_ARC_TO_NV = 0x19; - public const int RELATIVE_LINE_TO_NV = 0x05; - public const int RELATIVE_MOVE_TO_NV = 0x03; - public const int RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B; - public const int RELATIVE_RECT_NV = 0xF7; - public const int RELATIVE_ROUNDED_RECT2_NV = 0xEB; - public const int RELATIVE_ROUNDED_RECT4_NV = 0xED; - public const int RELATIVE_ROUNDED_RECT8_NV = 0xEF; - public const int RELATIVE_ROUNDED_RECT_NV = 0xE9; - public const int RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13; - public const int RELATIVE_SMALL_CW_ARC_TO_NV = 0x15; - public const int RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11; - public const int RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F; - public const int RELATIVE_VERTICAL_LINE_TO_NV = 0x09; - public const int RELEASED_APPLE = 0x8A19; - public const int RENDERBUFFER = 0x8D41; - public const int RENDERBUFFER_ALPHA_SIZE = 0x8D53; - public const int RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53; - public const int RENDERBUFFER_BINDING = 0x8CA7; - public const int RENDERBUFFER_BINDING_EXT = 0x8CA7; - public const int RENDERBUFFER_BLUE_SIZE = 0x8D52; - public const int RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52; - public const int RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10; - public const int RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB; - public const int RENDERBUFFER_DEPTH_SIZE = 0x8D54; - public const int RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54; - public const int RENDERBUFFER_EXT = 0x8D41; - public const int RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD; - public const int RENDERBUFFER_GREEN_SIZE = 0x8D51; - public const int RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51; - public const int RENDERBUFFER_HEIGHT = 0x8D43; - public const int RENDERBUFFER_HEIGHT_EXT = 0x8D43; - public const int RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; - public const int RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44; - public const int RENDERBUFFER_RED_SIZE = 0x8D50; - public const int RENDERBUFFER_RED_SIZE_EXT = 0x8D50; - public const int RENDERBUFFER_SAMPLES = 0x8CAB; - public const int RENDERBUFFER_SAMPLES_EXT = 0x8CAB; - public const int RENDERBUFFER_STENCIL_SIZE = 0x8D55; - public const int RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55; - public const int RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2; - public const int RENDERBUFFER_WIDTH = 0x8D42; - public const int RENDERBUFFER_WIDTH_EXT = 0x8D42; - public const int RENDERER = 0x1F01; - public const int RENDER_GPU_MASK_NV = 0x9558; - public const int REPEAT = 0x2901; - public const int REPLACE = 0x1E01; - public const int REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3; - public const int REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2; - public const int REPLACEMENT_CODE_ARRAY_SUN = 0x85C0; - public const int REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1; - public const int REPLACEMENT_CODE_SUN = 0x81D8; - public const int REPLACE_EXT = 0x8062; - public const int REPLACE_MIDDLE_SUN = 0x0002; - public const int REPLACE_OLDEST_SUN = 0x0003; - public const int REPLACE_VALUE_AMD = 0x874B; - public const int REPLICATE_BORDER_HP = 0x8153; - public const int REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F; - public const int RESAMPLE_AVERAGE_OML = 0x8988; - public const int RESAMPLE_DECIMATE_OML = 0x8989; - public const int RESAMPLE_DECIMATE_SGIX = 0x8430; - public const int RESAMPLE_REPLICATE_OML = 0x8986; - public const int RESAMPLE_REPLICATE_SGIX = 0x8433; - public const int RESAMPLE_ZERO_FILL_OML = 0x8987; - public const int RESAMPLE_ZERO_FILL_SGIX = 0x8434; - public const int RESCALE_NORMAL_EXT = 0x803A; - public const int RESET_NOTIFICATION_STRATEGY = 0x8256; - public const int RESET_NOTIFICATION_STRATEGY_ARB = 0x8256; - public const int RESTART_PATH_NV = 0xF0; - public const int RESTART_SUN = 0x0001; - public const int RETAINED_APPLE = 0x8A1B; - public const int RG = 0x8227; - public const int RG16 = 0x822C; - public const int RG16F = 0x822F; - public const int RG16F_EXT = 0x822F; - public const int RG16I = 0x8239; - public const int RG16UI = 0x823A; - public const int RG16_SNORM = 0x8F99; - public const int RG32F = 0x8230; - public const int RG32F_EXT = 0x8230; - public const int RG32I = 0x823B; - public const int RG32UI = 0x823C; - public const int RG8 = 0x822B; - public const int RG8I = 0x8237; - public const int RG8UI = 0x8238; - public const int RG8_EXT = 0x822B; - public const int RG8_SNORM = 0x8F95; - public const int RGB = 0x1907; - public const int RGB10 = 0x8052; - public const int RGB10_A2 = 0x8059; - public const int RGB10_A2UI = 0x906F; - public const int RGB10_A2_EXT = 0x8059; - public const int RGB10_EXT = 0x8052; - public const int RGB12 = 0x8053; - public const int RGB12_EXT = 0x8053; - public const int RGB16 = 0x8054; - public const int RGB16F = 0x881B; - public const int RGB16F_ARB = 0x881B; - public const int RGB16F_EXT = 0x881B; - public const int RGB16I = 0x8D89; - public const int RGB16I_EXT = 0x8D89; - public const int RGB16UI = 0x8D77; - public const int RGB16UI_EXT = 0x8D77; - public const int RGB16_EXT = 0x8054; - public const int RGB16_SNORM = 0x8F9A; - public const int RGB2_EXT = 0x804E; - public const int RGB32F = 0x8815; - public const int RGB32F_ARB = 0x8815; - public const int RGB32F_EXT = 0x8815; - public const int RGB32I = 0x8D83; - public const int RGB32I_EXT = 0x8D83; - public const int RGB32UI = 0x8D71; - public const int RGB32UI_EXT = 0x8D71; - public const int RGB4 = 0x804F; - public const int RGB4_EXT = 0x804F; - public const int RGB4_S3TC = 0x83A1; - public const int RGB5 = 0x8050; - public const int RGB565 = 0x8D62; - public const int RGB5_A1 = 0x8057; - public const int RGB5_A1_EXT = 0x8057; - public const int RGB5_EXT = 0x8050; - public const int RGB8 = 0x8051; - public const int RGB8I = 0x8D8F; - public const int RGB8I_EXT = 0x8D8F; - public const int RGB8UI = 0x8D7D; - public const int RGB8UI_EXT = 0x8D7D; - public const int RGB8_EXT = 0x8051; - public const int RGB8_SNORM = 0x8F96; - public const int RGB9_E5 = 0x8C3D; - public const int RGB9_E5_EXT = 0x8C3D; - public const int RGBA = 0x1908; - public const int RGBA12 = 0x805A; - public const int RGBA12_EXT = 0x805A; - public const int RGBA16 = 0x805B; - public const int RGBA16F = 0x881A; - public const int RGBA16F_ARB = 0x881A; - public const int RGBA16F_EXT = 0x881A; - public const int RGBA16I = 0x8D88; - public const int RGBA16I_EXT = 0x8D88; - public const int RGBA16UI = 0x8D76; - public const int RGBA16UI_EXT = 0x8D76; - public const int RGBA16_EXT = 0x805B; - public const int RGBA16_SNORM = 0x8F9B; - public const int RGBA2 = 0x8055; - public const int RGBA2_EXT = 0x8055; - public const int RGBA32F = 0x8814; - public const int RGBA32F_ARB = 0x8814; - public const int RGBA32F_EXT = 0x8814; - public const int RGBA32I = 0x8D82; - public const int RGBA32I_EXT = 0x8D82; - public const int RGBA32UI = 0x8D70; - public const int RGBA32UI_EXT = 0x8D70; - public const int RGBA4 = 0x8056; - public const int RGBA4_DXT5_S3TC = 0x83A5; - public const int RGBA4_EXT = 0x8056; - public const int RGBA4_S3TC = 0x83A3; - public const int RGBA8 = 0x8058; - public const int RGBA8I = 0x8D8E; - public const int RGBA8I_EXT = 0x8D8E; - public const int RGBA8UI = 0x8D7C; - public const int RGBA8UI_EXT = 0x8D7C; - public const int RGBA8_EXT = 0x8058; - public const int RGBA8_SNORM = 0x8F97; - public const int RGBA_DXT5_S3TC = 0x83A4; - public const int RGBA_FLOAT16_APPLE = 0x881A; - public const int RGBA_FLOAT16_ATI = 0x881A; - public const int RGBA_FLOAT32_APPLE = 0x8814; - public const int RGBA_FLOAT32_ATI = 0x8814; - public const int RGBA_FLOAT_MODE_ARB = 0x8820; - public const int RGBA_FLOAT_MODE_ATI = 0x8820; - public const int RGBA_INTEGER = 0x8D99; - public const int RGBA_INTEGER_EXT = 0x8D99; - public const int RGBA_INTEGER_MODE_EXT = 0x8D9E; - public const int RGBA_S3TC = 0x83A2; - public const int RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C; - public const int RGBA_SNORM = 0x8F93; - public const int RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9; - public const int RGB_422_APPLE = 0x8A1F; - public const int RGB_FLOAT16_APPLE = 0x881B; - public const int RGB_FLOAT16_ATI = 0x881B; - public const int RGB_FLOAT32_APPLE = 0x8815; - public const int RGB_FLOAT32_ATI = 0x8815; - public const int RGB_INTEGER = 0x8D98; - public const int RGB_INTEGER_EXT = 0x8D98; - public const int RGB_RAW_422_APPLE = 0x8A51; - public const int RGB_S3TC = 0x83A0; - public const int RGB_SCALE_ARB = 0x8573; - public const int RGB_SCALE_EXT = 0x8573; - public const int RGB_SNORM = 0x8F92; - public const int RG_INTEGER = 0x8228; - public const int RG_SNORM = 0x8F91; - public const int RIGHT = 0x0407; - public const int ROUNDED_RECT2_NV = 0xEA; - public const int ROUNDED_RECT4_NV = 0xEC; - public const int ROUNDED_RECT8_NV = 0xEE; - public const int ROUNDED_RECT_NV = 0xE8; - public const int ROUND_NV = 0x90A4; - public const int SAMPLER = 0x82E6; - public const int SAMPLER_1D = 0x8B5D; - public const int SAMPLER_1D_ARB = 0x8B5D; - public const int SAMPLER_1D_ARRAY = 0x8DC0; - public const int SAMPLER_1D_ARRAY_EXT = 0x8DC0; - public const int SAMPLER_1D_ARRAY_SHADOW = 0x8DC3; - public const int SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3; - public const int SAMPLER_1D_SHADOW = 0x8B61; - public const int SAMPLER_1D_SHADOW_ARB = 0x8B61; - public const int SAMPLER_2D = 0x8B5E; - public const int SAMPLER_2D_ARB = 0x8B5E; - public const int SAMPLER_2D_ARRAY = 0x8DC1; - public const int SAMPLER_2D_ARRAY_EXT = 0x8DC1; - public const int SAMPLER_2D_ARRAY_SHADOW = 0x8DC4; - public const int SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4; - public const int SAMPLER_2D_MULTISAMPLE = 0x9108; - public const int SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B; - public const int SAMPLER_2D_RECT = 0x8B63; - public const int SAMPLER_2D_RECT_ARB = 0x8B63; - public const int SAMPLER_2D_RECT_SHADOW = 0x8B64; - public const int SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64; - public const int SAMPLER_2D_SHADOW = 0x8B62; - public const int SAMPLER_2D_SHADOW_ARB = 0x8B62; - public const int SAMPLER_3D = 0x8B5F; - public const int SAMPLER_3D_ARB = 0x8B5F; - public const int SAMPLER_BINDING = 0x8919; - public const int SAMPLER_BUFFER = 0x8DC2; - public const int SAMPLER_BUFFER_AMD = 0x9001; - public const int SAMPLER_BUFFER_EXT = 0x8DC2; - public const int SAMPLER_CUBE = 0x8B60; - public const int SAMPLER_CUBE_ARB = 0x8B60; - public const int SAMPLER_CUBE_MAP_ARRAY = 0x900C; - public const int SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C; - public const int SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D; - public const int SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D; - public const int SAMPLER_CUBE_SHADOW = 0x8DC5; - public const int SAMPLER_CUBE_SHADOW_EXT = 0x8DC5; - public const int SAMPLER_OBJECT_AMD = 0x9155; - public const int SAMPLER_RENDERBUFFER_NV = 0x8E56; - public const int SAMPLES = 0x80A9; - public const int SAMPLES_3DFX = 0x86B4; - public const int SAMPLES_ARB = 0x80A9; - public const int SAMPLES_EXT = 0x80A9; - public const int SAMPLES_PASSED = 0x8914; - public const int SAMPLES_PASSED_ARB = 0x8914; - public const int SAMPLES_SGIS = 0x80A9; - public const int SAMPLE_ALPHA_TO_COVERAGE = 0x809E; - public const int SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E; - public const int SAMPLE_ALPHA_TO_MASK_EXT = 0x809E; - public const int SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E; - public const int SAMPLE_ALPHA_TO_ONE = 0x809F; - public const int SAMPLE_ALPHA_TO_ONE_ARB = 0x809F; - public const int SAMPLE_ALPHA_TO_ONE_EXT = 0x809F; - public const int SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F; - public const int SAMPLE_BUFFERS = 0x80A8; - public const int SAMPLE_BUFFERS_3DFX = 0x86B3; - public const int SAMPLE_BUFFERS_ARB = 0x80A8; - public const int SAMPLE_BUFFERS_EXT = 0x80A8; - public const int SAMPLE_BUFFERS_SGIS = 0x80A8; - public const int SAMPLE_COVERAGE = 0x80A0; - public const int SAMPLE_COVERAGE_ARB = 0x80A0; - public const int SAMPLE_COVERAGE_INVERT = 0x80AB; - public const int SAMPLE_COVERAGE_INVERT_ARB = 0x80AB; - public const int SAMPLE_COVERAGE_VALUE = 0x80AA; - public const int SAMPLE_COVERAGE_VALUE_ARB = 0x80AA; - public const int SAMPLE_LOCATION_ARB = 0x8E50; - public const int SAMPLE_LOCATION_NV = 0x8E50; - public const int SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F; - public const int SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F; - public const int SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E; - public const int SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E; - public const int SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D; - public const int SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D; - public const int SAMPLE_MASK = 0x8E51; - public const int SAMPLE_MASK_EXT = 0x80A0; - public const int SAMPLE_MASK_INVERT_EXT = 0x80AB; - public const int SAMPLE_MASK_INVERT_SGIS = 0x80AB; - public const int SAMPLE_MASK_NV = 0x8E51; - public const int SAMPLE_MASK_SGIS = 0x80A0; - public const int SAMPLE_MASK_VALUE = 0x8E52; - public const int SAMPLE_MASK_VALUE_EXT = 0x80AA; - public const int SAMPLE_MASK_VALUE_NV = 0x8E52; - public const int SAMPLE_MASK_VALUE_SGIS = 0x80AA; - public const int SAMPLE_PATTERN_EXT = 0x80AC; - public const int SAMPLE_PATTERN_SGIS = 0x80AC; - public const int SAMPLE_POSITION = 0x8E50; - public const int SAMPLE_POSITION_NV = 0x8E50; - public const int SAMPLE_SHADING = 0x8C36; - public const int SAMPLE_SHADING_ARB = 0x8C36; - public const int SATURATE_BIT_ATI = 0x00000040; - public const int SCALAR_EXT = 0x87BE; - public const int SCALEBIAS_HINT_SGIX = 0x8322; - public const int SCALED_RESOLVE_FASTEST_EXT = 0x90BA; - public const int SCALED_RESOLVE_NICEST_EXT = 0x90BB; - public const int SCALE_BY_FOUR_NV = 0x853F; - public const int SCALE_BY_ONE_HALF_NV = 0x8540; - public const int SCALE_BY_TWO_NV = 0x853E; - public const int SCISSOR_BOX = 0x0C10; - public const int SCISSOR_BOX_EXCLUSIVE_NV = 0x9556; - public const int SCISSOR_COMMAND_NV = 0x0011; - public const int SCISSOR_TEST = 0x0C11; - public const int SCISSOR_TEST_EXCLUSIVE_NV = 0x9555; - public const int SCREEN_COORDINATES_REND = 0x8490; - public const int SCREEN_KHR = 0x9295; - public const int SCREEN_NV = 0x9295; - public const int SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27; - public const int SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C; - public const int SECONDARY_COLOR_ARRAY_EXT = 0x845E; - public const int SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31; - public const int SECONDARY_COLOR_ARRAY_LIST_IBM = 103077; - public const int SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087; - public const int SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D; - public const int SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A; - public const int SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C; - public const int SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B; - public const int SECONDARY_COLOR_NV = 0x852D; - public const int SECONDARY_INTERPOLATOR_ATI = 0x896D; - public const int SEMAPHORE_TYPE_BINARY_NV = 0x95B4; - public const int SEMAPHORE_TYPE_NV = 0x95B3; - public const int SEMAPHORE_TYPE_TIMELINE_NV = 0x95B5; - public const int SEPARABLE_2D_EXT = 0x8012; - public const int SEPARATE_ATTRIBS = 0x8C8D; - public const int SEPARATE_ATTRIBS_EXT = 0x8C8D; - public const int SEPARATE_ATTRIBS_NV = 0x8C8D; - public const int SEPARATE_SPECULAR_COLOR_EXT = 0x81FA; - public const int SET = 0x150F; - public const int SET_AMD = 0x874A; - public const int SHADER = 0x82E1; - public const int SHADER_BINARY_FORMATS = 0x8DF8; - public const int SHADER_BINARY_FORMAT_SPIR_V = 0x9551; - public const int SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551; - public const int SHADER_COMPILER = 0x8DFA; - public const int SHADER_CONSISTENT_NV = 0x86DD; - public const int SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010; - public const int SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020; - public const int SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020; - public const int SHADER_IMAGE_ATOMIC = 0x82A6; - public const int SHADER_IMAGE_LOAD = 0x82A4; - public const int SHADER_IMAGE_STORE = 0x82A5; - public const int SHADER_INCLUDE_ARB = 0x8DAE; - public const int SHADER_OBJECT_ARB = 0x8B48; - public const int SHADER_OBJECT_EXT = 0x8B48; - public const int SHADER_OPERATION_NV = 0x86DF; - public const int SHADER_SOURCE_LENGTH = 0x8B88; - public const int SHADER_STORAGE_BARRIER_BIT = 0x00002000; - public const int SHADER_STORAGE_BLOCK = 0x92E6; - public const int SHADER_STORAGE_BUFFER = 0x90D2; - public const int SHADER_STORAGE_BUFFER_BINDING = 0x90D3; - public const int SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF; - public const int SHADER_STORAGE_BUFFER_SIZE = 0x90D5; - public const int SHADER_STORAGE_BUFFER_START = 0x90D4; - public const int SHADER_TYPE = 0x8B4F; - public const int SHADING_LANGUAGE_VERSION = 0x8B8C; - public const int SHADING_LANGUAGE_VERSION_ARB = 0x8B8C; - public const int SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F; - public const int SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566; - public const int SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567; - public const int SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568; - public const int SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569; - public const int SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A; - public const int SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B; - public const int SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565; - public const int SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C; - public const int SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D; - public const int SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E; - public const int SHADING_RATE_IMAGE_BINDING_NV = 0x955B; - public const int SHADING_RATE_IMAGE_NV = 0x9563; - public const int SHADING_RATE_IMAGE_PALETTE_COUNT_NV = 0x95B2; - public const int SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E; - public const int SHADING_RATE_IMAGE_PER_PRIMITIVE_NV = 0x95B1; - public const int SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D; - public const int SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C; - public const int SHADING_RATE_NO_INVOCATIONS_NV = 0x9564; - public const int SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE; - public const int SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF; - public const int SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0; - public const int SHADOW_AMBIENT_SGIX = 0x80BF; - public const int SHADOW_ATTENUATION_EXT = 0x834E; - public const int SHARED_EDGE_NV = 0xC0; - public const int SHARED_TEXTURE_PALETTE_EXT = 0x81FB; - public const int SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0; - public const int SHORT = 0x1402; - public const int SIGNALED = 0x9119; - public const int SIGNED_ALPHA8_NV = 0x8706; - public const int SIGNED_ALPHA_NV = 0x8705; - public const int SIGNED_HILO16_NV = 0x86FA; - public const int SIGNED_HILO8_NV = 0x885F; - public const int SIGNED_HILO_NV = 0x86F9; - public const int SIGNED_IDENTITY_NV = 0x853C; - public const int SIGNED_INTENSITY8_NV = 0x8708; - public const int SIGNED_INTENSITY_NV = 0x8707; - public const int SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704; - public const int SIGNED_LUMINANCE8_NV = 0x8702; - public const int SIGNED_LUMINANCE_ALPHA_NV = 0x8703; - public const int SIGNED_LUMINANCE_NV = 0x8701; - public const int SIGNED_NEGATE_NV = 0x853D; - public const int SIGNED_NORMALIZED = 0x8F9C; - public const int SIGNED_RGB8_NV = 0x86FF; - public const int SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D; - public const int SIGNED_RGBA8_NV = 0x86FC; - public const int SIGNED_RGBA_NV = 0x86FB; - public const int SIGNED_RGB_NV = 0x86FE; - public const int SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C; - public const int SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC; - public const int SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE; - public const int SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD; - public const int SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF; - public const int SINGLE_COLOR_EXT = 0x81F9; - public const int SKIP_COMPONENTS1_NV = -6; - public const int SKIP_COMPONENTS2_NV = -5; - public const int SKIP_COMPONENTS3_NV = -4; - public const int SKIP_COMPONENTS4_NV = -3; - public const int SKIP_DECODE_EXT = 0x8A4A; - public const int SKIP_MISSING_GLYPH_NV = 0x90A9; - public const int SLICE_ACCUM_SUN = 0x85CC; - public const int SLUMINANCE8_ALPHA8_EXT = 0x8C45; - public const int SLUMINANCE8_EXT = 0x8C47; - public const int SLUMINANCE_ALPHA_EXT = 0x8C44; - public const int SLUMINANCE_EXT = 0x8C46; - public const int SMALL_CCW_ARC_TO_NV = 0x12; - public const int SMALL_CW_ARC_TO_NV = 0x14; - public const int SMOOTH_CUBIC_CURVE_TO_NV = 0x10; - public const int SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23; - public const int SMOOTH_LINE_WIDTH_RANGE = 0x0B22; - public const int SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13; - public const int SMOOTH_POINT_SIZE_RANGE = 0x0B12; - public const int SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E; - public const int SM_COUNT_NV = 0x933B; - public const int SOFTLIGHT_KHR = 0x929C; - public const int SOFTLIGHT_NV = 0x929C; - public const int SOURCE0_ALPHA_ARB = 0x8588; - public const int SOURCE0_ALPHA_EXT = 0x8588; - public const int SOURCE0_RGB_ARB = 0x8580; - public const int SOURCE0_RGB_EXT = 0x8580; - public const int SOURCE1_ALPHA = 0x8589; - public const int SOURCE1_ALPHA_ARB = 0x8589; - public const int SOURCE1_ALPHA_EXT = 0x8589; - public const int SOURCE1_RGB_ARB = 0x8581; - public const int SOURCE1_RGB_EXT = 0x8581; - public const int SOURCE2_ALPHA_ARB = 0x858A; - public const int SOURCE2_ALPHA_EXT = 0x858A; - public const int SOURCE2_RGB_ARB = 0x8582; - public const int SOURCE2_RGB_EXT = 0x8582; - public const int SOURCE3_ALPHA_NV = 0x858B; - public const int SOURCE3_RGB_NV = 0x8583; - public const int SPARE0_NV = 0x852E; - public const int SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532; - public const int SPARE1_NV = 0x852F; - public const int SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8; - public const int SPARSE_STORAGE_BIT_ARB = 0x0400; - public const int SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9; - public const int SPIR_V_BINARY = 0x9552; - public const int SPIR_V_BINARY_ARB = 0x9552; - public const int SPIR_V_EXTENSIONS = 0x9553; - public const int SPRITE_AXIAL_SGIX = 0x814C; - public const int SPRITE_AXIS_SGIX = 0x814A; - public const int SPRITE_EYE_ALIGNED_SGIX = 0x814E; - public const int SPRITE_MODE_SGIX = 0x8149; - public const int SPRITE_OBJECT_ALIGNED_SGIX = 0x814D; - public const int SPRITE_SGIX = 0x8148; - public const int SPRITE_TRANSLATION_SGIX = 0x814B; - public const int SQUARE_NV = 0x90A3; - public const int SR8_EXT = 0x8FBD; - public const int SRC1_ALPHA = 0x8589; - public const int SRC1_COLOR = 0x88F9; - public const int SRC_ALPHA = 0x0302; - public const int SRC_ALPHA_SATURATE = 0x0308; - public const int SRC_ATOP_NV = 0x928E; - public const int SRC_COLOR = 0x0300; - public const int SRC_IN_NV = 0x928A; - public const int SRC_NV = 0x9286; - public const int SRC_OUT_NV = 0x928C; - public const int SRC_OVER_NV = 0x9288; - public const int SRG8_EXT = 0x8FBE; - public const int SRGB = 0x8C40; - public const int SRGB8 = 0x8C41; - public const int SRGB8_ALPHA8 = 0x8C43; - public const int SRGB8_ALPHA8_EXT = 0x8C43; - public const int SRGB8_EXT = 0x8C41; - public const int SRGB_ALPHA = 0x8C42; - public const int SRGB_ALPHA_EXT = 0x8C42; - public const int SRGB_DECODE_ARB = 0x8299; - public const int SRGB_EXT = 0x8C40; - public const int SRGB_READ = 0x8297; - public const int SRGB_WRITE = 0x8298; - public const int STACK_OVERFLOW = 0x0503; - public const int STACK_UNDERFLOW = 0x0504; - public const int STANDARD_FONT_FORMAT_NV = 0x936C; - public const int STANDARD_FONT_NAME_NV = 0x9072; - public const int STATIC_ATI = 0x8760; - public const int STATIC_COPY = 0x88E6; - public const int STATIC_COPY_ARB = 0x88E6; - public const int STATIC_DRAW = 0x88E4; - public const int STATIC_DRAW_ARB = 0x88E4; - public const int STATIC_READ = 0x88E5; - public const int STATIC_READ_ARB = 0x88E5; - public const int STATIC_VERTEX_ARRAY_IBM = 103061; - public const int STENCIL = 0x1802; - public const int STENCIL_ATTACHMENT = 0x8D20; - public const int STENCIL_ATTACHMENT_EXT = 0x8D20; - public const int STENCIL_BACK_FAIL = 0x8801; - public const int STENCIL_BACK_FAIL_ATI = 0x8801; - public const int STENCIL_BACK_FUNC = 0x8800; - public const int STENCIL_BACK_FUNC_ATI = 0x8800; - public const int STENCIL_BACK_OP_VALUE_AMD = 0x874D; - public const int STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; - public const int STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802; - public const int STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; - public const int STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803; - public const int STENCIL_BACK_REF = 0x8CA3; - public const int STENCIL_BACK_VALUE_MASK = 0x8CA4; - public const int STENCIL_BACK_WRITEMASK = 0x8CA5; - public const int STENCIL_BUFFER_BIT = 0x00000400; - public const int STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3; - public const int STENCIL_CLEAR_VALUE = 0x0B91; - public const int STENCIL_COMPONENTS = 0x8285; - public const int STENCIL_FAIL = 0x0B94; - public const int STENCIL_FUNC = 0x0B92; - public const int STENCIL_INDEX = 0x1901; - public const int STENCIL_INDEX1 = 0x8D46; - public const int STENCIL_INDEX16 = 0x8D49; - public const int STENCIL_INDEX16_EXT = 0x8D49; - public const int STENCIL_INDEX1_EXT = 0x8D46; - public const int STENCIL_INDEX4 = 0x8D47; - public const int STENCIL_INDEX4_EXT = 0x8D47; - public const int STENCIL_INDEX8 = 0x8D48; - public const int STENCIL_INDEX8_EXT = 0x8D48; - public const int STENCIL_OP_VALUE_AMD = 0x874C; - public const int STENCIL_PASS_DEPTH_FAIL = 0x0B95; - public const int STENCIL_PASS_DEPTH_PASS = 0x0B96; - public const int STENCIL_REF = 0x0B97; - public const int STENCIL_REF_COMMAND_NV = 0x000C; - public const int STENCIL_RENDERABLE = 0x8288; - public const int STENCIL_SAMPLES_NV = 0x932E; - public const int STENCIL_TAG_BITS_EXT = 0x88F2; - public const int STENCIL_TEST = 0x0B90; - public const int STENCIL_TEST_TWO_SIDE_EXT = 0x8910; - public const int STENCIL_VALUE_MASK = 0x0B93; - public const int STENCIL_WRITEMASK = 0x0B98; - public const int STEREO = 0x0C33; - public const int STORAGE_CACHED_APPLE = 0x85BE; - public const int STORAGE_CLIENT_APPLE = 0x85B4; - public const int STORAGE_PRIVATE_APPLE = 0x85BD; - public const int STORAGE_SHARED_APPLE = 0x85BF; - public const int STREAM_COPY = 0x88E2; - public const int STREAM_COPY_ARB = 0x88E2; - public const int STREAM_DRAW = 0x88E0; - public const int STREAM_DRAW_ARB = 0x88E0; - public const int STREAM_RASTERIZATION_AMD = 0x91A0; - public const int STREAM_READ = 0x88E1; - public const int STREAM_READ_ARB = 0x88E1; - public const int STRICT_DEPTHFUNC_HINT_PGI = 0x1A216; - public const int STRICT_LIGHTING_HINT_PGI = 0x1A217; - public const int STRICT_SCISSOR_HINT_PGI = 0x1A218; - public const int SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004; - public const int SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008; - public const int SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001; - public const int SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040; - public const int SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100; - public const int SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080; - public const int SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010; - public const int SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020; - public const int SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002; - public const int SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535; - public const int SUBGROUP_SIZE_KHR = 0x9532; - public const int SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534; - public const int SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533; - public const int SUBPIXEL_BITS = 0x0D50; - public const int SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347; - public const int SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348; - public const int SUBSAMPLE_DISTANCE_AMD = 0x883F; - public const int SUBTRACT_ARB = 0x84E7; - public const int SUB_ATI = 0x8965; - public const int SUCCESS_NV = 0x902F; - public const int SUPERSAMPLE_SCALE_X_NV = 0x9372; - public const int SUPERSAMPLE_SCALE_Y_NV = 0x9373; - public const int SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7; - public const int SURFACE_MAPPED_NV = 0x8700; - public const int SURFACE_REGISTERED_NV = 0x86FD; - public const int SURFACE_STATE_NV = 0x86EB; - public const int SWIZZLE_STQ_ATI = 0x8977; - public const int SWIZZLE_STQ_DQ_ATI = 0x8979; - public const int SWIZZLE_STRQ_ATI = 0x897A; - public const int SWIZZLE_STRQ_DQ_ATI = 0x897B; - public const int SWIZZLE_STR_ATI = 0x8976; - public const int SWIZZLE_STR_DR_ATI = 0x8978; - public const int SYNC_CL_EVENT_ARB = 0x8240; - public const int SYNC_CL_EVENT_COMPLETE_ARB = 0x8241; - public const int SYNC_CONDITION = 0x9113; - public const int SYNC_FENCE = 0x9116; - public const int SYNC_FLAGS = 0x9115; - public const int SYNC_FLUSH_COMMANDS_BIT = 0x00000001; - public const int SYNC_GPU_COMMANDS_COMPLETE = 0x9117; - public const int SYNC_STATUS = 0x9114; - public const int SYNC_X11_FENCE_EXT = 0x90E1; - public const int SYSTEM_FONT_NAME_NV = 0x9073; - public const int T2F_IUI_N3F_V2F_EXT = 0x81B3; - public const int T2F_IUI_N3F_V3F_EXT = 0x81B4; - public const int T2F_IUI_V2F_EXT = 0x81B1; - public const int T2F_IUI_V3F_EXT = 0x81B2; - public const int TABLE_TOO_LARGE_EXT = 0x8031; - public const int TANGENT_ARRAY_EXT = 0x8439; - public const int TANGENT_ARRAY_POINTER_EXT = 0x8442; - public const int TANGENT_ARRAY_STRIDE_EXT = 0x843F; - public const int TANGENT_ARRAY_TYPE_EXT = 0x843E; - public const int TASK_SHADER_BIT_NV = 0x00000080; - public const int TASK_SHADER_NV = 0x955A; - public const int TASK_SUBROUTINE_NV = 0x957D; - public const int TASK_SUBROUTINE_UNIFORM_NV = 0x957F; - public const int TASK_WORK_GROUP_SIZE_NV = 0x953F; - public const int TERMINATE_SEQUENCE_COMMAND_NV = 0x0000; - public const int TESSELLATION_FACTOR_AMD = 0x9005; - public const int TESSELLATION_MODE_AMD = 0x9004; - public const int TESS_CONTROL_OUTPUT_VERTICES = 0x8E75; - public const int TESS_CONTROL_PROGRAM_NV = 0x891E; - public const int TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74; - public const int TESS_CONTROL_SHADER = 0x8E88; - public const int TESS_CONTROL_SHADER_BIT = 0x00000008; - public const int TESS_CONTROL_SHADER_PATCHES = 0x82F1; - public const int TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1; - public const int TESS_CONTROL_SUBROUTINE = 0x92E9; - public const int TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF; - public const int TESS_CONTROL_TEXTURE = 0x829C; - public const int TESS_EVALUATION_PROGRAM_NV = 0x891F; - public const int TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75; - public const int TESS_EVALUATION_SHADER = 0x8E87; - public const int TESS_EVALUATION_SHADER_BIT = 0x00000010; - public const int TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2; - public const int TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2; - public const int TESS_EVALUATION_SUBROUTINE = 0x92EA; - public const int TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0; - public const int TESS_EVALUATION_TEXTURE = 0x829D; - public const int TESS_GEN_MODE = 0x8E76; - public const int TESS_GEN_POINT_MODE = 0x8E79; - public const int TESS_GEN_SPACING = 0x8E77; - public const int TESS_GEN_VERTEX_ORDER = 0x8E78; - public const int TEXCOORD1_BIT_PGI = 0x10000000; - public const int TEXCOORD2_BIT_PGI = 0x20000000; - public const int TEXCOORD3_BIT_PGI = 0x40000000; - public const uint TEXCOORD4_BIT_PGI = 0x80000000; - public const int TEXTURE = 0x1702; - public const int TEXTURE0 = 0x84C0; - public const int TEXTURE0_ARB = 0x84C0; - public const int TEXTURE1 = 0x84C1; - public const int TEXTURE10 = 0x84CA; - public const int TEXTURE10_ARB = 0x84CA; - public const int TEXTURE11 = 0x84CB; - public const int TEXTURE11_ARB = 0x84CB; - public const int TEXTURE12 = 0x84CC; - public const int TEXTURE12_ARB = 0x84CC; - public const int TEXTURE13 = 0x84CD; - public const int TEXTURE13_ARB = 0x84CD; - public const int TEXTURE14 = 0x84CE; - public const int TEXTURE14_ARB = 0x84CE; - public const int TEXTURE15 = 0x84CF; - public const int TEXTURE15_ARB = 0x84CF; - public const int TEXTURE16 = 0x84D0; - public const int TEXTURE16_ARB = 0x84D0; - public const int TEXTURE17 = 0x84D1; - public const int TEXTURE17_ARB = 0x84D1; - public const int TEXTURE18 = 0x84D2; - public const int TEXTURE18_ARB = 0x84D2; - public const int TEXTURE19 = 0x84D3; - public const int TEXTURE19_ARB = 0x84D3; - public const int TEXTURE1_ARB = 0x84C1; - public const int TEXTURE2 = 0x84C2; - public const int TEXTURE20 = 0x84D4; - public const int TEXTURE20_ARB = 0x84D4; - public const int TEXTURE21 = 0x84D5; - public const int TEXTURE21_ARB = 0x84D5; - public const int TEXTURE22 = 0x84D6; - public const int TEXTURE22_ARB = 0x84D6; - public const int TEXTURE23 = 0x84D7; - public const int TEXTURE23_ARB = 0x84D7; - public const int TEXTURE24 = 0x84D8; - public const int TEXTURE24_ARB = 0x84D8; - public const int TEXTURE25 = 0x84D9; - public const int TEXTURE25_ARB = 0x84D9; - public const int TEXTURE26 = 0x84DA; - public const int TEXTURE26_ARB = 0x84DA; - public const int TEXTURE27 = 0x84DB; - public const int TEXTURE27_ARB = 0x84DB; - public const int TEXTURE28 = 0x84DC; - public const int TEXTURE28_ARB = 0x84DC; - public const int TEXTURE29 = 0x84DD; - public const int TEXTURE29_ARB = 0x84DD; - public const int TEXTURE2_ARB = 0x84C2; - public const int TEXTURE3 = 0x84C3; - public const int TEXTURE30 = 0x84DE; - public const int TEXTURE30_ARB = 0x84DE; - public const int TEXTURE31 = 0x84DF; - public const int TEXTURE31_ARB = 0x84DF; - public const int TEXTURE3_ARB = 0x84C3; - public const int TEXTURE4 = 0x84C4; - public const int TEXTURE4_ARB = 0x84C4; - public const int TEXTURE5 = 0x84C5; - public const int TEXTURE5_ARB = 0x84C5; - public const int TEXTURE6 = 0x84C6; - public const int TEXTURE6_ARB = 0x84C6; - public const int TEXTURE7 = 0x84C7; - public const int TEXTURE7_ARB = 0x84C7; - public const int TEXTURE8 = 0x84C8; - public const int TEXTURE8_ARB = 0x84C8; - public const int TEXTURE9 = 0x84C9; - public const int TEXTURE9_ARB = 0x84C9; - public const int TEXTURE_1D = 0x0DE0; - public const int TEXTURE_1D_ARRAY = 0x8C18; - public const int TEXTURE_1D_ARRAY_EXT = 0x8C18; - public const int TEXTURE_1D_BINDING_EXT = 0x8068; - public const int TEXTURE_1D_STACK_BINDING_MESAX = 0x875D; - public const int TEXTURE_1D_STACK_MESAX = 0x8759; - public const int TEXTURE_2D = 0x0DE1; - public const int TEXTURE_2D_ARRAY = 0x8C1A; - public const int TEXTURE_2D_ARRAY_EXT = 0x8C1A; - public const int TEXTURE_2D_BINDING_EXT = 0x8069; - public const int TEXTURE_2D_MULTISAMPLE = 0x9100; - public const int TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102; - public const int TEXTURE_2D_STACK_BINDING_MESAX = 0x875E; - public const int TEXTURE_2D_STACK_MESAX = 0x875A; - public const int TEXTURE_3D = 0x806F; - public const int TEXTURE_3D_BINDING_EXT = 0x806A; - public const int TEXTURE_3D_EXT = 0x806F; - public const int TEXTURE_4DSIZE_SGIS = 0x8136; - public const int TEXTURE_4D_BINDING_SGIS = 0x814F; - public const int TEXTURE_4D_SGIS = 0x8134; - public const int TEXTURE_ALPHA_SIZE = 0x805F; - public const int TEXTURE_ALPHA_SIZE_EXT = 0x805F; - public const int TEXTURE_ALPHA_TYPE = 0x8C13; - public const int TEXTURE_ALPHA_TYPE_ARB = 0x8C13; - public const int TEXTURE_APPLICATION_MODE_EXT = 0x834F; - public const int TEXTURE_BASE_LEVEL = 0x813C; - public const int TEXTURE_BASE_LEVEL_SGIS = 0x813C; - public const int TEXTURE_BINDING_1D = 0x8068; - public const int TEXTURE_BINDING_1D_ARRAY = 0x8C1C; - public const int TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C; - public const int TEXTURE_BINDING_2D = 0x8069; - public const int TEXTURE_BINDING_2D_ARRAY = 0x8C1D; - public const int TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D; - public const int TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104; - public const int TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105; - public const int TEXTURE_BINDING_3D = 0x806A; - public const int TEXTURE_BINDING_BUFFER = 0x8C2C; - public const int TEXTURE_BINDING_BUFFER_ARB = 0x8C2C; - public const int TEXTURE_BINDING_BUFFER_EXT = 0x8C2C; - public const int TEXTURE_BINDING_CUBE_MAP = 0x8514; - public const int TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514; - public const int TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A; - public const int TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A; - public const int TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514; - public const int TEXTURE_BINDING_RECTANGLE = 0x84F6; - public const int TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6; - public const int TEXTURE_BINDING_RECTANGLE_NV = 0x84F6; - public const int TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53; - public const int TEXTURE_BLUE_SIZE = 0x805E; - public const int TEXTURE_BLUE_SIZE_EXT = 0x805E; - public const int TEXTURE_BLUE_TYPE = 0x8C12; - public const int TEXTURE_BLUE_TYPE_ARB = 0x8C12; - public const int TEXTURE_BORDER_COLOR = 0x1004; - public const int TEXTURE_BORDER_VALUES_NV = 0x871A; - public const int TEXTURE_BUFFER = 0x8C2A; - public const int TEXTURE_BUFFER_ARB = 0x8C2A; - public const int TEXTURE_BUFFER_BINDING = 0x8C2A; - public const int TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D; - public const int TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D; - public const int TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D; - public const int TEXTURE_BUFFER_EXT = 0x8C2A; - public const int TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E; - public const int TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E; - public const int TEXTURE_BUFFER_OFFSET = 0x919D; - public const int TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F; - public const int TEXTURE_BUFFER_SIZE = 0x919E; - public const int TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171; - public const int TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176; - public const int TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172; - public const int TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175; - public const int TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173; - public const int TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174; - public const int TEXTURE_COLOR_SAMPLES_NV = 0x9046; - public const int TEXTURE_COLOR_TABLE_SGI = 0x80BC; - public const int TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF; - public const int TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF; - public const int TEXTURE_COMPARE_FUNC = 0x884D; - public const int TEXTURE_COMPARE_FUNC_ARB = 0x884D; - public const int TEXTURE_COMPARE_MODE = 0x884C; - public const int TEXTURE_COMPARE_MODE_ARB = 0x884C; - public const int TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B; - public const int TEXTURE_COMPARE_SGIX = 0x819A; - public const int TEXTURE_COMPRESSED = 0x86A1; - public const int TEXTURE_COMPRESSED_ARB = 0x86A1; - public const int TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2; - public const int TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3; - public const int TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1; - public const int TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0; - public const int TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0; - public const int TEXTURE_COMPRESSION_HINT = 0x84EF; - public const int TEXTURE_COMPRESSION_HINT_ARB = 0x84EF; - public const int TEXTURE_CONSTANT_DATA_SUNX = 0x81D6; - public const int TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25; - public const int TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A; - public const int TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B; - public const int TEXTURE_COORD_ARRAY_EXT = 0x8078; - public const int TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F; - public const int TEXTURE_COORD_ARRAY_LIST_IBM = 103074; - public const int TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084; - public const int TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8; - public const int TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092; - public const int TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088; - public const int TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A; - public const int TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089; - public const int TEXTURE_COORD_NV = 0x8C79; - public const int TEXTURE_COVERAGE_SAMPLES_NV = 0x9045; - public const int TEXTURE_CUBE_MAP = 0x8513; - public const int TEXTURE_CUBE_MAP_ARB = 0x8513; - public const int TEXTURE_CUBE_MAP_ARRAY = 0x9009; - public const int TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009; - public const int TEXTURE_CUBE_MAP_EXT = 0x8513; - public const int TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; - public const int TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516; - public const int TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516; - public const int TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; - public const int TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518; - public const int TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518; - public const int TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; - public const int TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A; - public const int TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A; - public const int TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; - public const int TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515; - public const int TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515; - public const int TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; - public const int TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517; - public const int TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517; - public const int TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; - public const int TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519; - public const int TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519; - public const int TEXTURE_CUBE_MAP_SEAMLESS = 0x884F; - public const int TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001; - public const int TEXTURE_DEFORMATION_SGIX = 0x8195; - public const int TEXTURE_DEPTH = 0x8071; - public const int TEXTURE_DEPTH_EXT = 0x8071; - public const int TEXTURE_DEPTH_SIZE = 0x884A; - public const int TEXTURE_DEPTH_SIZE_ARB = 0x884A; - public const int TEXTURE_DEPTH_TYPE = 0x8C16; - public const int TEXTURE_DEPTH_TYPE_ARB = 0x8C16; - public const int TEXTURE_DS_SIZE_NV = 0x871D; - public const int TEXTURE_DT_SIZE_NV = 0x871E; - public const int TEXTURE_ENV_BIAS_SGIX = 0x80BE; - public const int TEXTURE_FETCH_BARRIER_BIT = 0x00000008; - public const int TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008; - public const int TEXTURE_FILTER4_SIZE_SGIS = 0x8147; - public const int TEXTURE_FILTER_CONTROL_EXT = 0x8500; - public const int TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107; - public const int TEXTURE_FLOAT_COMPONENTS_NV = 0x888C; - public const int TEXTURE_FREE_MEMORY_ATI = 0x87FC; - public const int TEXTURE_GATHER = 0x82A2; - public const int TEXTURE_GATHER_SHADOW = 0x82A3; - public const int TEXTURE_GEQUAL_R_SGIX = 0x819D; - public const int TEXTURE_GREEN_SIZE = 0x805D; - public const int TEXTURE_GREEN_SIZE_EXT = 0x805D; - public const int TEXTURE_GREEN_TYPE = 0x8C11; - public const int TEXTURE_GREEN_TYPE_ARB = 0x8C11; - public const int TEXTURE_HEIGHT = 0x1001; - public const int TEXTURE_HI_SIZE_NV = 0x871B; - public const int TEXTURE_IMAGE_FORMAT = 0x828F; - public const int TEXTURE_IMAGE_TYPE = 0x8290; - public const int TEXTURE_IMMUTABLE_FORMAT = 0x912F; - public const int TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F; - public const int TEXTURE_IMMUTABLE_LEVELS = 0x82DF; - public const int TEXTURE_INDEX_SIZE_EXT = 0x80ED; - public const int TEXTURE_INTENSITY_SIZE_EXT = 0x8061; - public const int TEXTURE_INTENSITY_TYPE_ARB = 0x8C15; - public const int TEXTURE_INTERNAL_FORMAT = 0x1003; - public const int TEXTURE_LEQUAL_R_SGIX = 0x819C; - public const int TEXTURE_LIGHTING_MODE_HP = 0x8167; - public const int TEXTURE_LIGHT_EXT = 0x8350; - public const int TEXTURE_LOD_BIAS = 0x8501; - public const int TEXTURE_LOD_BIAS_EXT = 0x8501; - public const int TEXTURE_LOD_BIAS_R_SGIX = 0x8190; - public const int TEXTURE_LOD_BIAS_S_SGIX = 0x818E; - public const int TEXTURE_LOD_BIAS_T_SGIX = 0x818F; - public const int TEXTURE_LO_SIZE_NV = 0x871C; - public const int TEXTURE_LUMINANCE_SIZE_EXT = 0x8060; - public const int TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14; - public const int TEXTURE_MAG_FILTER = 0x2800; - public const int TEXTURE_MAG_SIZE_NV = 0x871F; - public const int TEXTURE_MATERIAL_FACE_EXT = 0x8351; - public const int TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352; - public const int TEXTURE_MAX_ANISOTROPY = 0x84FE; - public const int TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; - public const int TEXTURE_MAX_CLAMP_R_SGIX = 0x836B; - public const int TEXTURE_MAX_CLAMP_S_SGIX = 0x8369; - public const int TEXTURE_MAX_CLAMP_T_SGIX = 0x836A; - public const int TEXTURE_MAX_LEVEL = 0x813D; - public const int TEXTURE_MAX_LEVEL_SGIS = 0x813D; - public const int TEXTURE_MAX_LOD = 0x813B; - public const int TEXTURE_MAX_LOD_SGIS = 0x813B; - public const int TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF; - public const int TEXTURE_MIN_FILTER = 0x2801; - public const int TEXTURE_MIN_LOD = 0x813A; - public const int TEXTURE_MIN_LOD_SGIS = 0x813A; - public const int TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E; - public const int TEXTURE_NORMAL_EXT = 0x85AF; - public const int TEXTURE_POST_SPECULAR_HP = 0x8168; - public const int TEXTURE_PRE_SPECULAR_HP = 0x8169; - public const int TEXTURE_PRIORITY_EXT = 0x8066; - public const int TEXTURE_RANGE_LENGTH_APPLE = 0x85B7; - public const int TEXTURE_RANGE_POINTER_APPLE = 0x85B8; - public const int TEXTURE_RECTANGLE = 0x84F5; - public const int TEXTURE_RECTANGLE_ARB = 0x84F5; - public const int TEXTURE_RECTANGLE_NV = 0x84F5; - public const int TEXTURE_REDUCTION_MODE_ARB = 0x9366; - public const int TEXTURE_REDUCTION_MODE_EXT = 0x9366; - public const int TEXTURE_RED_SIZE = 0x805C; - public const int TEXTURE_RED_SIZE_EXT = 0x805C; - public const int TEXTURE_RED_TYPE = 0x8C10; - public const int TEXTURE_RED_TYPE_ARB = 0x8C10; - public const int TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54; - public const int TEXTURE_RENDERBUFFER_NV = 0x8E55; - public const int TEXTURE_RESIDENT_EXT = 0x8067; - public const int TEXTURE_SAMPLES = 0x9106; - public const int TEXTURE_SHADER_NV = 0x86DE; - public const int TEXTURE_SHADOW = 0x82A1; - public const int TEXTURE_SHARED_SIZE = 0x8C3F; - public const int TEXTURE_SHARED_SIZE_EXT = 0x8C3F; - public const int TEXTURE_SPARSE_ARB = 0x91A6; - public const int TEXTURE_SRGB_DECODE_EXT = 0x8A48; - public const int TEXTURE_STENCIL_SIZE = 0x88F1; - public const int TEXTURE_STENCIL_SIZE_EXT = 0x88F1; - public const int TEXTURE_STORAGE_HINT_APPLE = 0x85BC; - public const int TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001; - public const int TEXTURE_SWIZZLE_A = 0x8E45; - public const int TEXTURE_SWIZZLE_A_EXT = 0x8E45; - public const int TEXTURE_SWIZZLE_B = 0x8E44; - public const int TEXTURE_SWIZZLE_B_EXT = 0x8E44; - public const int TEXTURE_SWIZZLE_G = 0x8E43; - public const int TEXTURE_SWIZZLE_G_EXT = 0x8E43; - public const int TEXTURE_SWIZZLE_R = 0x8E42; - public const int TEXTURE_SWIZZLE_RGBA = 0x8E46; - public const int TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46; - public const int TEXTURE_SWIZZLE_R_EXT = 0x8E42; - public const int TEXTURE_TARGET = 0x1006; - public const int TEXTURE_TILING_EXT = 0x9580; - public const int TEXTURE_TOO_LARGE_EXT = 0x8065; - public const int TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F; - public const int TEXTURE_UPDATE_BARRIER_BIT = 0x00000100; - public const int TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100; - public const int TEXTURE_VIEW = 0x82B5; - public const int TEXTURE_VIEW_MIN_LAYER = 0x82DD; - public const int TEXTURE_VIEW_MIN_LEVEL = 0x82DB; - public const int TEXTURE_VIEW_NUM_LAYERS = 0x82DE; - public const int TEXTURE_VIEW_NUM_LEVELS = 0x82DC; - public const int TEXTURE_WIDTH = 0x1000; - public const int TEXTURE_WRAP_Q_SGIS = 0x8137; - public const int TEXTURE_WRAP_R = 0x8072; - public const int TEXTURE_WRAP_R_EXT = 0x8072; - public const int TEXTURE_WRAP_S = 0x2802; - public const int TEXTURE_WRAP_T = 0x2803; - public const int TEXT_FRAGMENT_SHADER_ATI = 0x8200; - public const int TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8; - public const int TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9; - public const int TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA; - public const int TILING_TYPES_EXT = 0x9583; - public const int TIMELINE_SEMAPHORE_VALUE_NV = 0x9595; - public const int TIMEOUT_EXPIRED = 0x911B; - public const ulong TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF; - public const int TIMESTAMP = 0x8E28; - public const int TIME_ELAPSED = 0x88BF; - public const int TIME_ELAPSED_EXT = 0x88BF; - public const int TOP_LEVEL_ARRAY_SIZE = 0x930C; - public const int TOP_LEVEL_ARRAY_STRIDE = 0x930D; - public const int TRACK_MATRIX_NV = 0x8648; - public const int TRACK_MATRIX_TRANSFORM_NV = 0x8649; - public const int TRANSFORM_FEEDBACK = 0x8E22; - public const int TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; - public const int TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E; - public const int TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800; - public const int TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800; - public const int TRANSFORM_FEEDBACK_BINDING = 0x8E25; - public const int TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25; - public const int TRANSFORM_FEEDBACK_BUFFER = 0x8C8E; - public const int TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24; - public const int TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24; - public const int TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F; - public const int TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F; - public const int TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F; - public const int TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E; - public const int TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B; - public const int TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F; - public const int TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F; - public const int TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F; - public const int TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E; - public const int TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23; - public const int TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23; - public const int TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85; - public const int TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85; - public const int TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85; - public const int TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84; - public const int TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84; - public const int TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84; - public const int TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C; - public const int TRANSFORM_FEEDBACK_NV = 0x8E22; - public const int TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC; - public const int TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC; - public const int TRANSFORM_FEEDBACK_PAUSED = 0x8E23; - public const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88; - public const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88; - public const int TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88; - public const int TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86; - public const int TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED; - public const int TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED; - public const int TRANSFORM_FEEDBACK_VARYING = 0x92F4; - public const int TRANSFORM_FEEDBACK_VARYINGS = 0x8C83; - public const int TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83; - public const int TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83; - public const int TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76; - public const int TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76; - public const int TRANSFORM_HINT_APPLE = 0x85B1; - public const int TRANSLATE_2D_NV = 0x9090; - public const int TRANSLATE_3D_NV = 0x9091; - public const int TRANSLATE_X_NV = 0x908E; - public const int TRANSLATE_Y_NV = 0x908F; - public const int TRANSPOSE_AFFINE_2D_NV = 0x9096; - public const int TRANSPOSE_AFFINE_3D_NV = 0x9098; - public const int TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6; - public const int TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7; - public const int TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3; - public const int TRANSPOSE_NV = 0x862C; - public const int TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E; - public const int TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4; - public const int TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5; - public const int TRIANGLES = 0x0004; - public const int TRIANGLES_ADJACENCY = 0x000C; - public const int TRIANGLES_ADJACENCY_ARB = 0x000C; - public const int TRIANGLES_ADJACENCY_EXT = 0x000C; - public const int TRIANGLE_FAN = 0x0006; - public const int TRIANGLE_LIST_SUN = 0x81D7; - public const int TRIANGLE_MESH_SUN = 0x8615; - public const int TRIANGLE_STRIP = 0x0005; - public const int TRIANGLE_STRIP_ADJACENCY = 0x000D; - public const int TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D; - public const int TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D; - public const int TRIANGULAR_NV = 0x90A5; - public const int TRUE = 1; - public const int TYPE = 0x92FA; - public const int UNCORRELATED_NV = 0x9282; - public const int UNDEFINED_APPLE = 0x8A1C; - public const int UNDEFINED_VERTEX = 0x8260; - public const int UNIFORM = 0x92E1; - public const int UNIFORM_ADDRESS_COMMAND_NV = 0x000A; - public const int UNIFORM_ARRAY_STRIDE = 0x8A3C; - public const int UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA; - public const int UNIFORM_BARRIER_BIT = 0x00000004; - public const int UNIFORM_BARRIER_BIT_EXT = 0x00000004; - public const int UNIFORM_BLOCK = 0x92E2; - public const int UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42; - public const int UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43; - public const int UNIFORM_BLOCK_BINDING = 0x8A3F; - public const int UNIFORM_BLOCK_DATA_SIZE = 0x8A40; - public const int UNIFORM_BLOCK_INDEX = 0x8A3A; - public const int UNIFORM_BLOCK_NAME_LENGTH = 0x8A41; - public const int UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC; - public const int UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46; - public const int UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45; - public const int UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C; - public const int UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D; - public const int UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0; - public const int UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1; - public const int UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44; - public const int UNIFORM_BUFFER = 0x8A11; - public const int UNIFORM_BUFFER_ADDRESS_NV = 0x936F; - public const int UNIFORM_BUFFER_BINDING = 0x8A28; - public const int UNIFORM_BUFFER_BINDING_EXT = 0x8DEF; - public const int UNIFORM_BUFFER_EXT = 0x8DEE; - public const int UNIFORM_BUFFER_LENGTH_NV = 0x9370; - public const int UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34; - public const int UNIFORM_BUFFER_SIZE = 0x8A2A; - public const int UNIFORM_BUFFER_START = 0x8A29; - public const int UNIFORM_BUFFER_UNIFIED_NV = 0x936E; - public const int UNIFORM_IS_ROW_MAJOR = 0x8A3E; - public const int UNIFORM_MATRIX_STRIDE = 0x8A3D; - public const int UNIFORM_NAME_LENGTH = 0x8A39; - public const int UNIFORM_OFFSET = 0x8A3B; - public const int UNIFORM_SIZE = 0x8A38; - public const int UNIFORM_TYPE = 0x8A37; - public const int UNKNOWN_CONTEXT_RESET = 0x8255; - public const int UNKNOWN_CONTEXT_RESET_ARB = 0x8255; - public const int UNPACK_ALIGNMENT = 0x0CF5; - public const int UNPACK_CLIENT_STORAGE_APPLE = 0x85B2; - public const int UNPACK_CMYK_HINT_EXT = 0x800F; - public const int UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129; - public const int UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128; - public const int UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A; - public const int UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127; - public const int UNPACK_CONSTANT_DATA_SUNX = 0x81D5; - public const int UNPACK_IMAGE_DEPTH_SGIS = 0x8133; - public const int UNPACK_IMAGE_HEIGHT = 0x806E; - public const int UNPACK_IMAGE_HEIGHT_EXT = 0x806E; - public const int UNPACK_LSB_FIRST = 0x0CF1; - public const int UNPACK_RESAMPLE_OML = 0x8985; - public const int UNPACK_RESAMPLE_SGIX = 0x842F; - public const int UNPACK_ROW_BYTES_APPLE = 0x8A16; - public const int UNPACK_ROW_LENGTH = 0x0CF2; - public const int UNPACK_SKIP_IMAGES = 0x806D; - public const int UNPACK_SKIP_IMAGES_EXT = 0x806D; - public const int UNPACK_SKIP_PIXELS = 0x0CF4; - public const int UNPACK_SKIP_ROWS = 0x0CF3; - public const int UNPACK_SKIP_VOLUMES_SGIS = 0x8132; - public const int UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1; - public const int UNPACK_SWAP_BYTES = 0x0CF0; - public const int UNSIGNALED = 0x9118; - public const int UNSIGNED_BYTE = 0x1401; - public const int UNSIGNED_BYTE_2_3_3_REV = 0x8362; - public const int UNSIGNED_BYTE_3_3_2 = 0x8032; - public const int UNSIGNED_BYTE_3_3_2_EXT = 0x8032; - public const int UNSIGNED_IDENTITY_NV = 0x8536; - public const int UNSIGNED_INT = 0x1405; - public const int UNSIGNED_INT16_NV = 0x8FF0; - public const int UNSIGNED_INT16_VEC2_NV = 0x8FF1; - public const int UNSIGNED_INT16_VEC3_NV = 0x8FF2; - public const int UNSIGNED_INT16_VEC4_NV = 0x8FF3; - public const int UNSIGNED_INT64_AMD = 0x8BC2; - public const int UNSIGNED_INT64_ARB = 0x140F; - public const int UNSIGNED_INT64_NV = 0x140F; - public const int UNSIGNED_INT64_VEC2_ARB = 0x8FF5; - public const int UNSIGNED_INT64_VEC2_NV = 0x8FF5; - public const int UNSIGNED_INT64_VEC3_ARB = 0x8FF6; - public const int UNSIGNED_INT64_VEC3_NV = 0x8FF6; - public const int UNSIGNED_INT64_VEC4_ARB = 0x8FF7; - public const int UNSIGNED_INT64_VEC4_NV = 0x8FF7; - public const int UNSIGNED_INT8_NV = 0x8FEC; - public const int UNSIGNED_INT8_VEC2_NV = 0x8FED; - public const int UNSIGNED_INT8_VEC3_NV = 0x8FEE; - public const int UNSIGNED_INT8_VEC4_NV = 0x8FEF; - public const int UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B; - public const int UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B; - public const int UNSIGNED_INT_10_10_10_2 = 0x8036; - public const int UNSIGNED_INT_10_10_10_2_EXT = 0x8036; - public const int UNSIGNED_INT_24_8 = 0x84FA; - public const int UNSIGNED_INT_24_8_EXT = 0x84FA; - public const int UNSIGNED_INT_24_8_NV = 0x84FA; - public const int UNSIGNED_INT_2_10_10_10_REV = 0x8368; - public const int UNSIGNED_INT_5_9_9_9_REV = 0x8C3E; - public const int UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E; - public const int UNSIGNED_INT_8_8_8_8 = 0x8035; - public const int UNSIGNED_INT_8_8_8_8_EXT = 0x8035; - public const int UNSIGNED_INT_8_8_8_8_REV = 0x8367; - public const int UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB; - public const int UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB; - public const int UNSIGNED_INT_IMAGE_1D = 0x9062; - public const int UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068; - public const int UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068; - public const int UNSIGNED_INT_IMAGE_1D_EXT = 0x9062; - public const int UNSIGNED_INT_IMAGE_2D = 0x9063; - public const int UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069; - public const int UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069; - public const int UNSIGNED_INT_IMAGE_2D_EXT = 0x9063; - public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B; - public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C; - public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C; - public const int UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B; - public const int UNSIGNED_INT_IMAGE_2D_RECT = 0x9065; - public const int UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065; - public const int UNSIGNED_INT_IMAGE_3D = 0x9064; - public const int UNSIGNED_INT_IMAGE_3D_EXT = 0x9064; - public const int UNSIGNED_INT_IMAGE_BUFFER = 0x9067; - public const int UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067; - public const int UNSIGNED_INT_IMAGE_CUBE = 0x9066; - public const int UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066; - public const int UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A; - public const int UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A; - public const int UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA; - public const int UNSIGNED_INT_SAMPLER_1D = 0x8DD1; - public const int UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6; - public const int UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6; - public const int UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1; - public const int UNSIGNED_INT_SAMPLER_2D = 0x8DD2; - public const int UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7; - public const int UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7; - public const int UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2; - public const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A; - public const int UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D; - public const int UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5; - public const int UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5; - public const int UNSIGNED_INT_SAMPLER_3D = 0x8DD3; - public const int UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3; - public const int UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8; - public const int UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003; - public const int UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8; - public const int UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4; - public const int UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4; - public const int UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F; - public const int UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F; - public const int UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58; - public const int UNSIGNED_INT_VEC2 = 0x8DC6; - public const int UNSIGNED_INT_VEC2_EXT = 0x8DC6; - public const int UNSIGNED_INT_VEC3 = 0x8DC7; - public const int UNSIGNED_INT_VEC3_EXT = 0x8DC7; - public const int UNSIGNED_INT_VEC4 = 0x8DC8; - public const int UNSIGNED_INT_VEC4_EXT = 0x8DC8; - public const int UNSIGNED_INVERT_NV = 0x8537; - public const int UNSIGNED_NORMALIZED = 0x8C17; - public const int UNSIGNED_NORMALIZED_ARB = 0x8C17; - public const int UNSIGNED_SHORT = 0x1403; - public const int UNSIGNED_SHORT_1_5_5_5_REV = 0x8366; - public const int UNSIGNED_SHORT_4_4_4_4 = 0x8033; - public const int UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033; - public const int UNSIGNED_SHORT_4_4_4_4_REV = 0x8365; - public const int UNSIGNED_SHORT_5_5_5_1 = 0x8034; - public const int UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034; - public const int UNSIGNED_SHORT_5_6_5 = 0x8363; - public const int UNSIGNED_SHORT_5_6_5_REV = 0x8364; - public const int UNSIGNED_SHORT_8_8_APPLE = 0x85BA; - public const int UNSIGNED_SHORT_8_8_MESA = 0x85BA; - public const int UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB; - public const int UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB; - public const int UPLOAD_GPU_MASK_NVX = 0x954A; - public const int UPPER_LEFT = 0x8CA2; - public const int USE_MISSING_GLYPH_NV = 0x90AA; - public const int UTF16_NV = 0x909B; - public const int UTF8_NV = 0x909A; - public const int UUID_SIZE_EXT = 16; - public const int VALIDATE_STATUS = 0x8B83; - public const int VARIABLE_A_NV = 0x8523; - public const int VARIABLE_B_NV = 0x8524; - public const int VARIABLE_C_NV = 0x8525; - public const int VARIABLE_D_NV = 0x8526; - public const int VARIABLE_E_NV = 0x8527; - public const int VARIABLE_F_NV = 0x8528; - public const int VARIABLE_G_NV = 0x8529; - public const int VARIANT_ARRAY_EXT = 0x87E8; - public const int VARIANT_ARRAY_POINTER_EXT = 0x87E9; - public const int VARIANT_ARRAY_STRIDE_EXT = 0x87E6; - public const int VARIANT_ARRAY_TYPE_EXT = 0x87E7; - public const int VARIANT_DATATYPE_EXT = 0x87E5; - public const int VARIANT_EXT = 0x87C1; - public const int VARIANT_VALUE_EXT = 0x87E4; - public const int VBO_FREE_MEMORY_ATI = 0x87FB; - public const int VECTOR_EXT = 0x87BF; - public const int VENDOR = 0x1F00; - public const int VERSION = 0x1F02; - public const int VERTEX23_BIT_PGI = 0x00000004; - public const int VERTEX4_BIT_PGI = 0x00000008; - public const int VERTEX_ARRAY = 0x8074; - public const int VERTEX_ARRAY_ADDRESS_NV = 0x8F21; - public const int VERTEX_ARRAY_BINDING = 0x85B5; - public const int VERTEX_ARRAY_BINDING_APPLE = 0x85B5; - public const int VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896; - public const int VERTEX_ARRAY_COUNT_EXT = 0x807D; - public const int VERTEX_ARRAY_EXT = 0x8074; - public const int VERTEX_ARRAY_LENGTH_NV = 0x8F2B; - public const int VERTEX_ARRAY_LIST_IBM = 103070; - public const int VERTEX_ARRAY_LIST_STRIDE_IBM = 103080; - public const int VERTEX_ARRAY_OBJECT_AMD = 0x9154; - public const int VERTEX_ARRAY_OBJECT_EXT = 0x9154; - public const int VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5; - public const int VERTEX_ARRAY_POINTER_EXT = 0x808E; - public const int VERTEX_ARRAY_RANGE_APPLE = 0x851D; - public const int VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E; - public const int VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E; - public const int VERTEX_ARRAY_RANGE_NV = 0x851D; - public const int VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521; - public const int VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521; - public const int VERTEX_ARRAY_RANGE_VALID_NV = 0x851F; - public const int VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533; - public const int VERTEX_ARRAY_SIZE_EXT = 0x807A; - public const int VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F; - public const int VERTEX_ARRAY_STRIDE_EXT = 0x807C; - public const int VERTEX_ARRAY_TYPE_EXT = 0x807B; - public const int VERTEX_ATTRIB_ARRAY0_NV = 0x8650; - public const int VERTEX_ATTRIB_ARRAY10_NV = 0x865A; - public const int VERTEX_ATTRIB_ARRAY11_NV = 0x865B; - public const int VERTEX_ATTRIB_ARRAY12_NV = 0x865C; - public const int VERTEX_ATTRIB_ARRAY13_NV = 0x865D; - public const int VERTEX_ATTRIB_ARRAY14_NV = 0x865E; - public const int VERTEX_ATTRIB_ARRAY15_NV = 0x865F; - public const int VERTEX_ATTRIB_ARRAY1_NV = 0x8651; - public const int VERTEX_ATTRIB_ARRAY2_NV = 0x8652; - public const int VERTEX_ATTRIB_ARRAY3_NV = 0x8653; - public const int VERTEX_ATTRIB_ARRAY4_NV = 0x8654; - public const int VERTEX_ATTRIB_ARRAY5_NV = 0x8655; - public const int VERTEX_ATTRIB_ARRAY6_NV = 0x8656; - public const int VERTEX_ATTRIB_ARRAY7_NV = 0x8657; - public const int VERTEX_ATTRIB_ARRAY8_NV = 0x8658; - public const int VERTEX_ATTRIB_ARRAY9_NV = 0x8659; - public const int VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20; - public const int VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001; - public const int VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001; - public const int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; - public const int VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F; - public const int VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE; - public const int VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE; - public const int VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; - public const int VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622; - public const int VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD; - public const int VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD; - public const int VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD; - public const int VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A; - public const int VERTEX_ATTRIB_ARRAY_LONG = 0x874E; - public const int VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; - public const int VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A; - public const int VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; - public const int VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645; - public const int VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; - public const int VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623; - public const int VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; - public const int VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624; - public const int VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; - public const int VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625; - public const int VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E; - public const int VERTEX_ATTRIB_BINDING = 0x82D4; - public const int VERTEX_ATTRIB_MAP1_APPLE = 0x8A00; - public const int VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03; - public const int VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05; - public const int VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04; - public const int VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02; - public const int VERTEX_ATTRIB_MAP2_APPLE = 0x8A01; - public const int VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07; - public const int VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09; - public const int VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08; - public const int VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06; - public const int VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5; - public const int VERTEX_BINDING_BUFFER = 0x8F4F; - public const int VERTEX_BINDING_DIVISOR = 0x82D6; - public const int VERTEX_BINDING_OFFSET = 0x82D7; - public const int VERTEX_BINDING_STRIDE = 0x82D8; - public const int VERTEX_BLEND_ARB = 0x86A7; - public const int VERTEX_CONSISTENT_HINT_PGI = 0x1A22B; - public const int VERTEX_DATA_HINT_PGI = 0x1A22A; - public const int VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4; - public const int VERTEX_ID_NV = 0x8C7B; - public const int VERTEX_ID_SWIZZLE_AMD = 0x91A5; - public const int VERTEX_PRECLIP_HINT_SGIX = 0x83EF; - public const int VERTEX_PRECLIP_SGIX = 0x83EE; - public const int VERTEX_PROGRAM_ARB = 0x8620; - public const int VERTEX_PROGRAM_BINDING_NV = 0x864A; - public const int VERTEX_PROGRAM_NV = 0x8620; - public const int VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2; - public const int VERTEX_PROGRAM_POINT_SIZE = 0x8642; - public const int VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642; - public const int VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642; - public const int VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643; - public const int VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643; - public const int VERTEX_SHADER = 0x8B31; - public const int VERTEX_SHADER_ARB = 0x8B31; - public const int VERTEX_SHADER_BINDING_EXT = 0x8781; - public const int VERTEX_SHADER_BIT = 0x00000001; - public const int VERTEX_SHADER_EXT = 0x8780; - public const int VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF; - public const int VERTEX_SHADER_INVARIANTS_EXT = 0x87D1; - public const int VERTEX_SHADER_INVOCATIONS = 0x82F0; - public const int VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0; - public const int VERTEX_SHADER_LOCALS_EXT = 0x87D3; - public const int VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2; - public const int VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4; - public const int VERTEX_SHADER_VARIANTS_EXT = 0x87D0; - public const int VERTEX_SOURCE_ATI = 0x8774; - public const int VERTEX_STATE_PROGRAM_NV = 0x8621; - public const int VERTEX_STREAM0_ATI = 0x876C; - public const int VERTEX_STREAM1_ATI = 0x876D; - public const int VERTEX_STREAM2_ATI = 0x876E; - public const int VERTEX_STREAM3_ATI = 0x876F; - public const int VERTEX_STREAM4_ATI = 0x8770; - public const int VERTEX_STREAM5_ATI = 0x8771; - public const int VERTEX_STREAM6_ATI = 0x8772; - public const int VERTEX_STREAM7_ATI = 0x8773; - public const int VERTEX_SUBROUTINE = 0x92E8; - public const int VERTEX_SUBROUTINE_UNIFORM = 0x92EE; - public const int VERTEX_TEXTURE = 0x829B; - public const int VERTEX_WEIGHTING_EXT = 0x8509; - public const int VERTEX_WEIGHT_ARRAY_EXT = 0x850C; - public const int VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510; - public const int VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D; - public const int VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F; - public const int VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E; - public const int VERTICAL_LINE_TO_NV = 0x08; - public const int VERTICES_SUBMITTED = 0x82EE; - public const int VERTICES_SUBMITTED_ARB = 0x82EE; - public const int VIBRANCE_BIAS_NV = 0x8719; - public const int VIBRANCE_SCALE_NV = 0x8713; - public const int VIDEO_BUFFER_BINDING_NV = 0x9021; - public const int VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D; - public const int VIDEO_BUFFER_NV = 0x9020; - public const int VIDEO_BUFFER_PITCH_NV = 0x9028; - public const int VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B; - public const int VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A; - public const int VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039; - public const int VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038; - public const int VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C; - public const int VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026; - public const int VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029; - public const int VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A; - public const int VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B; - public const int VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C; - public const int VIEWPORT = 0x0BA2; - public const int VIEWPORT_BOUNDS_RANGE = 0x825D; - public const int VIEWPORT_COMMAND_NV = 0x0010; - public const int VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F; - public const int VIEWPORT_POSITION_W_SCALE_NV = 0x937C; - public const int VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D; - public const int VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E; - public const int VIEWPORT_SUBPIXEL_BITS = 0x825C; - public const int VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357; - public const int VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351; - public const int VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353; - public const int VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355; - public const int VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356; - public const int VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350; - public const int VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352; - public const int VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354; - public const int VIEWPORT_SWIZZLE_W_NV = 0x935B; - public const int VIEWPORT_SWIZZLE_X_NV = 0x9358; - public const int VIEWPORT_SWIZZLE_Y_NV = 0x9359; - public const int VIEWPORT_SWIZZLE_Z_NV = 0x935A; - public const int VIEW_CLASS_128_BITS = 0x82C4; - public const int VIEW_CLASS_16_BITS = 0x82CA; - public const int VIEW_CLASS_24_BITS = 0x82C9; - public const int VIEW_CLASS_32_BITS = 0x82C8; - public const int VIEW_CLASS_48_BITS = 0x82C7; - public const int VIEW_CLASS_64_BITS = 0x82C6; - public const int VIEW_CLASS_8_BITS = 0x82CB; - public const int VIEW_CLASS_96_BITS = 0x82C5; - public const int VIEW_CLASS_ASTC_10x10_RGBA = 0x9393; - public const int VIEW_CLASS_ASTC_10x5_RGBA = 0x9390; - public const int VIEW_CLASS_ASTC_10x6_RGBA = 0x9391; - public const int VIEW_CLASS_ASTC_10x8_RGBA = 0x9392; - public const int VIEW_CLASS_ASTC_12x10_RGBA = 0x9394; - public const int VIEW_CLASS_ASTC_12x12_RGBA = 0x9395; - public const int VIEW_CLASS_ASTC_4x4_RGBA = 0x9388; - public const int VIEW_CLASS_ASTC_5x4_RGBA = 0x9389; - public const int VIEW_CLASS_ASTC_5x5_RGBA = 0x938A; - public const int VIEW_CLASS_ASTC_6x5_RGBA = 0x938B; - public const int VIEW_CLASS_ASTC_6x6_RGBA = 0x938C; - public const int VIEW_CLASS_ASTC_8x5_RGBA = 0x938D; - public const int VIEW_CLASS_ASTC_8x6_RGBA = 0x938E; - public const int VIEW_CLASS_ASTC_8x8_RGBA = 0x938F; - public const int VIEW_CLASS_BPTC_FLOAT = 0x82D3; - public const int VIEW_CLASS_BPTC_UNORM = 0x82D2; - public const int VIEW_CLASS_EAC_R11 = 0x9383; - public const int VIEW_CLASS_EAC_RG11 = 0x9384; - public const int VIEW_CLASS_ETC2_EAC_RGBA = 0x9387; - public const int VIEW_CLASS_ETC2_RGB = 0x9385; - public const int VIEW_CLASS_ETC2_RGBA = 0x9386; - public const int VIEW_CLASS_RGTC1_RED = 0x82D0; - public const int VIEW_CLASS_RGTC2_RG = 0x82D1; - public const int VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC; - public const int VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD; - public const int VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE; - public const int VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF; - public const int VIEW_COMPATIBILITY_CLASS = 0x82B6; - public const int VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7; - public const int VIRTUAL_PAGE_SIZE_X_AMD = 0x9195; - public const int VIRTUAL_PAGE_SIZE_X_ARB = 0x9195; - public const int VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196; - public const int VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196; - public const int VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197; - public const int VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197; - public const int VIVIDLIGHT_NV = 0x92A6; - public const int VOLATILE_APPLE = 0x8A1A; - public const int WAIT_FAILED = 0x911D; - public const int WARPS_PER_SM_NV = 0x933A; - public const int WARP_SIZE_NV = 0x9339; - public const int WEIGHTED_AVERAGE_ARB = 0x9367; - public const int WEIGHTED_AVERAGE_EXT = 0x9367; - public const int WEIGHT_ARRAY_ARB = 0x86AD; - public const int WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E; - public const int WEIGHT_ARRAY_POINTER_ARB = 0x86AC; - public const int WEIGHT_ARRAY_SIZE_ARB = 0x86AB; - public const int WEIGHT_ARRAY_STRIDE_ARB = 0x86AA; - public const int WEIGHT_ARRAY_TYPE_ARB = 0x86A9; - public const int WEIGHT_SUM_UNITY_ARB = 0x86A6; - public const int WIDE_LINE_HINT_PGI = 0x1A222; - public const int WINDOW_RECTANGLE_EXT = 0x8F12; - public const int WINDOW_RECTANGLE_MODE_EXT = 0x8F13; - public const int WRAP_BORDER_SUN = 0x81D4; - public const int WRITE_DISCARD_NV = 0x88BE; - public const int WRITE_ONLY = 0x88B9; - public const int WRITE_ONLY_ARB = 0x88B9; - public const int WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A; - public const int WRITE_PIXEL_DATA_RANGE_NV = 0x8878; - public const int WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C; - public const int W_EXT = 0x87D8; - public const int XOR = 0x1506; - public const int XOR_NV = 0x1506; - public const int X_EXT = 0x87D5; - public const int YCBAYCR8A_4224_NV = 0x9032; - public const int YCBCR_422_APPLE = 0x85B9; - public const int YCBCR_MESA = 0x8757; - public const int YCBYCR8_422_NV = 0x9031; - public const int YCRCBA_SGIX = 0x8319; - public const int YCRCB_422_SGIX = 0x81BB; - public const int YCRCB_444_SGIX = 0x81BC; - public const int YCRCB_SGIX = 0x8318; - public const int Y_EXT = 0x87D6; - public const int Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036; - public const int Z4Y12Z4CB12Z4CR12_444_NV = 0x9037; - public const int Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035; - public const int Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034; - public const int Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033; - public const int ZERO = 0; - public const int ZERO_EXT = 0x87DD; - public const int ZERO_TO_ONE = 0x935F; - public const int Z_EXT = 0x87D7; - - #endregion - } - - public static class glAttachment - { - - public const uint Depth = glConst.DEPTH_ATTACHMENT; - public const uint DepthAndStencil = glConst.DEPTH_STENCIL_ATTACHMENT; - public const uint Stencil = glConst.STENCIL_ATTACHMENT; - - public static uint Color( - int i - ) - { - ArgumentOutOfRangeException.ThrowIfNegative(i); - return (uint)(glConst.COLOR_ATTACHMENT0 + i); - } - - } -} diff --git a/tools/StgSharp.GenerateGL/Analysis/GlFunctionFamilyAnalyzer.cs b/tools/StgSharp.GenerateGL/Analysis/GlFunctionFamilyAnalyzer.cs new file mode 100644 index 00000000..927c5cce --- /dev/null +++ b/tools/StgSharp.GenerateGL/Analysis/GlFunctionFamilyAnalyzer.cs @@ -0,0 +1,429 @@ +// ----------------------------------------------------------------------------- +// file="GlFunctionFamilyAnalyzer" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using StgSharp.GenerateGL.Naming; +using StgSharp.GenerateGL.Registry; + +namespace StgSharp.GenerateGL.Analysis +{ + /// + /// Builds inspectable function-family candidates without changing generation. + /// + internal static class GlFunctionFamilyAnalyzer + { + + public static GlFunctionFamilyAnalysis Analyze( + GlRegistryModel registry + ) + { + ArgumentNullException.ThrowIfNull(registry); + return Analyze(registry, registry.Commands); + } + + public static GlFunctionFamilyAnalysis Analyze( + GlRegistryProjection projection + ) + { + ArgumentNullException.ThrowIfNull(projection); + return Analyze(projection.Source, projection.Commands); + } + + private static GlFunctionFamilyAnalysis Analyze( + GlRegistryModel registry, + IReadOnlyList commands + ) + { + Dictionary> commandsByName = commands + .GroupBy(value => value.Name, StringComparer.Ordinal) + .ToDictionary( + value => value.Key, + value => (IReadOnlyList)Array.AsReadOnly( + value.ToArray()), + StringComparer.Ordinal); + + Dictionary shapes = + GlFunctionNameFactorizer.Factor(registry, commands); + Dictionary builders = new Dictionary( + StringComparer.Ordinal); + List relations = new List(); + + foreach (GlCommandDefinition command in commands) + { + if (shapes.TryGetValue(command.Name, out GlFunctionNameShape? shape)) + { + ReadBuilder(builders, shape.FamilyName).Add(command, shape); + } + } + + AddRegistryRelations(commands, commandsByName, shapes, builders, relations); + AddSingleValuePointerRelations(commandsByName, shapes, builders, relations); + + GlFunctionFamily[] families = builders.Values + .Where(value => value.Members.Count > 1 || value.Relations.Count != 0) + .Select(value => value.Build()) + .OrderBy(value => value.Name, StringComparer.Ordinal) + .ToArray(); + HashSet classifiedNames = families + .SelectMany(value => value.Members) + .Select(value => value.Command.Name) + .ToHashSet(StringComparer.Ordinal); + GlCommandDefinition[] unclassified = commands + .Where(value => !classifiedNames.Contains(value.Name)) + .OrderBy(value => value.Name, StringComparer.Ordinal) + .ToArray(); + + return new GlFunctionFamilyAnalysis( + Freeze(families), + Freeze(unclassified), + Freeze(relations)); + } + + private static void AddRegistryRelations( + IReadOnlyList commands, + Dictionary> commandsByName, + Dictionary shapes, + IDictionary builders, + List relations + ) + { + foreach (GlCommandDefinition command in commands) + { + foreach (GlNamedReference reference in command.VectorEquivalents) + { + bool exists = commandsByName.TryGetValue( + reference.Name, + out IReadOnlyList? targets); + GlFunctionRelation relation = new GlFunctionRelation( + command.Name, + reference.Name, + GlFunctionRelationKind.RegistryVectorEquivalent, + exists + ? GlFunctionRelationState.Verified + : GlFunctionRelationState.MissingTarget, + exists + ? "declared by gl.xml " + : "gl.xml target is not registered"); + relations.Add(relation); + + string familyName = ReadRelationFamilyName( + command.Name, + reference.Name, + shapes); + FamilyBuilder builder = ReadBuilder(builders, familyName); + builder.Add( + command, + shapes.TryGetValue(command.Name, out GlFunctionNameShape? sourceShape) + ? sourceShape + : null); + builder.Relations.Add(relation); + if (!exists) + { + builder.Diagnostics.Add( + $"Missing vector-equivalent target '{reference.Name}'."); + continue; + } + + foreach (GlCommandDefinition target in targets!) + { + builder.Add( + target, + shapes.TryGetValue(target.Name, out GlFunctionNameShape? targetShape) + ? targetShape + : null); + } + } + } + } + + private static void AddSingleValuePointerRelations( + Dictionary> commandsByName, + Dictionary shapes, + IDictionary builders, + List relations + ) + { + HashSet existingPairs = relations + .Select(value => $"{value.SourceName}\0{value.TargetName}") + .ToHashSet(StringComparer.Ordinal); + foreach ((string commandName, GlFunctionNameShape pointerShape) in shapes) + { + if (!pointerShape.IsVectorForm || + !commandsByName.TryGetValue( + commandName, + out IReadOnlyList? pointerCommands)) + { + continue; + } + + string scalarName = commandName[..^1]; + if (!shapes.TryGetValue(scalarName, out GlFunctionNameShape? scalarShape) || + !commandsByName.TryGetValue( + scalarName, + out IReadOnlyList? scalarCommands)) + { + continue; + } + + foreach (GlCommandDefinition pointer in pointerCommands) + { + if (pointer.Parameters.Count == 0 || + !string.Equals(pointer.Parameters[^1].Length, "1", StringComparison.Ordinal)) + { + continue; + } + + foreach (GlCommandDefinition scalar in scalarCommands) + { + if (existingPairs.Contains($"{scalar.Name}\0{pointer.Name}")) + { + continue; + } + + bool valid = IsSingleValuePointerPair(scalar, pointer, out string detail); + GlFunctionRelation relation = new GlFunctionRelation( + scalar.Name, + pointer.Name, + GlFunctionRelationKind.InferredSingleValuePointer, + valid + ? GlFunctionRelationState.Verified + : GlFunctionRelationState.Rejected, + detail); + relations.Add(relation); + + FamilyBuilder builder = ReadBuilder(builders, pointerShape.FamilyName); + builder.Add(scalar, scalarShape); + builder.Add(pointer, pointerShape); + builder.Relations.Add(relation); + if (!valid) + { + builder.Diagnostics.Add( + $"Rejected scalar/pointer pair {scalar.Name} -> {pointer.Name}: " + + detail); + } + } + } + } + } + + private static bool IsSingleValuePointerPair( + GlCommandDefinition scalar, + GlCommandDefinition pointer, + out string detail + ) + { + if (!string.Equals( + scalar.Return.TypeName, + pointer.Return.TypeName, + StringComparison.Ordinal) || + scalar.Parameters.Count != pointer.Parameters.Count) + { + detail = "return type or parameter count differs"; + return false; + } + + int lastIndex = scalar.Parameters.Count - 1; + for (int index = 0; index < lastIndex; index++) + { + if (!HaveEquivalentParameterTypes( + scalar.Parameters[index], + pointer.Parameters[index])) + { + detail = $"parameter {index + 1} differs"; + return false; + } + } + + GlParameterDefinition scalarValue = scalar.Parameters[lastIndex]; + GlParameterDefinition pointerValue = pointer.Parameters[lastIndex]; + if (!string.Equals( + scalarValue.TypeName, + pointerValue.TypeName, + StringComparison.Ordinal) || + scalarValue.DeclarationText.Contains('*', StringComparison.Ordinal) || + !pointerValue.DeclarationText.Contains('*', StringComparison.Ordinal) || + !pointerValue.DeclarationText.TrimStart().StartsWith( + "const ", + StringComparison.Ordinal) || + !string.Equals(pointerValue.Length, "1", StringComparison.Ordinal)) + { + detail = "last parameter is not a matching T / const T* len=1 pair"; + return false; + } + + detail = "verified T / const T* len=1 pair"; + return true; + } + + private static bool HaveEquivalentParameterTypes( + GlParameterDefinition left, + GlParameterDefinition right + ) + { + return string.Equals(left.TypeName, right.TypeName, StringComparison.Ordinal) && + left.DeclarationText.Contains('*', StringComparison.Ordinal) == + right.DeclarationText.Contains('*', StringComparison.Ordinal); + } + + private static string ReadRelationFamilyName( + string sourceName, + string targetName, + Dictionary shapes + ) + { + if (shapes.TryGetValue(sourceName, out GlFunctionNameShape? sourceShape)) + { + return sourceShape.FamilyName; + } + + if (shapes.TryGetValue(targetName, out GlFunctionNameShape? targetShape)) + { + return targetShape.FamilyName; + } + + string source = RemoveGlPrefix(sourceName); + string target = RemoveGlPrefix(targetName); + if (target.EndsWith('v') && + string.Equals(source, target[..^1], StringComparison.Ordinal)) + { + return CSharpIdentifierPolicy.NormalizeMemberName(source); + } + + int length = 0; + int maximum = Math.Min(source.Length, target.Length); + while (length < maximum && source[length] == target[length]) + { + length++; + } + + string familyName = length == 0 ? source : source[..length].TrimEnd('_'); + return CSharpIdentifierPolicy.NormalizeMemberName(familyName); + } + + private static string RemoveGlPrefix( + string name + ) + { + return name.StartsWith("gl", StringComparison.Ordinal) && name.Length > 2 + ? name[2..] + : name; + } + + private static FamilyBuilder ReadBuilder( + IDictionary builders, + string familyName + ) + { + if (!builders.TryGetValue(familyName, out FamilyBuilder? builder)) + { + builder = new FamilyBuilder(familyName); + builders.Add(familyName, builder); + } + + return builder; + } + + private static ReadOnlyCollection Freeze( + IEnumerable values + ) + { + return Array.AsReadOnly(values.ToArray()); + } + + private sealed class FamilyBuilder + { + + private readonly Dictionary _members = new Dictionary( + StringComparer.Ordinal); + + public FamilyBuilder( + string name + ) + { + Name = name; + } + + public string Name { get; } + + public Dictionary.ValueCollection Members => + _members.Values; + + public List Relations { get; } = new List(); + + public List Diagnostics { get; } = new List(); + + public void Add( + GlCommandDefinition command, + GlFunctionNameShape? shape + ) + { + _members.TryAdd( + command.Name, + new GlFunctionFamilyMember(command, shape)); + } + + public GlFunctionFamily Build() + { + GlFunctionFamilyMember[] members = _members.Values + .OrderBy(value => value.Command.Name, StringComparer.Ordinal) + .ToArray(); + string[] diagnostics = Diagnostics + .Distinct(StringComparer.Ordinal) + .OrderBy(value => value, StringComparer.Ordinal) + .ToArray(); + return new GlFunctionFamily( + Name, + Freeze(members), + Freeze(Relations.Distinct().ToArray()), + Freeze(diagnostics), + ReadShapeNamePolicy(members)); + } + + private static GlFunctionShapeNamePolicy ReadShapeNamePolicy( + IReadOnlyCollection members + ) + { + GlFunctionFamilyMember[] scalarMembers = members + .Where( + value => value.NameShape is + { IsVectorForm: false, Shape: not null }) + .ToArray(); + if (scalarMembers.Select(value => value.NameShape!.Shape) + .Distinct(StringComparer.Ordinal) + .Count() < 2) + { + return GlFunctionShapeNamePolicy.NotApplicable; + } + + bool collision = scalarMembers + .GroupBy(ReadNativeSignature, StringComparer.Ordinal) + .Any(group => group.Select(value => value.NameShape!.Shape) + .Distinct(StringComparer.Ordinal) + .Count() > 1); + return collision + ? GlFunctionShapeNamePolicy.MustRetain + : GlFunctionShapeNamePolicy.CanRemove; + } + + private static string ReadNativeSignature( + GlFunctionFamilyMember member + ) + { + GlCommandDefinition command = member.Command; + return $"{command.Return.TypeName}:" + string.Join( + ",", + command.Parameters.Select( + value => $"{value.TypeName}:{value.DeclarationText.Contains('*', StringComparison.Ordinal)}")); + } + + } + + } +} diff --git a/tools/StgSharp.GenerateGL/Analysis/GlFunctionFamilyModel.cs b/tools/StgSharp.GenerateGL/Analysis/GlFunctionFamilyModel.cs new file mode 100644 index 00000000..d47da285 --- /dev/null +++ b/tools/StgSharp.GenerateGL/Analysis/GlFunctionFamilyModel.cs @@ -0,0 +1,68 @@ +// ----------------------------------------------------------------------------- +// file="GlFunctionFamilyModel" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System.Collections.Generic; +using StgSharp.GenerateGL.Registry; + +namespace StgSharp.GenerateGL.Analysis +{ + internal sealed record GlFunctionNameShape( + string FamilyName, + string? Shape, + int? Columns, + int? Rows, + string TypeSuffix, + bool IsVectorForm + ); + + internal sealed record GlFunctionFamilyMember( + GlCommandDefinition Command, + GlFunctionNameShape? NameShape + ); + + internal sealed record GlFunctionRelation( + string SourceName, + string TargetName, + GlFunctionRelationKind Kind, + GlFunctionRelationState State, + string Detail + ); + + internal sealed record GlFunctionFamily( + string Name, + IReadOnlyList Members, + IReadOnlyList Relations, + IReadOnlyList Diagnostics, + GlFunctionShapeNamePolicy ShapeNamePolicy + ); + + internal sealed record GlFunctionFamilyAnalysis( + IReadOnlyList Families, + IReadOnlyList UnclassifiedCommands, + IReadOnlyList Relations + ); + + internal enum GlFunctionRelationKind + { + RegistryVectorEquivalent, + InferredSingleValuePointer, + } + + internal enum GlFunctionRelationState + { + Verified, + MissingTarget, + Rejected, + } + + internal enum GlFunctionShapeNamePolicy + { + NotApplicable, + CanRemove, + MustRetain, + } +} diff --git a/tools/StgSharp.GenerateGL/Analysis/GlFunctionNameFactorizer.cs b/tools/StgSharp.GenerateGL/Analysis/GlFunctionNameFactorizer.cs new file mode 100644 index 00000000..2819300a --- /dev/null +++ b/tools/StgSharp.GenerateGL/Analysis/GlFunctionNameFactorizer.cs @@ -0,0 +1,472 @@ +// ----------------------------------------------------------------------------- +// file="GlFunctionNameFactorizer" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Linq; +using StgSharp.GenerateGL.Naming; +using StgSharp.GenerateGL.Registry; + +namespace StgSharp.GenerateGL.Analysis +{ + /// + /// Factors command-name alternatives by their common prefix and interprets only the + /// remaining suffix as overload axes. + /// + internal static class GlFunctionNameFactorizer + { + + private static readonly string[] _typeSuffixes = + { + "ui64", + "i64", + "ui", + "ub", + "us", + "b", + "s", + "i", + "f", + "d", + "h", + "x", + }; + + public static Dictionary Factor( + GlRegistryModel registry, + IReadOnlyList commands + ) + { + ArgumentNullException.ThrowIfNull(registry); + ArgumentNullException.ThrowIfNull(commands); + + string[] vendorSuffixes = ReadVendorSuffixes(registry); + NameEntry[] entries = commands + .Select( + command => new NameEntry( + command, + command.Name, + ReadCoreName(command.Name, vendorSuffixes))) + .ToArray(); + TrieNode root = new TrieNode(string.Empty); + for (int index = 0; index < entries.Length; index++) + { + Add(root, entries[index].CoreName, index); + } + + List[] candidatesByEntry = Enumerable.Range(0, entries.Length) + .Select(_ => new List()) + .ToArray(); + CollectCandidates(root, entries, candidatesByEntry); + + Dictionary result = new Dictionary( + StringComparer.Ordinal); + for (int index = 0; index < entries.Length; index++) + { + FactorCandidate? candidate = candidatesByEntry[index] + .OrderByDescending(value => value.DistinctVariantCount) + .ThenByDescending(value => value.MemberCount) + .ThenBy(value => value.FamilyName.Length) + .FirstOrDefault(); + if (candidate is null || + !candidate.Shapes.TryGetValue(index, out GlFunctionNameShape? shape)) + { + continue; + } + + result.TryAdd(entries[index].CommandName, shape); + } + + AddFixedVectorPairs(result, commands); + return result; + } + + private static void AddFixedVectorPairs( + Dictionary shapes, + IReadOnlyList commands + ) + { + Dictionary commandsByName = commands.ToDictionary( + value => value.Name, + StringComparer.Ordinal); + foreach (GlCommandDefinition vector in commands) + { + if (!vector.Name.EndsWith('v') || + shapes.ContainsKey(vector.Name) || + vector.Parameters.Count == 0 || + !int.TryParse(vector.Parameters[^1].Length, out int componentCount) || + componentCount < 2) + { + continue; + } + + string scalarName = vector.Name[..^1]; + if (shapes.ContainsKey(scalarName) || + !commandsByName.TryGetValue( + scalarName, + out GlCommandDefinition? scalar) || + !IsFixedVectorPair(scalar, vector, componentCount)) + { + continue; + } + + string familyName = CSharpIdentifierPolicy.NormalizeMemberName( + scalarName.StartsWith("gl", StringComparison.Ordinal) && + scalarName.Length > 2 + ? scalarName[2..] + : scalarName); + shapes.Add( + scalarName, + new GlFunctionNameShape( + familyName, + null, + null, + null, + string.Empty, + false)); + shapes.Add( + vector.Name, + new GlFunctionNameShape( + familyName, + null, + null, + null, + string.Empty, + true)); + } + } + + private static bool IsFixedVectorPair( + GlCommandDefinition scalar, + GlCommandDefinition vector, + int componentCount + ) + { + if (!string.Equals( + scalar.Return.TypeName, + vector.Return.TypeName, + StringComparison.Ordinal) || + scalar.Parameters.Count != vector.Parameters.Count - 1 + componentCount) + { + return false; + } + + int prefixCount = vector.Parameters.Count - 1; + for (int index = 0; index < prefixCount; index++) + { + if (!HaveEquivalentScalarTypes( + scalar.Parameters[index].TypeName, + vector.Parameters[index].TypeName) || + scalar.Parameters[index].DeclarationText.Contains('*', StringComparison.Ordinal) != + vector.Parameters[index].DeclarationText.Contains('*', StringComparison.Ordinal)) + { + return false; + } + } + + GlParameterDefinition vectorValue = vector.Parameters[^1]; + if (!vectorValue.DeclarationText.Contains('*', StringComparison.Ordinal)) + { + return false; + } + + for (int index = prefixCount; index < scalar.Parameters.Count; index++) + { + if (!HaveEquivalentScalarTypes( + scalar.Parameters[index].TypeName, + vectorValue.TypeName) || + scalar.Parameters[index].DeclarationText.Contains('*', StringComparison.Ordinal)) + { + return false; + } + } + + return true; + } + + private static bool HaveEquivalentScalarTypes( + string? left, + string? right + ) + { + if (string.Equals(left, right, StringComparison.Ordinal)) + { + return true; + } + + return left is "GLint" or "GLsizei" && + right is "GLint" or "GLsizei"; + } + + private static List CollectCandidates( + TrieNode node, + IReadOnlyList entries, + IReadOnlyList> candidatesByEntry + ) + { + List descendants = new List(node.Terminals); + foreach (TrieNode child in node.Children.Values) + { + descendants.AddRange(CollectCandidates(child, entries, candidatesByEntry)); + } + + if (node.Prefix.Length == 0 || descendants.Count < 2) + { + return descendants; + } + + Dictionary shapes = new Dictionary(); + foreach (int index in descendants) + { + string coreName = entries[index].CoreName; + if (coreName.Length <= node.Prefix.Length || + !TryParseVariantSuffix( + coreName[node.Prefix.Length..], + node.Prefix, + entries[index].Command, + out GlFunctionNameShape? shape)) + { + continue; + } + + shapes.Add(index, shape!); + } + + int distinctVariantCount = shapes.Keys + .Select(index => entries[index].CoreName) + .Distinct(StringComparer.Ordinal) + .Count(); + if (distinctVariantCount < 2) + { + return descendants; + } + + FactorCandidate candidate = new FactorCandidate( + node.Prefix, + shapes, + distinctVariantCount); + foreach (int index in shapes.Keys) + { + candidatesByEntry[index].Add(candidate); + } + + return descendants; + } + + private static bool TryParseVariantSuffix( + string suffix, + string familyName, + GlCommandDefinition command, + out GlFunctionNameShape? shape + ) + { + bool isVectorForm = suffix.EndsWith('v'); + if (isVectorForm) + { + suffix = suffix[..^1]; + } + + string? typeSuffix = null; + foreach (string candidate in _typeSuffixes) + { + if (suffix.EndsWith(candidate, StringComparison.Ordinal)) + { + typeSuffix = candidate; + suffix = suffix[..^candidate.Length]; + break; + } + } + + if (typeSuffix is null || + !IsTypeSuffixConsistent(command, typeSuffix) || + !TryParseShape( + suffix, + out string? shapeText, + out int? columns, + out int? rows)) + { + shape = null; + return false; + } + + shape = new GlFunctionNameShape( + CSharpIdentifierPolicy.NormalizeMemberName(familyName), + shapeText, + columns, + rows, + typeSuffix, + isVectorForm); + return true; + } + + private static bool IsTypeSuffixConsistent( + GlCommandDefinition command, + string typeSuffix + ) + { + string? glType = typeSuffix switch + { + "b" => "GLbyte", + "ub" => "GLubyte", + "s" => "GLshort", + "us" => "GLushort", + "i" => "GLint", + "ui" => "GLuint", + "i64" => "GLint64", + "ui64" => "GLuint64", + "f" => "GLfloat", + "d" => "GLdouble", + "h" => "GLhalf", + "x" => "GLfixed", + _ => null, + }; + if (glType is null) + { + return false; + } + + return string.Equals(command.Return.TypeName, glType, StringComparison.Ordinal) || + command.Parameters.Any( + value => string.Equals( + value.TypeName, + glType, + StringComparison.Ordinal)); + } + + private static bool TryParseShape( + string value, + out string? shape, + out int? columns, + out int? rows + ) + { + if (value.Length == 0) + { + shape = null; + columns = null; + rows = null; + return true; + } + + if (value.Length == 1 && value[0] is >= '1' and <= '4') + { + shape = value; + columns = value[0] - '0'; + rows = 1; + return true; + } + + if (value.Length == 3 && + value[0] is >= '2' and <= '4' && + value[1] == 'x' && + value[2] is >= '2' and <= '4') + { + shape = value; + columns = value[0] - '0'; + rows = value[2] - '0'; + return true; + } + + shape = null; + columns = null; + rows = null; + return false; + } + + private static void Add( + TrieNode root, + string value, + int entryIndex + ) + { + TrieNode current = root; + foreach (char character in value) + { + if (!current.Children.TryGetValue(character, out TrieNode? child)) + { + child = new TrieNode(current.Prefix + character); + current.Children.Add(character, child); + } + + current = child; + } + + current.Terminals.Add(entryIndex); + } + + private static string ReadCoreName( + string commandName, + IReadOnlyList vendorSuffixes + ) + { + string name = commandName.StartsWith("gl", StringComparison.Ordinal) && + commandName.Length > 2 + ? commandName[2..] + : commandName; + foreach (string vendorSuffix in vendorSuffixes) + { + if (name.Length > vendorSuffix.Length && name.EndsWith( + vendorSuffix, + StringComparison.Ordinal)) + { + return name[..^vendorSuffix.Length]; + } + } + + return name; + } + + private static string[] ReadVendorSuffixes( + GlRegistryModel registry + ) + { + return registry.Extensions + .Select(value => value.Name.Split('_', StringSplitOptions.RemoveEmptyEntries)) + .Where(value => value.Length > 2 && value[0] == "GL") + .Select(value => value[1]) + .Where(value => value.All(character => char.IsUpper(character) || char.IsDigit(character))) + .Distinct(StringComparer.Ordinal) + .OrderByDescending(value => value.Length) + .ThenBy(value => value, StringComparer.Ordinal) + .ToArray(); + } + + private sealed record NameEntry( + GlCommandDefinition Command, + string CommandName, + string CoreName + ); + + private sealed record FactorCandidate( + string FamilyName, + IReadOnlyDictionary Shapes, + int DistinctVariantCount + ) + { + public int MemberCount => Shapes.Count; + } + + private sealed class TrieNode + { + + public TrieNode( + string prefix + ) + { + Prefix = prefix; + } + + public string Prefix { get; } + + public Dictionary Children { get; } = new Dictionary(); + + public List Terminals { get; } = new List(); + + } + + } +} diff --git a/tools/StgSharp.GenerateGL/FunctionFamilyCli.cs b/tools/StgSharp.GenerateGL/FunctionFamilyCli.cs new file mode 100644 index 00000000..68efa1d8 --- /dev/null +++ b/tools/StgSharp.GenerateGL/FunctionFamilyCli.cs @@ -0,0 +1,556 @@ +// ----------------------------------------------------------------------------- +// file="FunctionFamilyCli" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using StgSharp.GenerateGL.Analysis; + +namespace StgSharp.GenerateGL +{ + /// + /// Presents the function-family analysis without affecting generation. + /// + internal static class FunctionFamilyCli + { + + private const int ShowAllResults = int.MaxValue; + private const int QueryErrorExitCode = 1; + private const int SuccessExitCode = 0; + private const int UsageErrorExitCode = 2; + + public static int Execute( + GlFunctionFamilyAnalysis analysis, + IReadOnlyList arguments + ) + { + ArgumentNullException.ThrowIfNull(analysis); + ArgumentNullException.ThrowIfNull(arguments); + + if (arguments.Count == 0) + { + WriteHelp(); + return SuccessExitCode; + } + + string command = arguments[0].ToUpperInvariant(); + string[] queryArguments = arguments.Skip(1).ToArray(); + return command switch + { + "SUMMARY" => QuerySummary(analysis, queryArguments), + "LIST" or "LS" => QueryList(analysis, queryArguments), + "SHOW" or "INFO" => QueryShow(analysis, queryArguments), + "RELATIONS" or "PAIRS" => QueryRelations(analysis, queryArguments), + "UNRESOLVED" or "UNCLASSIFIED" => QueryUnclassified( + analysis, + queryArguments), + "CONFLICTS" or "CONSTRAINTS" => QueryConstraints( + analysis, + queryArguments), + "HELP" or "?" => WriteHelpResult(queryArguments), + _ => WriteUsageError($"Unknown family command '{arguments[0]}'."), + }; + } + + public static void WriteHelp() + { + Console.WriteLine("Function-family analysis commands:"); + Console.WriteLine(" families summary"); + Console.WriteLine(" families list [filter] [--showcount ]"); + Console.WriteLine(" families show "); + Console.WriteLine(" families relations [filter] [--showcount ]"); + Console.WriteLine(" families unresolved [filter] [--showcount ]"); + Console.WriteLine(" families conflicts [filter] [--showcount ]"); + } + + private static int QuerySummary( + GlFunctionFamilyAnalysis analysis, + string[] arguments + ) + { + if (arguments.Length != 0) + { + return WriteUsageError("families summary does not accept arguments."); + } + + Console.WriteLine("Function-family analysis"); + WriteProperty("families", analysis.Families.Count); + WriteProperty( + "classified commands", + analysis.Families.SelectMany(value => value.Members) + .Select(value => value.Command.Name) + .Distinct(StringComparer.Ordinal) + .Count()); + WriteProperty("unclassified commands", analysis.UnclassifiedCommands.Count); + WriteProperty("relations", analysis.Relations.Count); + WriteProperty( + "registry vector relations", + analysis.Relations.Count( + value => value.Kind == GlFunctionRelationKind.RegistryVectorEquivalent)); + WriteProperty( + "inferred len=1 relations", + analysis.Relations.Count( + value => value.Kind == GlFunctionRelationKind.InferredSingleValuePointer)); + WriteProperty( + "verified relations", + analysis.Relations.Count( + value => value.State == GlFunctionRelationState.Verified)); + WriteProperty( + "relations requiring review", + analysis.Relations.Count( + value => value.State != GlFunctionRelationState.Verified)); + WriteProperty( + "shape suffix must remain", + analysis.Families.Count( + value => value.ShapeNamePolicy == GlFunctionShapeNamePolicy.MustRetain)); + return SuccessExitCode; + } + + private static int QueryList( + GlFunctionFamilyAnalysis analysis, + IReadOnlyList arguments + ) + { + if (!TryReadFilterOptions( + arguments, + out string? filter, + out int limit, + out string? error)) + { + return WriteUsageError(error); + } + + GlFunctionFamily[] families = FilterFamilies(analysis, filter).ToArray(); + if (families.Length == 0) + { + Console.Error.WriteLine( + filter is null + ? "No function families were recognized." + : $"No function families contain '{filter}'."); + return QueryErrorExitCode; + } + + int displayedCount = Math.Min(families.Length, limit); + for (int index = 0; index < displayedCount; index++) + { + GlFunctionFamily family = families[index]; + Console.WriteLine($"[{index + 1}] {family.Name}"); + WriteProperty("members", family.Members.Count); + WriteProperty( + "shapes", + JoinDistinct( + family.Members.Select(value => value.NameShape?.Shape))); + WriteProperty( + "types", + JoinDistinct( + family.Members.Select(value => value.NameShape?.TypeSuffix))); + WriteProperty( + "forms", + JoinDistinct( + family.Members.Where(value => value.NameShape is not null) + .Select( + value => value.NameShape!.IsVectorForm + ? "pointer" + : "scalar"))); + WriteProperty("relations", family.Relations.Count); + WriteProperty("shape name", ReadShapePolicy(family.ShapeNamePolicy)); + } + + WriteTruncation(families.Length, displayedCount); + return SuccessExitCode; + } + + private static int QueryShow( + GlFunctionFamilyAnalysis analysis, + string[] arguments + ) + { + if (arguments.Length != 1) + { + return WriteUsageError("families show requires one exact family name."); + } + + GlFunctionFamily? family = analysis.Families.FirstOrDefault( + value => string.Equals( + value.Name, + arguments[0], + StringComparison.OrdinalIgnoreCase)); + if (family is null) + { + Console.Error.WriteLine($"No function family named '{arguments[0]}'."); + Console.Error.WriteLine($"Try: families list {arguments[0]}"); + return QueryErrorExitCode; + } + + Console.WriteLine($"function family: {family.Name}"); + WriteProperty("members", family.Members.Count); + WriteProperty("shape name", ReadShapePolicy(family.ShapeNamePolicy)); + for (int index = 0; index < family.Members.Count; index++) + { + GlFunctionFamilyMember member = family.Members[index]; + Console.WriteLine($" [{index + 1}] {member.Command.Name}"); + if (member.NameShape is not null) + { + if (member.NameShape.Shape is not null) + { + WriteIndentedProperty("shape", member.NameShape.Shape, 8); + } + + WriteIndentedProperty( + "type suffix", + string.IsNullOrWhiteSpace(member.NameShape.TypeSuffix) + ? "-" + : member.NameShape.TypeSuffix, + 8); + WriteIndentedProperty( + "form", + member.NameShape.IsVectorForm ? "pointer" : "scalar", + 8); + } + + WriteIndentedProperty( + "parameters", + ReadParameterList(member.Command), + 8); + } + + WriteRelations(family.Relations); + if (family.Diagnostics.Count != 0) + { + Console.WriteLine(" diagnostics:"); + foreach (string diagnostic in family.Diagnostics) + { + Console.WriteLine($" - {diagnostic}"); + } + } + + return SuccessExitCode; + } + + private static int QueryRelations( + GlFunctionFamilyAnalysis analysis, + IReadOnlyList arguments + ) + { + if (!TryReadFilterOptions( + arguments, + out string? filter, + out int limit, + out string? error)) + { + return WriteUsageError(error); + } + + GlFunctionRelation[] relations = analysis.Relations + .Where( + value => filter is null || + value.SourceName.Contains( + filter, + StringComparison.OrdinalIgnoreCase) || + value.TargetName.Contains( + filter, + StringComparison.OrdinalIgnoreCase)) + .OrderBy(value => value.SourceName, StringComparer.Ordinal) + .ThenBy(value => value.TargetName, StringComparer.Ordinal) + .ToArray(); + if (relations.Length == 0) + { + Console.Error.WriteLine( + filter is null + ? "No function relations were recognized." + : $"No function relations contain '{filter}'."); + return QueryErrorExitCode; + } + + int displayedCount = Math.Min(relations.Length, limit); + for (int index = 0; index < displayedCount; index++) + { + WriteRelation(index + 1, relations[index]); + } + + WriteTruncation(relations.Length, displayedCount); + return SuccessExitCode; + } + + private static int QueryUnclassified( + GlFunctionFamilyAnalysis analysis, + IReadOnlyList arguments + ) + { + if (!TryReadFilterOptions( + arguments, + out string? filter, + out int limit, + out string? error)) + { + return WriteUsageError(error); + } + + string[] commands = analysis.UnclassifiedCommands + .Select(value => value.Name) + .Where( + value => filter is null || value.Contains( + filter, + StringComparison.OrdinalIgnoreCase)) + .ToArray(); + if (commands.Length == 0) + { + Console.Error.WriteLine( + filter is null + ? "Every command belongs to a candidate family." + : $"No unclassified commands contain '{filter}'."); + return QueryErrorExitCode; + } + + int displayedCount = Math.Min(commands.Length, limit); + for (int index = 0; index < displayedCount; index++) + { + Console.WriteLine($"[{index + 1}] {commands[index]}"); + } + + WriteTruncation(commands.Length, displayedCount); + return SuccessExitCode; + } + + private static int QueryConstraints( + GlFunctionFamilyAnalysis analysis, + IReadOnlyList arguments + ) + { + if (!TryReadFilterOptions( + arguments, + out string? filter, + out int limit, + out string? error)) + { + return WriteUsageError(error); + } + + GlFunctionFamily[] families = FilterFamilies(analysis, filter) + .Where( + value => value.ShapeNamePolicy == GlFunctionShapeNamePolicy.MustRetain || + value.Diagnostics.Count != 0 || + value.Relations.Any( + relation => relation.State != GlFunctionRelationState.Verified)) + .ToArray(); + if (families.Length == 0) + { + Console.Error.WriteLine( + filter is null + ? "No family constraints require review." + : $"No constrained families contain '{filter}'."); + return QueryErrorExitCode; + } + + int displayedCount = Math.Min(families.Length, limit); + for (int index = 0; index < displayedCount; index++) + { + GlFunctionFamily family = families[index]; + Console.WriteLine($"[{index + 1}] {family.Name}"); + if (family.ShapeNamePolicy == GlFunctionShapeNamePolicy.MustRetain) + { + WriteProperty( + "constraint", + "shape suffix must remain because normalized signatures collide"); + } + + foreach (string diagnostic in family.Diagnostics) + { + WriteProperty("diagnostic", diagnostic); + } + } + + WriteTruncation(families.Length, displayedCount); + return SuccessExitCode; + } + + private static IEnumerable FilterFamilies( + GlFunctionFamilyAnalysis analysis, + string? filter + ) + { + return analysis.Families.Where( + value => filter is null || value.Name.Contains( + filter, + StringComparison.OrdinalIgnoreCase)); + } + + private static bool TryReadFilterOptions( + IReadOnlyList arguments, + out string? filter, + out int limit, + out string? error + ) + { + filter = null; + limit = ShowAllResults; + int index = 0; + if (index < arguments.Count && !arguments[index].StartsWith( + "--", + StringComparison.Ordinal)) + { + filter = arguments[index++]; + } + + while (index < arguments.Count) + { + string argument = arguments[index++]; + if ((argument == "--showcount" || argument == "--limit") && + index < arguments.Count && int.TryParse( + arguments[index++], + NumberStyles.None, + CultureInfo.InvariantCulture, + out limit) && limit > 0) + { + continue; + } + + error = $"Unknown or invalid family option '{argument}'."; + return false; + } + + error = null; + return true; + } + + private static string ReadParameterList( + Registry.GlCommandDefinition command + ) + { + return string.Join( + ", ", + command.Parameters.Select(value => value.DeclarationText)); + } + + private static void WriteRelations( + IReadOnlyList relations + ) + { + if (relations.Count == 0) + { + return; + } + + Console.WriteLine(" relations:"); + for (int index = 0; index < relations.Count; index++) + { + WriteRelation(index + 1, relations[index], 4); + } + } + + private static void WriteRelation( + int index, + GlFunctionRelation relation, + int indentation = 0 + ) + { + string prefix = new string(' ', indentation); + Console.WriteLine( + $"{prefix}[{index}] {relation.SourceName} -> {relation.TargetName}"); + WriteIndentedProperty( + "source", + relation.Kind == GlFunctionRelationKind.RegistryVectorEquivalent + ? "gl.xml vecequiv" + : "inferred len=1 pair", + indentation + 4); + WriteIndentedProperty( + "state", + ReadRelationState(relation.State), + indentation + 4); + WriteIndentedProperty("detail", relation.Detail, indentation + 4); + } + + private static string ReadShapePolicy( + GlFunctionShapeNamePolicy policy + ) + { + return policy switch + { + GlFunctionShapeNamePolicy.NotApplicable => "not applicable", + GlFunctionShapeNamePolicy.CanRemove => "may be removed", + GlFunctionShapeNamePolicy.MustRetain => "must remain", + _ => throw new ArgumentOutOfRangeException(nameof(policy)), + }; + } + + private static string ReadRelationState( + GlFunctionRelationState state + ) + { + return state switch + { + GlFunctionRelationState.Verified => "verified", + GlFunctionRelationState.MissingTarget => "missing target", + GlFunctionRelationState.Rejected => "rejected", + _ => throw new ArgumentOutOfRangeException(nameof(state)), + }; + } + + private static string JoinDistinct( + IEnumerable values + ) + { + string[] distinct = values.Where(value => !string.IsNullOrWhiteSpace(value)) + .Select(value => value!) + .Distinct(StringComparer.Ordinal) + .OrderBy(value => value, StringComparer.Ordinal) + .ToArray(); + return distinct.Length == 0 ? "-" : string.Join(", ", distinct); + } + + private static int WriteHelpResult( + string[] arguments + ) + { + if (arguments.Length != 0) + { + return WriteUsageError("families help does not accept arguments."); + } + + WriteHelp(); + return SuccessExitCode; + } + + private static int WriteUsageError( + string? error + ) + { + Console.Error.WriteLine($"error: {error}"); + return UsageErrorExitCode; + } + + private static void WriteProperty( + string name, + object value + ) + { + WriteIndentedProperty(name, value, 2); + } + + private static void WriteIndentedProperty( + string name, + object value, + int indentation + ) + { + Console.WriteLine($"{new string(' ', indentation)}{name}: {value}"); + } + + private static void WriteTruncation( + int totalCount, + int displayedCount + ) + { + if (displayedCount != totalCount) + { + Console.WriteLine($"... {totalCount - displayedCount} more result(s)"); + } + } + + } +} diff --git a/tools/StgSharp.GenerateGL/GenerateCli.cs b/tools/StgSharp.GenerateGL/GenerateCli.cs index ae27c31c..862e681f 100644 --- a/tools/StgSharp.GenerateGL/GenerateCli.cs +++ b/tools/StgSharp.GenerateGL/GenerateCli.cs @@ -9,6 +9,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Text; using StgSharp.GenerateGL.Generation; using StgSharp.GenerateGL.Registry; @@ -23,14 +24,15 @@ namespace StgSharp.GenerateGL private const int QueryErrorExitCode = 1; private const int SuccessExitCode = 0; private const int UsageErrorExitCode = 2; + private const string GeneratedFileMarker = "// "; public static int Generate( - GlRegistryModel registry, + GlRegistryProjection projection, IReadOnlyList arguments, out GeneratedFileSet? generatedFiles ) { - ArgumentNullException.ThrowIfNull(registry); + ArgumentNullException.ThrowIfNull(projection); ArgumentNullException.ThrowIfNull(arguments); generatedFiles = null; @@ -40,17 +42,24 @@ namespace StgSharp.GenerateGL return SuccessExitCode; } - if (arguments.Count != 0) + if (arguments.Count > 1) { - Console.Error.WriteLine( - $"error: unknown generate option '{arguments[0]}'."); + Console.Error.WriteLine("error: generate accepts at most one output directory."); Console.Error.WriteLine("Run 'generate --help' for command information."); return UsageErrorExitCode; } + string? outputDirectory = arguments.Count == 1 ? arguments[0] : null; + string? resolvedOutputDirectory = null; try { - generatedFiles = OpenGlGenerator.Generate(registry); + generatedFiles = OpenGlGenerator.Generate(projection); + if (outputDirectory is not null) + { + resolvedOutputDirectory = WriteGeneratedFiles( + generatedFiles, + outputDirectory); + } } catch (InvalidDataException exception) { @@ -62,14 +71,136 @@ namespace StgSharp.GenerateGL Console.Error.WriteLine($"error: {exception.Message}"); return QueryErrorExitCode; } + catch (UnauthorizedAccessException exception) + { + Console.Error.WriteLine($"error: {exception.Message}"); + return QueryErrorExitCode; + } + catch (IOException exception) + { + Console.Error.WriteLine($"error: {exception.Message}"); + return QueryErrorExitCode; + } + catch (ArgumentException exception) + { + Console.Error.WriteLine($"error: {exception.Message}"); + return QueryErrorExitCode; + } + catch (NotSupportedException exception) + { + Console.Error.WriteLine($"error: {exception.Message}"); + return QueryErrorExitCode; + } Console.WriteLine( $"Generated {generatedFiles.Files.Count} file(s) in memory."); Console.WriteLine("Use 'list files' and 'preview ' to inspect them."); - Console.WriteLine("No files were written to disk."); + Console.WriteLine( + resolvedOutputDirectory is null + ? "No files were written to disk." + : $"Wrote {generatedFiles.Files.Count} file(s) to " + + $"'{resolvedOutputDirectory}'."); return SuccessExitCode; } + private static string WriteGeneratedFiles( + GeneratedFileSet files, + string outputDirectory + ) + { + ArgumentNullException.ThrowIfNull(files); + ArgumentException.ThrowIfNullOrWhiteSpace(outputDirectory); + + string directory = Path.TrimEndingDirectorySeparator( + Path.GetFullPath(outputDirectory)); + if (!Directory.Exists(directory)) + { + throw new DirectoryNotFoundException( + $"Output directory '{directory}' does not exist."); + } + + StringComparison pathComparison = OperatingSystem.IsWindows() + ? StringComparison.OrdinalIgnoreCase + : StringComparison.Ordinal; + List stagedFiles = new List( + files.Files.Count); + try + { + foreach (GeneratedFile file in files.Files) + { + string fileName = Path.GetFileName(file.Name); + if (!string.Equals(fileName, file.Name, StringComparison.Ordinal) || + string.IsNullOrWhiteSpace(fileName)) + { + throw new InvalidDataException( + $"Generated file name '{file.Name}' is not a plain file name."); + } + + string targetPath = Path.GetFullPath(Path.Combine(directory, fileName)); + if (!string.Equals( + Path.GetDirectoryName(targetPath), + directory, + pathComparison)) + { + throw new InvalidDataException( + $"Generated file '{file.Name}' escapes the output directory."); + } + + EnsureTargetCanBeReplaced(targetPath); + string temporaryPath = Path.Combine( + directory, + $".{fileName}.{Guid.NewGuid():N}.tmp"); + using (FileStream stream = new FileStream( + temporaryPath, + FileMode.CreateNew, + FileAccess.Write, + FileShare.None)) + using (StreamWriter writer = new StreamWriter( + stream, + new UTF8Encoding(false))) + { + writer.Write(file.Content); + } + + stagedFiles.Add(new StagedGeneratedFile(temporaryPath, targetPath)); + } + + foreach (StagedGeneratedFile file in stagedFiles) + { + File.Move(file.TemporaryPath, file.TargetPath, true); + } + } + finally + { + foreach (StagedGeneratedFile file in stagedFiles) + { + if (File.Exists(file.TemporaryPath)) + { + File.Delete(file.TemporaryPath); + } + } + } + + return directory; + } + + private static void EnsureTargetCanBeReplaced( + string targetPath + ) + { + if (!File.Exists(targetPath)) + { + return; + } + + string? firstLine = File.ReadLines(targetPath).FirstOrDefault(); + if (!string.Equals(firstLine, GeneratedFileMarker, StringComparison.Ordinal)) + { + throw new IOException( + $"Refusing to overwrite non-generated file '{targetPath}'."); + } + } + public static int ListFiles( GeneratedFileSet files, IReadOnlyList arguments @@ -90,7 +221,7 @@ namespace StgSharp.GenerateGL return QueryErrorExitCode; } - Console.WriteLine("Generated files (memory only)"); + Console.WriteLine("Generated files held in the current session"); for (int index = 0; index < files.Files.Count; index++) { GeneratedFile file = files.Files[index]; @@ -141,16 +272,23 @@ namespace StgSharp.GenerateGL Console.WriteLine(); Console.WriteLine("Usage:"); Console.WriteLine(" generate"); + Console.WriteLine(" generate "); Console.WriteLine(" generate --help"); Console.WriteLine(); - Console.WriteLine("Status:"); - Console.WriteLine(" Output is retained in the current process only."); - Console.WriteLine(" Running 'generate' does not create or modify disk files."); + Console.WriteLine("Output:"); + Console.WriteLine(" Without a directory, output is retained in memory only."); + Console.WriteLine(" The output directory must already exist and be writable."); + Console.WriteLine(" Existing files are replaced only when marked as generated."); Console.WriteLine(); Console.WriteLine("Inspection:"); Console.WriteLine(" list files"); Console.WriteLine(" preview "); } + private sealed record StagedGeneratedFile( + string TemporaryPath, + string TargetPath + ); + } } diff --git a/tools/StgSharp.GenerateGL/Generation/GlGetValueApiFilter.cs b/tools/StgSharp.GenerateGL/Generation/GlGetValueApiFilter.cs new file mode 100644 index 00000000..03e3392f --- /dev/null +++ b/tools/StgSharp.GenerateGL/Generation/GlGetValueApiFilter.cs @@ -0,0 +1,111 @@ +// ----------------------------------------------------------------------------- +// file="GlGetValueApiFilter" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using StgSharp.GenerateGL.Registry; + +namespace StgSharp.GenerateGL.Generation +{ + /// + /// Replaces desktop state query pointer families with typed Span overloads. + /// + internal sealed class GlGetValueApiFilter : IGlApiFilter + { + + private static readonly Regex _pattern = new Regex( + @"^glGet(?Boolean|Double|Float|Integer64|Integer)(?i_)?v$", + RegexOptions.Compiled | RegexOptions.CultureInvariant); + + public IReadOnlyList Apply( + GlCommandDefinition command, + IReadOnlyList methods, + GlEquivalentTypeMapper typeMapper + ) + { + ArgumentNullException.ThrowIfNull(command); + ArgumentNullException.ThrowIfNull(methods); + ArgumentNullException.ThrowIfNull(typeMapper); + + Match match = _pattern.Match(command.Name); + if (!match.Success) + { + return methods; + } + + bool isIndexed = match.Groups["indexed"].Success; + int prefixCount = isIndexed ? 2 : 1; + if (typeMapper.ReadReturnType(command) != "void" || + command.Parameters.Count != prefixCount + 1) + { + throw new InvalidOperationException( + $"State query '{command.Name}' does not match its recognized shape."); + } + + GlParameterDefinition output = command.Parameters[^1]; + string elementType = ReadElementType(match.Groups["type"].Value); + string expectedLength = $"COMPSIZE({command.Parameters[0].Name})"; + if (output.DeclarationText.Contains("const", StringComparison.Ordinal) || + typeMapper.ReadParameterType(output) != $"{elementType}*" || + !string.Equals(output.Length, expectedLength, StringComparison.Ordinal)) + { + throw new InvalidOperationException( + $"State query '{command.Name}' has inconsistent output metadata."); + } + + List parameters = new List(); + List arguments = new List(); + for (int index = 0; index < prefixCount; index++) + { + GlParameterDefinition source = command.Parameters[index]; + parameters.Add( + new ManagedParameterDefinition( + typeMapper.ReadParameterType(source), + source.Name, + source)); + arguments.Add(new ParameterArgument(index)); + } + + parameters.Add( + new ManagedParameterDefinition( + $"Span<{elementType}>", + "values", + output)); + return Array.AsReadOnly( + new[] + { + new ManagedMethodDefinition( + "GetValue", + "void", + Array.AsReadOnly(parameters.ToArray()), + command, + new QuerySpanInvocation( + Array.AsReadOnly(arguments.ToArray()), + parameters.Count - 1, + elementType)), + }); + } + + private static string ReadElementType( + string name + ) + { + return name switch + { + "Boolean" => "byte", + "Double" => "double", + "Float" => "float", + "Integer" => "int", + "Integer64" => "long", + _ => throw new InvalidOperationException( + $"Unsupported state query component type '{name}'."), + }; + } + + } +} diff --git a/tools/StgSharp.GenerateGL/Generation/GlOverloadApiFilter.cs b/tools/StgSharp.GenerateGL/Generation/GlOverloadApiFilter.cs index 3c82424f..f9783252 100644 --- a/tools/StgSharp.GenerateGL/Generation/GlOverloadApiFilter.cs +++ b/tools/StgSharp.GenerateGL/Generation/GlOverloadApiFilter.cs @@ -34,6 +34,10 @@ namespace StgSharp.GenerateGL.Generation @"^glVertexAttrib(?[1-4])(?d|f|s)(?v?)$", RegexOptions.Compiled | RegexOptions.CultureInvariant); + private static readonly Regex _redundantVertexAttributeVectorPattern = new Regex( + @"^glVertexAttrib(?:I[1-4](?:i|ui)|L[1-4]d|P[1-4]ui|4Nub)v$", + RegexOptions.Compiled | RegexOptions.CultureInvariant); + private static readonly string[] _components = { "X", "Y", "Z", "W" }; public IReadOnlyList Apply( @@ -46,6 +50,11 @@ namespace StgSharp.GenerateGL.Generation ArgumentNullException.ThrowIfNull(methods); ArgumentNullException.ThrowIfNull(typeMapper); + if (_redundantVertexAttributeVectorPattern.IsMatch(command.Name)) + { + return Array.Empty(); + } + Match matrixMatch = _matrixUniformPattern.Match(command.Name); if (matrixMatch.Success) { diff --git a/tools/StgSharp.GenerateGL/Generation/ManagedApiModel.cs b/tools/StgSharp.GenerateGL/Generation/ManagedApiModel.cs index da29c4ad..34fa606d 100644 --- a/tools/StgSharp.GenerateGL/Generation/ManagedApiModel.cs +++ b/tools/StgSharp.GenerateGL/Generation/ManagedApiModel.cs @@ -16,7 +16,8 @@ namespace StgSharp.GenerateGL.Generation IReadOnlyList Parameters, GlCommandDefinition NativeCommand, ManagedInvocation Invocation, - bool WrapHandleReturn = false + bool WrapHandleReturn = false, + string? DocumentationPage = null ); internal sealed record ManagedParameterDefinition( @@ -53,6 +54,12 @@ namespace StgSharp.GenerateGL.Generation bool IsSpan ) : ManagedInvocation; + internal sealed record QuerySpanInvocation( + IReadOnlyList PrefixArguments, + int SpanParameterIndex, + string ElementType + ) : ManagedInvocation; + internal abstract record ManagedArgument; internal sealed record ParameterArgument( diff --git a/tools/StgSharp.GenerateGL/Generation/ManagedApiPlanner.cs b/tools/StgSharp.GenerateGL/Generation/ManagedApiPlanner.cs index aab0cc18..250c0d7d 100644 --- a/tools/StgSharp.GenerateGL/Generation/ManagedApiPlanner.cs +++ b/tools/StgSharp.GenerateGL/Generation/ManagedApiPlanner.cs @@ -8,6 +8,8 @@ using System; using System.Collections.Generic; using System.Linq; +using StgSharp.GenerateGL.Analysis; +using StgSharp.GenerateGL.Naming; using StgSharp.GenerateGL.Registry; namespace StgSharp.GenerateGL.Generation @@ -19,16 +21,21 @@ namespace StgSharp.GenerateGL.Generation new IGlApiFilter[] { new GlOverloadApiFilter(), + new GlGetValueApiFilter(), new GlHandleApiFilter(), }); private readonly GlEquivalentTypeMapper _typeMapper; + private readonly GlManagedApiNamePolicy _namePolicy; public ManagedApiPlanner( - GlEquivalentTypeMapper typeMapper + GlEquivalentTypeMapper typeMapper, + GlFunctionFamilyAnalysis familyAnalysis ) { ArgumentNullException.ThrowIfNull(typeMapper); + ArgumentNullException.ThrowIfNull(familyAnalysis); _typeMapper = typeMapper; + _namePolicy = new GlManagedApiNamePolicy(familyAnalysis); } public IReadOnlyList Plan( @@ -50,9 +57,23 @@ namespace StgSharp.GenerateGL.Generation methods = filter.Apply(command, methods, _typeMapper); } - result.AddRange(methods); + result.AddRange( + methods.Select( + method => method with + { + Name = _namePolicy.ReadMethodName(command, method.Name), + DocumentationPage = _namePolicy.ReadDocumentationPage(command), + Parameters = Array.AsReadOnly( + method.Parameters.Select( + parameter => parameter with + { + Name = CSharpIdentifierPolicy.NormalizeParameterName( + parameter.Name), + }).ToArray()), + })); } + ResolveNameCollisions(result); return Array.AsReadOnly(result.ToArray()); } @@ -78,6 +99,55 @@ namespace StgSharp.GenerateGL.Generation } } + private static void ResolveNameCollisions( + List methods + ) + { + ILookup indicesBySignature = methods + .Select( + (method, index) => new + { + Index = index, + Signature = ReadManagedSignature(method), + }) + .ToLookup(value => value.Signature, value => value.Index, StringComparer.Ordinal); + foreach (IGrouping group in indicesBySignature) + { + int[] indices = group.ToArray(); + if (indices.Length < 2) + { + continue; + } + + string[] nativeNames = indices + .Select(value => methods[value].NativeCommand.Name) + .Distinct(StringComparer.Ordinal) + .ToArray(); + if (nativeNames.Length != indices.Length) + { + throw new InvalidOperationException( + $"Managed overload '{group.Key}' is duplicated by one native command."); + } + + foreach (int index in indices) + { + ManagedMethodDefinition method = methods[index]; + methods[index] = method with + { + Name = GlManagedApiNamePolicy.ReadNativeMethodName( + method.NativeCommand), + }; + } + } + } + + private static string ReadManagedSignature( + ManagedMethodDefinition method + ) + { + return $"{method.Name}({string.Join(",", method.Parameters.Select(value => value.Type))})"; + } + private ManagedMethodDefinition CreateRawMethod( GlCommandDefinition command ) diff --git a/tools/StgSharp.GenerateGL/Generation/OpenGlGenerator.cs b/tools/StgSharp.GenerateGL/Generation/OpenGlGenerator.cs index 4422eaa3..df81ba8f 100644 --- a/tools/StgSharp.GenerateGL/Generation/OpenGlGenerator.cs +++ b/tools/StgSharp.GenerateGL/Generation/OpenGlGenerator.cs @@ -13,6 +13,7 @@ using System.IO; using System.Linq; using System.Numerics; using System.Text; +using StgSharp.GenerateGL.Analysis; using StgSharp.GenerateGL.Registry; namespace StgSharp.GenerateGL.Generation @@ -23,9 +24,6 @@ namespace StgSharp.GenerateGL.Generation internal static class OpenGlGenerator { - private const string ApiName = "gl"; - private const string CoreProfile = "core"; - private static readonly HashSet _csharpKeywords = new HashSet( new[] { @@ -44,25 +42,41 @@ namespace StgSharp.GenerateGL.Generation StringComparer.Ordinal); public static GeneratedFileSet Generate( - GlRegistryModel registry + GlRegistryProjection projection ) { - ArgumentNullException.ThrowIfNull(registry); + ArgumentNullException.ThrowIfNull(projection); - IReadOnlyList commandGroups = ReadCoreCommandGroups(registry); + IReadOnlyList commandGroups = ReadCoreCommandGroups(projection); IReadOnlyList commands = Array.AsReadOnly( commandGroups.SelectMany(value => value.Commands).ToArray()); - GlEquivalentTypeMapper typeMapper = new GlEquivalentTypeMapper(registry); - ManagedApiPlanner apiPlanner = new ManagedApiPlanner(typeMapper); + GlEquivalentTypeMapper typeMapper = new GlEquivalentTypeMapper(projection.Source); + GlFunctionFamilyAnalysis familyAnalysis = GlFunctionFamilyAnalyzer.Analyze(projection); + ManagedApiPlanner apiPlanner = new ManagedApiPlanner(typeMapper, familyAnalysis); + IReadOnlyList managedMethods = apiPlanner.Plan(commands); + Dictionary> methodsByCommand = + managedMethods.GroupBy(value => value.NativeCommand.Name, StringComparer.Ordinal) + .ToDictionary( + value => value.Key, + value => (IReadOnlyList)Array.AsReadOnly( + value.ToArray()), + StringComparer.Ordinal); List managedGroups = commandGroups.Select( group => new ManagedCommandGroup( group, - apiPlanner.Plan(group.Commands))).ToList(); + Array.AsReadOnly( + group.Commands.SelectMany( + command => methodsByCommand.TryGetValue( + command.Name, + out IReadOnlyList? methods) + ? methods + : Array.Empty()) + .ToArray()))).ToList(); ManagedApiPlanner.Validate( managedGroups.SelectMany(value => value.Methods)); List files = new List { - new GeneratedFile("glconst.cs", GenerateConstants(registry)), + new GeneratedFile("glconst.cs", GenerateConstants(projection.Enums)), new GeneratedFile( "OpenglContext.g.cs", GenerateContext(commands, typeMapper)), @@ -84,67 +98,26 @@ namespace StgSharp.GenerateGL.Generation } private static ReadOnlyCollection ReadCoreCommandGroups( - GlRegistryModel registry + GlRegistryProjection projection ) { - Dictionary definitions = new Dictionary( - StringComparer.Ordinal); - foreach (GlCommandDefinition command in registry.Commands) - { - if (!definitions.TryAdd(command.Name, command)) - { - throw new InvalidDataException( - $"Command '{command.Name}' has more than one definition."); - } - } - - List order = new List(); - HashSet known = new HashSet(StringComparer.Ordinal); - HashSet active = new HashSet(StringComparer.Ordinal); - Dictionary introducedVersions = new Dictionary( - StringComparer.Ordinal); - foreach (GlFeatureDefinition feature in registry.Features.Where( - value => string.Equals(value.Api, ApiName, StringComparison.Ordinal))) - { - foreach (GlRequirementBlock block in feature.Requirements.Where(AppliesToCoreGl)) - { - foreach (GlRegistryReference reference in block.References.Where( - value => value.Kind == GlRegistryReferenceKind.Command)) - { - if (!definitions.ContainsKey(reference.Name)) - { - throw new InvalidDataException( - $"Feature '{feature.Name}' references undefined command " + - $"'{reference.Name}'."); - } - - if (block.Operation == GlRequirementOperation.Require) - { - active.Add(reference.Name); - if (known.Add(reference.Name)) - { - order.Add(reference.Name); - introducedVersions.Add(reference.Name, feature.Number); - } - } - else - { - active.Remove(reference.Name); - } - } - } - } - List foundation = new List(); Dictionary> versionGroups = new Dictionary>( StringComparer.Ordinal); List versionOrder = new List(); - foreach (string commandName in order.Where(active.Contains)) + foreach (GlCommandDefinition command in projection.Commands) { - string version = introducedVersions[commandName]; + if (!projection.CommandIntroducedVersions.TryGetValue( + command.Name, + out string? version)) + { + throw new InvalidDataException( + $"Command '{command.Name}' has no introduction version."); + } + if (IsFoundationVersion(version)) { - foundation.Add(definitions[commandName]); + foundation.Add(command); continue; } @@ -157,7 +130,7 @@ namespace StgSharp.GenerateGL.Generation versionOrder.Add(version); } - commands.Add(definitions[commandName]); + commands.Add(command); } List groups = new List @@ -203,23 +176,8 @@ namespace StgSharp.GenerateGL.Generation return major < 3 || major == 3 && minor <= 2; } - private static bool AppliesToCoreGl( - GlRequirementBlock block - ) - { - bool matchesApi = block.Api is null || string.Equals( - block.Api, - ApiName, - StringComparison.Ordinal); - bool matchesProfile = block.Profile is null || string.Equals( - block.Profile, - CoreProfile, - StringComparison.Ordinal); - return matchesApi && matchesProfile; - } - private static string GenerateConstants( - GlRegistryModel registry + IReadOnlyList enums ) { StringBuilder builder = new StringBuilder(512 * 1024); @@ -231,8 +189,7 @@ namespace StgSharp.GenerateGL.Generation Dictionary emitted = new Dictionary( StringComparer.Ordinal); - foreach (GlEnumDefinition value in registry.EnumBlocks.SelectMany( - block => block.Enums).Where(IsDesktopEnum)) + foreach (GlEnumDefinition value in enums) { if (value.Value is null) { @@ -267,16 +224,6 @@ namespace StgSharp.GenerateGL.Generation return builder.ToString(); } - private static bool IsDesktopEnum( - GlEnumDefinition value - ) - { - return value.Api is null || string.Equals( - value.Api, - ApiName, - StringComparison.Ordinal); - } - private static ConstantExpression ReadConstantExpression( GlEnumDefinition value ) @@ -430,6 +377,7 @@ namespace StgSharp.GenerateGL.Generation foreach (ManagedMethodDefinition method in methods) { + AppendMethodDocumentation(builder, method); builder.Append("\n [MethodImpl(MethodImplOptions.AggressiveInlining)]\n"); builder.Append(" public "); builder.Append(method.ReturnType); @@ -460,6 +408,41 @@ namespace StgSharp.GenerateGL.Generation return builder.ToString(); } + private static void AppendMethodDocumentation( + StringBuilder builder, + ManagedMethodDefinition method + ) + { + string declaration = ReadNativeDeclaration(method.NativeCommand); + string page = method.DocumentationPage ?? method.NativeCommand.Name; + builder.Append("\n /// Forwards to the native C API "); + builder.Append(EscapeXml(declaration)); + builder.Append(".\n"); + builder.Append(" /// "); + } + + private static string ReadNativeDeclaration( + GlCommandDefinition command + ) + { + return $"{command.Return.DeclarationText}(" + + string.Join(", ", command.Parameters.Select(value => value.DeclarationText)) + + ");"; + } + + private static string EscapeXml( + string value + ) + { + return value.Replace("&", "&", StringComparison.Ordinal) + .Replace("<", "<", StringComparison.Ordinal) + .Replace(">", ">", StringComparison.Ordinal) + .Replace("\"", """, StringComparison.Ordinal) + .Replace("'", "'", StringComparison.Ordinal); + } + private static void AppendInvocation( StringBuilder builder, ManagedMethodDefinition method @@ -479,12 +462,42 @@ namespace StgSharp.GenerateGL.Generation case Matrix4Invocation matrix: AppendMatrix4Invocation(builder, method, matrix); break; + case QuerySpanInvocation query: + AppendQuerySpanInvocation(builder, method, query); + break; default: throw new InvalidOperationException( $"Unsupported managed invocation '{method.Invocation.GetType().Name}'."); } } + private static void AppendQuerySpanInvocation( + StringBuilder builder, + ManagedMethodDefinition method, + QuerySpanInvocation invocation + ) + { + ManagedParameterDefinition span = method.Parameters[invocation.SpanParameterIndex]; + string spanName = EscapeIdentifier(span.Name); + builder.Append(" fixed ("); + builder.Append(invocation.ElementType); + builder.Append("* __value = "); + builder.Append(spanName); + builder.Append(")\n"); + builder.Append(" {\n"); + builder.Append(" __context->"); + builder.Append(method.NativeCommand.Name); + builder.Append('('); + AppendArguments(builder, method, invocation.PrefixArguments); + if (invocation.PrefixArguments.Count != 0) + { + builder.Append(", "); + } + + builder.Append("__value);\n"); + builder.Append(" }\n"); + } + private static void AppendDirectInvocation( StringBuilder builder, ManagedMethodDefinition method, diff --git a/tools/StgSharp.GenerateGL/Naming/CSharpIdentifierPolicy.cs b/tools/StgSharp.GenerateGL/Naming/CSharpIdentifierPolicy.cs new file mode 100644 index 00000000..68e30fec --- /dev/null +++ b/tools/StgSharp.GenerateGL/Naming/CSharpIdentifierPolicy.cs @@ -0,0 +1,94 @@ +// ----------------------------------------------------------------------------- +// file="CSharpIdentifierPolicy" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Text.RegularExpressions; + +namespace StgSharp.GenerateGL.Naming +{ + internal static class CSharpIdentifierPolicy + { + + private static readonly Regex _attributeWord = new Regex( + @"Attrib(?!ute)", + RegexOptions.Compiled | RegexOptions.CultureInvariant); + + private static readonly Regex _attributeParameterWord = new Regex( + @"attrib(?!ute)", + RegexOptions.Compiled | RegexOptions.CultureInvariant); + + private static readonly Regex _fragmentWord = new Regex( + @"Frag(?!ment)", + RegexOptions.Compiled | RegexOptions.CultureInvariant); + + public static string NormalizeMemberName( + string value + ) + { + ArgumentException.ThrowIfNullOrWhiteSpace(value); + string result = value.Replace( + "Framebuffer", + "FrameBuffer", + StringComparison.Ordinal) + .Replace( + "Renderbuffer", + "RenderBuffer", + StringComparison.Ordinal) + .Replace( + "Internalformat", + "InternalFormat", + StringComparison.Ordinal); + result = _attributeWord.Replace(result, "Attribute"); + return _fragmentWord.Replace(result, "Fragment"); + } + + public static string NormalizeParameterName( + string value + ) + { + ArgumentException.ThrowIfNullOrWhiteSpace(value); + string result = value.Replace( + "Framebuffer", + "FrameBuffer", + StringComparison.Ordinal) + .Replace( + "framebuffer", + "frameBuffer", + StringComparison.Ordinal) + .Replace( + "Renderbuffer", + "RenderBuffer", + StringComparison.Ordinal) + .Replace( + "renderbuffer", + "renderBuffer", + StringComparison.Ordinal) + .Replace( + "Internalformat", + "InternalFormat", + StringComparison.Ordinal) + .Replace( + "internalformat", + "internalFormat", + StringComparison.Ordinal) + .Replace( + "attribindex", + "attributeIndex", + StringComparison.Ordinal) + .Replace( + "bindingindex", + "bindingIndex", + StringComparison.Ordinal) + .Replace( + "relativeoffset", + "relativeOffset", + StringComparison.Ordinal); + return _attributeParameterWord.Replace(result, "attribute"); + } + + } +} diff --git a/tools/StgSharp.GenerateGL/Naming/GlManagedApiNamePolicy.cs b/tools/StgSharp.GenerateGL/Naming/GlManagedApiNamePolicy.cs new file mode 100644 index 00000000..a7b4835a --- /dev/null +++ b/tools/StgSharp.GenerateGL/Naming/GlManagedApiNamePolicy.cs @@ -0,0 +1,345 @@ +// ----------------------------------------------------------------------------- +// file="GlManagedApiNamePolicy" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using StgSharp.GenerateGL.Analysis; +using StgSharp.GenerateGL.Registry; + +namespace StgSharp.GenerateGL.Naming +{ + /// + /// Translates native overload families into stable, semantic C# method names. + /// + internal sealed class GlManagedApiNamePolicy + { + + private static readonly Regex _getVertexAttributeModePattern = new Regex( + @"^glGetVertexAttrib(?I|L)(?:i|ui|d)v$", + RegexOptions.Compiled | RegexOptions.CultureInvariant); + + private static readonly Regex _vertexAttributeModePattern = new Regex( + @"^glVertexAttrib(?I|L|P)[1-4]", + RegexOptions.Compiled | RegexOptions.CultureInvariant); + + private readonly Dictionary _familiesByCommand; + + public GlManagedApiNamePolicy( + GlFunctionFamilyAnalysis analysis + ) + { + ArgumentNullException.ThrowIfNull(analysis); + _familiesByCommand = analysis.Families + .SelectMany( + family => family.Members.Select( + member => new KeyValuePair( + member.Command.Name, + new FamilyEntry(family, member.NameShape)))) + .ToDictionary( + value => value.Key, + value => value.Value, + StringComparer.Ordinal); + } + + public string ReadMethodName( + GlCommandDefinition command, + string currentName + ) + { + ArgumentNullException.ThrowIfNull(command); + ArgumentException.ThrowIfNullOrWhiteSpace(currentName); + + string rawName = CSharpIdentifierPolicy.NormalizeMemberName( + RemoveGlPrefix(command.Name)); + string normalizedCurrentName = CSharpIdentifierPolicy.NormalizeMemberName( + currentName); + if (!string.Equals(normalizedCurrentName, rawName, StringComparison.Ordinal)) + { + return normalizedCurrentName; + } + + string? specialName = ReadSpecialMethodName(command.Name); + if (specialName is not null) + { + return specialName; + } + + if (!_familiesByCommand.TryGetValue( + command.Name, + out FamilyEntry? entry)) + { + return rawName; + } + + string familyName = ReadSemanticFamilyName(entry.Family.Name); + if (entry.Family.ShapeNamePolicy == GlFunctionShapeNamePolicy.MustRetain && + entry.Shape?.Shape is not null) + { + familyName += entry.Shape.Shape; + } + + return CSharpIdentifierPolicy.NormalizeMemberName(familyName); + } + + public static string ReadNativeMethodName( + GlCommandDefinition command + ) + { + ArgumentNullException.ThrowIfNull(command); + return CSharpIdentifierPolicy.NormalizeMemberName(RemoveGlPrefix(command.Name)); + } + + public string ReadDocumentationPage( + GlCommandDefinition command + ) + { + ArgumentNullException.ThrowIfNull(command); + + string? specialPage = ReadSpecialDocumentationPage(command.Name); + if (specialPage is not null) + { + return specialPage; + } + + if (!_familiesByCommand.TryGetValue( + command.Name, + out FamilyEntry? entry)) + { + return command.Name; + } + + string familyName = entry.Family.Name + .Replace("FrameBuffer", "Framebuffer", StringComparison.Ordinal) + .Replace("RenderBuffer", "Renderbuffer", StringComparison.Ordinal) + .Replace("InternalFormat", "Internalformat", StringComparison.Ordinal) + .Replace("Attribute", "Attrib", StringComparison.Ordinal) + .Replace("Fragment", "Frag", StringComparison.Ordinal); + return $"gl{ReadDocumentationFamilyName(familyName)}"; + } + + private static string? ReadSpecialMethodName( + string commandName + ) + { + if (commandName == "glClearBufferfi") + { + return "ClearBuffer"; + } + + if (commandName == "glClearNamedFramebufferfi") + { + return "ClearNamedFrameBuffer"; + } + + if (commandName == "glGetVertexAttribPointerv") + { + return "GetVertexAttributePointer"; + } + + if (commandName.StartsWith("glVertexAttrib4N", StringComparison.Ordinal)) + { + return "VertexAttributeNormalized"; + } + + Match getMatch = _getVertexAttributeModePattern.Match(commandName); + if (getMatch.Success) + { + return getMatch.Groups["mode"].Value == "I" + ? "GetVertexAttributeInteger" + : "GetVertexAttributeDouble"; + } + + if (commandName is "glVertexAttribIFormat" or "glVertexArrayAttribIFormat") + { + return CSharpIdentifierPolicy.NormalizeMemberName( + RemoveGlPrefix(commandName).Replace( + "AttribIFormat", + "AttributeIntegerFormat", + StringComparison.Ordinal)); + } + + if (commandName is "glVertexAttribLFormat" or "glVertexArrayAttribLFormat") + { + return CSharpIdentifierPolicy.NormalizeMemberName( + RemoveGlPrefix(commandName).Replace( + "AttribLFormat", + "AttributeDoubleFormat", + StringComparison.Ordinal)); + } + + if (commandName == "glVertexAttribIPointer") + { + return "VertexAttributeIntegerPointer"; + } + + if (commandName == "glVertexAttribLPointer") + { + return "VertexAttributeDoublePointer"; + } + + Match vertexMatch = _vertexAttributeModePattern.Match(commandName); + if (!vertexMatch.Success) + { + return null; + } + + return vertexMatch.Groups["mode"].Value switch + { + "I" => "VertexAttributeInteger", + "L" => "VertexAttributeDouble", + "P" => $"VertexAttributePacked{ReadVertexAttributeWidth(commandName, 'P')}", + _ => null, + }; + } + + private static string ReadSemanticFamilyName( + string familyName + ) + { + return familyName switch + { + "VertexAttrib" or "VertexAttribute" => "VertexAttribute", + "VertexAttrib4N" or "VertexAttribute4N" => "VertexAttributeNormalized", + "VertexAttribI" or "VertexAttributeI" => "VertexAttributeInteger", + "VertexAttribL" or "VertexAttributeL" => "VertexAttributeDouble", + "VertexAttribP" or "VertexAttributeP" => "VertexAttributePacked", + "GetVertexAttrib" or "GetVertexAttribute" => "GetVertexAttribute", + "GetVertexAttribI" or "GetVertexAttributeI" => "GetVertexAttributeInteger", + "GetnUniform" => "GetUniform", + "SamplerParameterI" => "SamplerParameterInteger", + "GetSamplerParameterI" => "GetSamplerParameterInteger", + "TexParameter" => "TextureParameter", + "TexParameterI" => "TextureParameterInteger", + "GetTexParameter" => "GetTextureParameter", + "GetTexParameterI" => "GetTextureParameterInteger", + "GetTexLevelParameter" => "GetTextureLevelParameter", + "TextureParameter" => "NamedTextureParameter", + "TextureParameterI" => "NamedTextureParameterInteger", + "GetTextureParameter" => "GetNamedTextureParameter", + "GetTextureParameterI" => "GetNamedTextureParameterInteger", + "GetTextureLevelParameter" => "GetNamedTextureLevelParameter", + _ => familyName, + }; + } + + private static string ReadDocumentationFamilyName( + string familyName + ) + { + return familyName switch + { + "VertexAttrib4N" or "VertexAttribI" or "VertexAttribL" or + "VertexAttribP" => "VertexAttrib", + "GetVertexAttribI" => "GetVertexAttrib", + "SamplerParameterI" => "SamplerParameter", + "GetSamplerParameterI" => "GetSamplerParameter", + "TexParameterI" => "TexParameter", + "GetTexParameterI" => "GetTexParameter", + "TextureParameterI" => "TextureParameter", + "GetTextureParameterI" => "GetTextureParameter", + _ => familyName, + }; + } + + private static string? ReadSpecialDocumentationPage( + string commandName + ) + { + if (commandName.StartsWith("glProgramUniformMatrix", StringComparison.Ordinal)) + { + return "glProgramUniform"; + } + + if (commandName.StartsWith("glUniformMatrix", StringComparison.Ordinal)) + { + return "glUniform"; + } + + if (commandName is "glVertexAttribIPointer" or "glVertexAttribLPointer") + { + return "glVertexAttribPointer"; + } + + if (commandName is "glVertexAttribIFormat" or "glVertexAttribLFormat" or + "glVertexArrayAttribFormat" or "glVertexArrayAttribIFormat" or + "glVertexArrayAttribLFormat") + { + return "glVertexAttribFormat"; + } + + if (commandName == "glClearBufferfi") + { + return "glClearBuffer"; + } + + if (commandName == "glClearNamedFramebufferfi") + { + return "glClearNamedFramebuffer"; + } + + if (commandName is "glGetBooleanv" or "glGetDoublev" or + "glGetFloatv" or "glGetIntegerv" or "glGetInteger64v" or + "glGetBooleani_v" or "glGetDoublei_v" or "glGetFloati_v" or + "glGetIntegeri_v" or "glGetInteger64i_v") + { + return "glGet"; + } + + if (commandName == "glGetVertexAttribPointerv") + { + return commandName; + } + + if (commandName.StartsWith("glGetVertexAttrib", StringComparison.Ordinal)) + { + return "glGetVertexAttrib"; + } + + if (commandName.StartsWith("glVertexAttrib", StringComparison.Ordinal) && + commandName.Length > "glVertexAttrib".Length && + char.IsDigit(commandName["glVertexAttrib".Length]) || + commandName.StartsWith("glVertexAttribI", StringComparison.Ordinal) && + commandName != "glVertexAttribIFormat" && + commandName != "glVertexAttribIPointer" || + commandName.StartsWith("glVertexAttribL", StringComparison.Ordinal) && + commandName != "glVertexAttribLFormat" && + commandName != "glVertexAttribLPointer" || + commandName.StartsWith("glVertexAttribP", StringComparison.Ordinal)) + { + return "glVertexAttrib"; + } + + return null; + } + + private static char ReadVertexAttributeWidth( + string commandName, + char mode + ) + { + int index = commandName.IndexOf(mode, "glVertexAttrib".Length) + 1; + return commandName[index]; + } + + private static string RemoveGlPrefix( + string name + ) + { + return name.StartsWith("gl", StringComparison.Ordinal) && name.Length > 2 + ? name[2..] + : name; + } + + private sealed record FamilyEntry( + GlFunctionFamily Family, + GlFunctionNameShape? Shape + ); + + } +} diff --git a/tools/StgSharp.GenerateGL/README.md b/tools/StgSharp.GenerateGL/README.md new file mode 100644 index 00000000..125ba9c7 --- /dev/null +++ b/tools/StgSharp.GenerateGL/README.md @@ -0,0 +1,157 @@ +# StgSharp.GenerateGL + +`StgSharp.GenerateGL` generates the StgSharp desktop OpenGL C# bindings from the Khronos `gl.xml` registry. + +The current target is OpenGL 4.6 Core. The generator does not emit OpenGL ES or mix extension entry points into the core API. `gl.xml` is the authoritative generation input; the retained `gl.h` is reference material only. + +## Usage + +Start the interactive CLI: + +```powershell +dotnet run --project tools/StgSharp.GenerateGL/StgSharp.GenerateGL.csproj +``` + +Common commands: + +```text +summary +find glBindBuffer +show command glBindBuffer +target summary +families list Vertex +families show VertexAttributeP +generate +list files +preview OpenGLFunction.v4_1.g.cs +``` + +Generate directly into an existing directory: + +```powershell +dotnet run --project tools/StgSharp.GenerateGL/StgSharp.GenerateGL.csproj -- generate src/StgSharp.Graphics/OpenGL/Generated +``` + +Without a directory, `generate` retains its output in the current CLI session. With a directory: + +- the directory must already exist and be writable; +- each file is staged in the destination directory before replacing its target; +- an existing file is replaced only when its first line is `// `; +- unrelated and obsolete generated files are not deleted. + +Use a directory dedicated to generated source files. + +## Pipeline + +```text +gl.xml + -> lossless XML and registry models + -> desktop OpenGL 4.6 Core projection + -> function-family and scalar/vector relation analysis + -> managed API filters + -> C# naming and signature validation + -> in-memory generated file set + -> preview or directory output +``` + +The target projection removes GLES and ARB/NV/EXT extension entry points. It retains only commands and constants present in the target Core Profile. + +Generated files: + +- `glconst.cs`: core constants; +- `OpenglContext.g.cs`: the function-pointer table with native names and ABI types; +- `OpenGLFunction.Base.g.cs`: APIs introduced through OpenGL 3.2 and retained in the target profile; +- `OpenGLFunction.v3_3.g.cs` through `OpenGLFunction.v4_6.g.cs`: APIs introduced by each later core version. + +`OpenglContext` intentionally remains close to the C ABI. Overloads, `Span`, `GlHandle`, and managed naming exist only in the `OpenGLFunction` layer. + +## Overload rules + +The generator merges a family only when it can validate the resulting signatures. Every managed method retains a reference to its original `gl*` command. + +| Native C API | Generated API | +| --- | --- | +| `glUniform1f` through `glUniform4f` | Scalar `Uniform(...)` overloads | +| `glUniform*i`, `glUniform*ui`, and `glUniform*d` | Merged into `Uniform(...)` by C# parameter type | +| `glProgramUniform*` | Merged into `ProgramUniform(...)` by the same rules | +| `glUniform1*v` | `Uniform(..., ReadOnlySpan)` | +| `glUniform4*v` | `Uniform(..., ReadOnlySpan>)` | +| `glUniform2*v` and `glUniform3*v` | Omitted because `Vec2` and `Vec3` storage is not a tightly packed C array | +| `glUniformMatrix4fv` | `Uniform(..., GraphicsMatrix)` and matrix-span overloads | +| Other matrix sizes and double matrices | Omitted because only the graphics-oriented 4x4 float layout is defined | +| `glGetBooleanv`, `glGetFloatv`, `glGetIntegerv`, and related queries | `GetValue(..., Span)` | +| `glVertexAttrib1f/2f/3f/4f` and equivalent scalar forms | `VertexAttribute(...)`; component count is expressed by the parameter list | +| `glVertexAttrib*fv/*iv/...` with a scalar equivalent | Omitted instead of exposing a duplicate C-style pointer entry point | +| `glVertexAttrib4N*` | `VertexAttributeNormalized(...)` | +| `glVertexAttribI*` | `VertexAttributeInteger(...)` | +| `glVertexAttribL*` | `VertexAttributeDouble(...)`; `L` does not mean C# `long` | +| `glVertexAttribP1ui` through `P4ui` | `VertexAttributePacked1(...)` through `Packed4(...)`; the width prevents signature collisions | +| `glGetVertexAttribI*` and `L*` | `GetVertexAttributeInteger(...)` and `GetVertexAttributeDouble(...)` | +| `glScissorIndexed` and `glScissorIndexedv` | `ScissorIndexed(...)` overloads | + +Function families are inferred from common name prefixes, shape suffixes, type suffixes, and vector forms. Candidates are checked against: + +- the `gl.xml` `` relation; +- parameter `len`, `kind`, and native types; +- scalar `T` versus `const T*` relationships; +- uniqueness of the final C# signature. + +If incomplete type mapping causes two methods to collapse to the same C# signature, the generator conservatively restores their normalized native names instead of emitting uncompilable overloads. + +## Renaming rules + +Safe lexical normalization applies to all public methods: + +| OpenGL spelling | C# spelling | +| --- | --- | +| `Framebuffer` / `framebuffer` | `FrameBuffer` / `frameBuffer` | +| `Renderbuffer` / `renderbuffer` | `RenderBuffer` / `renderBuffer` | +| `Internalformat` / `internalformat` | `InternalFormat` / `internalFormat` | +| `Attrib` / `attrib` | `Attribute` / `attribute` | +| `Frag` | `Fragment` | +| `attribindex` | `attributeIndex` | +| `bindingindex` | `bindingIndex` | +| `relativeoffset` | `relativeOffset` | + +Families that represent distinct semantics receive explicit names: + +| Native family | Managed family | +| --- | --- | +| `TexParameter*` | `TextureParameter(...)` | +| DSA `TextureParameter*` | `NamedTextureParameter(...)` | +| `TexParameterI*` | `TextureParameterInteger(...)` | +| DSA `TextureParameterI*` | `NamedTextureParameterInteger(...)` | +| `SamplerParameterI*` | `SamplerParameterInteger(...)` | +| `GetnUniform*` | Merged into `GetUniform(...)` when signatures permit | +| `VertexAttribI/L/P/N` | Expanded to `Integer/Double/Packed/Normalized` | + +Renaming never changes the native target. For example, `VertexAttributeInteger(...)` still calls `__context->glVertexAttribI*`. + +## Type rules + +- `gl.xml` typedefs map to equivalent C# ABI types; the generator does not emit separate type aliases; +- a `GLuint` is converted to `GlHandle` only when object class and parameter semantics identify it as an object handle; +- handle arrays use `Span` or `ReadOnlySpan`; +- `OpenGLFunction` stores an `OpenglContext*` and forwards through `__context->glFunction(...)`; +- unknown-length arrays, complex outputs, multiple indirection, and `void*` remain pointers. + +A `T*` alone does not determine whether a managed API should use `Span`, `ReadOnlySpan`, `out T`, or a return value. Future pointer improvements should be implemented as family-specific filters validated with `len`, parameter direction, and OpenGL state semantics. + +## Documentation comments + +Every generated public method contains: + +- its original C API declaration; +- a `` link to the corresponding docs.gl OpenGL 4 page or family page. + +The generator does not emit `` or `` elements and does not copy docs.gl content. + +## Source layout + +- `Registry/`: the `gl.xml` object model and Core Profile projection; +- `Analysis/`: function families, name shapes, and scalar/vector relations; +- `Generation/`: type mapping, API filters, signature planning, and file generation; +- `Naming/`: C# identifier and semantic-family naming policies; +- `XmlCli.cs`, `RegistryCli.cs`, and `FunctionFamilyCli.cs`: interactive inspection; +- `GenerateCli.cs`: in-memory preview and protected directory output. + diff --git a/tools/StgSharp.GenerateGL/Registry/DesktopGlCoreRegistryFilter.cs b/tools/StgSharp.GenerateGL/Registry/DesktopGlCoreRegistryFilter.cs new file mode 100644 index 00000000..135729ee --- /dev/null +++ b/tools/StgSharp.GenerateGL/Registry/DesktopGlCoreRegistryFilter.cs @@ -0,0 +1,258 @@ +// ----------------------------------------------------------------------------- +// file="DesktopGlCoreRegistryFilter" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.IO; +using System.Linq; + +namespace StgSharp.GenerateGL.Registry +{ + /// + /// Selects the active desktop OpenGL core API without extension requirements. + /// + internal static class DesktopGlCoreRegistryFilter + { + + public const string ApiName = "gl"; + public const string CoreProfile = "core"; + public const string LatestVersion = "4.6"; + + public static GlRegistryProjection Apply( + GlRegistryModel registry, + string maximumVersion = LatestVersion + ) + { + ArgumentNullException.ThrowIfNull(registry); + Version maximum = ReadVersion(maximumVersion); + + GlFeatureDefinition[] features = registry.Features + .Where( + value => string.Equals(value.Api, ApiName, StringComparison.Ordinal) && + ReadVersion(value.Number) <= maximum) + .ToArray(); + Dictionary commandDefinitions = ReadCommandDefinitions( + registry); + Dictionary enumDefinitions = ReadEnumDefinitions(registry); + SymbolSelection commands = new SymbolSelection(); + SymbolSelection enums = new SymbolSelection(); + + foreach (GlFeatureDefinition feature in features) + { + foreach (GlRequirementBlock block in feature.Requirements.Where(AppliesToTarget)) + { + foreach (GlRegistryReference reference in block.References) + { + SymbolSelection? selection = reference.Kind switch + { + GlRegistryReferenceKind.Command => commands, + GlRegistryReferenceKind.Enum => enums, + GlRegistryReferenceKind.Type => null, + _ => throw new InvalidDataException( + $"Unknown registry reference kind '{reference.Kind}'."), + }; + if (selection is null) + { + continue; + } + + if (block.Operation == GlRequirementOperation.Require) + { + selection.Require(reference.Name, feature.Number); + } + else + { + selection.Remove(reference.Name); + } + } + } + } + + GlCommandDefinition[] selectedCommands = commands.ReadActiveNames() + .Select( + name => ReadDefinition( + commandDefinitions, + name, + "command")) + .ToArray(); + GlEnumDefinition[] selectedEnums = enums.ReadActiveNames() + .Select( + name => ReadDefinition( + enumDefinitions, + name, + "enum")) + .ToArray(); + + return new GlRegistryProjection( + registry, + ApiName, + CoreProfile, + maximumVersion, + Freeze(features), + Freeze(selectedCommands), + Freeze(selectedEnums), + commands.FreezeIntroducedVersions(), + enums.FreezeIntroducedVersions()); + } + + private static bool AppliesToTarget( + GlRequirementBlock block + ) + { + bool matchesApi = block.Api is null || string.Equals( + block.Api, + ApiName, + StringComparison.Ordinal); + bool matchesProfile = block.Profile is null || string.Equals( + block.Profile, + CoreProfile, + StringComparison.Ordinal); + return matchesApi && matchesProfile; + } + + private static Dictionary ReadCommandDefinitions( + GlRegistryModel registry + ) + { + Dictionary result = new Dictionary( + StringComparer.Ordinal); + foreach (GlCommandDefinition command in registry.Commands) + { + if (!result.TryAdd(command.Name, command)) + { + throw new InvalidDataException( + $"Command '{command.Name}' has more than one definition."); + } + } + + return result; + } + + private static Dictionary ReadEnumDefinitions( + GlRegistryModel registry + ) + { + Dictionary result = new Dictionary( + StringComparer.Ordinal); + foreach (GlEnumDefinition value in registry.EnumBlocks.SelectMany( + block => block.Enums).Where(IsDesktopDefinition)) + { + if (!result.TryGetValue(value.Name, out GlEnumDefinition? previous)) + { + result.Add(value.Name, value); + continue; + } + + if (previous.Value is not null && value.Value is not null && !string.Equals( + previous.Value, + value.Value, + StringComparison.Ordinal)) + { + throw new InvalidDataException( + $"Enum '{value.Name}' has conflicting desktop values " + + $"'{previous.Value}' and '{value.Value}'."); + } + + if (previous.Value is null && value.Value is not null) + { + result[value.Name] = value; + } + } + + return result; + } + + private static bool IsDesktopDefinition( + GlEnumDefinition value + ) + { + return value.Api is null || string.Equals( + value.Api, + ApiName, + StringComparison.Ordinal); + } + + private static T ReadDefinition( + IReadOnlyDictionary definitions, + string name, + string kind + ) + { + if (!definitions.TryGetValue(name, out T? definition)) + { + throw new InvalidDataException( + $"Desktop OpenGL core references undefined {kind} '{name}'."); + } + + return definition; + } + + private static Version ReadVersion( + string value + ) + { + if (!Version.TryParse(value, out Version? version)) + { + throw new InvalidDataException( + $"OpenGL feature version '{value}' is not a valid version."); + } + + return version; + } + + private static ReadOnlyCollection Freeze( + IEnumerable values + ) + { + return Array.AsReadOnly(values.ToArray()); + } + + private sealed class SymbolSelection + { + + private readonly HashSet _active = new HashSet(StringComparer.Ordinal); + private readonly Dictionary _introducedVersions = new Dictionary( + StringComparer.Ordinal); + private readonly List _order = new List(); + + public void Require( + string name, + string version + ) + { + _active.Add(name); + if (_introducedVersions.TryAdd(name, version)) + { + _order.Add(name); + } + } + + public void Remove( + string name + ) + { + _active.Remove(name); + } + + public IEnumerable ReadActiveNames() + { + return _order.Where(_active.Contains); + } + + public ReadOnlyDictionary FreezeIntroducedVersions() + { + return new ReadOnlyDictionary( + new Dictionary( + _introducedVersions, + StringComparer.Ordinal)); + } + + } + + } +} diff --git a/tools/StgSharp.GenerateGL/Registry/GlRegistryProjection.cs b/tools/StgSharp.GenerateGL/Registry/GlRegistryProjection.cs new file mode 100644 index 00000000..6dbaa483 --- /dev/null +++ b/tools/StgSharp.GenerateGL/Registry/GlRegistryProjection.cs @@ -0,0 +1,26 @@ +// ----------------------------------------------------------------------------- +// file="GlRegistryProjection" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System.Collections.Generic; + +namespace StgSharp.GenerateGL.Registry +{ + /// + /// Represents one API/profile target selected from the complete registry. + /// + internal sealed record GlRegistryProjection( + GlRegistryModel Source, + string Api, + string Profile, + string MaximumVersion, + IReadOnlyList Features, + IReadOnlyList Commands, + IReadOnlyList Enums, + IReadOnlyDictionary CommandIntroducedVersions, + IReadOnlyDictionary EnumIntroducedVersions + ); +} diff --git a/tools/StgSharp.GenerateGL/RegistryCli.cs b/tools/StgSharp.GenerateGL/RegistryCli.cs index 499ef9fa..c0a8349c 100644 --- a/tools/StgSharp.GenerateGL/RegistryCli.cs +++ b/tools/StgSharp.GenerateGL/RegistryCli.cs @@ -19,8 +19,7 @@ namespace StgSharp.GenerateGL internal static class RegistryCli { - private const int DefaultFindLimit = 10; - private const int DefaultListLimit = 20; + private const int ShowAllResults = int.MaxValue; private const int QueryErrorExitCode = 1; private const int SuccessExitCode = 0; private const int UsageErrorExitCode = 2; @@ -559,7 +558,7 @@ namespace StgSharp.GenerateGL } filter = null; - limit = DefaultListLimit; + limit = ShowAllResults; int index = 1; if (index < arguments.Count && !arguments[index].StartsWith( "--", @@ -571,7 +570,8 @@ namespace StgSharp.GenerateGL while (index < arguments.Count) { string argument = arguments[index++]; - if (argument == "--limit" && TryReadPositiveInt( + if ((argument == "--showcount" || argument == "--limit") && + TryReadPositiveInt( arguments, ref index, out limit)) @@ -608,7 +608,7 @@ namespace StgSharp.GenerateGL text = arguments[0]; exact = false; - limit = DefaultFindLimit; + limit = ShowAllResults; int index = 1; while (index < arguments.Count) { @@ -619,7 +619,8 @@ namespace StgSharp.GenerateGL continue; } - if (argument == "--limit" && TryReadPositiveInt( + if ((argument == "--showcount" || argument == "--limit") && + TryReadPositiveInt( arguments, ref index, out limit)) @@ -653,12 +654,13 @@ namespace StgSharp.GenerateGL } name = arguments[1]; - limit = DefaultListLimit; + limit = ShowAllResults; int index = 2; while (index < arguments.Count) { string argument = arguments[index++]; - if (argument == "--limit" && TryReadPositiveInt( + if ((argument == "--showcount" || argument == "--limit") && + TryReadPositiveInt( arguments, ref index, out limit)) diff --git a/tools/StgSharp.GenerateGL/TargetRegistryCli.cs b/tools/StgSharp.GenerateGL/TargetRegistryCli.cs new file mode 100644 index 00000000..be63069f --- /dev/null +++ b/tools/StgSharp.GenerateGL/TargetRegistryCli.cs @@ -0,0 +1,59 @@ +// ----------------------------------------------------------------------------- +// file="TargetRegistryCli" +// Project: StgSharp +// Copyright (c) Nitload. +// SPDX-License-Identifier: MIT +// ----------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using StgSharp.GenerateGL.Registry; + +namespace StgSharp.GenerateGL +{ + internal static class TargetRegistryCli + { + + private const int SuccessExitCode = 0; + private const int UsageErrorExitCode = 2; + + public static int Execute( + GlRegistryProjection projection, + IReadOnlyList arguments + ) + { + ArgumentNullException.ThrowIfNull(projection); + ArgumentNullException.ThrowIfNull(arguments); + + if (arguments.Count > 1 || arguments.Count == 1 && !string.Equals( + arguments[0], + "summary", + StringComparison.OrdinalIgnoreCase)) + { + Console.Error.WriteLine("error: target accepts only the 'summary' command."); + return UsageErrorExitCode; + } + + Console.WriteLine("Registry target projection"); + WriteProperty("api", projection.Api); + WriteProperty("profile", projection.Profile); + WriteProperty("maximum version", projection.MaximumVersion); + WriteProperty("features", projection.Features.Count); + WriteProperty("commands", projection.Commands.Count); + WriteProperty("enums", projection.Enums.Count); + WriteProperty("extensions", 0); + WriteProperty("source commands", projection.Source.Commands.Count); + WriteProperty("source extensions", projection.Source.Extensions.Count); + return SuccessExitCode; + } + + private static void WriteProperty( + string name, + object value + ) + { + Console.WriteLine($" {name}: {value}"); + } + + } +} diff --git a/tools/StgSharp.GenerateGL/XmlCli.cs b/tools/StgSharp.GenerateGL/XmlCli.cs index 37d695f1..4050f9ad 100644 --- a/tools/StgSharp.GenerateGL/XmlCli.cs +++ b/tools/StgSharp.GenerateGL/XmlCli.cs @@ -14,6 +14,7 @@ using System.Text; using System.Xml; using System.Xml.Linq; using System.Xml.XPath; +using StgSharp.GenerateGL.Analysis; using StgSharp.GenerateGL.Generation; using StgSharp.GenerateGL.Registry; using StgSharp.GenerateGL.Tree; @@ -26,10 +27,9 @@ namespace StgSharp.GenerateGL internal const int LoadErrorExitCode = 3; private const int DefaultDepth = 2; - private const int DefaultLimit = 20; - private const int DefaultSearchLimit = 5; + private const int ShowAllResults = int.MaxValue; private const int ReadableDepth = 6; - private const int SearchReadableChildLimit = 8; + private const int SearchContextParentChildThreshold = 20; private const int SearchReadableDepth = 4; private const int QueryErrorExitCode = 1; private const int SuccessExitCode = 0; @@ -85,6 +85,12 @@ namespace StgSharp.GenerateGL command, arguments), "GENERATE" or "GEN" => QueryGenerate(session, arguments), + "TARGET" => TargetRegistryCli.Execute( + session.TargetRegistry, + arguments), + "FAMILY" or "FAMILIES" => FunctionFamilyCli.Execute( + session.FunctionFamilies, + arguments), "PREVIEW" => GenerateCli.Preview( session.GeneratedFiles, arguments), @@ -113,7 +119,7 @@ namespace StgSharp.GenerateGL ) { int result = GenerateCli.Generate( - session.Registry, + session.TargetRegistry, arguments, out GeneratedFileSet? generatedFiles); if (generatedFiles is not null) @@ -192,7 +198,7 @@ namespace StgSharp.GenerateGL context, 0, SearchReadableDepth, - SearchReadableChildLimit); + ShowAllResults); } WriteTruncation(matches.Length, displayedCount); @@ -229,7 +235,7 @@ namespace StgSharp.GenerateGL } Console.WriteLine($"[{index + 1}] {GetElementPath(element)}"); - WriteReadableElement(element, 0, ReadableDepth, DefaultLimit); + WriteReadableElement(element, 0, ReadableDepth, ShowAllResults); } WriteTruncation(matches.Length, displayedCount); @@ -610,8 +616,11 @@ namespace StgSharp.GenerateGL break; } - if (parentLevels is null && parent.Elements().Take(DefaultLimit + 1).Count() > - DefaultLimit) + if (parentLevels is null && parent.Elements() + .Take( + SearchContextParentChildThreshold + 1) + .Count() > + SearchContextParentChildThreshold) { break; } @@ -1115,7 +1124,7 @@ namespace StgSharp.GenerateGL { string xpath = "/*"; int depth = DefaultDepth; - int limit = DefaultLimit; + int limit = ShowAllResults; bool includeWhitespace = false; int index = 0; if (arguments.Count != 0 && !arguments[0].StartsWith("--", StringComparison.Ordinal)) @@ -1141,7 +1150,8 @@ namespace StgSharp.GenerateGL continue; } - if (argument == "--limit" && TryReadPositiveInt( + if ((argument == "--showcount" || argument == "--limit") && + TryReadPositiveInt( arguments, ref index, out limit)) @@ -1173,7 +1183,7 @@ namespace StgSharp.GenerateGL } string text = arguments[0]; - int limit = DefaultSearchLimit; + int limit = ShowAllResults; int? parentLevels = null; bool exact = false; int index = 1; @@ -1186,7 +1196,8 @@ namespace StgSharp.GenerateGL continue; } - if (argument == "--limit" && TryReadPositiveInt( + if ((argument == "--showcount" || argument == "--limit") && + TryReadPositiveInt( arguments, ref index, out limit)) @@ -1228,12 +1239,13 @@ namespace StgSharp.GenerateGL } string xpath = arguments[0]; - int limit = DefaultLimit; + int limit = ShowAllResults; int index = 1; while (index < arguments.Count) { string argument = arguments[index++]; - if (argument == "--limit" && TryReadPositiveInt( + if ((argument == "--showcount" || argument == "--limit") && + TryReadPositiveInt( arguments, ref index, out limit)) @@ -1391,9 +1403,24 @@ namespace StgSharp.GenerateGL return; } + if (arguments is { Length: 1 } && ( + string.Equals( + arguments[0], + "family", + StringComparison.OrdinalIgnoreCase) || + string.Equals( + arguments[0], + "families", + StringComparison.OrdinalIgnoreCase))) + { + FunctionFamilyCli.WriteHelp(); + return; + } + if (arguments is { Length: > 0 }) { - Console.Error.WriteLine("error: help accepts only the 'generate' topic."); + Console.Error.WriteLine( + "error: help accepts only the 'generate' or 'families' topic."); return; } @@ -1404,12 +1431,15 @@ namespace StgSharp.GenerateGL Console.WriteLine(" StgSharp.GenerateGL [--xml ] shell"); Console.WriteLine(" StgSharp.GenerateGL [--xml ] summary"); Console.WriteLine(" StgSharp.GenerateGL [--xml ] list " + - "[filter] [--limit ]"); + "[filter] [--showcount ]"); Console.WriteLine(" StgSharp.GenerateGL [--xml ] find " + - "[--exact] [--limit ]"); + "[--exact] [--showcount ]"); Console.WriteLine(" StgSharp.GenerateGL [--xml ] show " + - "[--limit ]"); - Console.WriteLine(" StgSharp.GenerateGL [--xml ] generate"); + "[--showcount ]"); + Console.WriteLine( + " StgSharp.GenerateGL [--xml ] generate [output-directory]"); + Console.WriteLine(" StgSharp.GenerateGL [--xml ] target summary"); + Console.WriteLine(" StgSharp.GenerateGL [--xml ] families "); Console.WriteLine(" StgSharp.GenerateGL [--xml ] list files"); Console.WriteLine(" StgSharp.GenerateGL [--xml ] preview "); Console.WriteLine(" StgSharp.GenerateGL [--xml ] xml [...]"); @@ -1424,7 +1454,11 @@ namespace StgSharp.GenerateGL Console.WriteLine(" StgSharp.GenerateGL find glBindBuffer"); Console.WriteLine(" StgSharp.GenerateGL show command glBindBuffer"); Console.WriteLine(" StgSharp.GenerateGL show extension GL_KHR_debug"); + Console.WriteLine(" StgSharp.GenerateGL target summary"); + Console.WriteLine(" StgSharp.GenerateGL families show VertexAttribP"); Console.WriteLine(" StgSharp.GenerateGL generate"); + Console.WriteLine( + " StgSharp.GenerateGL generate src/StgSharp.Graphics/OpenGL/Generated"); Console.WriteLine(" StgSharp.GenerateGL list files"); Console.WriteLine(" StgSharp.GenerateGL preview glconst.cs"); Console.WriteLine(" StgSharp.GenerateGL xml tree --depth 1"); @@ -1443,13 +1477,13 @@ namespace StgSharp.GenerateGL Console.WriteLine(" xml summary"); Console.WriteLine(" xml raw"); Console.WriteLine( - " xml tree [xpath] [--depth ] [--limit ] [--whitespace]"); + " xml tree [xpath] [--depth ] [--showcount ] [--whitespace]"); Console.WriteLine( - " xml find [--exact] [--up ] [--limit ]"); - Console.WriteLine(" xml show [--limit ]"); - Console.WriteLine(" xml select [--limit ]"); - Console.WriteLine(" xml text [--limit ]"); - Console.WriteLine(" xml attributes [--limit ]"); + " xml find [--exact] [--up ] [--showcount ]"); + Console.WriteLine(" xml show [--showcount ]"); + Console.WriteLine(" xml select [--showcount ]"); + Console.WriteLine(" xml text [--showcount ]"); + Console.WriteLine(" xml attributes [--showcount ]"); } private sealed class CliSession @@ -1462,12 +1496,18 @@ namespace StgSharp.GenerateGL { Document = document; Registry = registry; + TargetRegistry = DesktopGlCoreRegistryFilter.Apply(registry); + FunctionFamilies = GlFunctionFamilyAnalyzer.Analyze(TargetRegistry); } public XmlTreeDocument Document { get; } public GlRegistryModel Registry { get; } + public GlRegistryProjection TargetRegistry { get; } + + public GlFunctionFamilyAnalysis FunctionFamilies { get; } + public GeneratedFileSet GeneratedFiles { get; set; } = GeneratedFileSet.Empty; }