public final class GLESCapabilities
extends java.lang.Object
public final long glActiveTexture
public final long glAttachShader
public final long glBindAttribLocation
public final long glBindBuffer
public final long glBindFramebuffer
public final long glBindRenderbuffer
public final long glBindTexture
public final long glBlendColor
public final long glBlendEquation
public final long glBlendEquationSeparate
public final long glBlendFunc
public final long glBlendFuncSeparate
public final long glBufferData
public final long glBufferSubData
public final long glCheckFramebufferStatus
public final long glClear
public final long glClearColor
public final long glClearDepthf
public final long glClearStencil
public final long glColorMask
public final long glCompileShader
public final long glCompressedTexImage2D
public final long glCompressedTexSubImage2D
public final long glCopyTexImage2D
public final long glCopyTexSubImage2D
public final long glCreateProgram
public final long glCreateShader
public final long glCullFace
public final long glDeleteBuffers
public final long glDeleteFramebuffers
public final long glDeleteProgram
public final long glDeleteRenderbuffers
public final long glDeleteShader
public final long glDeleteTextures
public final long glDepthFunc
public final long glDepthMask
public final long glDepthRangef
public final long glDetachShader
public final long glDisable
public final long glDisableVertexAttribArray
public final long glDrawArrays
public final long glDrawElements
public final long glEnable
public final long glEnableVertexAttribArray
public final long glFinish
public final long glFlush
public final long glFramebufferRenderbuffer
public final long glFramebufferTexture2D
public final long glFrontFace
public final long glGenBuffers
public final long glGenerateMipmap
public final long glGenFramebuffers
public final long glGenRenderbuffers
public final long glGenTextures
public final long glGetActiveAttrib
public final long glGetActiveUniform
public final long glGetAttachedShaders
public final long glGetAttribLocation
public final long glGetBooleanv
public final long glGetBufferParameteriv
public final long glGetError
public final long glGetFloatv
public final long glGetFramebufferAttachmentParameteriv
public final long glGetIntegerv
public final long glGetProgramiv
public final long glGetProgramInfoLog
public final long glGetRenderbufferParameteriv
public final long glGetShaderiv
public final long glGetShaderInfoLog
public final long glGetShaderPrecisionFormat
public final long glGetShaderSource
public final long glGetString
public final long glGetTexParameterfv
public final long glGetTexParameteriv
public final long glGetUniformfv
public final long glGetUniformiv
public final long glGetUniformLocation
public final long glGetVertexAttribfv
public final long glGetVertexAttribiv
public final long glGetVertexAttribPointerv
public final long glHint
public final long glIsBuffer
public final long glIsEnabled
public final long glIsFramebuffer
public final long glIsProgram
public final long glIsRenderbuffer
public final long glIsShader
public final long glIsTexture
public final long glLineWidth
public final long glLinkProgram
public final long glPixelStorei
public final long glPolygonOffset
public final long glReadPixels
public final long glReleaseShaderCompiler
public final long glRenderbufferStorage
public final long glSampleCoverage
public final long glScissor
public final long glShaderBinary
public final long glShaderSource
public final long glStencilFunc
public final long glStencilFuncSeparate
public final long glStencilMask
public final long glStencilMaskSeparate
public final long glStencilOp
public final long glStencilOpSeparate
public final long glTexImage2D
public final long glTexParameterf
public final long glTexParameterfv
public final long glTexParameteri
public final long glTexParameteriv
public final long glTexSubImage2D
public final long glUniform1f
public final long glUniform1fv
public final long glUniform1i
public final long glUniform1iv
public final long glUniform2f
public final long glUniform2fv
public final long glUniform2i
public final long glUniform2iv
public final long glUniform3f
public final long glUniform3fv
public final long glUniform3i
public final long glUniform3iv
public final long glUniform4f
public final long glUniform4fv
public final long glUniform4i
public final long glUniform4iv
public final long glUniformMatrix2fv
public final long glUniformMatrix3fv
public final long glUniformMatrix4fv
public final long glUseProgram
public final long glValidateProgram
public final long glVertexAttrib1f
public final long glVertexAttrib1fv
public final long glVertexAttrib2f
public final long glVertexAttrib2fv
public final long glVertexAttrib3f
public final long glVertexAttrib3fv
public final long glVertexAttrib4f
public final long glVertexAttrib4fv
public final long glVertexAttribPointer
public final long glViewport
public final long glReadBuffer
public final long glDrawRangeElements
public final long glTexImage3D
public final long glTexSubImage3D
public final long glCopyTexSubImage3D
public final long glCompressedTexImage3D
public final long glCompressedTexSubImage3D
public final long glGenQueries
public final long glDeleteQueries
public final long glIsQuery
public final long glBeginQuery
public final long glEndQuery
public final long glGetQueryiv
public final long glGetQueryObjectuiv
public final long glUnmapBuffer
public final long glGetBufferPointerv
public final long glDrawBuffers
public final long glUniformMatrix2x3fv
public final long glUniformMatrix3x2fv
public final long glUniformMatrix2x4fv
public final long glUniformMatrix4x2fv
public final long glUniformMatrix3x4fv
public final long glUniformMatrix4x3fv
public final long glBlitFramebuffer
public final long glRenderbufferStorageMultisample
public final long glFramebufferTextureLayer
public final long glMapBufferRange
public final long glFlushMappedBufferRange
public final long glBindVertexArray
public final long glDeleteVertexArrays
public final long glGenVertexArrays
public final long glIsVertexArray
public final long glGetIntegeri_v
public final long glBeginTransformFeedback
public final long glEndTransformFeedback
public final long glBindBufferRange
public final long glBindBufferBase
public final long glTransformFeedbackVaryings
public final long glGetTransformFeedbackVarying
public final long glVertexAttribIPointer
public final long glGetVertexAttribIiv
public final long glGetVertexAttribIuiv
public final long glVertexAttribI4i
public final long glVertexAttribI4ui
public final long glVertexAttribI4iv
public final long glVertexAttribI4uiv
public final long glGetUniformuiv
public final long glGetFragDataLocation
public final long glUniform1ui
public final long glUniform2ui
public final long glUniform3ui
public final long glUniform4ui
public final long glUniform1uiv
public final long glUniform2uiv
public final long glUniform3uiv
public final long glUniform4uiv
public final long glClearBufferiv
public final long glClearBufferuiv
public final long glClearBufferfv
public final long glClearBufferfi
public final long glGetStringi
public final long glCopyBufferSubData
public final long glGetUniformIndices
public final long glGetActiveUniformsiv
public final long glGetUniformBlockIndex
public final long glGetActiveUniformBlockiv
public final long glGetActiveUniformBlockName
public final long glUniformBlockBinding
public final long glDrawArraysInstanced
public final long glDrawElementsInstanced
public final long glFenceSync
public final long glIsSync
public final long glDeleteSync
public final long glClientWaitSync
public final long glWaitSync
public final long glGetInteger64v
public final long glGetSynciv
public final long glGetInteger64i_v
public final long glGetBufferParameteri64v
public final long glGenSamplers
public final long glDeleteSamplers
public final long glIsSampler
public final long glBindSampler
public final long glSamplerParameteri
public final long glSamplerParameteriv
public final long glSamplerParameterf
public final long glSamplerParameterfv
public final long glGetSamplerParameteriv
public final long glGetSamplerParameterfv
public final long glVertexAttribDivisor
public final long glBindTransformFeedback
public final long glDeleteTransformFeedbacks
public final long glGenTransformFeedbacks
public final long glIsTransformFeedback
public final long glPauseTransformFeedback
public final long glResumeTransformFeedback
public final long glGetProgramBinary
public final long glProgramBinary
public final long glProgramParameteri
public final long glInvalidateFramebuffer
public final long glInvalidateSubFramebuffer
public final long glTexStorage2D
public final long glTexStorage3D
public final long glGetInternalformativ
public final long glDispatchCompute
public final long glDispatchComputeIndirect
public final long glDrawArraysIndirect
public final long glDrawElementsIndirect
public final long glFramebufferParameteri
public final long glGetFramebufferParameteriv
public final long glGetProgramInterfaceiv
public final long glGetProgramResourceIndex
public final long glGetProgramResourceName
public final long glGetProgramResourceiv
public final long glGetProgramResourceLocation
public final long glUseProgramStages
public final long glActiveShaderProgram
public final long glCreateShaderProgramv
public final long glBindProgramPipeline
public final long glDeleteProgramPipelines
public final long glGenProgramPipelines
public final long glIsProgramPipeline
public final long glGetProgramPipelineiv
public final long glProgramUniform1i
public final long glProgramUniform2i
public final long glProgramUniform3i
public final long glProgramUniform4i
public final long glProgramUniform1ui
public final long glProgramUniform2ui
public final long glProgramUniform3ui
public final long glProgramUniform4ui
public final long glProgramUniform1f
public final long glProgramUniform2f
public final long glProgramUniform3f
public final long glProgramUniform4f
public final long glProgramUniform1iv
public final long glProgramUniform2iv
public final long glProgramUniform3iv
public final long glProgramUniform4iv
public final long glProgramUniform1uiv
public final long glProgramUniform2uiv
public final long glProgramUniform3uiv
public final long glProgramUniform4uiv
public final long glProgramUniform1fv
public final long glProgramUniform2fv
public final long glProgramUniform3fv
public final long glProgramUniform4fv
public final long glProgramUniformMatrix2fv
public final long glProgramUniformMatrix3fv
public final long glProgramUniformMatrix4fv
public final long glProgramUniformMatrix2x3fv
public final long glProgramUniformMatrix3x2fv
public final long glProgramUniformMatrix2x4fv
public final long glProgramUniformMatrix4x2fv
public final long glProgramUniformMatrix3x4fv
public final long glProgramUniformMatrix4x3fv
public final long glValidateProgramPipeline
public final long glGetProgramPipelineInfoLog
public final long glBindImageTexture
public final long glGetBooleani_v
public final long glMemoryBarrier
public final long glMemoryBarrierByRegion
public final long glTexStorage2DMultisample
public final long glGetMultisamplefv
public final long glSampleMaski
public final long glGetTexLevelParameteriv
public final long glGetTexLevelParameterfv
public final long glBindVertexBuffer
public final long glVertexAttribFormat
public final long glVertexAttribIFormat
public final long glVertexAttribBinding
public final long glVertexBindingDivisor
public final long glBlendBarrier
public final long glCopyImageSubData
public final long glDebugMessageControl
public final long glDebugMessageInsert
public final long glDebugMessageCallback
public final long glGetDebugMessageLog
public final long glGetPointerv
public final long glPushDebugGroup
public final long glPopDebugGroup
public final long glObjectLabel
public final long glGetObjectLabel
public final long glObjectPtrLabel
public final long glGetObjectPtrLabel
public final long glEnablei
public final long glDisablei
public final long glBlendEquationi
public final long glBlendEquationSeparatei
public final long glBlendFunci
public final long glBlendFuncSeparatei
public final long glColorMaski
public final long glIsEnabledi
public final long glDrawElementsBaseVertex
public final long glDrawRangeElementsBaseVertex
public final long glDrawElementsInstancedBaseVertex
public final long glFramebufferTexture
public final long glPrimitiveBoundingBox
public final long glGetGraphicsResetStatus
public final long glReadnPixels
public final long glGetnUniformfv
public final long glGetnUniformiv
public final long glGetnUniformuiv
public final long glMinSampleShading
public final long glPatchParameteri
public final long glTexParameterIiv
public final long glTexParameterIuiv
public final long glGetTexParameterIiv
public final long glGetTexParameterIuiv
public final long glSamplerParameterIiv
public final long glSamplerParameterIuiv
public final long glGetSamplerParameterIiv
public final long glGetSamplerParameterIuiv
public final long glTexBuffer
public final long glTexBufferRange
public final long glTexStorage3DMultisample
public final long glRenderbufferStorageMultisampleAdvancedAMD
public final long glNamedRenderbufferStorageMultisampleAdvancedAMD
public final long glGetPerfMonitorGroupsAMD
public final long glGetPerfMonitorCountersAMD
public final long glGetPerfMonitorGroupStringAMD
public final long glGetPerfMonitorCounterStringAMD
public final long glGetPerfMonitorCounterInfoAMD
public final long glGenPerfMonitorsAMD
public final long glDeletePerfMonitorsAMD
public final long glSelectPerfMonitorCountersAMD
public final long glBeginPerfMonitorAMD
public final long glEndPerfMonitorAMD
public final long glGetPerfMonitorCounterDataAMD
public final long glBlitFramebufferANGLE
public final long glRenderbufferStorageMultisampleANGLE
public final long glDrawArraysInstancedANGLE
public final long glDrawElementsInstancedANGLE
public final long glVertexAttribDivisorANGLE
public final long glGetTranslatedShaderSourceANGLE
public final long glCopyTextureLevelsAPPLE
public final long glRenderbufferStorageMultisampleAPPLE
public final long glResolveMultisampleFramebufferAPPLE
public final long glFenceSyncAPPLE
public final long glIsSyncAPPLE
public final long glDeleteSyncAPPLE
public final long glClientWaitSyncAPPLE
public final long glWaitSyncAPPLE
public final long glGetInteger64vAPPLE
public final long glGetSyncivAPPLE
public final long glDrawArraysInstancedBaseInstanceEXT
public final long glDrawElementsInstancedBaseInstanceEXT
public final long glDrawElementsInstancedBaseVertexBaseInstanceEXT
public final long glBindFragDataLocationIndexedEXT
public final long glGetFragDataIndexEXT
public final long glBindFragDataLocationEXT
public final long glGetProgramResourceLocationIndexEXT
public final long glBufferStorageEXT
public final long glNamedBufferStorageEXT
public final long glClearTexImageEXT
public final long glClearTexSubImageEXT
public final long glClipControlEXT
public final long glCopyImageSubDataEXT
public final long glLabelObjectEXT
public final long glGetObjectLabelEXT
public final long glInsertEventMarkerEXT
public final long glPushGroupMarkerEXT
public final long glPopGroupMarkerEXT
public final long glDiscardFramebufferEXT
public final long glQueryCounterEXT
public final long glGetQueryObjectivEXT
public final long glGetQueryObjecti64vEXT
public final long glGetQueryObjectui64vEXT
public final long glGetInteger64vEXT
public final long glDrawBuffersEXT
public final long glEnableiEXT
public final long glDisableiEXT
public final long glBlendEquationiEXT
public final long glBlendEquationSeparateiEXT
public final long glBlendFunciEXT
public final long glBlendFuncSeparateiEXT
public final long glColorMaskiEXT
public final long glIsEnablediEXT
public final long glDrawElementsBaseVertexEXT
public final long glDrawRangeElementsBaseVertexEXT
public final long glDrawElementsInstancedBaseVertexEXT
public final long glMultiDrawElementsBaseVertexEXT
public final long glDrawTransformFeedbackEXT
public final long glDrawTransformFeedbackInstancedEXT
public final long glEGLImageTargetTexStorageEXT
public final long glEGLImageTargetTextureStorageEXT
public final long glBufferStorageExternalEXT
public final long glNamedBufferStorageExternalEXT
public final long glFramebufferTextureEXT
public final long glDrawArraysInstancedEXT
public final long glDrawElementsInstancedEXT
public final long glVertexAttribDivisorEXT
public final long glMapBufferRangeEXT
public final long glFlushMappedBufferRangeEXT
public final long glGetUnsignedBytevEXT
public final long glGetUnsignedBytei_vEXT
public final long glDeleteMemoryObjectsEXT
public final long glIsMemoryObjectEXT
public final long glCreateMemoryObjectsEXT
public final long glMemoryObjectParameterivEXT
public final long glGetMemoryObjectParameterivEXT
public final long glTexStorageMem2DEXT
public final long glTexStorageMem2DMultisampleEXT
public final long glTexStorageMem3DEXT
public final long glTexStorageMem3DMultisampleEXT
public final long glBufferStorageMemEXT
public final long glTextureStorageMem2DEXT
public final long glTextureStorageMem2DMultisampleEXT
public final long glTextureStorageMem3DEXT
public final long glTextureStorageMem3DMultisampleEXT
public final long glNamedBufferStorageMemEXT
public final long glImportMemoryFdEXT
public final long glImportMemoryWin32HandleEXT
public final long glImportMemoryWin32NameEXT
public final long glMultiDrawArraysEXT
public final long glMultiDrawElementsEXT
public final long glMultiDrawArraysIndirectEXT
public final long glMultiDrawElementsIndirectEXT
public final long glRenderbufferStorageMultisampleEXT
public final long glFramebufferTexture2DMultisampleEXT
public final long glReadBufferIndexedEXT
public final long glDrawBuffersIndexedEXT
public final long glGetIntegeri_vEXT
public final long glGenQueriesEXT
public final long glDeleteQueriesEXT
public final long glIsQueryEXT
public final long glBeginQueryEXT
public final long glEndQueryEXT
public final long glGetQueryivEXT
public final long glGetQueryObjectuivEXT
public final long glPolygonOffsetClampEXT
public final long glPrimitiveBoundingBoxEXT
public final long glRasterSamplesEXT
public final long glGetGraphicsResetStatusEXT
public final long glReadnPixelsEXT
public final long glGetnUniformfvEXT
public final long glGetnUniformivEXT
public final long glGenSemaphoresEXT
public final long glDeleteSemaphoresEXT
public final long glIsSemaphoreEXT
public final long glSemaphoreParameterui64vEXT
public final long glGetSemaphoreParameterui64vEXT
public final long glWaitSemaphoreEXT
public final long glSignalSemaphoreEXT
public final long glImportSemaphoreFdEXT
public final long glImportSemaphoreWin32HandleEXT
public final long glImportSemaphoreWin32NameEXT
public final long glActiveShaderProgramEXT
public final long glBindProgramPipelineEXT
public final long glCreateShaderProgramvEXT
public final long glDeleteProgramPipelinesEXT
public final long glGenProgramPipelinesEXT
public final long glGetProgramPipelineInfoLogEXT
public final long glGetProgramPipelineivEXT
public final long glIsProgramPipelineEXT
public final long glProgramParameteriEXT
public final long glProgramUniform1fEXT
public final long glProgramUniform1fvEXT
public final long glProgramUniform1iEXT
public final long glProgramUniform1ivEXT
public final long glProgramUniform2fEXT
public final long glProgramUniform2fvEXT
public final long glProgramUniform2iEXT
public final long glProgramUniform2ivEXT
public final long glProgramUniform3fEXT
public final long glProgramUniform3fvEXT
public final long glProgramUniform3iEXT
public final long glProgramUniform3ivEXT
public final long glProgramUniform4fEXT
public final long glProgramUniform4fvEXT
public final long glProgramUniform4iEXT
public final long glProgramUniform4ivEXT
public final long glProgramUniformMatrix2fvEXT
public final long glProgramUniformMatrix3fvEXT
public final long glProgramUniformMatrix4fvEXT
public final long glUseProgramStagesEXT
public final long glValidateProgramPipelineEXT
public final long glProgramUniform1uiEXT
public final long glProgramUniform2uiEXT
public final long glProgramUniform3uiEXT
public final long glProgramUniform4uiEXT
public final long glProgramUniform1uivEXT
public final long glProgramUniform2uivEXT
public final long glProgramUniform3uivEXT
public final long glProgramUniform4uivEXT
public final long glProgramUniformMatrix2x3fvEXT
public final long glProgramUniformMatrix3x2fvEXT
public final long glProgramUniformMatrix2x4fvEXT
public final long glProgramUniformMatrix4x2fvEXT
public final long glProgramUniformMatrix3x4fvEXT
public final long glProgramUniformMatrix4x3fvEXT
public final long glFramebufferFetchBarrierEXT
public final long glFramebufferPixelLocalStorageSizeEXT
public final long glGetFramebufferPixelLocalStorageSizeEXT
public final long glClearPixelLocalStorageuiEXT
public final long glTexPageCommitmentARB
public final long glPatchParameteriEXT
public final long glTexParameterIivEXT
public final long glTexParameterIuivEXT
public final long glGetTexParameterIivEXT
public final long glGetTexParameterIuivEXT
public final long glSamplerParameterIivEXT
public final long glSamplerParameterIuivEXT
public final long glGetSamplerParameterIivEXT
public final long glGetSamplerParameterIuivEXT
public final long glTexBufferEXT
public final long glTexBufferRangeEXT
public final long glTexStorage1DEXT
public final long glTexStorage2DEXT
public final long glTexStorage3DEXT
public final long glTextureStorage1DEXT
public final long glTextureStorage2DEXT
public final long glTextureStorage3DEXT
public final long glTextureViewEXT
public final long glAcquireKeyedMutexWin32EXT
public final long glReleaseKeyedMutexWin32EXT
public final long glWindowRectanglesEXT
public final long glFramebufferTexture2DDownsampleIMG
public final long glFramebufferTextureLayerDownsampleIMG
public final long glRenderbufferStorageMultisampleIMG
public final long glFramebufferTexture2DMultisampleIMG
public final long glApplyFramebufferAttachmentCMAAINTEL
public final long glBeginPerfQueryINTEL
public final long glCreatePerfQueryINTEL
public final long glDeletePerfQueryINTEL
public final long glEndPerfQueryINTEL
public final long glGetFirstPerfQueryIdINTEL
public final long glGetNextPerfQueryIdINTEL
public final long glGetPerfCounterInfoINTEL
public final long glGetPerfQueryDataINTEL
public final long glGetPerfQueryIdByNameINTEL
public final long glGetPerfQueryInfoINTEL
public final long glBlendBarrierKHR
public final long glDebugMessageControlKHR
public final long glDebugMessageInsertKHR
public final long glDebugMessageCallbackKHR
public final long glGetDebugMessageLogKHR
public final long glGetPointervKHR
public final long glPushDebugGroupKHR
public final long glPopDebugGroupKHR
public final long glObjectLabelKHR
public final long glGetObjectLabelKHR
public final long glObjectPtrLabelKHR
public final long glGetObjectPtrLabelKHR
public final long glMaxShaderCompilerThreadsKHR
public final long glGetGraphicsResetStatusKHR
public final long glReadnPixelsKHR
public final long glGetnUniformfvKHR
public final long glGetnUniformivKHR
public final long glGetnUniformuivKHR
public final long glAlphaToCoverageDitherControlNV
public final long glGetTextureHandleNV
public final long glGetTextureSamplerHandleNV
public final long glMakeTextureHandleResidentNV
public final long glMakeTextureHandleNonResidentNV
public final long glGetImageHandleNV
public final long glMakeImageHandleResidentNV
public final long glMakeImageHandleNonResidentNV
public final long glUniformHandleui64NV
public final long glUniformHandleui64vNV
public final long glProgramUniformHandleui64NV
public final long glProgramUniformHandleui64vNV
public final long glIsTextureHandleResidentNV
public final long glIsImageHandleResidentNV
public final long glBlendParameteriNV
public final long glBlendBarrierNV
public final long glViewportPositionWScaleNV
public final long glBeginConditionalRenderNV
public final long glEndConditionalRenderNV
public final long glSubpixelPrecisionBiasNV
public final long glConservativeRasterParameteriNV
public final long glCopyBufferSubDataNV
public final long glCoverageMaskNV
public final long glCoverageOperationNV
public final long glDrawBuffersNV
public final long glDrawArraysInstancedNV
public final long glDrawElementsInstancedNV
public final long glDrawVkImageNV
public final long glGetVkProcAddrNV
public final long glWaitVkSemaphoreNV
public final long glSignalVkSemaphoreNV
public final long glSignalVkFenceNV
public final long glDeleteFencesNV
public final long glGenFencesNV
public final long glIsFenceNV
public final long glTestFenceNV
public final long glGetFenceivNV
public final long glFinishFenceNV
public final long glSetFenceNV
public final long glFragmentCoverageColorNV
public final long glBlitFramebufferNV
public final long glCoverageModulationTableNV
public final long glGetCoverageModulationTableNV
public final long glCoverageModulationNV
public final long glRenderbufferStorageMultisampleNV
public final long glUniform1i64NV
public final long glUniform2i64NV
public final long glUniform3i64NV
public final long glUniform4i64NV
public final long glUniform1i64vNV
public final long glUniform2i64vNV
public final long glUniform3i64vNV
public final long glUniform4i64vNV
public final long glUniform1ui64NV
public final long glUniform2ui64NV
public final long glUniform3ui64NV
public final long glUniform4ui64NV
public final long glUniform1ui64vNV
public final long glUniform2ui64vNV
public final long glUniform3ui64vNV
public final long glUniform4ui64vNV
public final long glGetUniformi64vNV
public final long glGetUniformui64vNV
public final long glProgramUniform1i64NV
public final long glProgramUniform2i64NV
public final long glProgramUniform3i64NV
public final long glProgramUniform4i64NV
public final long glProgramUniform1i64vNV
public final long glProgramUniform2i64vNV
public final long glProgramUniform3i64vNV
public final long glProgramUniform4i64vNV
public final long glProgramUniform1ui64NV
public final long glProgramUniform2ui64NV
public final long glProgramUniform3ui64NV
public final long glProgramUniform4ui64NV
public final long glProgramUniform1ui64vNV
public final long glProgramUniform2ui64vNV
public final long glProgramUniform3ui64vNV
public final long glProgramUniform4ui64vNV
public final long glVertexAttribDivisorNV
public final long glGetInternalformatSampleivNV
public final long glGetMemoryObjectDetachedResourcesuivNV
public final long glResetMemoryObjectParameterNV
public final long glTexAttachMemoryNV
public final long glBufferAttachMemoryNV
public final long glTextureAttachMemoryNV
public final long glNamedBufferAttachMemoryNV
public final long glDrawMeshTasksNV
public final long glDrawMeshTasksIndirectNV
public final long glMultiDrawMeshTasksIndirectNV
public final long glUniformMatrix2x3fvNV
public final long glUniformMatrix3x2fvNV
public final long glUniformMatrix2x4fvNV
public final long glUniformMatrix4x2fvNV
public final long glUniformMatrix3x4fvNV
public final long glUniformMatrix4x3fvNV
public final long glPathCommandsNV
public final long glPathCoordsNV
public final long glPathSubCommandsNV
public final long glPathSubCoordsNV
public final long glPathStringNV
public final long glPathGlyphsNV
public final long glPathGlyphRangeNV
public final long glPathGlyphIndexArrayNV
public final long glPathMemoryGlyphIndexArrayNV
public final long glCopyPathNV
public final long glWeightPathsNV
public final long glInterpolatePathsNV
public final long glTransformPathNV
public final long glPathParameterivNV
public final long glPathParameteriNV
public final long glPathParameterfvNV
public final long glPathParameterfNV
public final long glPathDashArrayNV
public final long glGenPathsNV
public final long glDeletePathsNV
public final long glIsPathNV
public final long glPathStencilFuncNV
public final long glPathStencilDepthOffsetNV
public final long glStencilFillPathNV
public final long glStencilStrokePathNV
public final long glStencilFillPathInstancedNV
public final long glStencilStrokePathInstancedNV
public final long glPathCoverDepthFuncNV
public final long glCoverFillPathNV
public final long glCoverStrokePathNV
public final long glCoverFillPathInstancedNV
public final long glCoverStrokePathInstancedNV
public final long glStencilThenCoverFillPathNV
public final long glStencilThenCoverStrokePathNV
public final long glStencilThenCoverFillPathInstancedNV
public final long glStencilThenCoverStrokePathInstancedNV
public final long glPathGlyphIndexRangeNV
public final long glProgramPathFragmentInputGenNV
public final long glGetPathParameterivNV
public final long glGetPathParameterfvNV
public final long glGetPathCommandsNV
public final long glGetPathCoordsNV
public final long glGetPathDashArrayNV
public final long glGetPathMetricsNV
public final long glGetPathMetricRangeNV
public final long glGetPathSpacingNV
public final long glIsPointInFillPathNV
public final long glIsPointInStrokePathNV
public final long glGetPathLengthNV
public final long glPointAlongPathNV
public final long glMatrixLoad3x2fNV
public final long glMatrixLoad3x3fNV
public final long glMatrixLoadTranspose3x3fNV
public final long glMatrixMult3x2fNV
public final long glMatrixMult3x3fNV
public final long glMatrixMultTranspose3x3fNV
public final long glGetProgramResourcefvNV
public final long glPolygonModeNV
public final long glReadBufferNV
public final long glFramebufferSampleLocationsfvNV
public final long glNamedFramebufferSampleLocationsfvNV
public final long glResolveDepthValuesNV
public final long glScissorExclusiveArrayvNV
public final long glScissorExclusiveNV
public final long glTexImage3DNV
public final long glTexSubImage3DNV
public final long glCopyTexSubImage3DNV
public final long glCompressedTexImage3DNV
public final long glCompressedTexSubImage3DNV
public final long glFramebufferTextureLayerNV
public final long glTextureBarrierNV
public final long glViewportArrayvNV
public final long glViewportIndexedfNV
public final long glViewportIndexedfvNV
public final long glScissorArrayvNV
public final long glScissorIndexedNV
public final long glScissorIndexedvNV
public final long glDepthRangeArrayfvNV
public final long glDepthRangeIndexedfNV
public final long glGetFloati_vNV
public final long glEnableiNV
public final long glDisableiNV
public final long glIsEnablediNV
public final long glViewportSwizzleNV
public final long glCopyImageSubDataOES
public final long glEnableiOES
public final long glDisableiOES
public final long glBlendEquationiOES
public final long glBlendEquationSeparateiOES
public final long glBlendFunciOES
public final long glBlendFuncSeparateiOES
public final long glColorMaskiOES
public final long glIsEnablediOES
public final long glDrawElementsBaseVertexOES
public final long glDrawRangeElementsBaseVertexOES
public final long glDrawElementsInstancedBaseVertexOES
public final long glMultiDrawElementsBaseVertexOES
public final long glEGLImageTargetTexture2DOES
public final long glEGLImageTargetRenderbufferStorageOES
public final long glFramebufferTextureOES
public final long glGetProgramBinaryOES
public final long glProgramBinaryOES
public final long glMapBufferOES
public final long glUnmapBufferOES
public final long glGetBufferPointervOES
public final long glPrimitiveBoundingBoxOES
public final long glMinSampleShadingOES
public final long glPatchParameteriOES
public final long glTexImage3DOES
public final long glTexSubImage3DOES
public final long glCopyTexSubImage3DOES
public final long glCompressedTexImage3DOES
public final long glCompressedTexSubImage3DOES
public final long glFramebufferTexture3DOES
public final long glTexParameterIivOES
public final long glTexParameterIuivOES
public final long glGetTexParameterIivOES
public final long glGetTexParameterIuivOES
public final long glSamplerParameterIivOES
public final long glSamplerParameterIuivOES
public final long glGetSamplerParameterIivOES
public final long glGetSamplerParameterIuivOES
public final long glTexBufferOES
public final long glTexBufferRangeOES
public final long glTexStorage3DMultisampleOES
public final long glTextureViewOES
public final long glBindVertexArrayOES
public final long glDeleteVertexArraysOES
public final long glGenVertexArraysOES
public final long glIsVertexArrayOES
public final long glViewportArrayvOES
public final long glViewportIndexedfOES
public final long glViewportIndexedfvOES
public final long glScissorArrayvOES
public final long glScissorIndexedOES
public final long glScissorIndexedvOES
public final long glDepthRangeArrayfvOES
public final long glDepthRangeIndexedfOES
public final long glGetFloati_vOES
public final long glFramebufferTextureMultiviewOVR
public final long glFramebufferTextureMultisampleMultiviewOVR
public final long glAlphaFuncQCOM
public final long glGetDriverControlsQCOM
public final long glGetDriverControlStringQCOM
public final long glEnableDriverControlQCOM
public final long glDisableDriverControlQCOM
public final long glExtGetTexturesQCOM
public final long glExtGetBuffersQCOM
public final long glExtGetRenderbuffersQCOM
public final long glExtGetFramebuffersQCOM
public final long glExtGetTexLevelParameterivQCOM
public final long glExtTexObjectStateOverrideiQCOM
public final long glExtGetTexSubImageQCOM
public final long glExtGetBufferPointervQCOM
public final long glExtGetShadersQCOM
public final long glExtGetProgramsQCOM
public final long glExtIsProgramBinaryQCOM
public final long glExtGetProgramBinarySourceQCOM
public final long glFramebufferFoveationConfigQCOM
public final long glFramebufferFoveationParametersQCOM
public final long glFramebufferFetchBarrierQCOM
public final long glTextureFoveationParametersQCOM
public final long glStartTilingQCOM
public final long glEndTilingQCOM
public final boolean GLES20
GLES20 is supported.public final boolean GLES30
GLES30 is supported.public final boolean GLES31
GLES31 is supported.public final boolean GLES32
GLES32 is supported.public final boolean GL_AMD_compressed_3DC_texture
AMDCompressed3DCTexture is supported.public final boolean GL_AMD_compressed_ATC_texture
AMDCompressedATCTexture is supported.public final boolean GL_AMD_framebuffer_multisample_advanced
AMDFramebufferMultisampleAdvanced is supported.public final boolean GL_AMD_performance_monitor
AMDPerformanceMonitor is supported.public final boolean GL_AMD_program_binary_Z400
AMDProgramBinaryZ400 is supported.public final boolean GL_ANDROID_extension_pack_es31a
This extension changes little functionality directly. Instead it serves to roll up the 20 extensions it requires, allowing applications to check for all of them at once, and enable all of their shading language features with a single #extension statement. The Android platform provides special support outside of OpenGL ES to help applications target this set of extensions.
In addition, this extension ensures support for images, shader storage buffers, and atomic counters in fragment shaders. In unextended OpenGL ES the minimum value of the relevant implementation-defined limits is zero; this extension raises these minimums to match the minimums for compute shaders.
Requires GLES 3.1.
public final boolean GL_ANGLE_depth_texture
ANGLEDepthTexture is supported.public final boolean GL_ANGLE_framebuffer_blit
ANGLEFramebufferBlit is supported.public final boolean GL_ANGLE_framebuffer_multisample
ANGLEFramebufferMultisample is supported.public final boolean GL_ANGLE_instanced_arrays
ANGLEInstancedArrays is supported.public final boolean GL_ANGLE_pack_reverse_row_order
ANGLEPackReverseRowOrder is supported.public final boolean GL_ANGLE_program_binary
ANGLEProgramBinary is supported.public final boolean GL_ANGLE_texture_compression_dxt1
ANGLETextureCompressionDXT1 is supported.public final boolean GL_ANGLE_texture_compression_dxt3
ANGLETextureCompressionDXT3 is supported.public final boolean GL_ANGLE_texture_compression_dxt5
ANGLETextureCompressionDXT5 is supported.public final boolean GL_ANGLE_texture_usage
ANGLETextureUsage is supported.public final boolean GL_ANGLE_translated_shader_source
ANGLETranslatedShaderSource is supported.public final boolean GL_APPLE_clip_distance
APPLEClipDistance is supported.public final boolean GL_APPLE_color_buffer_packed_float
This extension allows two packed floating point formats R11F_G11F_B10F and as RGB9_E5 defined in APPLE_texture_packed_float or OpenGL ES 3.0 or to be rendered to via framebuffer objects.
Requires EXT_color_buffer_half_float and GLES 3.0 or APPLE_texture_packed_float.
public final boolean GL_APPLE_copy_texture_levels
APPLECopyTextureLevels is supported.public final boolean GL_APPLE_framebuffer_multisample
APPLEFramebufferMultisample is supported.public final boolean GL_APPLE_rgb_422
APPLERGB422 is supported.public final boolean GL_APPLE_sync
APPLESync is supported.public final boolean GL_APPLE_texture_format_BGRA8888
APPLETextureFormatBGRA8888 is supported.public final boolean GL_APPLE_texture_max_level
APPLETextureMaxLevel is supported.public final boolean GL_APPLE_texture_packed_float
APPLETexturePackedFloat is supported.public final boolean GL_ARM_mali_program_binary
ARMMaliProgramBinary is supported.public final boolean GL_ARM_mali_shader_binary
ARMMaliShaderBinary is supported.public final boolean GL_ARM_rgba8
public final boolean GL_ARM_shader_framebuffer_fetch
ARMShaderFramebufferFetch is supported.public final boolean GL_ARM_shader_framebuffer_fetch_depth_stencil
Existing extensions, such as EXT_shader_framebuffer_fetch, allow fragment shaders to read existing framebuffer color data as input. This enables use-cases such as programmable blending, and other operations that may not be possible to implement with fixed-function blending.
This extension adds similar capabilities for depth and stencil values.
One use-case for this is soft depth-blending of particles. Normally, this would require two render passes: one that writes out the depth values of the background geometry to a depth texture, and one that renders the particles while reading from the depth texture to do the blending. This extension allows this to be done in a single pass.
Requires GLES 2.0.
public final boolean GL_DMP_program_binary
DMPProgramBinary is supported.public final boolean GL_DMP_shader_binary
DMPShaderBinary is supported.public final boolean GL_EXT_base_instance
EXTBaseInstance is supported.public final boolean GL_EXT_blend_func_extended
EXTBlendFuncExtended is supported.public final boolean GL_EXT_blend_minmax
EXTBlendMinmax is supported.public final boolean GL_EXT_buffer_storage
EXTBufferStorage is supported.public final boolean GL_EXT_clear_texture
EXTClearTexture is supported.public final boolean GL_EXT_clip_control
EXTClipControl is supported.public final boolean GL_EXT_clip_cull_distance
EXTClipCullDistance is supported.public final boolean GL_EXT_color_buffer_float
This extension allows a variety of floating point formats to be rendered to via framebuffer objects.
Requires GLES 3.0.
public final boolean GL_EXT_color_buffer_half_float
EXTColorBufferHalfFloat is supported.public final boolean GL_EXT_compressed_ETC1_RGB8_sub_texture
public final boolean GL_EXT_conservative_depth
There is a common optimization for hardware accelerated implementation of OpenGL ES which relies on an early depth test to be run before the fragment shader so that the shader evaluation can be skipped if the fragment ends up being discarded because it is occluded.
This optimization does not affect the final rendering, and is typically possible when the fragment does not change the depth programmatically. (i.e.:
it does not write to the built-in gl_FragDepth output). There are, however a class of operations on the depth in the shader which could still
be performed while allowing the early depth test to operate.
This extension allows the application to pass enough information to the GL implementation to activate such optimizations safely.
Requires GLES 3.0.
public final boolean GL_EXT_copy_image
EXTCopyImage is supported.public final boolean GL_EXT_debug_label
EXTDebugLabel is supported.public final boolean GL_EXT_debug_marker
EXTDebugMarker is supported.public final boolean GL_EXT_depth_clamp
EXTDepthClamp is supported.public final boolean GL_EXT_discard_framebuffer
EXTDiscardFramebuffer is supported.public final boolean GL_EXT_disjoint_timer_query
EXTDisjointTimerQuery is supported.public final boolean GL_EXT_draw_buffers
EXTDrawBuffers is supported.public final boolean GL_EXT_draw_buffers_indexed
EXTDrawBuffersIndexed is supported.public final boolean GL_EXT_draw_elements_base_vertex
EXTDrawElementsBaseVertex is supported.public final boolean GL_EXT_draw_instanced
EXTDrawInstanced is supported.public final boolean GL_EXT_draw_transform_feedback
EXTDrawTransformFeedback is supported.public final boolean GL_EXT_EGL_image_array
OES_EGL_image in order to support EGLImage 2D arrays. It extends the existing
EGLImageTargetTexture2DOES entry point from OES_EGL_image. Render buffers are not extended to include array support.
EGLImage 2D arrays can be created using extended versions of eglCreateImageKHR. For example, EGL_ANDROID_image_native_buffer
can import image array native buffers on devices where such native buffers can be created.
public final boolean GL_EXT_EGL_image_external_wrap_modes
OES_EGL_image_external, which only allows a external images to use a single clamping wrap mode: CLAMP_TO_EDGE. This
extension relaxes that restriction, allowing wrap modes REPEAT and MIRRORED_REPEAT. If OES_texture_border_clamp is supported, then
CLAMP_TO_BORDER is also allowed.
This extension similarly adds to the capabilities of OES_EGL_image_external_essl3, allowing the same additional wrap modes.
Since external images can be non-RGB, this extension clarifies how border color values are specified for non-RGB external images.
public final boolean GL_EXT_EGL_image_storage
EXTEGLImageStorage is supported.public final boolean GL_EXT_external_buffer
EXTExternalBuffer is supported.public final boolean GL_EXT_float_blend
This extension expands upon the EXT_color_buffer_float extension to allow support for blending with 32-bit floating-point color buffers.
Requires EXT_color_buffer_float.
public final boolean GL_EXT_geometry_point_size
public final boolean GL_EXT_geometry_shader
EXTGeometryShader is supported.public final boolean GL_EXT_gpu_shader5
This extension provides a set of new features to the OpenGL ES Shading Language and related APIs to support capabilities of new GPUs, extending the capabilities of version 3.10 of the OpenGL ES Shading Language. Shaders using the new functionality provided by this extension should enable this functionality via the construct
#extension GL_EXT_gpu_shader5 : require (or enable)
This extension provides a variety of new features for all shader types, including:
Requires GLES 3.1.
public final boolean GL_EXT_instanced_arrays
EXTInstancedArrays is supported.public final boolean GL_EXT_map_buffer_range
EXTMapBufferRange is supported.public final boolean GL_EXT_memory_object
EXTMemoryObject is supported.public final boolean GL_EXT_memory_object_fd
EXTMemoryObjectFD is supported.public final boolean GL_EXT_memory_object_win32
EXTMemoryObjectWin32 is supported.public final boolean GL_EXT_multi_draw_arrays
EXTMultiDrawArrays is supported.public final boolean GL_EXT_multi_draw_indirect
EXTMultiDrawIndirect is supported.public final boolean GL_EXT_multisample_compatibility
EXTMultisampleCompatibility is supported.public final boolean GL_EXT_multisampled_render_to_texture
EXTMultisampledRenderToTexture is supported.public final boolean GL_EXT_multisampled_render_to_texture2
attachment parameters for FramebufferTexture2DMultisampleEXT is no longer required to be COLOR_ATTACHMENT0. The attachment parameter
now matches what is allowed in FramebufferTexture2D. This means values like GL_COLOR_ATTACHMENTi, DEPTH_ATTACHMENT, STENCIL_ATTACHMENT, or
DEPTH_STENCIL_ATTACHMENT may be used. After the application has rendered into the mutisampled buffer, the application should be careful to not
trigger an implicit flush by performing a client side read of the buffer (readpixels, copyteximage, blitframebuffer, etc) before any subsequent
rendering which uses the contents of the buffer. This may cause the attachment to be downsampled before the following draw, which would potentially
cause corruption.public final boolean GL_EXT_multiview_draw_buffers
EXTMultiviewDrawBuffers is supported.public final boolean GL_EXT_multiview_tessellation_geometry_shader
This extension removes one of the limitations of the OVR_multiview extension by allowing the use of tessellation control, tessellation
evaluation, and geometry shaders during multiview rendering. OVR_multiview by itself forbids the use of any of these shader types.
When using tessellation control, tessellation evaluation, and geometry shaders during multiview rendering, any such shader must use the
"num_views" layout qualifier provided by the matching shading language extension to specify a view count. The view count specified in these
shaders must match the count specified in the vertex shader. Additionally, the shading language extension allows these shaders to use the
gl_ViewID_OVR built-in to handle tessellation or geometry shader processing differently for each view.
OVR_multiview2 extends OVR_multiview by allowing view-dependent values for any vertex attributes instead of just the position. This new
extension does not imply the availability of OVR_multiview2, but if both are available, view-dependent values for any vertex attributes are
also allowed in tessellation control, tessellation evaluation, and geometry shaders.
Requires GLES 3.2 and OVR_multiview.
public final boolean GL_EXT_multiview_texture_multisample
This extension removes one of the limitations of the OVR_multiview extension by allowing the use of multisample textures during multiview
rendering.
This is one of two extensions that allow multisampling when using OVR_multiview. Each supports one of the two different approaches to
multisampling in OpenGL ES:
OpenGL ES 3.1+ has explicit support for multisample texture types, such as TEXTURE_2D_MULTISAMPLE. Applications can access the values of individual
samples and can explicitly "resolve" the samples of each pixel down to a single color.
The extension EXT_multisampled_render_to_texture provides support for multisampled rendering to non-multisample texture types, such as
TEXTURE_2D. The individual samples for each pixel are maintained internally by the implementation and can not be accessed directly by applications.
These samples are eventually resolved implicitly to a single color for each pixel.
This extension supports the first multisampling style with multiview rendering; the OVR_multiview_multisampled_render_to_texture extension
supports the second style. Note that support for one of these multiview extensions does not imply support for the other.
Requires GLES 3.2 and OVR_multiview.
public final boolean GL_EXT_multiview_timer_query
This extension removes one of the limitations of the OVR_multiview extension by allowing the use of timer queries during multiview rendering.
OVR_multiview does not specify defined behavior for such usage (if EXT_disjoint_timer_query is present).
Requires GLES 3.2 and OVR_multiview.
public final boolean GL_EXT_occlusion_query_boolean
EXTOcclusionQueryBoolean is supported.public final boolean GL_EXT_polygon_offset_clamp
EXTPolygonOffsetClamp is supported.public final boolean GL_EXT_post_depth_coverage
This extension allows the fragment shader to control whether values in gl_SampleMaskIn[] reflect the coverage after application of the early depth and stencil tests. This feature can be enabled with the following layout qualifier in the fragment shader:
layout(post_depth_coverage) in;
To use this feature, early fragment tests must also be enabled in the fragment shader via:
layout(early_fragment_tests) in;
Requires OES_sample_variables.
public final boolean GL_EXT_primitive_bounding_box
EXTPrimitiveBoundingBox is supported.public final boolean GL_EXT_protected_textures
EXTProtectedTextures is supported.public final boolean GL_EXT_pvrtc_sRGB
EXTPVRTCSRGB is supported.public final boolean GL_EXT_raster_multisample
EXTRasterMultisample is supported.public final boolean GL_EXT_read_format_bgra
EXTReadFormatBGRA is supported.public final boolean GL_EXT_render_snorm
EXTRenderSnorm is supported.public final boolean GL_EXT_robustness
EXTRobustness is supported.public final boolean GL_EXT_semaphore
EXTSemaphore is supported.public final boolean GL_EXT_semaphore_fd
EXTSemaphoreFD is supported.public final boolean GL_EXT_semaphore_win32
EXTSemaphoreWin32 is supported.public final boolean GL_EXT_separate_shader_objects
EXTSeparateShaderObjects is supported.public final boolean GL_EXT_shader_framebuffer_fetch
EXTShaderFramebufferFetch is supported.public final boolean GL_EXT_shader_framebuffer_fetch_non_coherent
EXTShaderFramebufferFetchNonCoherent is supported.public final boolean GL_EXT_shader_group_vote
Compute shaders operate on an explicitly specified group of threads (a local work group), but many implementations of OpenGL ES 3.0 will even group non-compute shader invocations and execute them in a SIMD fashion. When executing code like
if (condition) {
result = do_fast_path();
} else {
result = do_general_path();
}
where condition diverges between invocations, a SIMD implementation might first call do_fast_path() for the invocations where condition
is true and leave the other invocations dormant. Once do_fast_path() returns, it might call do_general_path() for invocations where condition
is false and leave the other invocations dormant. In this case, the shader executes *both* the fast and the general path and might be better off just
using the general path for all invocations.
This extension provides the ability to avoid divergent execution by evaluting a condition across an entire SIMD invocation group using code like:
if (allInvocationsEXT(condition)) {
result = do_fast_path();
} else {
result = do_general_path();
}
The built-in function allInvocationsEXT() will return the same value for all invocations in the group, so the group will either execute do_fast_path() or do_general_path(), but never both. For example, shader code might want to evaluate a complex function iteratively by starting with an approximation of the result and then refining the approximation. Some input values may require a small number of iterations to generate an accurate result (do_fast_path) while others require a larger number (do_general_path). In another example, shader code might want to evaluate a complex function (do_general_path) that can be greatly simplified when assuming a specific value for one of its inputs (do_fast_path).
public final boolean GL_EXT_shader_implicit_conversions
This extension provides support for implicitly converting signed integer types to unsigned types, as well as more general implicit conversion and function overloading infrastructure to support new data types introduced by other extensions.
Requires GLES 3.1.
public final boolean GL_EXT_shader_integer_mix
GLSL 1.30 (and GLSL ES 3.00) expanded the mix() built-in function to operate on a boolean third argument that does not interpolate but selects. This extension extends mix() to select between int, uint, and bool components.
Requires GLES 3.0.
public final boolean GL_EXT_shader_io_blocks
This extension extends the functionality of interface blocks to support input and output interfaces in the OpenGL ES Shading Language.
Input and output interface blocks are used for forming the interfaces between vertex, tessellation control, tessellation evaluation, geometry and fragment shaders. This accommodates passing arrays between stages, which otherwise would require multi-dimensional array support for tessellation control outputs and for tessellation control, tessellation evaluation, and geometry shader inputs.
This extension provides support for application defined interface blocks which are used for passing application-specific information between shader stages.
This extension moves the built-in "per-vertex" in/out variables to a new built-in gl_PerVertex block. This is necessary for tessellation and geometry shaders which require a separate instance for each vertex, but it can also be useful for vertex shaders.
Finally, this extension allows the redeclaration of the gl_PerVertex block in order to reduce the set of variables that must be passed between shaders.
Requires GLES 3.1.
public final boolean GL_EXT_shader_non_constant_global_initializers
This extension adds the ability to use non-constant initializers for global variables in the OpenGL ES Shading Language specifications. This functionality is already present in the OpenGL Shading language specification.
public final boolean GL_EXT_shader_pixel_local_storage
EXTShaderPixelLocalStorage is supported.public final boolean GL_EXT_shader_pixel_local_storage2
EXTShaderPixelLocalStorage2 is supported.public final boolean GL_EXT_shader_texture_lod
This extension adds additional texture functions to the OpenGL ES Shading Language which provide the shader writer with explicit control of LOD.
Mipmap texture fetches and anisotropic texture fetches require implicit derivatives to calculate rho, lambda and/or the line of anisotropy. These implicit derivatives will be undefined for texture fetches occurring inside non-uniform control flow or for vertex shader texture fetches, resulting in undefined texels.
The additional texture functions introduced with this extension provide explicit control of LOD (isotropic texture functions) or provide explicit derivatives (anisotropic texture functions).
Anisotropic texture functions return defined texels for mipmap texture fetches or anisotropic texture fetches, even inside non-uniform control flow. Isotropic texture functions return defined texels for mipmap texture fetches, even inside non-uniform control flow. However, isotropic texture functions return undefined texels for anisotropic texture fetches.
The existing isotropic vertex texture functions:
vec4 texture2DLodEXT(sampler2D sampler,
vec2 coord,
float lod);
vec4 texture2DProjLodEXT(sampler2D sampler,
vec3 coord,
float lod);
vec4 texture2DProjLodEXT(sampler2D sampler,
vec4 coord,
float lod);
vec4 textureCubeLodEXT(samplerCube sampler,
vec3 coord,
float lod);
are added to the built-in functions for fragment shaders with "EXT" suffix appended.
New anisotropic texture functions, providing explicit derivatives:
vec4 texture2DGradEXT(sampler2D sampler,
vec2 P,
vec2 dPdx,
vec2 dPdy);
vec4 texture2DProjGradEXT(sampler2D sampler,
vec3 P,
vec2 dPdx,
vec2 dPdy);
vec4 texture2DProjGradEXT(sampler2D sampler,
vec4 P,
vec2 dPdx,
vec2 dPdy);
vec4 textureCubeGradEXT(samplerCube sampler,
vec3 P,
vec3 dPdx,
vec3 dPdy);
are added to the built-in functions for vertex shaders and fragment shaders.
public final boolean GL_EXT_shadow_samplers
EXTShadowSamplers is supported.public final boolean GL_EXT_sparse_texture
EXTSparseTexture is supported.public final boolean GL_EXT_sparse_texture2
VIRTUAL_PAGE_SIZE_INDEX_EXT at its initial value (0).Requires EXT_sparse_texture.
public final boolean GL_EXT_sRGB
EXTSRGB is supported.public final boolean GL_EXT_sRGB_write_control
EXTSRGBWriteControl is supported.public final boolean GL_EXT_tessellation_point_size
public final boolean GL_EXT_tessellation_shader
EXTTessellationShader is supported.public final boolean GL_EXT_texture_border_clamp
EXTTextureBorderClamp is supported.public final boolean GL_EXT_texture_buffer
EXTTextureBuffer is supported.public final boolean GL_EXT_texture_compression_astc_decode_mode
EXTTextureCompressionASTCDecodeMode is supported.public final boolean GL_EXT_texture_compression_bptc
EXTTextureCompressionBPTC is supported.public final boolean GL_EXT_texture_compression_dxt1
EXTTextureCompressionDXT1 is supported.public final boolean GL_EXT_texture_compression_rgtc
EXTTextureCompressionRGTC is supported.public final boolean GL_EXT_texture_compression_s3tc
EXTTextureCompressionS3TC is supported.public final boolean GL_EXT_texture_compression_s3tc_srgb
EXTTextureCompressionS3TCSRGB is supported.public final boolean GL_EXT_texture_cube_map_array
EXTTextureCubeMapArray is supported.public final boolean GL_EXT_texture_filter_anisotropic
EXTTextureFilterAnisotropic is supported.public final boolean GL_EXT_texture_filter_minmax
EXTTextureFilterMinmax is supported.public final boolean GL_EXT_texture_format_BGRA8888
EXTTextureFormatBGRA8888 is supported.public final boolean GL_EXT_texture_format_sRGB_override
EXTTextureFormatSRGBOverride is supported.public final boolean GL_EXT_texture_mirror_clamp_to_edge
EXTTextureMirrorClampToEdge is supported.public final boolean GL_EXT_texture_norm16
EXTTextureNorm16 is supported.public final boolean GL_EXT_texture_rg
EXTTextureRG is supported.public final boolean GL_EXT_texture_shadow_lod
Modern shading languages support LOD queries for shadow sampler types, but until now the OpenGL Shading Language Specification has excluded multiple texture function overloads involving LOD calculations with various shadow samplers. Shading languages for other APIs do support the equivalent LOD-based texture sampling functions for these types which has made porting between those shading languages to GLSL cumbersome and has required the usage of sub-optimal workarounds.
Requires GLES 3.0 and EXT_gpu_shader4 or equivalent functionality.
public final boolean GL_EXT_texture_sRGB_decode
EXTTextureSRGBDecode is supported.public final boolean GL_EXT_texture_sRGB_R8
EXTTextureSRGBR8 is supported.public final boolean GL_EXT_texture_sRGB_RG8
EXTTextureSRGBRG8 is supported.public final boolean GL_EXT_texture_storage
EXTTextureStorage is supported.public final boolean GL_EXT_texture_type_2_10_10_10_REV
EXTTextureType2101010REV is supported.public final boolean GL_EXT_texture_view
EXTTextureView is supported.public final boolean GL_EXT_unpack_subimage
EXTUnpackSubimage is supported.public final boolean GL_EXT_win32_keyed_mutex
EXTWin32KeyedMutex is supported.public final boolean GL_EXT_window_rectangles
EXTWindowRectangles is supported.public final boolean GL_EXT_YUV_target
EXTYUVTarget is supported.public final boolean GL_FJ_shader_binary_GCCSO
FJShaderBinaryGCCSO is supported.public final boolean GL_EXT_texture_compression_astc_decode_mode_rgb9e5
public final boolean GL_EXT_texture_query_lod
This extension adds a new set of fragment shader texture functions (textureLOD) that return the results of automatic level-of-detail
computations that would be performed if a texture lookup were performed.
Requires GLES 3.0.
public final boolean GL_IMG_framebuffer_downsample
IMGFramebufferDownsample is supported.public final boolean GL_IMG_multisampled_render_to_texture
IMGMultisampledRenderToTexture is supported.public final boolean GL_IMG_program_binary
IMGProgramBinary is supported.public final boolean GL_IMG_read_format
IMGReadFormat is supported.public final boolean GL_IMG_shader_binary
IMGShaderBinary is supported.public final boolean GL_IMG_texture_compression_pvrtc
IMGTextureCompressionPVRTC is supported.public final boolean GL_IMG_texture_compression_pvrtc2
IMGTextureCompressionPVRTC2 is supported.public final boolean GL_IMG_texture_filter_cubic
IMGTextureFilterCubic is supported.public final boolean GL_INTEL_blackhole_render
INTELBlackholeRender is supported.public final boolean GL_INTEL_conservative_rasterization
INTELConservativeRasterization is supported.public final boolean GL_INTEL_framebuffer_CMAA
INTELFramebufferCMAA is supported.public final boolean GL_INTEL_performance_query
INTELPerformanceQuery is supported.public final boolean GL_INTEL_shader_integer_functions2
OpenCL and other GPU programming environments provides a number of useful functions operating on integer data. Many of these functions are supported by specialized instructions various GPUs. Correct GLSL implementations for some of these functions are non-trivial. Recognizing open-coded versions of these functions is often impractical. As a result, potential performance improvements go unrealized.
This extension makes available a number of functions that have specialized instruction support on Intel GPUs.
Requires GLSL ES 3.00.
public final boolean GL_KHR_blend_equation_advanced
KHRBlendEquationAdvanced is supported.public final boolean GL_KHR_blend_equation_advanced_coherent
KHRBlendEquationAdvancedCoherent is supported.public final boolean GL_KHR_context_flush_control
KHRContextFlushControl is supported.public final boolean GL_KHR_debug
KHRDebug is supported.public final boolean GL_KHR_no_error
KHRNoError is supported.public final boolean GL_KHR_parallel_shader_compile
KHRParallelShaderCompile is supported.public final boolean GL_KHR_robust_buffer_access_behavior
This extension specifies the behavior of out-of-bounds buffer and array accesses. This is an improvement over the existing KHR_robustness extension which states that the application should not crash, but that behavior is otherwise undefined. This extension specifies the access protection provided by the GL to ensure that out-of-bounds accesses cannot read from or write to data not owned by the application. All accesses are contained within the buffer object and program area they reference. These additional robustness guarantees apply to contexts created with the robust access flag set.
Requires GLES 2.0 and KHR_robustness.
public final boolean GL_KHR_robustness
KHRRobustness is supported.public final boolean GL_KHR_shader_subgroup
KHRShaderSubgroup is supported.public final boolean GL_KHR_texture_compression_astc_hdr
This extension corresponds to the ASTC HDR Profile, see KHR_texture_compression_astc_ldr for details.
public final boolean GL_KHR_texture_compression_astc_ldr
KHRTextureCompressionASTCLDR is supported.public final boolean GL_KHR_texture_compression_astc_sliced_3d
Adaptive Scalable Texture Compression (ASTC) is a new texture compression technology that offers unprecendented flexibility, while producing better or comparable results than existing texture compressions at all bit rates. It includes support for 2D and slice-based 3D textures, with low and high dynamic range, at bitrates from below 1 bit/pixel up to 8 bits/pixel in fine steps.
This extension extends the functionality of KHR_texture_compression_astc_ldr to include slice-based 3D textures for textures using the LDR
profile in the same way as the HDR profile allows slice-based 3D textures.
Requires KHR_texture_compression_astc_ldr.
public final boolean GL_NV_alpha_to_coverage_dither_control
NVAlphaToCoverageDitherControl is supported.public final boolean GL_NV_bindless_texture
NVBindlessTexture is supported.public final boolean GL_NV_blend_equation_advanced
NVBlendEquationAdvanced is supported.public final boolean GL_NV_blend_equation_advanced_coherent
NVBlendEquationAdvancedCoherent is supported.public final boolean GL_NV_blend_minmax_factor
NVBlendMinmaxFactor is supported.public final boolean GL_NV_clip_space_w_scaling
NVClipSpaceWScaling is supported.public final boolean GL_NV_compute_shader_derivatives
This extension adds OpenGL ES API support for the OpenGL Shading Language (GLSL) extension "NV_compute_shader_derivatives".
That extension, when enabled, allows applications to use derivatives in compute shaders. It adds compute shader support for explicit derivative
built-in functions like dFdx(), automatic derivative computation in texture lookup functions like texture(), use of the optional LOD
bias parameter to adjust the computed level of detail values in texture lookup functions, and the texture level of detail query function
textureQueryLod().
Requires GLES 3.2.
public final boolean GL_NV_conditional_render
NVConditionalRender is supported.public final boolean GL_NV_conservative_raster
NVConservativeRaster is supported.public final boolean GL_NV_conservative_raster_pre_snap
NVConservativeRasterPreSnap is supported.public final boolean GL_NV_conservative_raster_pre_snap_triangles
NVConservativeRasterPreSnapTriangles is supported.public final boolean GL_NV_copy_buffer
NVCopyBuffer is supported.public final boolean GL_NV_coverage_sample
NVCoverageSample is supported.public final boolean GL_NV_depth_nonlinear
NVDepthNonlinear is supported.public final boolean GL_NV_draw_buffers
NVDrawBuffers is supported.public final boolean GL_NV_draw_instanced
NVDrawInstanced is supported.public final boolean GL_NV_draw_vulkan_image
NVDrawVulkanImage is supported.public final boolean GL_NV_explicit_attrib_location
This extension provides a method to pre-assign attribute locations to named vertex shader inputs. This allows applications to globally assign a particular semantic meaning, such as diffuse color or vertex normal, to a particular attribute location without knowing how that attribute will be named in any particular shader.
Requires GLES 2.0.
public final boolean GL_NV_fbo_color_attachments
NVFboColorAttachments is supported.public final boolean GL_NV_fence
NVFence is supported.public final boolean GL_NV_fill_rectangle
NVFillRectangle is supported.public final boolean GL_NV_fragment_coverage_to_color
NVFragmentCoverageToColor is supported.public final boolean GL_NV_fragment_shader_barycentric
This extension advertises OpenGL support for the OpenGL Shading Language (GLSL) extension "NV_fragment_shader_barycentric", which provides
fragment shader built-in variables holding barycentric weight vectors that identify the location of the fragment within its primitive. Additionally,
the GLSL extension allows fragment the ability to read raw attribute values for each of the vertices of the primitive that produced the fragment.
Requires GLES 3.2.
public final boolean GL_NV_fragment_shader_interlock
In unextended OpenGL 4.3 or OpenGL ES 3.1, applications may produce a large number of fragment shader invocations that perform loads and stores to memory using image uniforms, atomic counter uniforms, buffer variables, or pointers. The order in which loads and stores to common addresses are performed by different fragment shader invocations is largely undefined. For algorithms that use shader writes and touch the same pixels more than once, one or more of the following techniques may be required to ensure proper execution ordering:
This extension provides new GLSL built-in functions beginInvocationInterlockNV() and endInvocationInterlockNV() that delimit a critical section of fragment shader code. For pairs of shader invocations with "overlapping" coverage in a given pixel, the OpenGL implementation will guarantee that the critical section of the fragment shader will be executed for only one fragment at a time.
There are four different interlock modes supported by this extension, which are identified by layout qualifiers. The qualifiers "pixel_interlock_ordered" and "pixel_interlock_unordered" provides mutual exclusion in the critical section for any pair of fragments corresponding to the same pixel. When using multisampling, the qualifiers "sample_interlock_ordered" and "sample_interlock_unordered" only provide mutual exclusion for pairs of fragments that both cover at least one common sample in the same pixel; these are recommended for performance if shaders use per-sample data structures.
Additionally, when the "pixel_interlock_ordered" or "sample_interlock_ordered" layout qualifier is used, the interlock also guarantees that the critical section for multiple shader invocations with "overlapping" coverage will be executed in the order in which the primitives were processed by the GL. Such a guarantee is useful for applications like blending in the fragment shader, where an application requires that fragment values to be composited in the framebuffer in primitive order.
This extension can be useful for algorithms that need to access per-pixel data structures via shader loads and stores. Such algorithms using this extension can access such data structures in the critical section without worrying about other invocations for the same pixel accessing the data structures concurrently. Additionally, the ordering guarantees are useful for cases where the API ordering of fragments is meaningful. For example, applications may be able to execute programmable blending operations in the fragment shader, where the destination buffer is read via image loads and the final value is written via image stores.
Requires GLES 3.1.
public final boolean GL_NV_framebuffer_blit
NVFramebufferBlit is supported.public final boolean GL_NV_framebuffer_mixed_samples
NVFramebufferMixedSamples is supported.public final boolean GL_NV_framebuffer_multisample
NVFramebufferMultisample is supported.public final boolean GL_NV_generate_mipmap_sRGB
EXT_sRGB requires GenerateMipmap() to throw INVALID_OPERATION on textures with sRGB encoding. NV_generate_mipmap_sRGB lifts this restriction.
Requires EXT_sRGB.
public final boolean GL_NV_geometry_shader_passthrough
Geometry shaders provide the ability for applications to process each primitive sent through the GL using a programmable shader. While geometry shaders can be used to perform a number of different operations, including subdividing primitives and changing primitive type, one common use case treats geometry shaders as largely "passthrough". In this use case, the bulk of the geometry shader code simply copies inputs from each vertex of the input primitive to corresponding outputs in the vertices of the output primitive. Such shaders might also compute values for additional built-in or user-defined per-primitive attributes (e.g., gl_Layer) to be assigned to all the vertices of the output primitive.
This extension provides a shading language abstraction to express such shaders without requiring explicit logic to manually copy attributes from input vertices to output vertices. For example, consider the following simple geometry shader in unextended OpenGL:
layout(triangles) in;
layout(triangle_strip) out;
layout(max_vertices=3) out;
in Inputs {
vec2 texcoord;
vec4 baseColor;
} v_in[];
out Outputs {
vec2 texcoord;
vec4 baseColor;
};
void main()
{
int layer = compute_layer();
for (int i = 0; i < 3; i++) {
gl_Position = gl_in[i].gl_Position;
texcoord = v_in[i].texcoord;
baseColor = v_in[i].baseColor;
gl_Layer = layer;
EmitVertex();
}
}
In this shader, the inputs "gl_Position", "Inputs.texcoord", and "Inputs.baseColor" are simply copied from the input vertex to the corresponding output vertex. The only "interesting" work done by the geometry shader is computing and emitting a gl_Layer value for the primitive.
The following geometry shader, using this extension, is equivalent:
#extension GL_NV_geometry_shader_passthrough : require
layout(triangles) in;
// No output primitive layout qualifiers required.
// Redeclare gl_PerVertex to pass through "gl_Position".
layout(passthrough) in gl_PerVertex {
vec4 gl_Position;
};
// Declare "Inputs" with "passthrough" to automatically copy members.
layout(passthrough) in Inputs {
vec2 texcoord;
vec4 baseColor;
};
// No output block declaration required.
void main()
{
// The shader simply computes and writes gl_Layer. We don't
// loop over three vertices or call EmitVertex().
gl_Layer = compute_layer();
}
Requires GLES 3.1.
public final boolean GL_NV_gpu_shader5
NVGPUShader5 is supported.public final boolean GL_NV_image_formats
OpenGL ES 3.1 specifies a variety of formats required to be usable with texture images. This extension introduces the texture image formats missing for parity with OpenGL 4.4.
Requires GLES 3.1.
public final boolean GL_NV_instanced_arrays
NVInstancedArrays is supported.public final boolean GL_NV_internalformat_sample_query
NVInternalformatSampleQuery is supported.public final boolean GL_NV_memory_attachment
NVMemoryAttachment is supported.public final boolean GL_NV_mesh_shader
NVMeshShader is supported.public final boolean GL_NV_non_square_matrices
NVNonSquareMatrices is supported.public final boolean GL_NV_path_rendering
NVPathRendering is supported.public final boolean GL_NV_path_rendering_shared_edge
NVPathRenderingSharedEdge is supported.public final boolean GL_NV_polygon_mode
NVPolygonMode is supported.public final boolean GL_NV_read_buffer
NVReadBuffer is supported.public final boolean GL_NV_read_buffer_front
Adds the ability to select the system-provided FRONT color buffer as the source for read operations when the system-provided framebuffer is bound and contains both a front and back buffer.
Requires NV_read_buffer.
public final boolean GL_NV_read_depth
Unextended OpenGL-ES 2.0 only supports using ReadPixels to read from the default color buffer of the currently-bound framebuffer. However, it is useful for debugging to be able to read from depth and stencil buffers. This extension re-introduces these features into OpenGL-ES 2.0.
The NV_read_depth extension allows reading from the depth buffer using ReadPixels.
public final boolean GL_NV_read_depth_stencil
Unextended OpenGL-ES 2.0 only supports using ReadPixels to read from the default color buffer of the currently-bound framebuffer. However, it is useful for debugging to be able to read from depth and stencil buffers. This extension re-introduces these features into OpenGL-ES 2.0.
The NV_read_depth_stencil extension allows reading from packed depth-stencil buffers using ReadPixels.
public final boolean GL_NV_read_stencil
Unextended OpenGL-ES 2.0 only supports using ReadPixels to read from the default color buffer of the currently-bound framebuffer. However, it is useful for debugging to be able to read from depth and stencil buffers. This extension re-introduces these features into OpenGL-ES 2.0.
The NV_read_stencil extension allows reading from the stencil buffer using ReadPixels.
public final boolean GL_NV_representative_fragment_test
NVRepresentativeFragmentTest is supported.public final boolean GL_NV_sample_locations
NVSampleLocations is supported.public final boolean GL_NV_sample_mask_override_coverage
This extension allows the fragment shader to control whether the gl_SampleMask output can enable samples that were not covered by the original primitive, or that failed the early depth/stencil tests. This can be enabled by redeclaring the gl_SampleMask output with the "override_coverage" layout qualifier:
layout(override_coverage) out int gl_SampleMask[];
Requires OES_sample_variables.
public final boolean GL_NV_scissor_exclusive
NVScissorExclusive is supported.public final boolean GL_NV_shader_atomic_fp16_vector
Requires NV_gpu_shader5.
public final boolean GL_NV_shader_noperspective_interpolation
In OpenGL 3.0 and later, and in other APIs, there are three types of interpolation qualifiers that are available for fragment shader inputs: flat, smooth, and noperspective. The 'flat' qualifier indicates that no interpolation should be used. This is mandatory for integer-type variables. The 'smooth' qualifier indicates that interpolation should be performed in a perspective0correct manner. This is the default for floating-point type variables. The 'noperspective' qualifier indicates that interpolation should be performed linearly in screen space.
While perspective-correct (smooth) and non-interpolated (flat) are the two types of interpolation that most commonly used, there are important use cases for linear (noperspective) interpolation. In particular, in some work loads where screen-space aligned geometry is common, the use of linear interpolation can result in performance and/or power improvements.
The smooth and flat interpolation qualifiers are already supported in OpenGL ES 3.0 and later. This extension adds support for noperspective interpolation to OpenGL ES.
Requires GLES 3.0.
public final boolean GL_NV_shader_subgroup_partitioned
NVShaderSubgroupPartitioned is supported.public final boolean GL_NV_shader_texture_footprint
This extension adds OpenGL API support for the OpenGL Shading Language (GLSL) extension "NV_shader_texture_footprint". That extension adds a
new set of texture query functions ("textureFootprint*NV") to GLSL. These built-in functions prepare to perform a filtered texture lookup based
on coordinates and other parameters passed in by the calling code. However, instead of returning data from the provided texture image, these query
functions instead return data identifying the texture footprint for an equivalent texture access. The texture footprint identifies a set of
texels that may be accessed in order to return a filtered result for the texture access.
The footprint itself is a structure that includes integer values that identify a small neighborhood of texels in the texture being accessed and a bitfield that indicates which texels in that neighborhood would be used. Each bit in the returned bitfield identifies whether any texel in a small aligned block of texels would be fetched by the texture lookup. The size of each block is specified by an access granularity provided by the shader. The minimum granularity supported by this extension is 2x2 (for 2D textures) and 2x2x2 (for 3D textures); the maximum granularity is 256x256 (for 2D textures) or 64x32x32 (for 3D textures). Each footprint query returns the footprint from a single texture level. When using minification filters that combine accesses from multiple mipmap levels, shaders must perform separate queries for the two levels accessed ("fine" and "coarse"). The footprint query also returns a flag indicating if the texture lookup would access texels from only one mipmap level or from two neighboring levels.
This extension should be useful for multi-pass rendering operations that do an initial expensive rendering pass to produce a first image that is then used as a texture for a second pass. If the second pass ends up accessing only portions of the first image (e.g., due to visibility), the work spent rendering the non-accessed portion of the first image was wasted. With this feature, an application can limit this waste using an initial pass over the geometry in the second image that performs a footprint query for each visible pixel to determine the set of pixels that it needs from the first image. This pass would accumulate an aggregate footprint of all visible pixels into a separate "footprint texture" using shader atomics. Then, when rendering the first image, the application can kill all shading work for pixels not in this aggregate footprint.
The implementation of this extension has a number of limitations. The texture footprint query functions are only supported for two- and
three-dimensional textures (TEXTURE_2D, TEXTURE_3D). Texture footprint evaluation only supports the CLAMP_TO_EDGE wrap mode; results are undefined
for all other wrap modes. The implementation supports only a limited set of granularity values and does not support separate coverage information for
each texel in the original texture.
Requires GLES 3.2.
public final boolean GL_NV_shadow_samplers_array
NVShadowSamplersArray is supported.public final boolean GL_NV_shadow_samplers_cube
NVShadowSamplersCube is supported.public final boolean GL_NV_sRGB_formats
NVSRGBFormats is supported.public final boolean GL_NV_stereo_view_rendering
Virtual reality (VR) applications often render a single logical scene from multiple views corresponding to a pair of eyes. The views (eyes) are separated by a fixed offset in the X direction.
Traditionally, multiple views are rendered via multiple rendering passes. This is expensive for the GPU because the objects in the scene must be transformed, rasterized, shaded, and fragment processed redundantly. This is expensive for the CPU because the scene graph needs to be visited multiple times and driver validation happens for each view. Rendering N passes tends to take N times longer than a single pass.
This extension provides a mechanism to render binocular (stereo) views from a single stream of OpenGL rendering commands. Vertex, tessellation, and geometry (VTG) shaders can output two positions for each vertex corresponding to the two eye views. A built-in "gl_SecondaryPositionNV" is added to specify the second position. The positions from each view may be sent to different viewports and/or layers. A built-in "gl_SecondaryViewportMaskNV[]" is also added to specify the viewport mask for the second view. A new layout-qualifier "secondary_view_offset" is added for built-in output "gl_Layer" which allows for the geometry from each view to be sent to different layers for rendering.
Requires NV_viewport_array2.
public final boolean GL_NV_texture_array
NVTextureArray is supported.public final boolean GL_NV_texture_barrier
NVTextureBarrier is supported.public final boolean GL_NV_texture_border_clamp
NVTextureBorderClamp is supported.public final boolean GL_NV_texture_compression_s3tc
NVTextureCompressionS3TC is supported.public final boolean GL_NV_texture_compression_s3tc_update
This extension allows for full or partial image updates to a compressed 2D texture from an uncompressed texel data buffer using TexImage2D and TexSubImage2D. Consquently, if a compressed internal format is used, all the restrictions associated with compressed textures will apply. These include sub-image updates aligned to 4x4 pixel blocks and the restriction on usage as render targets.
Requires NV_texture_compression_s3tc.
public final boolean GL_NV_texture_npot_2D_mipmap
Conventional OpenGL ES 2.0 allows the use of non-power-of-two (NPOT) textures with the limitation that mipmap minification filters can not be used. This extension relaxes this restriction and adds limited mipmap support for 2D NPOT textures.
With this extension, NPOT textures are specified and applied identically to mipmapped power-of-two 2D textures with the following limitations:
public final boolean GL_NV_viewport_array
NVViewportArray is supported.public final boolean GL_NV_viewport_array2
This extension provides new support allowing a single primitive to be broadcast to multiple viewports and/or multiple layers. A shader output gl_ViewportMask[] is provided, allowing a single primitive to be output to multiple viewports simultaneously. Also, a new shader option is provided to control whether the effective viewport index is added into gl_Layer. These capabilities allow a single primitive to be output to multiple layers simultaneously.
The gl_ViewportMask[] output is available in vertex, tessellation control, tessellation evaluation, and geometry shaders. gl_ViewportIndex and gl_Layer are also made available in all these shader stages. The actual viewport index or mask and render target layer values are taken from the last active shader stage from this set of stages.
This extension is a superset of the GL_AMD_vertex_shader_layer and GL_AMD_vertex_shader_viewport_index extensions, and thus those extension strings are expected to be exported if GL_NV_viewport_array2 is supported. This extension includes the edits for those extensions, recast against the reorganized OpenGL 4.3 specification.
Requires NV_viewport_array, EXT_geometry_shader and EXT_shader_io_blocks.
public final boolean GL_NV_viewport_swizzle
NVViewportSwizzle is supported.public final boolean GL_NVX_blend_equation_advanced_multi_draw_buffers
This extension adds support for using advanced blend equations introduced with NV_blend_equation_advanced (and standardized by
KHR_blend_equation_advanced) in conjunction with multiple draw buffers. The NV_blend_equation_advanced extension supports advanced blending
equations only when rending to a single color buffer using fragment color zero and throws and INVALID_OPERATION error when multiple draw buffers are
used. This extension removes this restriction.
Requires either NV_blend_equation_advanced or KHR_blend_equation_advanced.
public final boolean GL_OES_compressed_ETC1_RGB8_texture
OESCompressedETC1RGB8Texture is supported.public final boolean GL_OES_compressed_paletted_texture
OESCompressedPalettedTexture is supported.public final boolean GL_OES_copy_image
OESCopyImage is supported.public final boolean GL_OES_depth24
OESDepth24 is supported.public final boolean GL_OES_depth32
OESDepth32 is supported.public final boolean GL_OES_depth_texture
This extension defines a new texture format that stores depth values in the texture. Depth texture images are widely used for shadow casting but can also be used for other effects such as image based rendering, displacement mapping etc.
Requires GLES 2.0.
public final boolean GL_OES_depth_texture_cube_map
OESDepthTextureCubeMap is supported.public final boolean GL_OES_draw_buffers_indexed
OESDrawBuffersIndexed is supported.public final boolean GL_OES_draw_elements_base_vertex
OESDrawElementsBaseVertex is supported.public final boolean GL_OES_EGL_image
OESEGLImage is supported.public final boolean GL_OES_EGL_image_external
OESEGLImageExternal is supported.public final boolean GL_OES_EGL_image_external_essl3
OES_EGL_image_external provides a mechanism for creating EGLImage texture targets from EGLImages, but only specified language interactions for the OpenGL ES Shading Language version 1.0. This extension adds support for versions 3.x of the OpenGL ES Shading Language.
Requires GLES30 and OES_EGL_image_external.
public final boolean GL_OES_element_index_uint
OpenGL ES 1.0 supports DrawElements with type value of UNSIGNED_BYTE and UNSIGNED_SHORT. This extension adds support for UNSIGNED_INT
type values.
public final boolean GL_OES_fbo_render_mipmap
OES_framebuffer_object allows rendering to the base level of a texture only. This extension removes this limitation by allowing implementations to support rendering to any mip-level of a texture(s) that is attached to a framebuffer object(s).
If this extension is supported, FramebufferTexture2DOES, and FramebufferTexture3DOES can be used to render directly into any mip level of a texture image
public final boolean GL_OES_geometry_point_size
public final boolean GL_OES_geometry_shader
OESGeometryShader is supported.public final boolean GL_OES_get_program_binary
OESGetProgramBinary is supported.public final boolean GL_OES_gpu_shader5
This extension provides a set of new features to the OpenGL ES Shading Language and related APIs to support capabilities of new GPUs, extending the capabilities of version 3.10 of the OpenGL ES Shading Language. Shaders using the new functionality provided by this extension should enable this functionality via the construct
#extension GL_OES_gpu_shader5 : require (or enable)
This extension provides a variety of new features for all shader types, including:
Requires GLES 3.1.
public final boolean GL_OES_mapbuffer
OESMapbuffer is supported.public final boolean GL_OES_packed_depth_stencil
OESPackedDepthStencil is supported.public final boolean GL_OES_primitive_bounding_box
OESPrimitiveBoundingBox is supported.public final boolean GL_OES_required_internalformat
OESRequiredInternalformat is supported.public final boolean GL_OES_rgb8_rgba8
OESRGB8RGBA8 is supported.public final boolean GL_OES_sample_shading
OESSampleShading is supported.public final boolean GL_OES_sample_variables
This extension allows fragment shaders more control over multisample rendering. The mask of samples covered by a fragment can be read by the shader and individual samples can be masked out. Additionally fragment shaders can be run on individual samples and the sample's ID and position read to allow better interaction with multisample resources such as textures.
In multisample rendering, an implementation is allowed to assign the same sets of fragment shader input values to each sample, which then allows the optimization where the shader is only evaluated once and then distributed to the samples that have been determined to be covered by the primitive currently being rasterized. This extension does not change how values are interpolated, but it makes some details of the current sample available. This means that where these features are used (gl_SampleID and gl_SamplePosition), implementations must run the fragment shader for each sample.
In order to obtain per-sample interpolation on fragment inputs, either OES_sample_shading or OES_shader_multisample_interpolation must be used in conjunction with the features from this extension.
Requires GLES 3.0.
public final boolean GL_OES_shader_image_atomic
This extension provides built-in functions allowing shaders to perform atomic read-modify-write operations to a single level of a texture object from any shader stage. These built-in functions are named imageAtomic*(), and accept integer texel coordinates to identify the texel accessed. These built-in functions extend the Images in ESSL 3.10.
Requires GLES 3.1.
public final boolean GL_OES_shader_io_blocks
This extension extends the functionality of interface blocks to support input and output interfaces in the OpenGL ES Shading Language.
Input and output interface blocks are used for forming the interfaces between vertex, tessellation control, tessellation evaluation, geometry and fragment shaders. This accommodates passing arrays between stages, which otherwise would require multi-dimensional array support for tessellation control outputs and for tessellation control, tessellation evaluation, and geometry shader inputs.
This extension provides support for application defined interface blocks which are used for passing application-specific information between shader stages.
This extension moves the built-in "per-vertex" in/out variables to a new built-in gl_PerVertex block. This is necessary for tessellation and geometry shaders which require a separate instance for each vertex, but it can also be useful for vertex shaders.
Finally, this extension allows the redeclaration of the gl_PerVertex block in order to reduce the set of variables that must be passed between shaders.
Requires GLES 3.1.
public final boolean GL_OES_shader_multisample_interpolation
OESShaderMultisampleInterpolation is supported.public final boolean GL_OES_standard_derivatives
OESStandardDerivatives is supported.public final boolean GL_OES_stencil1
OESStencil1 is supported.public final boolean GL_OES_stencil4
OESStencil4 is supported.public final boolean GL_OES_stencil8
OESStencil8 is supported.public final boolean GL_OES_surfaceless_context
OESSurfacelessContext is supported.public final boolean GL_OES_tessellation_point_size
public final boolean GL_OES_tessellation_shader
OESTessellationShader is supported.public final boolean GL_OES_texture_3D
OESTexture3D is supported.public final boolean GL_OES_texture_border_clamp
OESTextureBorderClamp is supported.public final boolean GL_OES_texture_buffer
OESTextureBuffer is supported.public final boolean GL_OES_texture_compression_astc
OESTextureCompressionASTC is supported.public final boolean GL_OES_texture_cube_map_array
OESTextureCubeMapArray is supported.public final boolean GL_OES_texture_float
These extensions add texture formats with 16- (aka half float) and 32-bit floating-point components. The 32-bit floating-point components are in the standard IEEE float format. The 16-bit floating-point components have 1 sign bit, 5 exponent bits, and 10 mantissa bits. Floating-point components are clamped to the limits of the range representable by their format.
The OES_texture_float extension string indicates that the implementation supports 32-bit floating pt texture formats.
Both these extensions only require NEAREST magnification filter and NEAREST, and NEAREST_MIPMAP_NEAREST minification filters to be supported.
public final boolean GL_OES_texture_float_linear
These extensions expand upon the OES_texture_half_float and OES_texture_float extensions by allowing support for LINEAR magnification filter and LINEAR, NEAREST_MIPMAP_LINEAR, LINEAR_MIPMAP_NEAREST and LINEAR_MIPMAP_NEAREST minification filters.
When implemented against OpenGL ES 3.0 or later versions, sized 32-bit floating-point formats become texture-filterable. This should be noted by, for example, checking the ``TF'' column of table 8.13 in the ES 3.1 Specification (``Correspondence of sized internal formats to base internal formats ... and use cases ...'') for the R32F, RG32F, RGB32F, and RGBA32F formats.
Requires OES_texture_float.
public final boolean GL_OES_texture_half_float
OESTextureHalfFloat is supported.public final boolean GL_OES_texture_half_float_linear
These extensions expand upon the OES_texture_half_float and OES_texture_float extensions by allowing support for LINEAR magnification filter and LINEAR, NEAREST_MIPMAP_LINEAR, LINEAR_MIPMAP_NEAREST and LINEAR_MIPMAP_NEAREST minification filters.
When implemented against OpenGL ES 3.0 or later versions, sized 32-bit floating-point formats become texture-filterable. This should be noted by, for example, checking the ``TF'' column of table 8.13 in the ES 3.1 Specification (``Correspondence of sized internal formats to base internal formats ... and use cases ...'') for the R32F, RG32F, RGB32F, and RGBA32F formats.
Requires OES_texture_half_float.
public final boolean GL_OES_texture_npot
This extension adds support for the REPEAT and MIRRORED_REPEAT texture wrap modes and the minification filters supported for non-power of two 2D textures, cubemaps and for 3D textures, if the OES_texture_3D extension is supported.
Section 3.8.2 of the OpenGL ES 2.0 specification describes rules for sampling from an incomplete texture. There were specific rules added for non-power of two textures i.e. if the texture wrap mode is not CLAMP_TO_EDGE or minification filter is not NEAREST or LINEAR and the texture is a non-power-of-two texture, then sampling the texture will return (0, 0, 0, 1).
These rules are no longer applied by an implementation that supports this extension.
public final boolean GL_OES_texture_stencil8
This extension accepts STENCIL_INDEX8 as a texture internal format, and adds STENCIL_INDEX8 to the required internal format list. This removes the need to use renderbuffers if a stencil-only format is desired.
public final boolean GL_OES_texture_storage_multisample_2d_array
OESTextureStorageMultisample2DArray is supported.public final boolean GL_OES_texture_view
OESTextureView is supported.public final boolean GL_OES_vertex_array_object
OESVertexArrayObject is supported.public final boolean GL_OES_vertex_half_float
OESVertexHalfFloat is supported.public final boolean GL_OES_vertex_type_10_10_10_2
OESVertexType1010102 is supported.public final boolean GL_OES_viewport_array
OESViewportArray is supported.public final boolean GL_OVR_multiview
OVRMultiview is supported.public final boolean GL_OVR_multiview2
This extension relaxes the restriction in OVR_multiview that only gl_Position can depend on ViewID in the vertex shader. With this change, view-dependent outputs like reflection vectors and similar are allowed.
Requires GLES 3.0 and OVR_multiview.
public final boolean GL_OVR_multiview_multisampled_render_to_texture
OVRMultiviewMultisampledRenderToTexture is supported.public final boolean GL_QCOM_alpha_test
QCOMAlphaTest is supported.public final boolean GL_QCOM_binning_control
QCOMBinningControl is supported.public final boolean GL_QCOM_driver_control
QCOMDriverControl is supported.public final boolean GL_QCOM_extended_get
QCOMExtendedGet is supported.public final boolean GL_QCOM_extended_get2
QCOMExtendedGet2 is supported.public final boolean GL_QCOM_framebuffer_foveated
QCOMFramebufferFoveated is supported.public final boolean GL_QCOM_perfmon_global_mode
QCOMPerfmonGlobalMode is supported.public final boolean GL_QCOM_shader_framebuffer_fetch_noncoherent
QCOMShaderFramebufferFetchNoncoherent is supported.public final boolean GL_QCOM_shader_framebuffer_fetch_rate
gl_LastFragData, gl_LastFragStencilARM) are referenced in the shader, the shader is required to execute at
sample-rate if the attachments are multisampled. In some use-cases executing such shaders at fragment-rate is actually the preferred behavior. When
this extension is enabled, such GLSL shaders will execute at fragment-rate and the built-in will return a per-fragment value. This avoids the
significant performance penalty that would otherwise be incurred with sample-rate shading.
The following built-ins are affected when the this extension is enabled:
gl_LastFragData (from EXT_shader_framebuffer_fetch)gl_LastFragDepthARM (from ARM_shader_framebuffer_fetch_depth_stencil)The following built-ins are disallowed when this extension is enabled:
public final boolean GL_QCOM_texture_foveated
QCOMTextureFoveated is supported.public final boolean GL_QCOM_texture_foveated_subsampled_layout
QCOMTextureFoveatedSubsampledLayout is supported.public final boolean GL_QCOM_tiled_rendering
QCOMTiledRendering is supported.public final boolean GL_QCOM_writeonly_rendering
QCOMWriteonlyRendering is supported.public final boolean GL_QCOM_YUV_texture_gather
EXT_gpu_shader5 introduced the texture gather built-in functions. Extension EXT_YUV_target adds the ability to sample from YUV
textures, but does not include gather functions. This extension allows gather function to be used in combination with the YUV textures exposed in
EXT_YUV_target.public final boolean GL_VIV_shader_binary
VIVShaderBinary is supported.Copyright LWJGL. All Rights Reserved. License terms.