Vsync locked dynamic textures

This topic contains 4 replies, has 3 voices, and was last updated by  prabindh 7 years, 10 months ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #29708

    rvoisey
    Member

    Hi

    Apologies if this is a dumb question. I just started developing with OGLES 1.1 on OMAP3530 under Linux 2.6.28 using v3.00.00.06 of the libs. My application uses dynamic textures which are generated by my code and must then be rendered onto geometry by the SGX engine. I want generate one frame of texture per vsync.

    I thought the following might work:

    Set eglSwapInterval to 1

    Loop

    – Generate texture

    – Upload texture with glTexImage2D

    – Plot geometry (with texture vertices)

    – Call eglSwapBuffers

    I’d hoped eglSwapBuffers would block on vsync, but it doesn’t. Actually setting eglSwapInterval to any value at all makes no noticeable difference to the output on screen on the loop rate. I get about 800 loops per second with a trivial instance of the texture generator.

    Any thoughts?

    Thanks

    Rob

    #32735

    andre
    Member

    hi there rvoisey,

    Right now I am facing the same challenge you did a year ago 🙂
    I am also generating and rendering textures in a loop.
    It works, but the tearing is very noticeable when a new texture is being drawn while the previous has not yet been fully drawn.
    I am using eglSwapBuffers, but just as you did I don’t seem to notice any doublebuffering taking place. I tried eglSwapInterval but that also didn’t make any difference.

    Did you find a solution for this problem?? tnx 🙂

    #32736

    rvoisey
    Member

    The following is specific to the OMAP 35xx…

    I had a chat with TI about the problem and reached the conclusion that existing methods for texture streaming aren’t up to the job (and neither were they designed for it). It’s inefficient at every level, from copying the data into texture memory to invalidating the rendering pipeline.

    What’s needed is a texture streaming extension, which is well defined for some other OGLES implementations. I understand TI have something working internally but as far as I’m aware this hasn’t been released yet.

    Due to this plus the lack of RGBA framebuffer support, I put the project aside several months ago and moved on to something else until the libraries gain those features.

    Regards

    Rob

    #32737

    andre
    Member

    Thank you for the reply.

    Perhaps someone else has got any ideas on the matter?

    andre2010-02-10 18:28:38

    #32738

    prabindh
    Member

    These links should guide you through this, there is also a gstreamer glsink submission that you should look at if you are on Linux. RGBA support is available since last 3 releases,

     

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