Hi! I have a very strenge problem with rendering on meizu pro 6 (Mali-T880, driver version OpenGL ES 3.1 v1.r7p0-02rel0.c2815c77377fd8176029d97c61eba4df.). Here is a simple app that demonstrates the problem www.dropbox.com/.../renderbed-prod-build-release.apkThe scene is rendered into an intermediate target, and then it is copied to the screen. The scene consists of simple geometry boxes. And if there are enough boxes in the frame it looks like all rendering commands into intermediate target are rejected (including glClear, so we have previous frame image presented on screen). If I capture the frame with ARM graphics analyzer, this exact frame renders correctly but all others still hang on the device. To make things strange - if I add enough vertices to these boxes, this seems to fix the problem.I understand that r7 driver is quite old and the problem is probably fixed in newer versions, but any hints on what can cause this problem in r7 driver and what are the possible workarounds would be greatly welcomed.
Have you tried doing glFinish or glFlush before swapping buffers just for debug puposes?
with using glFinish situation appears even more strange:1. just adding glFinish before swap buffers or ending render target changes nothing.2. adding glFinish after glClear at the beginning makes glClear executed correctly, so instead of the previous frame I see clear color3. adding glFinish after each 200 draw calls seems like fixing the problem just making rendering very slow.3a. replacing glFinish with glFlush in such a case makes scene seems to work, but the result looks like something is broken.4. adding glFinish after each 400 draw calls makes so that only that 400 draw calls that were issued before glFinish are rejected, and the last ~270+ are executed correctly.
View all questions in Graphics and Gaming forum