1# Resource Limits 2 3OpenGL ES 2.0 API is quite powerful but there are still some features that are 4optional or allow for wide variability between implementations. 5 6Applications that need more than the minimum values for these limits should 7query the capabilities of the GL device and scale their usage based on the 8device’s feature set. Failing to do so and assuming sufficient limits typically 9results in reduced portability. 10 11The various implementation dependent limits can be found in Tables 6.18 – 6.20 12of the [OpenGL ES 2.0.25 specification] 13(http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf). 14 15# Capabilities 16 17Capability | ES 2.0 Minimum | ANGLE | SM2 | SM3 | SM4+ 18:----------------------------------------- | :------------- | :--------------- | :---- | :------- | :------- 19GL\_MAX\_VERTEX\_ATTRIBS | 8 | 16 | | | 20GL\_MAX\_VERTEX\_UNIFORM\_VECTORS | 128 | 254 | | | 21GL\_MAX\_VERTEX\_TEXTURE\_IMAGE\_UNITS | 0 | (fn1) | 0 | 0 | 4 22GL\_MAX\_VARYING\_VECTORS | 8 | (fn1) | 8 | 10 | 10 23GL\_MAX\_FRAGMENT\_UNIFORM\_VECTORS | 16 | (fn1) | 29 | 221 | 221 24GL\_MAX\_TEXTURE\_IMAGE\_UNITS | 8 | 16 | | | 25GL\_MAX\_TEXTURE\_SIZE | 64 | 2048-16384 (fn1) | | | 26GL\_MAX\_CUBE\_MAP\_SIZE | 16 | 2048-16384 (fn1) | | | 27GL\_MAX\_RENDERBUFFER\_SIZE | 1 | 2048-16384 (fn1) | | | 28GL\_ALIASED\_POINT\_SIZE\_RANGE (min, max) | (1, 1) | (fn2) | (1,1) | (1, fn2) | (1, fn2) 29GL\_ALIASED\_LINE\_WIDTH\_RANGE (min, max) | (1, 1) | (1, 1) | | | 30 31## Notes 32 33* fn1: limits vary based on the underlying hardware capabilities 34* fn2: on SM3 or better hardware the max point size is D3DCAPS9.MaxPointSize 35