Description
The Vulkan spec currently allows the use of PVRTC1 textures that do not have power-of-two dimensions. For one, this requirement is in the OpenGL ES spec and in the Khronos Data Format Specification. Secondly, this seems to be a design requirement of the texture format itself, meaning that images with non-power-of-two dimensions would simply not work. This does not apply to PVRTC2.
However, I could not find a source from imgtec explicitely saying that PVRTC1 textures have this requirement and instead I only found this PDF about PVRTC2 which states:
- Non-Power-of-Two (NPOT) dimensions: PVRTC2 offers the developer the use of arbitrary-sized NPOT textures, which are textures that do not have dimensions that are limited to powers of two.
And a few other sources I found:
Remember that PVRTC1 requires square power of 2 size textures, [...] (BasisU)
Textures compressed with PVRTC1 formats must be square and power-of-two sized. (Love2d)
The layout of PVRTC1 does not require the images to be square (only power-of-two), however there's some hardware which restricts itself to square textures such as iOS devices.
This issue stems from KhronosGroup/MoltenVK#1760.