Package icyllis.arc3d.opengl

# Class GLCaps_GL

java.lang.Object
icyllis.arc3d.engine.Caps
icyllis.arc3d.opengl.GLCaps
icyllis.arc3d.opengl.GLCaps_GL

All Implemented Interfaces:
  `GLInterface`, `GLInterfaceCommon`

public final class GLCaps_GL extends GLCaps implements GLInterface
OpenGL desktop implementation of OpenGL.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class icyllis.arc3d.engine.Caps

  `Caps.BlendEquationSupport`

- ## Field Summary

  ### Fields inherited from class icyllis.arc3d.opengl.GLCaps

  `INVALIDATE_BUFFER_TYPE_INVALIDATE, INVALIDATE_BUFFER_TYPE_NULL_DATA, MISSING_EXTENSIONS`

  ### Fields inherited from class icyllis.arc3d.engine.Caps

  `mAnisotropySupport, MAX_COLOR_TARGETS, MAX_VERTEX_ATTRIBUTES, MAX_VERTEX_BINDINGS, mBlendEquationSupport, mClampToBorderSupport, mConservativeRasterSupport, mDepthClipNegativeOneToOne, mDriverBugWorkarounds, mDynamicStateArrayGeometryProcessorTextureSupport, mGpuTracingSupport, mInternalMultisampleCount, mMapBufferFlags, mMaxColorAttachments, mMaxPreferredRenderTargetSize, mMaxPushConstantsSize, mMaxRenderTargetSize, mMaxTextureSize, mMaxVertexAttributes, mMaxVertexBindings, mMinStorageBufferOffsetAlignment, mMinUniformBufferOffsetAlignment, mMustSyncGpuDuringDiscard, mShaderCaps, mTextureBarrierSupport, mTransferPixelsToRowBytesSupport, mUseCpuStagingBuffers`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GLCaps_GL(ContextOptions options, Object capabilities)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `glActiveTexture(int texture)`
  `void`
  `glAttachShader(int program, int shader)`
  `void`
  `glBindBuffer(int target, int buffer)`
  `void`
  `glBindBufferBase(int target, int index, int buffer)`
  `void`
  `glBindBufferRange(int target, int index, int buffer, long offset, long size)`
  `void`
  `glBindFramebuffer(int target, int framebuffer)`
  `void`
  `glBindRenderbuffer(int target, int renderbuffer)`
  `void`
  `glBindSampler(int unit, int sampler)`
  `void`
  `glBindTexture(int target, int texture)`
  `void`
  `glBindTextureUnit(int unit, int texture)`
  `void`
  `glBindVertexArray(int array)`
  `void`
  `glBindVertexBuffer(int bindingindex, int buffer, long offset, int stride)`
  `void`
  `glBlendEquation(int mode)`
  `void`
  `glBlendFunc(int sfactor, int dfactor)`
  `void`
  `glBlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter)`
  `void`
  `glBufferData(int target, long size, long data, int usage)`
  `void`
  `glBufferStorage(int target, long size, long data, int flags)`
  `void`
  `glBufferSubData(int target, long offset, long size, long data)`
  `int`
  `glCheckFramebufferStatus(int target)`
  `void`
  `glClearBufferfi(int buffer, int drawbuffer, float depth, int stencil)`
  `void`
  `glClearBufferfv(int buffer, int drawbuffer, FloatBuffer value)`
  `void`
  `glClearBufferiv(int buffer, int drawbuffer, IntBuffer value)`
  `int`
  `glClientWaitSync(long sync, int flags, long timeout)`
  `void`
  `glColorMask(boolean red, boolean green, boolean blue, boolean alpha)`
  `void`
  `glCompileShader(int shader)`
  `void`
  `glCopyBufferSubData(int readTarget, int writeTarget, long readOffset, long writeOffset, long size)`
  `void`
  `glCopyImageSubData(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth)`
  `void`
  `glCopyNamedBufferSubData(int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size)`
  `void`
  `glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height)`
  `int`
  `glCreateBuffers()`
  `int`
  `glCreateProgram()`
  `int`
  `glCreateShader(int type)`
  `int`
  `glCreateTextures(int target)`
  `int`
  `glCreateVertexArrays()`
  `void`
  `glDeleteBuffers(int buffer)`
  `void`
  `glDeleteFramebuffers(int framebuffer)`
  `void`
  `glDeleteProgram(int program)`
  `void`
  `glDeleteRenderbuffers(int renderbuffer)`
  `void`
  `glDeleteSamplers(int sampler)`
  `void`
  `glDeleteShader(int shader)`
  `void`
  `glDeleteSync(long sync)`
  `void`
  `glDeleteTextures(int texture)`
  `void`
  `glDeleteVertexArrays(int array)`
  `void`
  `glDepthFunc(int func)`
  `void`
  `glDepthMask(boolean flag)`
  `void`
  `glDetachShader(int program, int shader)`
  `void`
  `glDisable(int cap)`
  `void`
  `glDrawArrays(int mode, int first, int count)`
  `void`
  `glDrawArraysInstanced(int mode, int first, int count, int instancecount)`
  `void`
  `glDrawArraysInstancedBaseInstance(int mode, int first, int count, int instancecount, int baseinstance)`
  `void`
  `glDrawBuffers(int[] bufs)`
  `void`
  `glDrawElements(int mode, int count, int type, long indices)`
  `void`
  `glDrawElementsBaseVertex(int mode, int count, int type, long indices, int basevertex)`
  `void`
  `glDrawElementsInstanced(int mode, int count, int type, long indices, int instancecount)`
  `void`
  `glDrawElementsInstancedBaseVertex(int mode, int count, int type, long indices, int instancecount, int basevertex)`
  `void`
  `glDrawElementsInstancedBaseVertexBaseInstance(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance)`
  `void`
  `glEnable(int cap)`
  `void`
  `glEnableVertexArrayAttrib(int vaobj, int index)`
  `void`
  `glEnableVertexAttribArray(int index)`
  `long`
  `glFenceSync(int condition, int flags)`
  `void`
  `glFinish()`
  `void`
  `glFlush()`
  `void`
  `glFramebufferRenderbuffer(int target, int attachment, int renderbuffertarget, int renderbuffer)`
  `void`
  `glFramebufferTexture2D(int target, int attachment, int textarget, int texture, int level)`
  `void`
  `glFrontFace(int mode)`
  `int`
  `glGenBuffers()`
  `int`
  `glGenFramebuffers()`
  `int`
  `glGenRenderbuffers()`
  `int`
  `glGenSamplers()`
  `int`
  `glGenTextures()`
  `int`
  `glGenVertexArrays()`
  `int`
  `glGetError()`
  `int`
  `glGetInteger(int pname)`
  `int`
  `glGetProgrami(int program, int pname)`
  `String`
  `glGetProgramInfoLog(int program)`
  `int`
  `glGetShaderi(int shader, int pname)`
  `String`
  `glGetShaderInfoLog(int shader)`
  `String`
  `glGetString(int name)`
  `int`
  `glGetUniformBlockIndex(int program, CharSequence uniformBlockName)`
  `int`
  `glGetUniformLocation(int program, CharSequence name)`
  `void`
  `glInvalidateBufferSubData(int buffer, long offset, long length)`
  `void`
  `glInvalidateFramebuffer(int target, IntBuffer attachments)`
  `void`
  `glLineWidth(float width)`
  `void`
  `glLinkProgram(int program)`
  `long`
  `glMapBufferRange(int target, long offset, long length, int access)`
  `long`
  `glMapNamedBufferRange(int buffer, long offset, long length, int access)`
  `void`
  `glNamedBufferData(int buffer, long size, long data, int usage)`
  `void`
  `glNamedBufferStorage(int buffer, long size, long data, int flags)`
  `void`
  `glNamedBufferSubData(int buffer, long offset, long size, long data)`
  `void`
  `glObjectLabel(int identifier, int name, int length, long label)`
  `void`
  `glObjectLabel(int identifier, int name, CharSequence label)`
  `void`
  `glPixelStorei(int pname, int param)`
  `void`
  `glRenderbufferStorage(int target, int internalformat, int width, int height)`
  `void`
  `glRenderbufferStorageMultisample(int target, int samples, int internalformat, int width, int height)`
  `void`
  `glSamplerParameterf(int sampler, int pname, float param)`
  `void`
  `glSamplerParameteri(int sampler, int pname, int param)`
  `void`
  `glScissor(int x, int y, int width, int height)`
  `void`
  `glShaderBinary(IntBuffer shaders, int binaryformat, ByteBuffer binary)`
  `void`
  `glShaderSource(int shader, int count, long strings, long length)`
  `void`
  `glSpecializeShader(int shader, CharSequence pEntryPoint, IntBuffer pConstantIndex, IntBuffer pConstantValue)`
  `void`
  `glStencilFunc(int func, int ref, int mask)`
  `void`
  `glStencilFuncSeparate(int face, int func, int ref, int mask)`
  `void`
  `glStencilMask(int mask)`
  `void`
  `glStencilMaskSeparate(int face, int mask)`
  `void`
  `glStencilOp(int sfail, int dpfail, int dppass)`
  `void`
  `glStencilOpSeparate(int face, int sfail, int dpfail, int dppass)`
  `void`
  `glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, long pixels)`
  `void`
  `glTexParameteri(int target, int pname, int param)`
  `void`
  `glTexParameteriv(int target, int pname, IntBuffer params)`
  `void`
  `glTexStorage2D(int target, int levels, int internalformat, int width, int height)`
  `void`
  `glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels)`
  `void`
  `glTextureBarrier()`
  `void`
  `glTextureParameteri(int texture, int pname, int param)`
  `void`
  `glTextureParameteriv(int texture, int pname, IntBuffer params)`
  `void`
  `glTextureStorage2D(int texture, int levels, int internalformat, int width, int height)`
  `void`
  `glTextureSubImage2D(int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels)`
  `void`
  `glUniform1i(int location, int v0)`
  `void`
  `glUniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding)`
  `boolean`
  `glUnmapBuffer(int target)`
  `boolean`
  `glUnmapNamedBuffer(int buffer)`
  `void`
  `glUseProgram(int program)`
  `void`
  `glVertexArrayAttribBinding(int vaobj, int attribindex, int bindingindex)`
  `void`
  `glVertexArrayAttribFormat(int vaobj, int attribindex, int size, int type, boolean normalized, int relativeoffset)`
  `void`
  `glVertexArrayAttribIFormat(int vaobj, int attribindex, int size, int type, int relativeoffset)`
  `void`
  `glVertexArrayBindingDivisor(int vaobj, int bindingindex, int divisor)`
  `void`
  `glVertexAttribBinding(int attribindex, int bindingindex)`
  `void`
  `glVertexAttribDivisor(int index, int divisor)`
  `void`
  `glVertexAttribFormat(int attribindex, int size, int type, boolean normalized, int relativeoffset)`
  `void`
  `glVertexAttribIFormat(int attribindex, int size, int type, int relativeoffset)`
  `void`
  `glVertexAttribIPointer(int index, int size, int type, int stride, long pointer)`
  `void`
  `glVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, long pointer)`
  `void`
  `glVertexBindingDivisor(int bindingindex, int divisor)`
  `void`
  `glViewport(int x, int y, int width, int height)`
  `boolean`
  `isGLES()`
  Returns true if OpenGL ES (embedded system), returns false if OpenGL (desktop, core profile).

  ### Methods inherited from class icyllis.arc3d.opengl.GLCaps

  `canCopyImage, canCopyTexSubImage, computeImageKey, dump, getCompressedBackendFormat, getDefaultColorImageDesc, getDefaultDepthStencilImageDesc, getDriver, getExternalTypeAlignment, getFormatDefaultExternalFormat, getFormatDefaultExternalType, getGLSLVersion, getImageDescForSampledCopy, getInvalidateBufferType, getMaxRenderTargetSampleCount, getMaxRenderTargetSampleCount, getPixelsExternalFormat, getPixelsExternalType, getProgramBinaryFormats, getRenderbufferInternalFormat, getRenderTargetSampleCount, getRenderTargetSampleCount, getSupportedWriteColorType, getTextureInternalFormat, getVendor, getWriteSwizzle, hasBaseInstanceSupport, hasBufferStorageSupport, hasCopyImageSupport, hasDebugSupport, hasDrawElementsBaseVertexSupport, hasDSASupport, hasInvalidateFramebufferSupport, hasProgramBinarySupport, hasSPIRVSupport, hasVertexAttribBindingSupport, hasVolatileContext, isFormatRenderable, isFormatRenderable, isFormatRenderable, isFormatTexturable, isFormatTexturable, isTextureStorageCompatible, makeDesc, makeGraphicsPipelineKey, maxLabelLength, maxTextureMaxAnisotropy, onApplyOptionsOverrides, onFormatCompatible, onGetDefaultBackendFormat, onGetReadSwizzle, onSupportedReadColorType, skipErrorChecks, toString`

  ### Methods inherited from class icyllis.arc3d.engine.Caps

  `advancedBlendEquationSupport, advancedCoherentBlendEquationSupport, avoidLargeIndexBufferDraws, avoidStencilBuffers, avoidWritePixelsFastPath, blendEquationSupport, clampToBorderSupport, conservativeRasterSupport, crossContextTextureSupport, depthClipNegativeOneToOne, discardStencilValuesAfterRenderPass, drawInstancedSupport, dynamicStateArrayGeometryProcessorTextureSupport, fenceSyncSupport, finishInitialization, getDefaultBackendFormat, getDefaultColorImageDesc, getInternalMultisampleCount, getReadSwizzle, getSupportedReadColorType, gpuTracingSupport, halfFloatVertexAttributeSupport, hasAnisotropySupport, isFormatCompatible, maxColorAttachments, maxPreferredRenderTargetSize, maxPushConstantsSize, maxRenderTargetSize, maxTextureSize, maxVertexAttributes, maxVertexBindings, minStorageBufferOffsetAlignment, minUniformBufferOffsetAlignment, mipmapSupport, msaaResolvesAutomatically, mustClearUploadedBufferData, mustSyncGpuDuringDiscard, nativeDrawIndexedIndirectIsBroken, npotTextureTileSupport, oversizedStencilSupport, performColorClearsAsDraws, performPartialClearsAsDraws, performStencilClearsAsDraws, preferClientSideDynamicBuffers, preferDiscardableMSAAAttachment, preferFullscreenClears, preferVRAMUseOverFlushes, readPixelsRowBytesSupport, reducedShaderMode, requiresManualFBBarrierAfterTessellatedStencilDraw, reuseScratchBuffers, reuseScratchTextures, sampleLocationsSupport, semaphoreSupport, shaderCaps, shouldCollapseSrcOverToSrcWhenAble, shouldInitializeTextures, supportsTextureBarrier, textureBarrierSupport, transferBufferAlignment, transferFromBufferToTextureSupport, transferFromSurfaceToBufferSupport, transferPixelsToRowBytesSupport, twoSidedStencilRefsAndMasksMustMatch, useCpuStagingBuffers, usePrimitiveRestart, validateAttachmentParams, validateSurfaceParams, wireframeSupport, workarounds, writePixelsRowBytesSupport`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### GLCaps_GL

    @VisibleForTesting public GLCaps_GL(ContextOptions options, Object capabilities)

