https://bugs.freedesktop.org/show_bug.cgi?id=89829
Bug ID: 89829 Summary: [bisected] radeonsi, commit 2cf48c creates artefacts in some applications (worst being Flash animations that are garbage) Product: Mesa Version: unspecified Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: alexandre.f.demers@gmail.com QA Contact: dri-devel@lists.freedesktop.org
Created attachment 114739 --> https://bugs.freedesktop.org/attachment.cgi?id=114739&action=edit Error log from Chromium on a website with a wrongly rendered flash animation
I've been having rendering issues most notably with Flash (using Pepper Flash with Chrome) for the last 2 weeks. I just had time to invetigate it. I'm using latest drm, ddx and mesa from git with a 4.0-rc6 kernel.
Any Flash animation is an absolute mess, the "thing" being displayed instead of what is expected coming from other parts of what is displayed or was just displayed elsewhere on the screen.
After bisecting, it appears the culprit commit is 2cf48c
main: Add entry point for CreateBuffers. Author Laura Ekstrandlaura@jlekstrand.net Author date 14-12-18 20:10 Parent Revert "main: _mesa_cube_level_complete checks NumLayers." Child main: Add entry point for NamedBufferStorage. Branch origin/master (vc4: Drop integer multiplies with 0 to moves of 0.)
main: Add entry point for CreateBuffers. Reviewed-by: Martin Peres martin.peres@linux.intel.com
I'm also attaching an error log from Chromium when debugging a website with a flash animation (www.environnementestrie.ca).
Here is my bisect log.
-- git bisect log git bisect start # bad: [1dcc1ee314a6907213e2abd5337ec0bbba3bd1bf] vc4: Drop integer multiplies with 0 to moves of 0. git bisect bad 1dcc1ee314a6907213e2abd5337ec0bbba3bd1bf # good: [7a37d5c3a48c4adec5b5db589b0cb99dc9296f0c] r600g: Use R600_MAX_VIEWPORTS instead of 16 git bisect good 7a37d5c3a48c4adec5b5db589b0cb99dc9296f0c # bad: [a815cd8449c207956176020e752cd0051ed842ec] i965: Don't disable exec masking for sampler message sends. git bisect bad a815cd8449c207956176020e752cd0051ed842ec # good: [567c8d73008a672cb71a84a4724829d34e1652b2] radeonsi: don't emit PA_SC_LINE_STIPPLE if not rendering lines git bisect good 567c8d73008a672cb71a84a4724829d34e1652b2 # bad: [64788b2e8dc2ddedc2712ed02b7e9096638b7bae] i965: Throttle to the previous frame git bisect bad 64788b2e8dc2ddedc2712ed02b7e9096638b7bae # bad: [4f513bc330393c4615b4bad98e3e634408123960] main: Refactor MapBuffer[Range]. git bisect bad 4f513bc330393c4615b4bad98e3e634408123960 # good: [60f77b22b1e3bbef7e4d1f10012acf830d81ed7b] common.py: Fix PEP 8 issues. git bisect good 60f77b22b1e3bbef7e4d1f10012acf830d81ed7b # bad: [cb56835f870de01ed9c638d1470af38775bb6f72] main: Add entry point for NamedBufferData. git bisect bad cb56835f870de01ed9c638d1470af38775bb6f72 # good: [44ecf0793d872e771edc448436f7a2fd7c3390f5] Revert "main: _mesa_cube_level_complete checks NumLayers." git bisect good 44ecf0793d872e771edc448436f7a2fd7c3390f5 # bad: [a76808dc19580855eb39c0904f3254edd765aa50] main: Add entry point for NamedBufferStorage. git bisect bad a76808dc19580855eb39c0904f3254edd765aa50 # bad: [2cf48c37c1e2946f7c0648e0a5927a90209f59a4] main: Add entry point for CreateBuffers. git bisect bad 2cf48c37c1e2946f7c0648e0a5927a90209f59a4 # first bad commit: [2cf48c37c1e2946f7c0648e0a5927a90209f59a4] main: Add entry point for CreateBuffers.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #1 from Alexandre Demers alexandre.f.demers@gmail.com --- Created attachment 114740 --> https://bugs.freedesktop.org/attachment.cgi?id=114740&action=edit Flash animation wrongly rendered
We should see a carrousel animation. Each time the picture changes, the flash animation flickers and some OpenGL errors are added in debug mode.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
Michel Dänzer michel@daenzer.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |laura@jlekstrand.net
--- Comment #2 from Michel Dänzer michel@daenzer.net --- Laura, any ideas?
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #3 from Laura Ekstrand laura@jlekstrand.net --- Does this bug happen on any drivers/platforms besides Chromium on radeonsi?
I don't have the setup you have, so it's hard for me to test this. I took a look at the named commit, but it's pretty benign. No error messages are changed and the functionality is not directly related to framebuffer objects. (It's the code for Gen buffer objects). I would be really surprised if this was actually the culprit.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #4 from Alexandre Demers alexandre.f.demers@gmail.com --- (In reply to Laura Ekstrand from comment #3)
Does this bug happen on any drivers/platforms besides Chromium on radeonsi?
I don't have the setup you have, so it's hard for me to test this. I took a look at the named commit, but it's pretty benign. No error messages are changed and the functionality is not directly related to framebuffer objects. (It's the code for Gen buffer objects). I would be really surprised if this was actually the culprit.
If I recompile mesa with the commit just before the one identified as problematic, everything goes back to normal.
Sadly, I can't tell about Firefox for example, since it's been freezing for some time now, unrelated to the current bug...
I'm using LLVM 3.6. I've also compiled and tested with latest svn version and the same bug appears.
I'll have a look at Steam when launched from a terminal: I may have seen something that began at the same time as the bug seen with Flash and Chromium. I'll be back with more info.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #5 from Michel Dänzer michel@daenzer.net --- Alexandre, is Chromium picking up your self-built libglapi.so.0 as well as libGL.so.1?
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #6 from Laura Ekstrand laura@jlekstrand.net --- Hi.
I installed google chrome on my Fedora 21 and ran it under my build of libGL. The carousel at http://www.environnementestrie.ca/ worked just fine for me.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #7 from Alexandre Demers alexandre.f.demers@gmail.com --- (In reply to Laura Ekstrand from comment #6)
Hi.
I installed google chrome on my Fedora 21 and ran it under my build of libGL. The carousel at http://www.environnementestrie.ca/ worked just fine for me.
Ok, I'll investigate Michel's question about libgl*. I should have an update on the matter probably on Friday, I don't think I'll have time before that.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #8 from Alexandre Demers alexandre.f.demers@gmail.com ---
(In reply to Michel Dänzer from comment #5)
Alexandre, is Chromium picking up your self-built libglapi.so.0 as well as libGL.so.1?
I think it is OK on that side... I built and installed mesa at 19:13 today. Everything seems to come from the right place, isn't it?
ademers@Xander:~$ ldd /usr/lib/chromium/chromium | grep GL libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007fb7efae9000) libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fb7ef1f6000) ademers@Xander:~$ ldd /usr/lib/chromium/chromium | grep gl libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f5d14ba1000) libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f5d06c43000) libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f5d06410000) ademers@Xander:~$ ls -lAh /usr/lib/libEGL* /usr/lib/libglapi.* /usr/lib/mesa/libEGL.* lrwxrwxrwx 1 root root 23 2 avr 19:13 /usr/lib/libEGL.la -> /usr/lib/mesa/libEGL.la lrwxrwxrwx 1 root root 23 2 avr 19:13 /usr/lib/libEGL.so -> /usr/lib/mesa/libEGL.so lrwxrwxrwx 1 root root 25 2 avr 19:13 /usr/lib/libEGL.so.1 -> /usr/lib/mesa/libEGL.so.1 lrwxrwxrwx 1 root root 29 2 avr 19:13 /usr/lib/libEGL.so.1.0.0 -> /usr/lib/mesa/libEGL.so.1.0.0 -rwxr-xr-x 1 root root 926 2 avr 19:12 /usr/lib/libglapi.la lrwxrwxrwx 1 root root 17 2 avr 19:12 /usr/lib/libglapi.so -> libglapi.so.0.0.0 lrwxrwxrwx 1 root root 17 2 avr 19:12 /usr/lib/libglapi.so.0 -> libglapi.so.0.0.0 -rwxr-xr-x 1 root root 530K 2 avr 19:12 /usr/lib/libglapi.so.0.0.0 -rwxr-xr-x 1 root root 1,1K 2 avr 19:12 /usr/lib/mesa/libEGL.la lrwxrwxrwx 1 root root 15 2 avr 19:12 /usr/lib/mesa/libEGL.so -> libEGL.so.1.0.0 lrwxrwxrwx 1 root root 15 2 avr 19:12 /usr/lib/mesa/libEGL.so.1 -> libEGL.so.1.0.0 -rwxr-xr-x 1 root root 499K 2 avr 19:12 /usr/lib/mesa/libEGL.so.1.0.0
Full ldd on chromium: ldd /usr/lib/chromium/chromium linux-vdso.so.1 (0x00007ffe41c66000) librt.so.1 => /usr/lib/librt.so.1 (0x00007f5b96f91000) libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f5b96d8d000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f5b96b3c000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f5b9682e000) libevent-2.0.so.5 => /usr/lib/libevent-2.0.so.5 (0x00007f5b965e5000) libicui18n.so.54 => /usr/lib/libicui18n.so.54 (0x00007f5b9618e000) libicuuc.so.54 => /usr/lib/libicuuc.so.54 (0x00007f5b95dfe000) libsmime3.so => /usr/lib/libsmime3.so (0x00007f5b95bd7000) libnss3.so => /usr/lib/libnss3.so (0x00007f5b958b0000) libnssutil3.so => /usr/lib/libnssutil3.so (0x00007f5b95684000) libplc4.so => /usr/lib/libplc4.so (0x00007f5b9547f000) libnspr4.so => /usr/lib/libnspr4.so (0x00007f5b95240000) libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f5b94eca000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f5b94c8d000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f5b949d0000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f5b947c3000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f5b94493000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f5b94247000) libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f5b93fea000) libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f5b93db4000) libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007f5b93b5a000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f5b93818000) libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f5b93607000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f5b933fc000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f5b931ea000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f5b92fe4000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f5b92dda000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f5b92bd7000) libpci.so.3 => /usr/lib/libpci.so.3 (0x00007f5b929ca000) libasound.so.2 => /usr/lib/libasound.so.2 (0x00007f5b926cf000) libpulse.so.0 => /usr/lib/libpulse.so.0 (0x00007f5b9247e000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f5b9227b000) libXtst.so.6 => /usr/lib/libXtst.so.6 (0x00007f5b92075000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f5b91e6b000) libsnappy.so.1 => /usr/lib/libsnappy.so.1 (0x00007f5b91c65000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f5b91a3b000) libcups.so.2 => /usr/lib/libcups.so.2 (0x00007f5b917bf000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f5b915a2000) libspeechd.so.2 => /usr/lib/libspeechd.so.2 (0x00007f5b91399000) libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f5b91150000) libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x00007f5b90edd000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007f5b9089b000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007f5b905e5000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f5b903bf000) libXss.so.1 => /usr/lib/libXss.so.1 (0x00007f5b901bb000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f5b8feac000) libm.so.6 => /usr/lib/libm.so.6 (0x00007f5b8fba7000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f5b8f991000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f5b8f5ee000) /lib64/ld-linux-x86-64.so.2 (0x00007f5b97199000) libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f5b8f37f000) libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f5b8f176000) libicudata.so.54 => /usr/lib/libicudata.so.54 (0x00007f5b8d74c000) libplds4.so => /usr/lib/libplds4.so (0x00007f5b8d548000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f5b8d344000) libz.so.1 => /usr/lib/libz.so.1 (0x00007f5b8d12e000) libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f5b8cf17000) libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f5b8cd07000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f5b8caf1000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007f5b8c8ef000) libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f5b8c642000) libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007f5b8c411000) libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f5b8c20d000) libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f5b8c003000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f5b8bde1000) libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f5b8bb1e000) libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f5b8b900000) libjson-c.so.2 => /usr/lib/libjson-c.so.2 (0x00007f5b8b6f5000) libpulsecommon-6.0.so => /usr/lib/pulseaudio/libpulsecommon-6.0.so (0x00007f5b8b476000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f5b8b229000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f5b8af44000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f5b8ad11000) libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007f5b8ab0d000) libgnutls.so.28 => /usr/lib/libgnutls.so.28 (0x00007f5b8a7ea000) libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0x00007f5b8a5dd000) libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0x00007f5b8a3cc000) libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007f5b8a195000) libltdl.so.7 => /usr/lib/libltdl.so.7 (0x00007f5b89f8b000) libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f5b89d84000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f5b89b5e000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f5b8995b000) libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f5b89759000) libxcb-dri2.so.0 => /usr/lib/libxcb-dri2.so.0 (0x00007f5b89554000) libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f5b8934c000) libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f5b89148000) libgbm.so.1 => /usr/lib/libgbm.so.1 (0x00007f5b88f38000) libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007f5b88d29000) libwayland-server.so.0 => /usr/lib/libwayland-server.so.0 (0x00007f5b88b17000) libglapi.so.0 => /usr/lib/libglapi.so.0 (0x00007f5b888d0000) libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007f5b886c1000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f5b884bd000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f5b882b7000) libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007f5b8809d000) libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0 (0x00007f5b87e9a000) libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007f5b87c97000) libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007f5b87a89000) libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f5b87882000) libxshmfence.so.1 => /usr/lib/libxshmfence.so.1 (0x00007f5b8767f000) libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00007f5b87479000) libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f5b97329000) libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0x00007f5b87211000) libasyncns.so.0 => /usr/lib/libasyncns.so.0 (0x00007f5b8700b000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f5b86dfe000) libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007f5b86bfa000) libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007f5b86994000) libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007f5b86781000) libnettle.so.4 => /usr/lib/libnettle.so.4 (0x00007f5b86553000) libhogweed.so.2 => /usr/lib/libhogweed.so.2 (0x00007f5b86324000) libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f5b86092000) libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f5b85e8e000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f5b85c68000) liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f5b85a5d000) libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f5b8577c000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f5b8556a000) libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007f5b852c1000) libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f5b85094000) libnsl.so.1 => /usr/lib/libnsl.so.1 (0x00007f5b84e7c000) libattr.so.1 => /usr/lib/libattr.so.1 (0x00007f5b84c77000)
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #9 from Alexandre Demers alexandre.f.demers@gmail.com --- Also, it seems that Firefox is not experiencing this problem (I now have a working Firefox setup and I forced it to enable hardware acceleration)... Displaying the caroussel from the same website works correctly.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #10 from Apostolos B. barz621@gmail.com --- I have a similar problem with mesa 10.5. My whole screen looks like the flash animation image when using the opengl compositor on Enlightenment E19. Renders the machine unusable. If i revert back to 10.4.6 it works fine.
Barts 6850 radeon r600g driver.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
--- Comment #11 from Michel Dänzer michel@daenzer.net --- (In reply to Apostolos B. from comment #10)
I have a similar problem with mesa 10.5. My whole screen looks like the flash animation image when using the opengl compositor on Enlightenment E19. Renders the machine unusable. If i revert back to 10.4.6 it works fine.
Barts 6850 radeon r600g driver.
It may look similar, but it's unlikely to be the same problem. Please file your own report, and it would be very useful if you can bisect between 10.4.6 and 10.5.
https://bugs.freedesktop.org/show_bug.cgi?id=89829
Alexandre Demers alexandre.f.demers@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #12 from Alexandre Demers alexandre.f.demers@gmail.com --- Retested with last weekend code and it was still problematic. So today I intended to investigate the bug. I had narrowed it to the create/generate buffer. Then, I synced my code to today's commits, commented out the part where we were creating/generating buffers so only dummy buffers would be used and tested it again, and it was fine. Finally, I reverted any changes I had made, rebuilt, installed it along a new pepper-flash plugin and this time everything is fine.
Because I updated both mesa to the latest git code at the same time as the pepper-flash plugin, I can't tell which one was problematic, but it is now fixed. Closing this bug
dri-devel@lists.freedesktop.org