Branch
Hash :
3c7fee36
Author :
Date :
2015-09-22T14:14:18
[Docs] Add wiki content to Markdown docs Change-Id: I729d3208b206e83f99e73002b45402c4f6f9f443 Reviewed-on: https://chromium-review.googlesource.com/301560 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
OpenGL ES 2.0 API is quite powerful but there are still some features that are optional or allow for wide variability between implementations.
Applications that need more than the minimum values for these limits should query the capabilities of the GL device and scale their usage based on the device’s feature set. Failing to do so and assuming sufficient limits typically results in reduced portability.
The various implementation dependent limits can be found in Tables 6.18 – 6.20 of the [OpenGL ES 2.0.25 specification] (http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf).
Capability | ES 2.0 Minimum | ANGLE | SM2 | SM3 | SM4+ :—————————————– | :————- | :————— | :—- | :——- | :——- GL_MAX_VERTEX_ATTRIBS | 8 | 16 | | | GL_MAX_VERTEX_UNIFORM_VECTORS | 128 | 254 | | | GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS | 0 | (fn1) | 0 | 0 | 4 GL_MAX_VARYING_VECTORS | 8 | (fn1) | 8 | 10 | 10 GL_MAX_FRAGMENT_UNIFORM_VECTORS | 16 | (fn1) | 29 | 221 | 221 GL_MAX_TEXTURE_IMAGE_UNITS | 8 | 16 | | | GL_MAX_TEXTURE_SIZE | 64 | 2048-16384 (fn1) | | | GL_MAX_CUBE_MAP_SIZE | 16 | 2048-16384 (fn1) | | | GL_MAX_RENDERBUFFER_SIZE | 1 | 2048-16384 (fn1) | | | GL_ALIASED_POINT_SIZE_RANGE (min, max) | (1, 1) | (fn2) | (1,1) | (1, fn2) | (1, fn2) GL_ALIASED_LINE_WIDTH_RANGE (min, max) | (1, 1) | (1, 1) | | |
# Resource Limits
OpenGL ES 2.0 API is quite powerful but there are still some features that are
optional or allow for wide variability between implementations.
Applications that need more than the minimum values for these limits should
query the capabilities of the GL device and scale their usage based on the
device’s feature set. Failing to do so and assuming sufficient limits typically
results in reduced portability.
The various implementation dependent limits can be found in Tables 6.18 – 6.20
of the [OpenGL ES 2.0.25 specification]
(http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf).
# Capabilities
Capability | ES 2.0 Minimum | ANGLE | SM2 | SM3 | SM4+
:----------------------------------------- | :------------- | :--------------- | :---- | :------- | :-------
GL\_MAX\_VERTEX\_ATTRIBS | 8 | 16 | | |
GL\_MAX\_VERTEX\_UNIFORM\_VECTORS | 128 | 254 | | |
GL\_MAX\_VERTEX\_TEXTURE\_IMAGE\_UNITS | 0 | (fn1) | 0 | 0 | 4
GL\_MAX\_VARYING\_VECTORS | 8 | (fn1) | 8 | 10 | 10
GL\_MAX\_FRAGMENT\_UNIFORM\_VECTORS | 16 | (fn1) | 29 | 221 | 221
GL\_MAX\_TEXTURE\_IMAGE\_UNITS | 8 | 16 | | |
GL\_MAX\_TEXTURE\_SIZE | 64 | 2048-16384 (fn1) | | |
GL\_MAX\_CUBE\_MAP\_SIZE | 16 | 2048-16384 (fn1) | | |
GL\_MAX\_RENDERBUFFER\_SIZE | 1 | 2048-16384 (fn1) | | |
GL\_ALIASED\_POINT\_SIZE\_RANGE (min, max) | (1, 1) | (fn2) | (1,1) | (1, fn2) | (1, fn2)
GL\_ALIASED\_LINE\_WIDTH\_RANGE (min, max) | (1, 1) | (1, 1) | | |
## Notes
* fn1: limits vary based on the underlying hardware capabilities
* fn2: on SM3 or better hardware the max point size is D3DCAPS9.MaxPointSize