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.

Are pbuffers always single buffered or it depends on the underline EGL implementation?..Because, i hv seen mentioning of front & back buffer for pbuffers in lot of places in the EGL spec.

There's no mention of front buffers in the spec. The EGL spec says that pbuffers are back buffered because the memory is managed by EGL, and there is no way you could access intermediate rendering results anyway.

There's no mention of front buffers in the spec. The EGL spec says that pbuffers are back buffered because the memory is managed by EGL, and there is no way you could access intermediate rendering results anyway.

So the implementation details are completely hidden.

You are right that there is no mentioning of front buffer in the spec. Actually i have seen

Originally Posted by From the Spec

When the client is finished drawing a frame, the back buffer may be copied to a visible window using eglSwapBuffers (Section 2.2.2 Rendering Models in EGL spec 1.3).

so i interpreted this visible window as the front buffer.

Am i wrong here in my interpretation?

Also, while discussing Rendering model in section 2.2.2, it is mentioned that

Originally Posted by From the spec

Pbuffer surfaces have a back buffer but no associated window, so the back buffer need not be copied.

I did not understand what this statement means.Could you please clarify?

You are right that there is no mentioning of front buffer in the spec. Actually i have seen

Originally Posted by From the Spec

When the client is finished drawing a frame, the back buffer may be copied to a visible window using eglSwapBuffers (Section 2.2.2 Rendering Models in EGL spec 1.3).

so i interpreted this visible window as the front buffer.

Am i wrong here in my interpretation?

From the point of view of the application it is the front buffer. However, the window system might be doing some composition work (like the Vista Aero desktop), and in such a case the window buffer is not the actual front buffer (the buffer that is sent to the screen).

Also, while discussing Rendering model in section 2.2.2, it is mentioned that

Originally Posted by From the spec

Pbuffer surfaces have a back buffer but no associated window, so the back buffer need not be copied.

I did not understand what this statement means.Could you please clarify?

It means that a pbuffer is an off-screen surface that doesn't have a front buffer (or window buffer, see above) associated with it. Thus there is no need to call eglSwapBuffers when you've finished rendering to a pbuffer.

So, that means "Is it possible that in the same EGL implementation i can have my windows surface as double-buffered whereas the pbuffer as single-buffered"?

My initial understanding was even though it depends on the underline EGL implementation but the EGL implementation would be such that if windows surface is double-buffered, then pbuffer also has to be double -buffered and, if it is single-buffered, then both the surfaces have to be single-buffered.

Example of double buffered pbuffer

Hi,

So, is there any implementation where we have double buffered pbuffer?I have some question regarding the double buffered pbuffer

1>Can we specify which buffer of pbuffer is used for writing to pbuffer and which for reading from pbuffer?
2>Who takes care of the synchronization issue i.e. whether simultaneously reading and writing is possible.
3>Do i need to explicitly call eglswapbuffers on pbuffer to transfer the content from back buffer to front buffer?

What is the effect if i call eglswapbuffers on single buffered pbuffer?My opinion is it is a NOP, but just want to confirm.I have verified in the rasteroid (Hybrid) exmaple that it is a NOP.

In case of single buffered pbuffer, how is the synchronization happen i.e. we are not reading and writing to/from pbuffer simultaneously.