Twiddling Algorithm Complexity

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

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

    gg sato
    Member

    Hi,

    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).

    Thanks,

    Takenori                                                      

    #34380

    gg sato
    Member

    The main bottleneck was memory bandwidth.

    – Takenori

    #34381

    Gordon
    Moderator

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

    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:

    http://en.wikipedia.org/wiki/Z-order_(curve)

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

    https://www.imgtec.com/powervr/insider/powervr-pvrtextool.asp

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