380 lines
16 KiB
C#
380 lines
16 KiB
C#
// <auto-generated>
|
|
// Generated by StgSharp.GenerateGL on 2026-08-25 09:22:55Z
|
|
// Version: 4.3
|
|
// </auto-generated>
|
|
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<uint> 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<byte> 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<uint> sources, Span<uint> types, Span<uint> ids, Span<uint> severities, Span<int> lengths, Span<byte> 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<int> @params)
|
|
{
|
|
fixed (int* @paramsPtr = @params)
|
|
{
|
|
Context.glGetFramebufferParameteriv(target, pname, @paramsPtr);
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public void GetInternalformati64v(uint target, uint internalformat, uint pname, Span<long> @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<byte> 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<byte> 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<int> @params)
|
|
{
|
|
fixed (int* @paramsPtr = @params)
|
|
{
|
|
Context.glGetProgramInterfaceiv(program.Value, programInterface, pname, @paramsPtr);
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public uint GetProgramResourceIndex(GlHandle program, uint programInterface, ReadOnlySpan<byte> name)
|
|
{
|
|
fixed (byte* namePtr = name)
|
|
{
|
|
return Context.glGetProgramResourceIndex(program.Value, programInterface, namePtr);
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public int GetProgramResourceLocation(GlHandle program, uint programInterface, ReadOnlySpan<byte> name)
|
|
{
|
|
fixed (byte* namePtr = name)
|
|
{
|
|
return Context.glGetProgramResourceLocation(program.Value, programInterface, namePtr);
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public int GetProgramResourceLocationIndex(GlHandle program, uint programInterface, ReadOnlySpan<byte> 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<byte> 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<uint> props, out int length, Span<int> @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<uint> attachments)
|
|
{
|
|
fixed (uint* attachmentsPtr = attachments)
|
|
{
|
|
Context.glInvalidateFramebuffer(target, checked((int)attachments.Length), attachmentsPtr);
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public void InvalidateSubFramebuffer(uint target, ReadOnlySpan<uint> 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<byte> label)
|
|
{
|
|
fixed (byte* labelPtr = label)
|
|
{
|
|
Context.glObjectLabel(identifier, name, length, labelPtr);
|
|
}
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public void ObjectPtrLabel(void* ptr, int length, ReadOnlySpan<byte> 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<byte> 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);
|
|
}
|
|
|
|
}
|
|
}
|