Twiddling Algorithm Complexity

This topic contains 2 replies, has 2 voices, and was last updated by  Gordon 7 years, 3 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • #30300

    gg sato


    In 6.3 of “POWERVR SGX OpenGL ES 2.0 Application Development Recommendations”, it says:

    POWERVR SGX uses a twiddled layout (i.e. following a plane-filling curve) to greatly improve memory access locality when texturing. Because of this different layout uploading textures will always require a somewhat expensive reformatting operation, regardless of whether the input pixel format exactly matches the internal pixel format or not.

    Can you tell the complexity of the Twiddling algorithm?

    I am designing Realtime Video Frame Processing on iPhone 4, and consider to use glTxImage2D for texture data update. It is likely to get pipeline stall. So, wondering if X^2 * (M/X x N/X) size textures get processed better than 1 * (M x N).




    gg sato

    The main bottleneck was memory bandwidth.

    – Takenori



    Apple support the iPhone themselves and there was some discussion of how to upload frames quickly to GL on their forum, which is here:

    On other platforms there are other solutions involving something we call texture streaming.

    If you want to know more about the twiddle process then this wikipedia article is fairly good:

    There’s also some explanation in the PVRTexTool documentation from here:

Viewing 3 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic.