Files
stgsharp/StgSharp.Common/Graphics/OpenGL/glFunction.v3_3.cs
T

3789 lines
111 KiB
C#

//-----------------------------------------------------------------------
// -----------------------------------------------------------------------
// file="glFunction.v3_3"
// Project: StgSharp
// AuthorGroup: Nitload
// Copyright (c) Nitload. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
//
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
using StgSharp.Graphics.OpenGL;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
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<byte> 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,
nuint size
)
{
Context.glBindBufferRange(target, index, buffer.Value, offset, size);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindFragDataLocation(
GlHandle program,
uint color,
ReadOnlySpan<byte> name
)
{
fixed (byte* namePtr = name) {
Context.glBindFragDataLocation(program.Value, color, namePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BindFragDataLocationIndexed(
GlHandle program,
uint colorNumber,
uint index,
ReadOnlySpan<byte> 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,
nuint size,
ReadOnlySpan<IntPtr> data,
uint usage
)
{
fixed (IntPtr* dataPtr = data) {
Context.glBufferData(target, size, dataPtr, usage);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void BufferSubData(
uint target,
nint offset,
nuint size,
ReadOnlySpan<IntPtr> data
)
{
fixed (IntPtr* dataPtr = data) {
Context.glBufferSubData(target, offset, size, dataPtr);
}
}
[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 ClearBufferfi(
uint buffer,
int drawbuffer,
float depth,
int stencil
)
{
Context.glClearBufferfi(buffer, drawbuffer, depth, stencil);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ClearBufferfv(
uint buffer,
int drawbuffer,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glClearBufferfv(buffer, drawbuffer, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ClearBufferiv(
uint buffer,
int drawbuffer,
ReadOnlySpan<int> value
)
{
fixed (int* valuePtr = value) {
Context.glClearBufferiv(buffer, drawbuffer, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void ClearBufferuiv(
uint buffer,
int drawbuffer,
ReadOnlySpan<uint> 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,
IntPtr 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 ColorMaski(
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,
ReadOnlySpan<IntPtr> data
)
{
fixed (IntPtr* dataPtr = data) {
Context.glCompressedTexImage1D(target, level, internalformat, width, border,
imageSize, dataPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void CompressedTexImage2D(
uint target,
int level,
uint internalformat,
int width,
int height,
int border,
int imageSize,
ReadOnlySpan<IntPtr> data
)
{
fixed (IntPtr* dataPtr = data) {
Context.glCompressedTexImage2D(target, level, internalformat, width, height, border,
imageSize, dataPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void CompressedTexImage3D(
uint target,
int level,
uint internalformat,
int width,
int height,
int depth,
int border,
int imageSize,
ReadOnlySpan<IntPtr> data
)
{
fixed (IntPtr* dataPtr = data) {
Context.glCompressedTexImage3D(target, level, internalformat, width, height, depth,
border, imageSize, dataPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void CompressedTexSubImage1D(
uint target,
int level,
int xoffset,
int width,
uint format,
int imageSize,
ReadOnlySpan<IntPtr> data
)
{
fixed (IntPtr* dataPtr = data) {
Context.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize,
dataPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void CompressedTexSubImage2D(
uint target,
int level,
int xoffset,
int yoffset,
int width,
int height,
uint format,
int imageSize,
ReadOnlySpan<IntPtr> data
)
{
fixed (IntPtr* dataPtr = data) {
Context.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height,
format, imageSize, dataPtr);
}
}
[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,
ReadOnlySpan<IntPtr> data
)
{
fixed (IntPtr* dataPtr = data) {
Context.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width,
height, depth, format, imageSize, dataPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void CopyBufferSubData(
uint readTarget,
uint writeTarget,
nint readOffset,
nint writeOffset,
nuint 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 uint CreateShader(
ShaderType type
)
{
return Context.glCreateShader((uint)type);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void CullFace(
uint mode
)
{
Context.glCullFace(mode);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteBuffers(
int n,
ReadOnlySpan<uint> buffers
)
{
fixed (uint* buffersPtr = buffers) {
Context.glDeleteBuffers(n, buffersPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteFramebuffers(
int n,
ReadOnlySpan<uint> framebuffers
)
{
fixed (uint* framebuffersPtr = framebuffers) {
Context.glDeleteFramebuffers(n, framebuffersPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteProgram(
GlHandle program
)
{
Context.glDeleteProgram(program.Value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteQueries(
int n,
ReadOnlySpan<uint> ids
)
{
fixed (uint* idsPtr = ids) {
Context.glDeleteQueries(n, idsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteRenderbuffers(
int n,
ReadOnlySpan<uint> renderbuffers
)
{
fixed (uint* renderbuffersPtr = renderbuffers) {
Context.glDeleteRenderbuffers(n, renderbuffersPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteSamplers(
int count,
ReadOnlySpan<uint> samplers
)
{
fixed (uint* samplersPtr = samplers) {
Context.glDeleteSamplers(count, 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(
int n,
ReadOnlySpan<uint> textures
)
{
fixed (uint* texturesPtr = textures) {
Context.glDeleteTextures(n, texturesPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DeleteVertexArrays(
int n,
ReadOnlySpan<uint> arrays
)
{
fixed (uint* arraysPtr = arrays) {
Context.glDeleteVertexArrays(n, 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 Disablei(
uint target,
uint index
)
{
Context.glDisablei(target, index);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DisableVertexAttribArray(
uint index
)
{
Context.glDisableVertexAttribArray(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(
int n,
ReadOnlySpan<uint> bufs
)
{
fixed (uint* bufsPtr = bufs) {
Context.glDrawBuffers(n, bufsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawElements(
uint mode,
int count,
ShaderType type,
ReadOnlySpan<IntPtr> indices
)
{
fixed (IntPtr* indicesPtr = indices) {
Context.glDrawElements(mode, count, (uint)type, indicesPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawElementsBaseVertex(
uint mode,
int count,
ShaderType type,
ReadOnlySpan<IntPtr> indices,
int basevertex
)
{
fixed (IntPtr* indicesPtr = indices) {
Context.glDrawElementsBaseVertex(mode, count, (uint)type, indicesPtr, basevertex);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawElementsInstanced(
uint mode,
int count,
ShaderType type,
ReadOnlySpan<IntPtr> indices,
int instancecount
)
{
fixed (IntPtr* indicesPtr = indices) {
Context.glDrawElementsInstanced(mode, count, (uint)type, indicesPtr, instancecount);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawElementsInstancedBaseVertex(
uint mode,
int count,
ShaderType type,
ReadOnlySpan<IntPtr> indices,
int instancecount,
int basevertex
)
{
fixed (IntPtr* indicesPtr = indices) {
Context.glDrawElementsInstancedBaseVertex(mode, count, (uint)type, indicesPtr,
instancecount, basevertex);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawRangeElements(
uint mode,
uint start,
uint end,
int count,
ShaderType type,
ReadOnlySpan<IntPtr> indices
)
{
fixed (IntPtr* indicesPtr = indices) {
Context.glDrawRangeElements(mode, start, end, count, (uint)type, indicesPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void DrawRangeElementsBaseVertex(
uint mode,
uint start,
uint end,
int count,
ShaderType type,
ReadOnlySpan<IntPtr> indices,
int basevertex
)
{
fixed (IntPtr* indicesPtr = indices) {
Context.glDrawRangeElementsBaseVertex(mode, start, end, count, (uint)type,
indicesPtr, basevertex);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Enable(
uint cap
)
{
Context.glEnable(cap);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Enablei(
uint target,
uint index
)
{
Context.glEnablei(target, index);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void EnableVertexAttribArray(
uint index
)
{
Context.glEnableVertexAttribArray(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,
nuint 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(
int n,
uint* buffers
)
{
Context.glGenBuffers(n, buffers);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenerateMipmap(
uint target
)
{
Context.glGenerateMipmap(target);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenFramebuffers(
int n,
uint* framebuffers
)
{
Context.glGenFramebuffers(n, framebuffers);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenQueries(
int n,
uint* ids
)
{
Context.glGenQueries(n, ids);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenRenderbuffers(
int n,
uint* renderbuffers
)
{
Context.glGenRenderbuffers(n, renderbuffers);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenSamplers(
int count,
uint* samplers
)
{
Context.glGenSamplers(count, samplers);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenTextures(
int n,
uint* textures
)
{
Context.glGenTextures(n, textures);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GenVertexArrays(
int n,
uint* arrays
)
{
Context.glGenVertexArrays(n, arrays);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveAttrib(
GlHandle program,
uint index,
int bufSize,
int* length,
int* size,
uint* type,
byte* name
)
{
Context.glGetActiveAttrib(program.Value, index, bufSize, length, size, type, 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);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveUniformBlockiv(
GlHandle program,
uint uniformBlockIndex,
uint pname,
int* @params
)
{
Context.glGetActiveUniformBlockiv(program.Value, uniformBlockIndex, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveUniformBlockName(
GlHandle program,
uint uniformBlockIndex,
int bufSize,
int* length,
byte* uniformBlockName
)
{
Context.glGetActiveUniformBlockName(program.Value, uniformBlockIndex, bufSize, length,
uniformBlockName);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveUniformName(
GlHandle program,
uint uniformIndex,
int bufSize,
int* length,
byte* uniformName
)
{
Context.glGetActiveUniformName(program.Value, uniformIndex, bufSize, length,
uniformName);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetActiveUniformsiv(
GlHandle program,
int uniformCount,
ReadOnlySpan<uint> uniformIndices,
uint pname,
int* @params
)
{
fixed (uint* uniformIndicesPtr = uniformIndices) {
Context.glGetActiveUniformsiv(program.Value, uniformCount, uniformIndicesPtr, pname,
@params);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetAttachedShaders(
GlHandle program,
int maxCount,
int* count,
uint* shaders
)
{
Context.glGetAttachedShaders(program.Value, maxCount, count, shaders);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetAttribLocation(
GlHandle program,
ReadOnlySpan<byte> name
)
{
fixed (byte* namePtr = name) {
return Context.glGetAttribLocation(program.Value, namePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetBooleani_v(
uint target,
uint index,
byte* data
)
{
Context.glGetBooleani_v(target, index, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetBooleanv(
uint pname,
byte* data
)
{
Context.glGetBooleanv(pname, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetBufferParameteri64v(
uint target,
uint pname,
IntPtr* @params
)
{
Context.glGetBufferParameteri64v(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetBufferParameteriv(
uint target,
uint pname,
int* @params
)
{
Context.glGetBufferParameteriv(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetBufferPointerv(
uint target,
uint pname,
IntPtr* @params
)
{
Context.glGetBufferPointerv(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetBufferSubData(
uint target,
nint offset,
nuint size,
IntPtr* data
)
{
Context.glGetBufferSubData(target, offset, size, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetCompressedTexImage(
uint target,
int level,
IntPtr* img
)
{
Context.glGetCompressedTexImage(target, level, img);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetDoublev(
uint pname,
double* data
)
{
Context.glGetDoublev(pname, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public uint GetError()
{
return Context.glGetError();
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetFloatv(
uint pname,
float* data
)
{
Context.glGetFloatv(pname, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetFragDataIndex(
GlHandle program,
ReadOnlySpan<byte> name
)
{
fixed (byte* namePtr = name) {
return Context.glGetFragDataIndex(program.Value, namePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetFragDataLocation(
GlHandle program,
ReadOnlySpan<byte> name
)
{
fixed (byte* namePtr = name) {
return Context.glGetFragDataLocation(program.Value, namePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetFramebufferAttachmentParameteriv(
uint target,
uint attachment,
uint pname,
int* @params
)
{
Context.glGetFramebufferAttachmentParameteriv(target, attachment, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetInteger64i_v(
uint target,
uint index,
IntPtr* data
)
{
Context.glGetInteger64i_v(target, index, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetInteger64v(
uint pname,
IntPtr* data
)
{
Context.glGetInteger64v(pname, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetIntegeri_v(
uint target,
uint index,
int* data
)
{
Context.glGetIntegeri_v(target, index, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetIntegerv(
uint pname,
int* data
)
{
Context.glGetIntegerv(pname, data);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetMultisamplefv(
uint pname,
uint index,
float* val
)
{
Context.glGetMultisamplefv(pname, index, val);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramInfoLog(
GlHandle program,
int bufSize,
int* length,
byte* infoLog
)
{
Context.glGetProgramInfoLog(program.Value, bufSize, length, infoLog);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetProgramiv(
GlHandle program,
uint pname,
int* @params
)
{
Context.glGetProgramiv(program.Value, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryiv(
uint target,
uint pname,
int* @params
)
{
Context.glGetQueryiv(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryObjecti64v(
uint id,
uint pname,
IntPtr* @params
)
{
Context.glGetQueryObjecti64v(id, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryObjectiv(
uint id,
uint pname,
int* @params
)
{
Context.glGetQueryObjectiv(id, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryObjectui64v(
uint id,
uint pname,
IntPtr* @params
)
{
Context.glGetQueryObjectui64v(id, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetQueryObjectuiv(
uint id,
uint pname,
uint* @params
)
{
Context.glGetQueryObjectuiv(id, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetRenderbufferParameteriv(
uint target,
uint pname,
int* @params
)
{
Context.glGetRenderbufferParameteriv(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameterfv(
GlHandle sampler,
uint pname,
float* @params
)
{
Context.glGetSamplerParameterfv(sampler.Value, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameterIiv(
GlHandle sampler,
uint pname,
int* @params
)
{
Context.glGetSamplerParameterIiv(sampler.Value, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameterIuiv(
GlHandle sampler,
uint pname,
uint* @params
)
{
Context.glGetSamplerParameterIuiv(sampler.Value, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSamplerParameteriv(
GlHandle sampler,
uint pname,
int* @params
)
{
Context.glGetSamplerParameteriv(sampler.Value, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetShaderInfoLog(
GlHandle shader,
int bufSize,
int* length,
byte* infoLog
)
{
Context.glGetShaderInfoLog(shader.Value, bufSize, length, infoLog);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetShaderiv(
GlHandle shader,
uint pname,
int* @params
)
{
Context.glGetShaderiv(shader.Value, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetShaderSource(
GlHandle shader,
int bufSize,
int* length,
byte* source
)
{
Context.glGetShaderSource(shader.Value, bufSize, length, source);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public string GetString(
uint name
)
{
return Marshal.PtrToStringAuto((nint)Context.glGetString(name)) ?? string.Empty;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public string GetStringi(
uint name,
uint index
)
{
return Marshal.PtrToStringAuto((nint)Context.glGetStringi(name, index)) ?? string.Empty;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetSynciv(
glSync sync,
uint pname,
int count,
int* length,
int* values
)
{
Context.glGetSynciv(sync, pname, count, length, values);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetTexImage(
uint target,
int level,
uint format,
ShaderType type,
IntPtr* pixels
)
{
Context.glGetTexImage(target, level, format, (uint)type, pixels);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetTexLevelParameterfv(
uint target,
int level,
uint pname,
float* @params
)
{
Context.glGetTexLevelParameterfv(target, level, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetTexLevelParameteriv(
uint target,
int level,
uint pname,
int* @params
)
{
Context.glGetTexLevelParameteriv(target, level, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetTexParameterfv(
uint target,
uint pname,
float* @params
)
{
Context.glGetTexParameterfv(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetTexParameterIiv(
uint target,
uint pname,
int* @params
)
{
Context.glGetTexParameterIiv(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetTexParameterIuiv(
uint target,
uint pname,
uint* @params
)
{
Context.glGetTexParameterIuiv(target, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetTexParameteriv(
uint target,
uint pname,
int* @params
)
{
Context.glGetTexParameteriv(target, pname, @params);
}
[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);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public uint GetUniformBlockIndex(
GlHandle program,
ReadOnlySpan<byte> uniformBlockName
)
{
fixed (byte* uniformBlockNamePtr = uniformBlockName) {
return Context.glGetUniformBlockIndex(program.Value, uniformBlockNamePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetUniformfv(
GlHandle program,
int location,
float* @params
)
{
Context.glGetUniformfv(program.Value, location, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetUniformIndices(
GlHandle program,
int uniformCount,
ReadOnlySpan<byte> uniformNames,
uint* uniformIndices
)
{
fixed (byte* uniformNamesPtr = uniformNames) {
Context.glGetUniformIndices(program.Value, uniformCount, uniformNamesPtr,
uniformIndices);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetUniformiv(
GlHandle program,
int location,
int* @params
)
{
Context.glGetUniformiv(program.Value, location, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public int GetUniformLocation(
GlHandle program,
ReadOnlySpan<byte> name
)
{
fixed (byte* namePtr = name) {
return Context.glGetUniformLocation(program.Value, namePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetUniformuiv(
GlHandle program,
int location,
uint* @params
)
{
Context.glGetUniformuiv(program.Value, location, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetVertexAttribdv(
uint index,
uint pname,
double* @params
)
{
Context.glGetVertexAttribdv(index, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetVertexAttribfv(
uint index,
uint pname,
float* @params
)
{
Context.glGetVertexAttribfv(index, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetVertexAttribIiv(
uint index,
uint pname,
int* @params
)
{
Context.glGetVertexAttribIiv(index, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetVertexAttribIuiv(
uint index,
uint pname,
uint* @params
)
{
Context.glGetVertexAttribIuiv(index, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetVertexAttribiv(
uint index,
uint pname,
int* @params
)
{
Context.glGetVertexAttribiv(index, pname, @params);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void GetVertexAttribPointerv(
uint index,
uint pname,
IntPtr* pointer
)
{
Context.glGetVertexAttribPointerv(index, pname, pointer);
}
[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 IsEnabledi(
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
)
{
Context.glMapBuffer(target, access);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MapBufferRange(
uint target,
nint offset,
nuint length,
uint access
)
{
Context.glMapBufferRange(target, offset, length, access);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MultiDrawArrays(
uint mode,
ReadOnlySpan<int> first,
ReadOnlySpan<int> count,
int drawcount
)
{
fixed (int* firstPtr = first)
{
fixed (int* countPtr = count) {
Context.glMultiDrawArrays(mode, firstPtr, countPtr, drawcount);
}
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MultiDrawElements(
uint mode,
ReadOnlySpan<int> count,
ShaderType type,
ReadOnlySpan<IntPtr> indices,
int drawcount
)
{
fixed (int* countPtr = count)
{
fixed (IntPtr* indicesPtr = indices) {
Context.glMultiDrawElements(mode, countPtr, (uint)type, indicesPtr, drawcount);
}
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void MultiDrawElementsBaseVertex(
uint mode,
ReadOnlySpan<int> count,
ShaderType type,
ReadOnlySpan<IntPtr> indices,
int drawcount,
ReadOnlySpan<int> basevertex
)
{
fixed (int* countPtr = count)
{
fixed (IntPtr* indicesPtr = indices)
{
fixed (int* basevertexPtr = basevertex) {
Context.glMultiDrawElementsBaseVertex(mode, countPtr, (uint)type,
indicesPtr, drawcount, basevertexPtr);
}
}
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PixelStoref(
uint pname,
float param
)
{
Context.glPixelStoref(pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PixelStorei(
uint pname,
int param
)
{
Context.glPixelStorei(pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PointParameterf(
uint pname,
float param
)
{
Context.glPointParameterf(pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PointParameterfv(
uint pname,
ReadOnlySpan<float> @params
)
{
fixed (float* @paramsPtr = @params) {
Context.glPointParameterfv(pname, @paramsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PointParameteri(
uint pname,
int param
)
{
Context.glPointParameteri(pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void PointParameteriv(
uint pname,
ReadOnlySpan<int> @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,
ShaderType type,
IntPtr* pixels
)
{
Context.glReadPixels(x, y, width, height, format, (uint)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 SamplerParameterf(
GlHandle sampler,
uint pname,
float param
)
{
Context.glSamplerParameterf(sampler.Value, pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameterfv(
GlHandle sampler,
uint pname,
ReadOnlySpan<float> param
)
{
fixed (float* paramPtr = param) {
Context.glSamplerParameterfv(sampler.Value, pname, paramPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameteri(
GlHandle sampler,
uint pname,
int param
)
{
Context.glSamplerParameteri(sampler.Value, pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameterIiv(
GlHandle sampler,
uint pname,
ReadOnlySpan<int> param
)
{
fixed (int* paramPtr = param) {
Context.glSamplerParameterIiv(sampler.Value, pname, paramPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameterIuiv(
GlHandle sampler,
uint pname,
ReadOnlySpan<uint> param
)
{
fixed (uint* paramPtr = param) {
Context.glSamplerParameterIuiv(sampler.Value, pname, paramPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void SamplerParameteriv(
GlHandle sampler,
uint pname,
ReadOnlySpan<int> 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,
ReadOnlySpan<byte> @string,
ReadOnlySpan<int> length
)
{
fixed (byte* stringPtr = @string)
{
byte* sPtr = stringPtr;
fixed (int* lengthPtr = length) {
Context.glShaderSource(shader.Value, count, &sPtr, 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,
ShaderType type,
ReadOnlySpan<IntPtr> pixels
)
{
fixed (IntPtr* pixelsPtr = pixels) {
Context.glTexImage1D(target, level, internalformat, width, border, format,
(uint)type, pixelsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexImage2D(
uint target,
int level,
int internalformat,
int width,
int height,
int border,
uint format,
ShaderType type,
ReadOnlySpan<IntPtr> pixels
)
{
fixed (IntPtr* pixelsPtr = pixels) {
Context.glTexImage2D(target, level, internalformat, width, height, border, format,
(uint)type, pixelsPtr);
}
}
[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,
ShaderType type,
ReadOnlySpan<IntPtr> pixels
)
{
fixed (IntPtr* pixelsPtr = pixels) {
Context.glTexImage3D(target, level, internalformat, width, height, depth, border,
format, (uint)type, pixelsPtr);
}
}
[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 TexParameterf(
uint target,
uint pname,
float param
)
{
Context.glTexParameterf(target, pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexParameterfv(
uint target,
uint pname,
ReadOnlySpan<float> @params
)
{
fixed (float* @paramsPtr = @params) {
Context.glTexParameterfv(target, pname, @paramsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexParameteri(
uint target,
uint pname,
int param
)
{
Context.glTexParameteri(target, pname, param);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexParameterIiv(
uint target,
uint pname,
ReadOnlySpan<int> @params
)
{
fixed (int* @paramsPtr = @params) {
Context.glTexParameterIiv(target, pname, @paramsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexParameterIuiv(
uint target,
uint pname,
ReadOnlySpan<uint> @params
)
{
fixed (uint* @paramsPtr = @params) {
Context.glTexParameterIuiv(target, pname, @paramsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexParameteriv(
uint target,
uint pname,
ReadOnlySpan<int> @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,
ShaderType type,
ReadOnlySpan<IntPtr> pixels
)
{
fixed (IntPtr* pixelsPtr = pixels) {
Context.glTexSubImage1D(target, level, xoffset, width, format, (uint)type,
pixelsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexSubImage2D(
uint target,
int level,
int xoffset,
int yoffset,
int width,
int height,
uint format,
ShaderType type,
ReadOnlySpan<IntPtr> pixels
)
{
fixed (IntPtr* pixelsPtr = pixels) {
Context.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format,
(uint)type, pixelsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TexSubImage3D(
uint target,
int level,
int xoffset,
int yoffset,
int zoffset,
int width,
int height,
int depth,
uint format,
ShaderType type,
ReadOnlySpan<IntPtr> pixels
)
{
fixed (IntPtr* pixelsPtr = pixels) {
Context.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height,
depth, format, (uint)type, pixelsPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void TransformFeedbackVaryings(
GlHandle program,
int count,
ReadOnlySpan<byte> varyings,
uint bufferMode
)
{
fixed (byte* varyingsPtr = varyings) {
Context.glTransformFeedbackVaryings(program.Value, count, varyingsPtr, bufferMode);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform1f(
int location,
float v0
)
{
Context.glUniform1f(location, v0);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform1fv(
int location,
int count,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniform1fv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform1i(
int location,
int v0
)
{
Context.glUniform1i(location, v0);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform1iv(
int location,
int count,
ReadOnlySpan<int> value
)
{
fixed (int* valuePtr = value) {
Context.glUniform1iv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform1ui(
int location,
uint v0
)
{
Context.glUniform1ui(location, v0);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform1uiv(
int location,
int count,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glUniform1uiv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform2f(
int location,
float v0,
float v1
)
{
Context.glUniform2f(location, v0, v1);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform2fv(
int location,
int count,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniform2fv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform2i(
int location,
int v0,
int v1
)
{
Context.glUniform2i(location, v0, v1);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform2iv(
int location,
int count,
ReadOnlySpan<int> value
)
{
fixed (int* valuePtr = value) {
Context.glUniform2iv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform2ui(
int location,
uint v0,
uint v1
)
{
Context.glUniform2ui(location, v0, v1);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform2uiv(
int location,
int count,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glUniform2uiv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform3f(
int location,
float v0,
float v1,
float v2
)
{
Context.glUniform3f(location, v0, v1, v2);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform3fv(
int location,
int count,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniform3fv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform3i(
int location,
int v0,
int v1,
int v2
)
{
Context.glUniform3i(location, v0, v1, v2);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform3iv(
int location,
int count,
ReadOnlySpan<int> value
)
{
fixed (int* valuePtr = value) {
Context.glUniform3iv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform3ui(
int location,
uint v0,
uint v1,
uint v2
)
{
Context.glUniform3ui(location, v0, v1, v2);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform3uiv(
int location,
int count,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glUniform3uiv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform4f(
int location,
float v0,
float v1,
float v2,
float v3
)
{
Context.glUniform4f(location, v0, v1, v2, v3);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform4fv(
int location,
int count,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniform4fv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform4i(
int location,
int v0,
int v1,
int v2,
int v3
)
{
Context.glUniform4i(location, v0, v1, v2, v3);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform4iv(
int location,
int count,
ReadOnlySpan<int> value
)
{
fixed (int* valuePtr = value) {
Context.glUniform4iv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform4ui(
int location,
uint v0,
uint v1,
uint v2,
uint v3
)
{
Context.glUniform4ui(location, v0, v1, v2, v3);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Uniform4uiv(
int location,
int count,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glUniform4uiv(location, count, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformBlockBinding(
GlHandle program,
uint uniformBlockIndex,
uint uniformBlockBinding
)
{
Context.glUniformBlockBinding(program.Value, uniformBlockIndex, uniformBlockBinding);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix2fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix2fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix2x3fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix2x3fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix2x4fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix2x4fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix3fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix3fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix3x2fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix3x2fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix3x4fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix3x4fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix4fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix4fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix4x2fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix4x2fv(location, count, transpose, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void UniformMatrix4x3fv(
int location,
int count,
byte transpose,
ReadOnlySpan<float> value
)
{
fixed (float* valuePtr = value) {
Context.glUniformMatrix4x3fv(location, count, transpose, valuePtr);
}
}
[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 VertexAttrib1d(
uint index,
double x
)
{
Context.glVertexAttrib1d(index, x);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib1dv(
uint index,
ReadOnlySpan<double> v
)
{
fixed (double* vPtr = v) {
Context.glVertexAttrib1dv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib1f(
uint index,
float x
)
{
Context.glVertexAttrib1f(index, x);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib1fv(
uint index,
ReadOnlySpan<float> v
)
{
fixed (float* vPtr = v) {
Context.glVertexAttrib1fv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib1s(
uint index,
short x
)
{
Context.glVertexAttrib1s(index, x);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib1sv(
uint index,
ReadOnlySpan<short> v
)
{
fixed (short* vPtr = v) {
Context.glVertexAttrib1sv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib2d(
uint index,
double x,
double y
)
{
Context.glVertexAttrib2d(index, x, y);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib2dv(
uint index,
ReadOnlySpan<double> v
)
{
fixed (double* vPtr = v) {
Context.glVertexAttrib2dv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib2f(
uint index,
float x,
float y
)
{
Context.glVertexAttrib2f(index, x, y);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib2fv(
uint index,
ReadOnlySpan<float> v
)
{
fixed (float* vPtr = v) {
Context.glVertexAttrib2fv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib2s(
uint index,
short x,
short y
)
{
Context.glVertexAttrib2s(index, x, y);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib2sv(
uint index,
ReadOnlySpan<short> v
)
{
fixed (short* vPtr = v) {
Context.glVertexAttrib2sv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib3d(
uint index,
double x,
double y,
double z
)
{
Context.glVertexAttrib3d(index, x, y, z);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib3dv(
uint index,
ReadOnlySpan<double> v
)
{
fixed (double* vPtr = v) {
Context.glVertexAttrib3dv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib3f(
uint index,
float x,
float y,
float z
)
{
Context.glVertexAttrib3f(index, x, y, z);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib3fv(
uint index,
ReadOnlySpan<float> v
)
{
fixed (float* vPtr = v) {
Context.glVertexAttrib3fv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib3s(
uint index,
short x,
short y,
short z
)
{
Context.glVertexAttrib3s(index, x, y, z);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib3sv(
uint index,
ReadOnlySpan<short> v
)
{
fixed (short* vPtr = v) {
Context.glVertexAttrib3sv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4bv(
uint index,
ReadOnlySpan<sbyte> v
)
{
fixed (sbyte* vPtr = v) {
Context.glVertexAttrib4bv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4d(
uint index,
double x,
double y,
double z,
double w
)
{
Context.glVertexAttrib4d(index, x, y, z, w);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4dv(
uint index,
ReadOnlySpan<double> v
)
{
fixed (double* vPtr = v) {
Context.glVertexAttrib4dv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4f(
uint index,
float x,
float y,
float z,
float w
)
{
Context.glVertexAttrib4f(index, x, y, z, w);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4fv(
uint index,
ReadOnlySpan<float> v
)
{
fixed (float* vPtr = v) {
Context.glVertexAttrib4fv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4iv(
uint index,
ReadOnlySpan<int> v
)
{
fixed (int* vPtr = v) {
Context.glVertexAttrib4iv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4Nbv(
uint index,
ReadOnlySpan<sbyte> v
)
{
fixed (sbyte* vPtr = v) {
Context.glVertexAttrib4Nbv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4Niv(
uint index,
ReadOnlySpan<int> v
)
{
fixed (int* vPtr = v) {
Context.glVertexAttrib4Niv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4Nsv(
uint index,
ReadOnlySpan<short> v
)
{
fixed (short* vPtr = v) {
Context.glVertexAttrib4Nsv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4Nub(
uint index,
byte x,
byte y,
byte z,
byte w
)
{
Context.glVertexAttrib4Nub(index, x, y, z, w);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4Nubv(
uint index,
ReadOnlySpan<byte> v
)
{
fixed (byte* vPtr = v) {
Context.glVertexAttrib4Nubv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4Nuiv(
uint index,
ReadOnlySpan<uint> v
)
{
fixed (uint* vPtr = v) {
Context.glVertexAttrib4Nuiv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4Nusv(
uint index,
ReadOnlySpan<ushort> v
)
{
fixed (ushort* vPtr = v) {
Context.glVertexAttrib4Nusv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4s(
uint index,
short x,
short y,
short z,
short w
)
{
Context.glVertexAttrib4s(index, x, y, z, w);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4sv(
uint index,
ReadOnlySpan<short> v
)
{
fixed (short* vPtr = v) {
Context.glVertexAttrib4sv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4ubv(
uint index,
ReadOnlySpan<byte> v
)
{
fixed (byte* vPtr = v) {
Context.glVertexAttrib4ubv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4uiv(
uint index,
ReadOnlySpan<uint> v
)
{
fixed (uint* vPtr = v) {
Context.glVertexAttrib4uiv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttrib4usv(
uint index,
ReadOnlySpan<ushort> 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 VertexAttribI1i(
uint index,
int x
)
{
Context.glVertexAttribI1i(index, x);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI1iv(
uint index,
ReadOnlySpan<int> v
)
{
fixed (int* vPtr = v) {
Context.glVertexAttribI1iv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI1ui(
uint index,
uint x
)
{
Context.glVertexAttribI1ui(index, x);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI1uiv(
uint index,
ReadOnlySpan<uint> v
)
{
fixed (uint* vPtr = v) {
Context.glVertexAttribI1uiv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI2i(
uint index,
int x,
int y
)
{
Context.glVertexAttribI2i(index, x, y);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI2iv(
uint index,
ReadOnlySpan<int> v
)
{
fixed (int* vPtr = v) {
Context.glVertexAttribI2iv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI2ui(
uint index,
uint x,
uint y
)
{
Context.glVertexAttribI2ui(index, x, y);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI2uiv(
uint index,
ReadOnlySpan<uint> v
)
{
fixed (uint* vPtr = v) {
Context.glVertexAttribI2uiv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI3i(
uint index,
int x,
int y,
int z
)
{
Context.glVertexAttribI3i(index, x, y, z);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI3iv(
uint index,
ReadOnlySpan<int> v
)
{
fixed (int* vPtr = v) {
Context.glVertexAttribI3iv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI3ui(
uint index,
uint x,
uint y,
uint z
)
{
Context.glVertexAttribI3ui(index, x, y, z);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI3uiv(
uint index,
ReadOnlySpan<uint> v
)
{
fixed (uint* vPtr = v) {
Context.glVertexAttribI3uiv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4bv(
uint index,
ReadOnlySpan<sbyte> v
)
{
fixed (sbyte* vPtr = v) {
Context.glVertexAttribI4bv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4i(
uint index,
int x,
int y,
int z,
int w
)
{
Context.glVertexAttribI4i(index, x, y, z, w);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4iv(
uint index,
ReadOnlySpan<int> v
)
{
fixed (int* vPtr = v) {
Context.glVertexAttribI4iv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4sv(
uint index,
ReadOnlySpan<short> v
)
{
fixed (short* vPtr = v) {
Context.glVertexAttribI4sv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4ubv(
uint index,
ReadOnlySpan<byte> v
)
{
fixed (byte* vPtr = v) {
Context.glVertexAttribI4ubv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4ui(
uint index,
uint x,
uint y,
uint z,
uint w
)
{
Context.glVertexAttribI4ui(index, x, y, z, w);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4uiv(
uint index,
ReadOnlySpan<uint> v
)
{
fixed (uint* vPtr = v) {
Context.glVertexAttribI4uiv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribI4usv(
uint index,
ReadOnlySpan<ushort> v
)
{
fixed (ushort* vPtr = v) {
Context.glVertexAttribI4usv(index, vPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribIPointer(
uint index,
int size,
ShaderType type,
int stride,
ReadOnlySpan<IntPtr> pointer
)
{
fixed (IntPtr* pointerPtr = pointer) {
Context.glVertexAttribIPointer(index, size, (uint)type, stride, pointerPtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP1ui(
uint index,
ShaderType type,
byte normalized,
uint value
)
{
Context.glVertexAttribP1ui(index, (uint)type, normalized, value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP1uiv(
uint index,
ShaderType type,
byte normalized,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glVertexAttribP1uiv(index, (uint)type, normalized, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP2ui(
uint index,
ShaderType type,
byte normalized,
uint value
)
{
Context.glVertexAttribP2ui(index, (uint)type, normalized, value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP2uiv(
uint index,
ShaderType type,
byte normalized,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glVertexAttribP2uiv(index, (uint)type, normalized, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP3ui(
uint index,
ShaderType type,
byte normalized,
uint value
)
{
Context.glVertexAttribP3ui(index, (uint)type, normalized, value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP3uiv(
uint index,
ShaderType type,
byte normalized,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glVertexAttribP3uiv(index, (uint)type, normalized, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP4ui(
uint index,
ShaderType type,
byte normalized,
uint value
)
{
Context.glVertexAttribP4ui(index, (uint)type, normalized, value);
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribP4uiv(
uint index,
ShaderType type,
byte normalized,
ReadOnlySpan<uint> value
)
{
fixed (uint* valuePtr = value) {
Context.glVertexAttribP4uiv(index, (uint)type, normalized, valuePtr);
}
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void VertexAttribPointer(
uint index,
int size,
ShaderType type,
byte normalized,
int stride,
ReadOnlySpan<IntPtr> pointer
)
{
fixed (IntPtr* pointerPtr = pointer) {
Context.glVertexAttribPointer(index, size, (uint)type, normalized, stride,
pointerPtr);
}
}
[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,
IntPtr timeout
)
{
Context.glWaitSync(sync, flags, timeout);
}
}
}