D
Size: a a a
D
D
TG
highp - 16-bit, floating point range: -2^62 to 2^62, integer range: -2^16 to 2^16
mediump - 10 bit, floating point range: -2^14 to 2^14, integer range: -2^10 to 2^10
lowp - 8 bit, floating point range: -2 to 2, integer range: -2^8 to 2^8
d
TG
TG
PowerVR SGX543MP3 (iPhone 5):
Floats
Low: precision = 8, range = 0 to 0 (Not sure, but I think this means that we cannot expect a lowp to actually be able to represent a value reaching exactly 2 or -2, I don't really know of a great way to test this, nor should we over-concern ourselves with these limitations, just use mediump when this could ever be an issue)
Medium: precision = 10, range = 15 to 15 (meets spec)
High: precision = 23, range = 127 to 127 (exceeds spec)
Ints
Low: range = 23 to 23 (exceeds spec)
Medium: range = 23 to 23 (exceeds spec)
High: range = 23 to 23 (exceeds spec)
A7 & PowerVR G6430 (iPad Air):
Floats
Low: precision = 10, range = 15 to 15 (exceeds spec)
Medium: precision = 10, range = 15 to 15 (meets spec)
High: precision = 23, range = 127 to 127 (exceeds ES 2.0 spec, meets 3.0 spec)
Ints
Low: range = 15 to 14 (exceeds spec)
Medium: range = 15 to 14 (exceeds ES 2.0 spec, meets ES 3.0 spec)
High: range = 31 to 30 (exceeds ES 2.0 spec, meets ES 3.0 spec)
A8 & PowerVR GX6450 (iPhone 6 Plus):
Floats
Low: precision = 10, range = 15 to 15 (exceeds spec)
Medium: precision = 10, range = 15 to 15 (meets spec)
High: precision = 23, range = 127 to 127 (exceeds ES 2.0 spec, meets 3.0 spec)
Ints
Low: range = 15 to 14 (exceeds spec)
Medium: range = 15 to 14 (exceeds ES 2.0 spec, meets ES 3.0 spec)
High: range = 31 to 30 (exceeds ES 2.0 spec, meets ES 3.0 spec)
TG
D
d
d
U
d
N
U
d
N
U
U
d
d