Imagination PowerVR SDK Blog

glBlitFramebuffer causes failure

pvrtrace

#1

Hi, Everyone,



I met a issue that use glBlitFramebuffer from a 4x MSAA framebuffer to a no AA framebuffer will cause a failure. The glGetError() returns no error. But there is a print: TQMQueueTransfer: Transfer queue function failed. glBlitFramebuffer: Transfer queue function failed.



Could you please help me? I use the PVR G6230.



Thank you~~~~


#2

Hi,



What SoC are your targeting? Can you share the graphics driver version with us? You can find instructions to retrieve the graphics driver version number in this FAQ item.



Thanks,

Joe


#3
Hi,

What SoC are your targeting? Can you share the graphics driver version with us? You can find instructions to retrieve the graphics driver version number in this FAQ item.

Thanks,
Joe


Hi, Joe,

Thanks for your replay.
I am not sure my Soc is. The driver version is OpenGL ES 3.0 build 1.3@2966915.

Thanks,

#4

Hi,



We’ll need some more information before we can discuss this with our drive team. Can you list the parameters you are passing to glBlitFramebuffer() and also describe the resolutions and formats of your framebuffers?



Thanks,

Joe


#5
Hi,

We'll need some more information before we can discuss this with our drive team. Can you list the parameters you are passing to glBlitFramebuffer() and also describe the resolutions and formats of your framebuffers?

Thanks,
Joe

Hi, Joe,

I only know the chip is PVR G6230.
Here are my code:

/*Build a 256x256 4x MSAA frame buffer, RGBA8 format*/
glGenFramebuffer(1, &m_fboID);
glGenRenderBuffer(1, &m_rboID);
glBindFramebuffer(GL_FRAMEBUFFER, m_fboID);
glBindRenderbuffer(GL_RENDERBUFFER, m_rboID);
glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4, GL_RGBA8, 256, 256);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_rboID);

/* Do my draw job */

/* Blit MSAA to NOAA */
glGenFramebuffers(1, &m_noaaFboID);
glGenRenderbuffers(1, &m_noaaRboID);

glBindFramebuffer(GL_FRAMEBUFFER, m_fboID);
glReadBuffer(GL_COLOR_ATTACHMENT0);
glBindRenderbuffer(GL_RENDERBUFFER, m_noaaRboID);
glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA8, 256, 256);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_noaaFboID);
glFramebufferRenderbuffer(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_noaaRboID);

glBlitFramebuffer(0, 0, 256, 256, 0, 0, 256, 256, GL_COLOR_BUFFER_BIT, GL_NEAREST);

this cause the error I said before. But the glGetError() returns no error.

Thanks,

#6

Hello Ljarcher,



Could you please confirm the operating system you are using? In particular, is this an Android device?



It will be much easier for us to help if you can provide a PVR trace of the application or the executable itself (e.g. APK on Android).



PVRTrace is available as part of our SDK:

community.imgtec.com/developers/powervr/tools/pvrtrace/



Otherwise could you please provide a small compilable source code example of the issue?



If the application is confidential then please create a ticket on our support site:

https://pvrsupport.imgtec.com/new-ticket



We can then continue investigation through our support site confidentially.



Thanks,

Paul