Imagination PowerVR SDK Blog

Render Buffers with the SDK 3.3 GLES emulator

pvrvframe

#1

I am trying to use a render buffer as depth-stencil attachment for a FBO, however, the even after attaching the renderbuffer to both attachment point with

glFrameBufferRenderBuffer, the behavior I am seeing indicates there is not depth or stencil attachment. This was verified by checking glGetFramebufferAttachmentParameteriv with GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME and GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, for GL_DEPTH_ATTACHMENT and GL_STENCIL_ATTACHMENT respectively.



NOTE: As per the specification renderbuffers can be shared across context ( I am creating the render buffer(s) in a separate context and attaching them to the FBO on the thread that contains the primary context. )

This works fined for the color attachment which is a texture ( I have not tried a renderbuffer for the color attachment, or a texture for the depth buffer ). Also the emulator advertised the GL_OES_pack_depth_stencil extension so by render buffer format used for the test was GL_DEPTH24_STENCIL8_OES.


#2

Hi,



Have you tried to reproduce the issue with PVRVFrame from the 3.4 SDK? Our most recent release included some fixes for multi-threaded rendering (release notes here).



You can download the SDK installer here: https://www.imgcommunity.local/developers/powervr/installers/



Thanks,

Joe


#3

Thanks for the speed response Joe…Unfortunately I’ve tried running with PVRVFrame with the host profile and it did not make a difference. When I tried with the PowerVR SGX 540 profile I was getting shader errors for shaders that actually pass validation of 3 different OpenGL ES device including a SGX 530. I’m uploading textures, vertex and index buffers via the secondary context on a different thread with the appropriate synchronization in place and these work fine. I’ll try testing with a texture as the depth attachment and see if that works, but its not ideal since I need a stencil buffer.


#4

Have you seen these problems in the 3.4 SDK version of PVRVFrame, or the 3.3 SDK?


When I tried with the PowerVR SGX 540 profile I was getting shader errors for shaders that actually pass validation of 3 different OpenGL ES device including a SGX 530

If you can share an executable to reproduce this issue, we will investigate.

If you can also share an executable with us that reproduces the multi-thread renderbuffer issue, I'll file a bug against PVRVFrame. If you would like to share binaries with us confidentially, you can attach them to a support ticket: https://pvrsupport.imgtec.com/new-ticket

#5

I’m seeing the problem with the 3.4 SDK version of PVRVFrame, however, I’m using the SDK 3.3 emulator binaries ( if that makes any difference ) because the 3.4 binaries were giving me errors at startup so I just dropped them. Another point to note is that I’ve tried the ARM, Qualcomm and AMD emulator libraries and the AMD version is the only one that ran without issues. The PowerVR ran is almost there save the issue I mentioned. I will put together a package of the app to attach to the support ticket since its not a trivial sample. Thanks again for taking the time to look into this. The emulation library is an invaluable tool and its good that you guys are working to get them stable and full-featured as possible. I’ll get those binaries out as soon as I get a chance.