The Khronos Group - a non-profit industry consortium to develop, publish and promote open standard, royalty-free media authoring and acceleration standards for desktop and handheld devices, combined with conformance qualification programs for platform and device interoperability.

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

I think PBuffer data exists in video memory.
When eglCopyBuffer() is called, I guess pBuffer will move to bitmap of main memory.
I guess that It's have a delay of the data process as long as eglCopyBuffer() be called.
Approximately, 800*480 will copy.
What do you think about that??

So I thought glDrawTexOES(). change bitmap to texture.
What is more good idea??

Re: process delay of the eglCopyBuffer() .??

Can you use GDI to render directly into the visible window on the Display? If so then perhaps you could render into a window instead of a pbuffer, SwapBuffers to get the EGL color buffer contexts into the visible window, then draw GDI text into that window.

We have been discussing a proposal in Khronos that might allow a surface-to-surface color buffer copy. I'm not sure if that would be useful for your scenario but you have an interesting use case for us to discuss.

Re: process delay of the eglCopyBuffer() .??

Originally Posted by oddhack

SwapBuffers to get the EGL color buffer contexts into the visible window, then draw GDI text into that window.

You means CreateWindowSurface()? If it's right.. I already know that.
Of course, It's possible.. but When I use WindowSurface() and SwapBuffer(). I found that GDI Text has a flickering phenomenon in the screen per frame.

I think the best way should be:
- render to window surface
- whenever the text changes (which likely won't be every frame), draw text to a bitmap, upload bitmap as texture using glTex(Sub)Image2D.
- render text as textured quad/with DrawTex on top of your scene.

With hardware acceleration, it is important to avoid any operations that cause synchronization between CPU and GPU. Basically, anything that accesses the current draw surface (glReadPixels, eglCopyBuffers) is bad for performance.