|
|
|
|
# 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
|