https://bugs.freedesktop.org/show_bug.cgi?id=77966
Priority: medium Bug ID: 77966 Assignee: dri-devel@lists.freedesktop.org Summary: Trails / Tracks when rendering OpenGL ES 2 moving objects (Android-x86 / Mesa 10.0.4/5) Severity: minor Classification: Unclassified OS: other Reporter: pstglia@gmail.com Hardware: x86-64 (AMD64) Status: NEW Version: 10.0 Component: Drivers/Gallium/r600 Product: Mesa
Created attachment 98023 --> https://bugs.freedesktop.org/attachment.cgi?id=98023&action=edit logs for "Learn OpenGL ES 2.0" Samples (debug.egl.trace 1)
Hi,
I'm running the latest version of Android-x86 ( Kitkat RC1 ), but replaced bundled Mesa 9.2.1 by 10.0.4 and latter by 10.0.5 (See the procedure on https://groups.google.com/forum/#!topic/android-x86/lKPmDXtNzjM).
This replacement gives support to my Radeon (7660D IGP). However, some OpenGL ES 2 apps have a problem when rendering a sequence of moving objects. Seems previous frame is not clean, keeping a trail / track of the previous image.
A example of this is "Learn OpenGL ES 2" sample tutorial apps (http://www.learnopengles.com/). I attached 2 pics showing the problem.
Other apps using OpenGL ES 2 render correctly without problems. I got a picture from an app called "Live Ocean Benchmark", which works perfectly. Also, Play Store games like "Lawless" and "Angry Birds Star Wars" works correctly, except for the very first logos (they also have this redraw problem).
I turned on "debug.egl.trace" and generated logs to compare a working app (Live Ocean Benchmark) with a problematic one (Learn OpenGL ES 2). I attached them.
Could you say if this is a known problem with these versions of OpenGL? Couldn't test 10.1 on Android source tree to compare (Compiling errors).
Here's the full specs of machine/environment I tested: CPU: AMD A10 5800K VGA: Radeon 7660D (IGP - Integrated to the processor) MEM: 8 Gb RAM (Corsair Vengeance 1600)
SO: Android-x86 ("KitKat - RC1" - Kernel 3.10.30 - 32 bits) Mesa versions tested: - 9.2.1 (Doesn't support my IGP) - 10.0.4 (problem described above) - 10.0.5 (same as 10.0.4)
"OpenGL driver version" on Android Settings show this: GL Vendor: X.org GL Renderer: Gallium 0.4 on AMD ARUBA GL Version: OpenGL ES 2.0 Mesa 10.0.4
Note: I created a bootable iso image to test it: https://drive.google.com/file/d/0BxO6THtB865fanJ3MVdXWUplams/edit?usp=sharin...
Thanks in advance
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #1 from pstglia@gmail.com --- Created attachment 98024 --> https://bugs.freedesktop.org/attachment.cgi?id=98024&action=edit logs for "Live Ocean Benchmark" (which renders correctly)
A working app to compare OpenGL calls
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #2 from pstglia@gmail.com --- Created attachment 98025 --> https://bugs.freedesktop.org/attachment.cgi?id=98025&action=edit Image showing the problem
Note: This sample works properly on other hardware configs
https://bugs.freedesktop.org/show_bug.cgi?id=77966
pstglia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Priority|medium |low
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #3 from pstglia@gmail.com --- Created attachment 98026 --> https://bugs.freedesktop.org/attachment.cgi?id=98026&action=edit Live Ocean Benchmark screenshot (renders without problems)
Basically use the same OpenGL calls, but renders correctly.
https://bugs.freedesktop.org/show_bug.cgi?id=77966
pstglia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #98025|0 |1 is obsolete| |
https://bugs.freedesktop.org/show_bug.cgi?id=77966
pstglia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #98026|0 |1 is obsolete| |
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #4 from pstglia@gmail.com --- Created attachment 98029 --> https://bugs.freedesktop.org/attachment.cgi?id=98029&action=edit Learn OpenGL ES 2 screenshot (redraw problem)
Image showing the problem. Note: Works properly on other hardware configs (e.g Intel GMA 3150, supported by Mesa Classic Drivers)
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #5 from pstglia@gmail.com --- Created attachment 98031 --> https://bugs.freedesktop.org/attachment.cgi?id=98031&action=edit Live Ocean Benchmark screenshot (renders without problems)
Live Ocean Benchmark screenshot (renders without problems)
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #6 from pstglia@gmail.com --- Compiled 10.1.1 today. The same issue. This is the android 4.4 bootable iso I created, in case you have a similar hardware and want to test it by yourselves:
https://drive.google.com/file/d/0BxO6THtB865fMHpKb204ZUVRTGM/edit?usp=sharin...
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #7 from Michel Dänzer michel@daenzer.net --- Looks like bug 72889. I guess src/gallium/state_trackers/egl/android/native_android.cpp needs to be fixed similarly.
https://bugs.freedesktop.org/show_bug.cgi?id=77966
--- Comment #8 from pstglia@gmail.com --- Created attachment 98144 --> https://bugs.freedesktop.org/attachment.cgi?id=98144&action=edit Patch
Thanks for the info. I did the changes attached on native_android.cpp and they worked for me.
I based this on Martin Andersson patch (bug 72889) and on commit 6349b3235cc07d396325863ece9ca6261daf8e77.
Although it worked for me, don't know if this is the best way of doing this fix.
Some of you guys could check it out please?
Thanks! pstglia
https://bugs.freedesktop.org/show_bug.cgi?id=77966
Michel Dänzer michel@daenzer.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|dri-devel@lists.freedesktop |mesa-dev@lists.freedesktop. |.org |org Component|Drivers/Gallium/r600 |EGL
--- Comment #9 from Michel Dänzer michel@daenzer.net --- Might it be better to handle this in android_surface_enqueue_buffer() instead?
Anyway, please submit the patch to the mesa-dev mailing list for review. Preferably using git send-email, but at least using git format-patch.
dri-devel@lists.freedesktop.org