[amdgpu] Horizon EDA UI glitches
Horizon EDA user interface glitches, it looks like framebuffer areas are not always refreshed when GTK interface overlaps with application own rendering. Easily observed on upper right menu, just need to open/close it few times: https://milek7.pl/.stuff/horizon_weird.mp4
When captured with apitrace, on replay it fails even more reliably in different way, it looks like that: https://i.imgur.com/uexRKqa.png. I tried to find cause in apitrace, but it does have really weird situation: https://i.imgur.com/Kz1hWDC.png - context 0x558eb32ccb00 is bound previously, some blits are done, context is switched away to 0x558eb35206f0 and then again to 0x558eb32ccb00, and somehow framebuffer at call 140740 and 140742 contains different content..? (https://milek7.pl/.stuff/horizon-imp.trace.zip)
It doesn't happen with LIBGL_ALWAYS_SOFTWARE=true
(it fixes also apitrace replays)
System information
System: Host: milek Kernel: 5.8.10-arch1-1 x86_64 bits: 64 compiler: N/A Desktop: Xfce 4.14.2 tk: Gtk 3.24.20 wm: xfwm4
dm: LightDM Distro: Arch Linux
CPU: Info: 6-Core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2 L2 cache: 3072 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 86270
Speed: 2195 MHz min/max: 2200/3600 MHz Core speeds (MHz): 1: 2196 2: 2194 3: 2191 4: 2195 5: 2192 6: 2151 7: 2192
8: 2195 9: 2196 10: 2193 11: 2194 12: 2197
Graphics: Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
vendor: Sapphire Limited driver: amdgpu v: kernel bus ID: 07:00.0 chip ID: 1002:67df
Display: x11 server: X.Org 1.20.9 driver: amdgpu unloaded: modesetting alternate: ati,fbdev,vesa resolution:
1: 3840x2160~60Hz 2: 3840x2160~60Hz s-dpi: 96
OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.38.0 5.8.10-arch1-1 LLVM 10.0.1)
v: 4.6 Mesa 20.3.0-devel (git-7d1fb5fffe) direct render: Yes
Experienced also by others: https://github.com/horizon-eda/horizon/issues/517