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 '19 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 '19 at 9:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.