Are there any reasons to use power of two textures (like 128x128 sized) if one targets modern mobile platforms (with OpenGL ES 3.0, Metal and/or Vulkan)?

With iOS the PVRTC only supports power of two textures that have equal width and height, but e.g. ETC2 and ASTC do not have limits like that.

  • $\begingroup$ On iOS the requirement that PVRTC textures be square was completely artificial software constraint. AFAIK all versions of the (PowerVR) HW supported rectangular power-of-two sizes. Some would even have handled non-power of 2. The latter is definitely exposed via PVRTC-II formats (on non IOS systems) As for PO2, there may still be some advantages for cache-alignment. I'd have to think about it, but it may also help with the lower res MIP map levels. $\endgroup$
    – Simon F
    Aug 22, 2019 at 8:59
  • $\begingroup$ Also, PO2 textures make it easier to do Morton order, which is generally beneficial for texture mapping, although block-based/tiled storage can get much of the benefit ( See Jim Blinn's "The Truth About Texture Mapping" - unsure if there's a non-paywalled version) $\endgroup$
    – Simon F
    Aug 22, 2019 at 9:33


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.