- ## Method Details

  - ### isGLES

    public boolean isGLES()
    Description copied from class: `GLCaps`
    Returns true if OpenGL ES (embedded system), returns false if OpenGL (desktop, core profile).
    Specified by:
      `isGLES` in class `GLCaps`

  - ### glEnable

    public void glEnable(int cap)
    Specified by:
      `glEnable` in interface `GLInterfaceCommon`

  - ### glDisable

    public void glDisable(int cap)
    Specified by:
      `glDisable` in interface `GLInterfaceCommon`

  - ### glFrontFace

    public void glFrontFace(int mode)
    Specified by:
      `glFrontFace` in interface `GLInterfaceCommon`

  - ### glLineWidth

    public void glLineWidth(float width)
    Specified by:
      `glLineWidth` in interface `GLInterfaceCommon`

  - ### glGenTextures

    public int glGenTextures()
    Specified by:
      `glGenTextures` in interface `GLInterfaceCommon`

  - ### glTexParameteri

    public void glTexParameteri(int target, int pname, int param)
    Specified by:
      `glTexParameteri` in interface `GLInterfaceCommon`

  - ### glTexParameteriv

    public void glTexParameteriv(int target, int pname, IntBuffer params)
    Specified by:
      `glTexParameteriv` in interface `GLInterfaceCommon`

  - ### glTexImage2D

    public void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, long pixels)
    Specified by:
      `glTexImage2D` in interface `GLInterfaceCommon`

  - ### glTexSubImage2D

    public void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels)
    Specified by:
      `glTexSubImage2D` in interface `GLInterfaceCommon`

  - ### glCopyTexSubImage2D

    public void glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height)
    Specified by:
      `glCopyTexSubImage2D` in interface `GLInterfaceCommon`

  - ### glDeleteTextures

    public void glDeleteTextures(int texture)
    Specified by:
      `glDeleteTextures` in interface `GLInterfaceCommon`

  - ### glBindTexture

    public void glBindTexture(int target, int texture)
    Specified by:
      `glBindTexture` in interface `GLInterfaceCommon`

  - ### glPixelStorei

    public void glPixelStorei(int pname, int param)
    Specified by:
      `glPixelStorei` in interface `GLInterfaceCommon`

  - ### glBlendFunc

    public void glBlendFunc(int sfactor, int dfactor)
    Specified by:
      `glBlendFunc` in interface `GLInterfaceCommon`

  - ### glColorMask

    public void glColorMask(boolean red, boolean green, boolean blue, boolean alpha)
    Specified by:
      `glColorMask` in interface `GLInterfaceCommon`

  - ### glDepthFunc

    public void glDepthFunc(int func)
    Specified by:
      `glDepthFunc` in interface `GLInterfaceCommon`

  - ### glDepthMask

    public void glDepthMask(boolean flag)
    Specified by:
      `glDepthMask` in interface `GLInterfaceCommon`

  - ### glStencilOp

    public void glStencilOp(int sfail, int dpfail, int dppass)
    Specified by:
      `glStencilOp` in interface `GLInterfaceCommon`

  - ### glStencilFunc

    public void glStencilFunc(int func, int ref, int mask)
    Specified by:
      `glStencilFunc` in interface `GLInterfaceCommon`

  - ### glStencilMask

    public void glStencilMask(int mask)
    Specified by:
      `glStencilMask` in interface `GLInterfaceCommon`

  - ### glDrawArrays

    public void glDrawArrays(int mode, int first, int count)
    Specified by:
      `glDrawArrays` in interface `GLInterfaceCommon`

  - ### glDrawElements

    public void glDrawElements(int mode, int count, int type, long indices)
    Specified by:
      `glDrawElements` in interface `GLInterfaceCommon`

  - ### glFlush

    public void glFlush()
    Specified by:
      `glFlush` in interface `GLInterfaceCommon`

  - ### glFinish

    public void glFinish()
    Specified by:
      `glFinish` in interface `GLInterfaceCommon`

  - ### glGetError

    public int glGetError()
    Specified by:
      `glGetError` in interface `GLInterfaceCommon`

  - ### glGetString

    @Nullable public String glGetString(int name)
    Specified by:
      `glGetString` in interface `GLInterfaceCommon`

  - ### glGetInteger

    public int glGetInteger(int pname)
    Specified by:
      `glGetInteger` in interface `GLInterfaceCommon`

  - ### glScissor

    public void glScissor(int x, int y, int width, int height)
    Specified by:
      `glScissor` in interface `GLInterfaceCommon`

  - ### glViewport

    public void glViewport(int x, int y, int width, int height)
    Specified by:
      `glViewport` in interface `GLInterfaceCommon`

  - ### glActiveTexture

    public void glActiveTexture(int texture)
    Specified by:
      `glActiveTexture` in interface `GLInterfaceCommon`

  - ### glBlendEquation

    public void glBlendEquation(int mode)
    Specified by:
      `glBlendEquation` in interface `GLInterfaceCommon`

  - ### glGenBuffers

    public int glGenBuffers()
    Specified by:
      `glGenBuffers` in interface `GLInterfaceCommon`

  - ### glDeleteBuffers

    public void glDeleteBuffers(int buffer)
    Specified by:
      `glDeleteBuffers` in interface `GLInterfaceCommon`

  - ### glBindBuffer

    public void glBindBuffer(int target, int buffer)
    Specified by:
      `glBindBuffer` in interface `GLInterfaceCommon`

  - ### glBufferData

    public void glBufferData(int target, long size, long data, int usage)
    Specified by:
      `glBufferData` in interface `GLInterfaceCommon`

  - ### glBufferSubData

    public void glBufferSubData(int target, long offset, long size, long data)
    Specified by:
      `glBufferSubData` in interface `GLInterfaceCommon`

  - ### glUnmapBuffer

    public boolean glUnmapBuffer(int target)
    Specified by:
      `glUnmapBuffer` in interface `GLInterfaceCommon`

  - ### glDrawBuffers

    public void glDrawBuffers(int[] bufs)
    Specified by:
      `glDrawBuffers` in interface `GLInterfaceCommon`

  - ### glStencilOpSeparate

    public void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass)
    Specified by:
      `glStencilOpSeparate` in interface `GLInterfaceCommon`

  - ### glStencilFuncSeparate

    public void glStencilFuncSeparate(int face, int func, int ref, int mask)
    Specified by:
      `glStencilFuncSeparate` in interface `GLInterfaceCommon`

  - ### glStencilMaskSeparate

    public void glStencilMaskSeparate(int face, int mask)
    Specified by:
      `glStencilMaskSeparate` in interface `GLInterfaceCommon`

  - ### glCreateProgram

    public int glCreateProgram()
    Specified by:
      `glCreateProgram` in interface `GLInterfaceCommon`

  - ### glDeleteProgram

    public void glDeleteProgram(int program)
    Specified by:
      `glDeleteProgram` in interface `GLInterfaceCommon`

  - ### glCreateShader

    public int glCreateShader(int type)
    Specified by:
      `glCreateShader` in interface `GLInterfaceCommon`

  - ### glDeleteShader

    public void glDeleteShader(int shader)
    Specified by:
      `glDeleteShader` in interface `GLInterfaceCommon`

  - ### glAttachShader

    public void glAttachShader(int program, int shader)
    Specified by:
      `glAttachShader` in interface `GLInterfaceCommon`

  - ### glDetachShader

    public void glDetachShader(int program, int shader)
    Specified by:
      `glDetachShader` in interface `GLInterfaceCommon`

  - ### glShaderSource

    public void glShaderSource(int shader, int count, long strings, long length)
    Specified by:
      `glShaderSource` in interface `GLInterfaceCommon`

  - ### glCompileShader

    public void glCompileShader(int shader)
    Specified by:
      `glCompileShader` in interface `GLInterfaceCommon`

  - ### glLinkProgram

    public void glLinkProgram(int program)
    Specified by:
      `glLinkProgram` in interface `GLInterfaceCommon`

  - ### glUseProgram

    public void glUseProgram(int program)
    Specified by:
      `glUseProgram` in interface `GLInterfaceCommon`

  - ### glGetShaderi

    public int glGetShaderi(int shader, int pname)
    Specified by:
      `glGetShaderi` in interface `GLInterfaceCommon`

  - ### glGetProgrami

    public int glGetProgrami(int program, int pname)
    Specified by:
      `glGetProgrami` in interface `GLInterfaceCommon`

  - ### glGetShaderInfoLog

    public String glGetShaderInfoLog(int shader)
    Specified by:
      `glGetShaderInfoLog` in interface `GLInterfaceCommon`

  - ### glGetProgramInfoLog

    public String glGetProgramInfoLog(int program)
    Specified by:
      `glGetProgramInfoLog` in interface `GLInterfaceCommon`

  - ### glGetUniformLocation

    public int glGetUniformLocation(int program, CharSequence name)
    Specified by:
      `glGetUniformLocation` in interface `GLInterfaceCommon`

  - ### glUniform1i

    public void glUniform1i(int location, int v0)
    Specified by:
      `glUniform1i` in interface `GLInterfaceCommon`

  - ### glEnableVertexAttribArray

    public void glEnableVertexAttribArray(int index)
    Specified by:
      `glEnableVertexAttribArray` in interface `GLInterfaceCommon`

  - ### glVertexAttribPointer

    public void glVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, long pointer)
    Specified by:
      `glVertexAttribPointer` in interface `GLInterfaceCommon`

  - ### glVertexAttribIPointer

    public void glVertexAttribIPointer(int index, int size, int type, int stride, long pointer)
    Specified by:
      `glVertexAttribIPointer` in interface `GLInterfaceCommon`

  - ### glGenVertexArrays

    public int glGenVertexArrays()
    Specified by:
      `glGenVertexArrays` in interface `GLInterfaceCommon`

  - ### glDeleteVertexArrays

    public void glDeleteVertexArrays(int array)
    Specified by:
      `glDeleteVertexArrays` in interface `GLInterfaceCommon`

  - ### glBindVertexArray

    public void glBindVertexArray(int array)
    Specified by:
      `glBindVertexArray` in interface `GLInterfaceCommon`

  - ### glGenFramebuffers

    public int glGenFramebuffers()
    Specified by:
      `glGenFramebuffers` in interface `GLInterfaceCommon`

  - ### glDeleteFramebuffers

    public void glDeleteFramebuffers(int framebuffer)
    Specified by:
      `glDeleteFramebuffers` in interface `GLInterfaceCommon`

  - ### glBindFramebuffer

    public void glBindFramebuffer(int target, int framebuffer)
    Specified by:
      `glBindFramebuffer` in interface `GLInterfaceCommon`

  - ### glCheckFramebufferStatus

    public int glCheckFramebufferStatus(int target)
    Specified by:
      `glCheckFramebufferStatus` in interface `GLInterfaceCommon`

  - ### glFramebufferTexture2D

    public void glFramebufferTexture2D(int target, int attachment, int textarget, int texture, int level)
    Specified by:
      `glFramebufferTexture2D` in interface `GLInterfaceCommon`

  - ### glFramebufferRenderbuffer

    public void glFramebufferRenderbuffer(int target, int attachment, int renderbuffertarget, int renderbuffer)
    Specified by:
      `glFramebufferRenderbuffer` in interface `GLInterfaceCommon`

  - ### glBlitFramebuffer

    public void glBlitFramebuffer(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter)
    Specified by:
      `glBlitFramebuffer` in interface `GLInterfaceCommon`

  - ### glClearBufferiv

    public void glClearBufferiv(int buffer, int drawbuffer, IntBuffer value)
    Specified by:
      `glClearBufferiv` in interface `GLInterfaceCommon`

  - ### glClearBufferfv

    public void glClearBufferfv(int buffer, int drawbuffer, FloatBuffer value)
    Specified by:
      `glClearBufferfv` in interface `GLInterfaceCommon`

  - ### glClearBufferfi

    public void glClearBufferfi(int buffer, int drawbuffer, float depth, int stencil)
    Specified by:
      `glClearBufferfi` in interface `GLInterfaceCommon`

  - ### glBindBufferBase

    public void glBindBufferBase(int target, int index, int buffer)
    Specified by:
      `glBindBufferBase` in interface `GLInterfaceCommon`

  - ### glBindBufferRange

    public void glBindBufferRange(int target, int index, int buffer, long offset, long size)
    Specified by:
      `glBindBufferRange` in interface `GLInterfaceCommon`

  - ### glGenRenderbuffers

    public int glGenRenderbuffers()
    Specified by:
      `glGenRenderbuffers` in interface `GLInterfaceCommon`

  - ### glDeleteRenderbuffers

    public void glDeleteRenderbuffers(int renderbuffer)
    Specified by:
      `glDeleteRenderbuffers` in interface `GLInterfaceCommon`

  - ### glBindRenderbuffer

    public void glBindRenderbuffer(int target, int renderbuffer)
    Specified by:
      `glBindRenderbuffer` in interface `GLInterfaceCommon`

  - ### glRenderbufferStorage

    public void glRenderbufferStorage(int target, int internalformat, int width, int height)
    Specified by:
      `glRenderbufferStorage` in interface `GLInterfaceCommon`

  - ### glRenderbufferStorageMultisample

    public void glRenderbufferStorageMultisample(int target, int samples, int internalformat, int width, int height)
    Specified by:
      `glRenderbufferStorageMultisample` in interface `GLInterfaceCommon`

  - ### glMapBufferRange

    public long glMapBufferRange(int target, long offset, long length, int access)
    Specified by:
      `glMapBufferRange` in interface `GLInterfaceCommon`

  - ### glDrawArraysInstanced

    public void glDrawArraysInstanced(int mode, int first, int count, int instancecount)
    Specified by:
      `glDrawArraysInstanced` in interface `GLInterfaceCommon`

  - ### glDrawElementsInstanced

    public void glDrawElementsInstanced(int mode, int count, int type, long indices, int instancecount)
    Specified by:
      `glDrawElementsInstanced` in interface `GLInterfaceCommon`

  - ### glCopyBufferSubData

    public void glCopyBufferSubData(int readTarget, int writeTarget, long readOffset, long writeOffset, long size)
    Specified by:
      `glCopyBufferSubData` in interface `GLInterfaceCommon`

  - ### glGetUniformBlockIndex

    public int glGetUniformBlockIndex(int program, CharSequence uniformBlockName)
    Specified by:
      `glGetUniformBlockIndex` in interface `GLInterfaceCommon`

  - ### glUniformBlockBinding

    public void glUniformBlockBinding(int program, int uniformBlockIndex, int uniformBlockBinding)
    Specified by:
      `glUniformBlockBinding` in interface `GLInterfaceCommon`

  - ### glFenceSync

    public long glFenceSync(int condition, int flags)
    Specified by:
      `glFenceSync` in interface `GLInterfaceCommon`

  - ### glDeleteSync

    public void glDeleteSync(long sync)
    Specified by:
      `glDeleteSync` in interface `GLInterfaceCommon`

  - ### glClientWaitSync

    public int glClientWaitSync(long sync, int flags, long timeout)
    Specified by:
      `glClientWaitSync` in interface `GLInterfaceCommon`

  - ### glGenSamplers

    public int glGenSamplers()
    Specified by:
      `glGenSamplers` in interface `GLInterfaceCommon`

  - ### glDeleteSamplers

    public void glDeleteSamplers(int sampler)
    Specified by:
      `glDeleteSamplers` in interface `GLInterfaceCommon`

  - ### glBindSampler

    public void glBindSampler(int unit, int sampler)
    Specified by:
      `glBindSampler` in interface `GLInterfaceCommon`

  - ### glSamplerParameteri

    public void glSamplerParameteri(int sampler, int pname, int param)
    Specified by:
      `glSamplerParameteri` in interface `GLInterfaceCommon`

  - ### glSamplerParameterf

    public void glSamplerParameterf(int sampler, int pname, float param)
    Specified by:
      `glSamplerParameterf` in interface `GLInterfaceCommon`

  - ### glVertexAttribDivisor

    public void glVertexAttribDivisor(int index, int divisor)
    Specified by:
      `glVertexAttribDivisor` in interface `GLInterfaceCommon`

  - ### glDrawElementsBaseVertex

    public void glDrawElementsBaseVertex(int mode, int count, int type, long indices, int basevertex)
    Specified by:
      `glDrawElementsBaseVertex` in interface `GLInterface`

  - ### glDrawElementsInstancedBaseVertex

    public void glDrawElementsInstancedBaseVertex(int mode, int count, int type, long indices, int instancecount, int basevertex)
    Specified by:
      `glDrawElementsInstancedBaseVertex` in interface `GLInterface`

  - ### glShaderBinary

    public void glShaderBinary(IntBuffer shaders, int binaryformat, ByteBuffer binary)
    Specified by:
      `glShaderBinary` in interface `GLInterface`

  - ### glDrawArraysInstancedBaseInstance

    public void glDrawArraysInstancedBaseInstance(int mode, int first, int count, int instancecount, int baseinstance)
    Specified by:
      `glDrawArraysInstancedBaseInstance` in interface `GLInterface`

  - ### glDrawElementsInstancedBaseVertexBaseInstance

    public void glDrawElementsInstancedBaseVertexBaseInstance(int mode, int count, int type, long indices, int instancecount, int basevertex, int baseinstance)
    Specified by:
      `glDrawElementsInstancedBaseVertexBaseInstance` in interface `GLInterface`

  - ### glTexStorage2D

    public void glTexStorage2D(int target, int levels, int internalformat, int width, int height)
    Specified by:
      `glTexStorage2D` in interface `GLInterface`

  - ### glInvalidateBufferSubData

    public void glInvalidateBufferSubData(int buffer, long offset, long length)
    Specified by:
      `glInvalidateBufferSubData` in interface `GLInterface`

  - ### glInvalidateFramebuffer

    public void glInvalidateFramebuffer(int target, IntBuffer attachments)
    Specified by:
      `glInvalidateFramebuffer` in interface `GLInterface`

  - ### glCopyImageSubData

    public void glCopyImageSubData(int srcName, int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, int dstName, int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth)
    Specified by:
      `glCopyImageSubData` in interface `GLInterface`

  - ### glObjectLabel

    public void glObjectLabel(int identifier, int name, int length, long label)
    Specified by:
      `glObjectLabel` in interface `GLInterface`

  - ### glObjectLabel

    public void glObjectLabel(int identifier, int name, CharSequence label)
    Specified by:
      `glObjectLabel` in interface `GLInterface`

  - ### glBindVertexBuffer

    public void glBindVertexBuffer(int bindingindex, int buffer, long offset, int stride)
    Specified by:
      `glBindVertexBuffer` in interface `GLInterface`

  - ### glVertexAttribFormat

    public void glVertexAttribFormat(int attribindex, int size, int type, boolean normalized, int relativeoffset)
    Specified by:
      `glVertexAttribFormat` in interface `GLInterface`

  - ### glVertexAttribIFormat

    public void glVertexAttribIFormat(int attribindex, int size, int type, int relativeoffset)
    Specified by:
      `glVertexAttribIFormat` in interface `GLInterface`

  - ### glVertexAttribBinding

    public void glVertexAttribBinding(int attribindex, int bindingindex)
    Specified by:
      `glVertexAttribBinding` in interface `GLInterface`

  - ### glVertexBindingDivisor

    public void glVertexBindingDivisor(int bindingindex, int divisor)
    Specified by:
      `glVertexBindingDivisor` in interface `GLInterface`

  - ### glBufferStorage

    public void glBufferStorage(int target, long size, long data, int flags)
    Specified by:
      `glBufferStorage` in interface `GLInterface`

  - ### glTextureBarrier

    public void glTextureBarrier()
    Specified by:
      `glTextureBarrier` in interface `GLInterface`

  - ### glCreateBuffers

    public int glCreateBuffers()
    Specified by:
      `glCreateBuffers` in interface `GLInterface`

  - ### glNamedBufferData

    public void glNamedBufferData(int buffer, long size, long data, int usage)
    Specified by:
      `glNamedBufferData` in interface `GLInterface`

  - ### glNamedBufferSubData

    public void glNamedBufferSubData(int buffer, long offset, long size, long data)
    Specified by:
      `glNamedBufferSubData` in interface `GLInterface`

  - ### glMapNamedBufferRange

    public long glMapNamedBufferRange(int buffer, long offset, long length, int access)
    Specified by:
      `glMapNamedBufferRange` in interface `GLInterface`

  - ### glUnmapNamedBuffer

    public boolean glUnmapNamedBuffer(int buffer)
    Specified by:
      `glUnmapNamedBuffer` in interface `GLInterface`

  - ### glNamedBufferStorage

    public void glNamedBufferStorage(int buffer, long size, long data, int flags)
    Specified by:
      `glNamedBufferStorage` in interface `GLInterface`

  - ### glCopyNamedBufferSubData

    public void glCopyNamedBufferSubData(int readBuffer, int writeBuffer, long readOffset, long writeOffset, long size)
    Specified by:
      `glCopyNamedBufferSubData` in interface `GLInterface`

  - ### glCreateTextures

    public int glCreateTextures(int target)
    Specified by:
      `glCreateTextures` in interface `GLInterface`

  - ### glTextureParameteri

    public void glTextureParameteri(int texture, int pname, int param)
    Specified by:
      `glTextureParameteri` in interface `GLInterface`

  - ### glTextureParameteriv

    public void glTextureParameteriv(int texture, int pname, IntBuffer params)
    Specified by:
      `glTextureParameteriv` in interface `GLInterface`

  - ### glTextureSubImage2D

    public void glTextureSubImage2D(int texture, int level, int xoffset, int yoffset, int width, int height, int format, int type, long pixels)
    Specified by:
      `glTextureSubImage2D` in interface `GLInterface`

  - ### glTextureStorage2D

    public void glTextureStorage2D(int texture, int levels, int internalformat, int width, int height)
    Specified by:
      `glTextureStorage2D` in interface `GLInterface`

  - ### glCreateVertexArrays

    public int glCreateVertexArrays()
    Specified by:
      `glCreateVertexArrays` in interface `GLInterface`

  - ### glEnableVertexArrayAttrib

    public void glEnableVertexArrayAttrib(int vaobj, int index)
    Specified by:
      `glEnableVertexArrayAttrib` in interface `GLInterface`

  - ### glVertexArrayAttribFormat

    public void glVertexArrayAttribFormat(int vaobj, int attribindex, int size, int type, boolean normalized, int relativeoffset)
    Specified by:
      `glVertexArrayAttribFormat` in interface `GLInterface`

  - ### glVertexArrayAttribIFormat

    public void glVertexArrayAttribIFormat(int vaobj, int attribindex, int size, int type, int relativeoffset)
    Specified by:
      `glVertexArrayAttribIFormat` in interface `GLInterface`

  - ### glVertexArrayAttribBinding

    public void glVertexArrayAttribBinding(int vaobj, int attribindex, int bindingindex)
    Specified by:
      `glVertexArrayAttribBinding` in interface `GLInterface`

  - ### glVertexArrayBindingDivisor

    public void glVertexArrayBindingDivisor(int vaobj, int bindingindex, int divisor)
    Specified by:
      `glVertexArrayBindingDivisor` in interface `GLInterface`

  - ### glBindTextureUnit

    public void glBindTextureUnit(int unit, int texture)
    Specified by:
      `glBindTextureUnit` in interface `GLInterface`

  - ### glSpecializeShader

    public void glSpecializeShader(int shader, CharSequence pEntryPoint, IntBuffer pConstantIndex, IntBuffer pConstantValue)
    Specified by:
      `glSpecializeShader` in interface `GLInterface`