Safe Haskell | None |
---|---|
Language | Haskell2010 |
Query implementation capabilities.
Do NOT call below APIs out of OpenGLES threads.
(May cause Segmentation Fault, or you get unuseful 0)
- glExtensions :: [String]
- hasExt :: String -> Bool
- hasES3 :: Bool
- glVendor :: String
- glRenderer :: String
- glVersion :: String
- glShadingLanguageVersion :: String
- newtype GLParamP = GLParamP GLenum
- glPair :: GLParamP -> (Float, Float)
- aliasedPointSizeRange :: GLParamP
- aliasedLineWidthRange :: GLParamP
- maxViewportDims :: GLParamP
- newtype GLParam = GLParam GLenum
- glCap :: GLParam -> Int32
- implementationColorReadFormat :: GLParam
- implementationColorReadType :: GLParam
- maxCombinedTextureImageUnits :: GLParam
- maxCubeMapTextureSize :: GLParam
- maxFragmentUniformVectors :: GLParam
- maxRenderbufferSize :: GLParam
- maxTextureImageUnits :: GLParam
- maxTextureSize :: GLParam
- maxVaryingVectors :: GLParam
- maxVertexAttribs :: GLParam
- maxVertexTextureImageUnits :: GLParam
- maxVertexUniformVectors :: GLParam
- numCompressedTextureFormats :: GLParam
- numShaderBinaryFormats :: GLParam
- subpixelBits :: GLParam
- max3DTextureSize :: GLParam
- maxArrayTextureLayers :: GLParam
- maxColorAttachments :: GLParam
- maxCombinedFragmentUniformComponents :: GLParam
- maxCombinedUniformBlocks :: GLParam
- maxCombinedVertexUniformComponents :: GLParam
- majorVersion :: GLParam
- minorVersion :: GLParam
- numExtensions :: GLParam
- numProgramBinaryFormats :: GLParam
- maxComputeUniformBlocks :: GLParam
- maxComputeTextureImageUnits :: GLParam
- maxComputeImageUniforms :: GLParam
- maxComputeSharedMemorySize :: GLParam
- maxComputeUniformComponents :: GLParam
- maxComputeAtomicCounterBuffers :: GLParam
- maxComputeAtomicCounters :: GLParam
- maxCombinedComputeUniformComponents :: GLParam
- maxComputeWorkGroupInvocations :: GLParam
- maxUniformLocations :: GLParam
- maxFramebufferWidth :: GLParam
- maxFramebufferHeight :: GLParam
- maxFramebufferSamples :: GLParam
- maxVertexAtomicCounterBuffers :: GLParam
- maxFragmentAtomicCountersBuffers :: GLParam
- maxCombinedAtomicCountersBuffers :: GLParam
- maxVertexAtomicCounters :: GLParam
- maxFragmentAtomicCounters :: GLParam
- maxCombinedAtomicCounters :: GLParam
- maxAtomicCounterBufferSize :: GLParam
- maxAtomicCounterBufferBindings :: GLParam
- maxImageUnits :: GLParam
- maxVertexImageUniforms :: GLParam
- maxFragmentImageUniforms :: GLParam
- maxCombinedImageUniforms :: GLParam
- maxVertexShaderStorageBlocks :: GLParam
- maxFragmentShaderStorageBlocks :: GLParam
- maxComputeShaderStorageBlocks :: GLParam
- maxCombinedShaderStorageBlocks :: GLParam
- maxShaderStorageBufferBindings :: GLParam
- maxShaderStorageBlockSize :: GLParam
- maxCombinedShaderOutputResources :: GLParam
- minProgramTextureGatherOffset :: GLParam
- maxProgramTextureGatherOffset :: GLParam
- maxSampleMaskWords :: GLParam
- maxColorTextureSamples :: GLParam
- maxDepthTextureSamples :: GLParam
- maxIntegerSamples :: GLParam
- maxVertexAttribRelativeOffset :: GLParam
- maxVertexAttribBindings :: GLParam
- maxVertexAttribStride :: GLParam
- maxTextureMaxAnisotropy :: GLParam
- shaderPrecision :: (GLName -> a -> Shader) -> PrecisionType -> GL (Int32, Int32, Int32)
- newtype PrecisionType = Prec GLenum
- lowFp :: PrecisionType
- midiumFp :: PrecisionType
- highFp :: PrecisionType
- lowInt :: PrecisionType
- midiumInt :: PrecisionType
- highInt :: PrecisionType
Detecting Extensions
glExtensions :: [String] Source
The list of available extensions on the GL implementation.
String Parameters
The company responsible for this GL implementation. This name does not change from release to release.
The renderer name typically specific to a particular configuration of a hardware platform. It does not change from release to release.
A version or release number of the form "OpenGL ES (version number) (vendor-specific information)"
glShadingLanguageVersion :: String Source
A version or release number for the shading language of the form "OpenGL ES GLSL ES (version number) (vendor-specific information)"
Two-valued Parameters
aliasedPointSizeRange :: GLParamP Source
The (smallest, largest) supported sizes for points. The smallest size must be <= 1, and the largest size must be >= 1.
aliasedLineWidthRange :: GLParamP Source
The range of widths supported for aliased lines.
maxViewportDims :: GLParamP Source
The maximum supported width and height of the viewport. These must be at least as large as the visible dimensions of the display being rendered to.
List Parameters
Integer Parameters
Since ES 2.0
implementationColorReadFormat :: GLParam Source
The format chosen by the implementation in which pixels may be read from the color buffer of the currently bound framebuffer in conjunction with GL_IMPLEMENTATION_COLOR_READ_TYPE. In addition to this implementation-dependent format/type pair, format GL_RGBA in conjunction with type GL_UNSIGNED_BYTE is always allowed by every implementation, regardless of the currently bound render surface. See glReadPixels.
implementationColorReadType :: GLParam Source
The type chosen by the implementation with which pixels may be read from the color buffer of the currently bound framebuffer in conjunction with GL_IMPLEMENTATION_COLOR_READ_FORMAT. In addition to this implementation-dependent format/type pair, format GL_RGBA in conjunction with type GL_UNSIGNED_BYTE is always allowed by every implementation, regardless of the currently bound render surface. See glReadPixels.
maxCombinedTextureImageUnits :: GLParam Source
The maximum supported texture image units that can be used to access texture maps from the vertex shader and the fragment processor combined. If both the vertex shader and the fragment processing stage access the same texture image unit, then that counts as using two texture image units against this limit. The minimum value is 8-32-32.
maxCubeMapTextureSize :: GLParam Source
The value gives a rough estimate of the largest cube-map texture that the GL can handle. The minimum value is 16-2048-2048.
maxFragmentUniformVectors :: GLParam Source
The maximum number of vector floating-point, integer, or boolean values that can be held in uniform variable storage for a fragment shader. The minimum value is 16-224-224.
maxRenderbufferSize :: GLParam Source
The value indicates the maximum supported size for renderbuffers and must be at least 1-?-2048.
maxTextureImageUnits :: GLParam Source
The maximum supported texture image units that can be used to access texture maps from the fragment shader. The minimum value is 8-?-16.
maxTextureSize :: GLParam Source
The value gives a rough estimate of the largest texture that the GL can handle. The minimum value is 64-?-2048.
maxVaryingVectors :: GLParam Source
The maximum number of interpolators available for processing varying variables used by vertex and fragment shaders. This value represents the number of vector values that can be interpolated; varying variables declared as matrices and arrays will consume multiple interpolators. The minimum value is 8-?-15.
maxVertexAttribs :: GLParam Source
The maximum number of 4-component generic vertex attributes accessible to a vertex shader. The minimum value is 8-?-16.
maxVertexTextureImageUnits :: GLParam Source
The maximum supported texture image units that can be used to access texture maps from the vertex shader. The minimum value is 0-?-16.
maxVertexUniformVectors :: GLParam Source
The maximum number of vector floating-point, integer, or boolean values that can be held in uniform variable storage for a vertex shader. The minimum value is 128-?-256.
numCompressedTextureFormats :: GLParam Source
The number of available compressed texture formats. The minimum value is 0-10-10.
numShaderBinaryFormats :: GLParam Source
The number of available shader binary formats. The minimum value is 0-0-0. Note: Not supported on most platforms.
subpixelBits :: GLParam Source
An estimate of the number of bits of subpixel resolution that are used to position rasterized geometry in window coordinates. The minimum value is 4-?-?.
Since ES 3.0
max3DTextureSize :: GLParam Source
A rough estimate of the largest 3D texture that the GL can handle. The minimum value is 0-256-256.
maxArrayTextureLayers :: GLParam Source
The value indicates the maximum number of layers allowed in an array texture. The minimum value is 0-256-256.
maxColorAttachments :: GLParam Source
The maximum number of color attachment points in a framebuffer object. The minimum value is 0-4-4.
maxCombinedFragmentUniformComponents :: GLParam Source
The number of words for fragment shader uniform variables in all uniform blocks (including default). The value must be at least GL_MAX_FRAGMENT_UNIFORM_COMPONENTS + GL_MAX_UNIFORM_BLOCK_SIZE * GL_MAX_FRAGMENT_UNIFORM_BLOCKS / 4.
maxCombinedUniformBlocks :: GLParam Source
The maximum number of uniform blocks per program. The minimum value is 0-24-24.
maxCombinedVertexUniformComponents :: GLParam Source
The number of words for vertex shader uniform variables in all uniform blocks (including default). The value must be at least GL_MAX_VERTEX_UNIFORM_COMPONENTS + GL_MAX_UNIFORM_BLOCK_SIZE * GL_MAX_VERTEX_UNIFORM_BLOCKS / 4.
majorVersion :: GLParam Source
The major version number of the OpenGL ES API supported by the current context. Note: ES 2 does not support this param thus returns 0. (ES2 -> 0, ES3 and ES3_1 -> 3)
minorVersion :: GLParam Source
The minor version number of the OpenGL ES API supported by the current context. (ES3 -> 0, ES3_1 -> 1)
numExtensions :: GLParam Source
The number of extensions supported by the GL implementation for the current context.
numProgramBinaryFormats :: GLParam Source
GL_OES_get_program_binary or ES3+ The number of available program binary formats. If the value is 0, program binary is not available. The minimum value is 0-0-0.
Since ES 3.1
maxComputeUniformBlocks :: GLParam Source
The maximum number of uniform blocks per compute shader. The value must be at least 14. See glUniformBlockBinding.
maxComputeTextureImageUnits :: GLParam Source
The maximum supported texture image units that can be used to access texture maps from the compute shader. The value may be at least 16. See glActiveTexture.
maxComputeImageUniforms :: GLParam Source
The maximum number of image variables in compute shaders. The value must be at least 8.
maxComputeUniformComponents :: GLParam Source
The maximum number of individual floating-point, integer, or boolean values that can be held in uniform variable storage for a compute shader. The value must be at least 1024. See glUniform.
maxComputeAtomicCounterBuffers :: GLParam Source
The maximum number of atomic counter buffers that may be accessed by a compute shader.
maxComputeAtomicCounters :: GLParam Source
The maximum number of atomic counters available to compute shaders.
maxCombinedComputeUniformComponents :: GLParam Source
The number of words for compute shader uniform variables in all uniform blocks (including default). The value must be at least 1. See glUniform.
maxComputeWorkGroupInvocations :: GLParam Source
The number of invocations in a single local work group (i.e., the product of the three dimensions) that may be dispatched to a compute shader.
maxUniformLocations :: GLParam Source
The maximum number of explicitly assignable uniform locations, which must be at least 1024.
maxFramebufferWidth :: GLParam Source
The maximum width for a framebuffer that has no attachments, which must be at least 16384. See glFramebufferParameteri.
maxFramebufferHeight :: GLParam Source
The maximum height for a framebuffer that has no attachments, which must be at least 16384. See glFramebufferParameteri.
maxFramebufferSamples :: GLParam Source
The maximum samples in a framebuffer that has no attachments, which must be at least 4. See glFramebufferParameteri.
maxVertexAtomicCounters :: GLParam Source
The maximum number of atomic counters available to vertex shaders.
maxFragmentAtomicCounters :: GLParam Source
The maximum number of atomic counters available to fragment shaders.
maxCombinedAtomicCounters :: GLParam Source
The maximum number of atomic counters available to all active shaders.
maxVertexShaderStorageBlocks :: GLParam Source
The maximum number of active shader storage blocks that may be accessed by a vertex shader.
maxFragmentShaderStorageBlocks :: GLParam Source
The maximum number of active shader storage blocks that may be accessed by a fragment shader.
maxComputeShaderStorageBlocks :: GLParam Source
The maximum number of active shader storage blocks that may be accessed by a compute shader.
maxCombinedShaderStorageBlocks :: GLParam Source
The maximum total number of active shader storage blocks that may be accessed by all active shaders.
maxShaderStorageBufferBindings :: GLParam Source
The maximum number of shader storage buffer binding points on the context, which must be at least 8.
maxColorTextureSamples :: GLParam Source
The maximum number of samples in a color multisample texture.
maxIntegerSamples :: GLParam Source
The maximum number of samples supported in integer format multisample buffers.
maxVertexAttribRelativeOffset :: GLParam Source
The maximum offset that may be added to a vertex binding offset.
maxVertexAttribBindings :: GLParam Source
The maximum number of vertex buffers that may be bound.
maxVertexAttribStride :: GLParam Source
Undocumented constant, perhaps does not exist?
Extensions
Shader Precision
shaderPrecision :: (GLName -> a -> Shader) -> PrecisionType -> GL (Int32, Int32, Int32) Source
Query shader precision information
(min, max, precision) <- shaderPrecision vertexShader highFp
newtype PrecisionType Source