Bug 98869

Summary: Electronic Super Joy graphic artefacts (regression,bisected)
Product: Mesa Reporter: cosiekvfj
Component: Drivers/Gallium/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: major    
Priority: medium CC: notasas
Version: 13.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: screen
screen2
Log from aplication
apitrace
skl retrace
apitrace
hack
Piglit dri2 w/o patch
Piglit dri2 patched
piglit mesa at e54b2e902aba22f697c0ba8622cd0a905f1edfff

Description cosiekvfj 2016-11-27 12:40:25 UTC
Created attachment 128215 [details]
screen

Game was fully working on mesa 12. This bug is present on mesa 13.


Informacje o komputerze:
    Producent: Unknown
    Model: Unknown
    Rodzaj: Laptop
    Nie wykryto panelu dotykowego
    
Informacje o procesorze:
    Dostawca CPU: GenuineIntel
    Marka procesora: Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
    Rodzina CPU: 0x6
    Model CPU: 0xf
    Stepping CPU: 0x6
    Typ CPU: 0x0
    Częstotliwość: 1667 MHz
    2 rdzenie logiczne
    2 rdzenie fizyczne
    HyperThreading:  Nieobsługiwane
    FCMOV:  Obsługiwane
    SSE2:  Obsługiwane
    SSE3:  Obsługiwane
    SSSE3:  Obsługiwane
    SSE4a:  Nieobsługiwane
    SSE41:  Nieobsługiwane
    SSE42:  Nieobsługiwane
    AES: Nieobsługiwane
    AVX: Nieobsługiwane
    CMPXCHG16B: Obsługiwane
    LAHF/SAHF: Obsługiwane
    PrefetchW: Nieobsługiwane
    
Informacje o sieci:
    Szybkość sieci:  
    
Wersja systemu operacyjnego:
    "Manjaro Linux" (64-bitowy)
    Nazwa kernela: Linux
    Wersja kernela: 4.8.9-1-MANJARO
    Dostawca serwera X: The X.Org Foundation
    Wydanie serwera X: 11804000
    Menedżer okien X: Xfwm4
    Wersja biblioteki Steam: <Runtime disabled>
    
Karta graficzna:
    Sterownik: X.Org R300 Project Gallium 0.4 on ATI RC410

    Wersja sterownika: 2.1 Mesa 13.0.1
    Wersja OpenGL: 2.1
    Głębia kolorów pulpitu: 24 bitów na piksel
    Częstotliwość odświeżania monitora: 59 Hz
    Ident. producenta: 0x1002
    ID urządzenia: 0x5a62
    Nie wykryto wersji
    Liczba monitorów: 1
    Liczba logicznych układów graficznych:  1
    Rozdzielczość głównego ekranu:  1280 x 800
    Rozdzielczość pulpitu: 1280 x 800
    Rozmiar głównego ekranu: 13,03" x 8,15" (15,35" diag)
33,1cm x 20,7cm (39,0cm diag)
    Nie wykryto głównego VRAM
    
Karta dźwiękowa:
    Dźwięk: Realtek ALC861-VD
    
Pamięć:
    RAM: 1877 MB
    
Dodatki:
    Język interfejsu: Polski
    JĘZYK: pl_PL.utf8
    Mikrofon:  Not set
    Przedłużka i kabel Steam Controllera: Not set
    Dostępne miejsce na twardym dysku: 54188 MB
    Największy wolny blok na twardym dysku: 26858 MB
    Gogle VR: Nie wykryto
    
Ostatnie raporty niepowodzeń:
    Sat Nov 26 18:19:41 2016 GMT: file ''/tmp/dumps/crash_20161126191939_2.dmp'', upload yes: ''Discarded=1''
Comment 1 cosiekvfj 2016-11-27 12:40:50 UTC
Created attachment 128216 [details]
screen2
Comment 2 Karol Herbst 2016-11-27 12:48:29 UTC
mind doing a git bisect and checking which commit broke it?
Comment 3 cosiekvfj 2016-12-08 20:13:41 UTC
I tried to compile mesa-git from aur but it failed. I really won't be able to compile it multiple times on this machine to search which commit broke it. Is this a big problem? Will be this not be resolved if I am not able to do all thing?
Comment 4 cosiekvfj 2016-12-08 20:14:34 UTC
13.0.2 the same
Comment 5 Mark Janes 2016-12-12 00:37:30 UTC
If you can't bisect mesa, then providing an apitrace of the workload will allow someone else to bisect it.
Comment 6 cosiekvfj 2016-12-12 21:39:41 UTC
Created attachment 128444 [details]
Log from aplication
Comment 7 cosiekvfj 2016-12-12 21:43:28 UTC
Created attachment 128445 [details]
apitrace
Comment 8 cosiekvfj 2016-12-12 21:59:20 UTC
Similar bug is present in sequel.
Comment 9 Mark Janes 2016-12-14 20:43:39 UTC
Created attachment 128475 [details]
skl retrace

skl shows correct rendering
Comment 10 cosiekvfj 2016-12-16 09:28:11 UTC
Created attachment 128497 [details]
apitrace

apitrace: loaded into /usr/bin/apitrace32
apitrace: unloaded from /usr/bin/apitrace32
apitrace: loaded into /home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy/ElectronicSuperJoy
Set current directory to /home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy
Found path: /home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy/ElectronicSuperJoy
Mono path[0] = '/home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy/ElectronicSuperJoy_Data/Managed'
Mono path[1] = '/home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy/ElectronicSuperJoy_Data/Mono'
Mono config path = '/home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy/ElectronicSuperJoy_Data/Mono/etc'
apitrace: tracing to /home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy/ElectronicSuperJoy.trace
apitrace: redirecting dlopen("libGL.so.1", 0x102)
apitrace: attempting to read configuration file: /home/kacper/.config/apitrace/gltrace.conf
apitrace: warning: glVertexPointer: call will be faked due to pointer to user memory (https://github.com/apitrace/apitrace/blob/master/docs/BUGS.markdown#tracing)
apitrace: warning: glTexCoordPointer: call will be faked due to pointer to user memory (https://github.com/apitrace/apitrace/blob/master/docs/BUGS.markdown#tracing)
apitrace: warning: glColorPointer: call will be faked due to pointer to user memory (https://github.com/apitrace/apitrace/blob/master/docs/BUGS.markdown#tracing)
apitrace: unloaded from /home/kacper/.local/share/Steam/steamapps/common/ElectronicSuperJoy/ElectronicSuperJoy
Comment 11 cosiekvfj 2016-12-16 09:44:16 UTC
"skl shows correct rendering" What does that mean?

I also tested app with LIBGL_ALWAYS_SOFTWARE=1 and then rendering is correct.
Comment 12 cosiekvfj 2016-12-16 09:45:10 UTC
Comment on attachment 128497 [details]
apitrace

Longer apitrace
Comment 13 cosiekvfj 2017-01-20 11:38:55 UTC
Still present.

Informacje o komputerze:
    Producent: Unknown
    Model: Unknown
    Rodzaj: Komputer stacjonarny
    Nie wykryto panelu dotykowego
    
Informacje o procesorze:
    Dostawca CPU: GenuineIntel
    Marka procesora: Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
    Rodzina CPU: 0x6
    Model CPU: 0xf
    Stepping CPU: 0x6
    Typ CPU: 0x0
    Częstotliwość: 1667 MHz
    2 rdzenie logiczne
    2 rdzenie fizyczne
    HyperThreading:  Nieobsługiwane
    FCMOV:  Obsługiwane
    SSE2:  Obsługiwane
    SSE3:  Obsługiwane
    SSSE3:  Obsługiwane
    SSE4a:  Nieobsługiwane
    SSE41:  Nieobsługiwane
    SSE42:  Nieobsługiwane
    AES: Nieobsługiwane
    AVX: Nieobsługiwane
    CMPXCHG16B: Obsługiwane
    LAHF/SAHF: Obsługiwane
    PrefetchW: Nieobsługiwane
    
Informacje o sieci:
    Szybkość sieci:  
    
Wersja systemu operacyjnego:
    "Manjaro Linux" (64-bitowy)
    Nazwa kernela: Linux
    Wersja kernela: 4.9.2-1-MANJARO
    Dostawca serwera X: The X.Org Foundation
    Wydanie serwera X: 11901000
    Menedżer okien X: Xfwm4
    Wersja biblioteki Steam: <Runtime disabled>
    
Karta graficzna:
    Sterownik: X.Org R300 Project Gallium 0.4 on ATI RC410

    Wersja sterownika: 2.1 Mesa 13.0.3
    Wersja OpenGL: 2.1
    Głębia kolorów pulpitu: 24 bitów na piksel
    Częstotliwość odświeżania monitora: 59 Hz
    Ident. producenta: 0x1002
    ID urządzenia: 0x5a62
    Nie wykryto wersji
    Liczba monitorów: 1
    Liczba logicznych układów graficznych:  1
    Rozdzielczość głównego ekranu:  1280 x 800
    Rozdzielczość pulpitu: 1280 x 800
    Rozmiar głównego ekranu: 13,03" x 8,15" (15,35" diag)
33,1cm x 20,7cm (39,0cm diag)
    Nie wykryto głównego VRAM
    
Karta dźwiękowa:
    Dźwięk: Realtek ALC861-VD
    
Pamięć:
    RAM: 1877 MB
    
Dodatki:
    Język interfejsu: Polski
    JĘZYK: pl_PL.utf8
    Mikrofon:  Not set
    Przedłużka i kabel Steam Controllera: Not set
    Dostępne miejsce na twardym dysku: 54060 MB
    Największy wolny blok na twardym dysku: 39965 MB
    Gogle VR: Nie wykryto
    
Ostatnie raporty niepowodzeń:
Comment 14 Tapani Pälli 2017-01-20 12:05:33 UTC
(In reply to cosiekvfj from comment #11)
> "skl shows correct rendering" What does that mean?
> 
> I also tested app with LIBGL_ALWAYS_SOFTWARE=1 and then rendering is correct.

This means that the trace renders correctly on Intel Skylake (i965) driver.
Comment 15 cosiekvfj 2017-01-20 13:01:27 UTC
I was able to narrow it a bit.

Latest working: lib32-mesa-11.2.2-1-x86_64.pkg.tar.xz
First not working: lib32-mesa-12.0.1-1-x86_64.pkg.tar.xz
Comment 17 cosiekvfj 2017-02-06 21:25:39 UTC
172bfdaa9e80342ade3f023f72d455d76713b866 Is cause of the problem!
https://cgit.freedesktop.org/mesa/mesa/commit/?h=12.0&id=172bfdaa9e80342ade3f023f72d455d76713b866
Comment 18 cosiekvfj 2017-02-07 19:29:29 UTC
I have compiled couple of times. Here are my results.

b7da8fa11d5c6ec71113350eed1959191a7d5990 working
84b961dd53a0509a6865d8417301838b34a40096 working
e54b2e902aba22f697c0ba8622cd0a905f1edfff working
172bfdaa9e80342ade3f023f72d455d76713b866 not working
f75a1084349f2332aa080d77acc175ddbe0ab886 not working
Comment 19 Grazvydas Ignotas 2017-02-09 23:41:20 UTC
Created attachment 129459 [details] [review]
hack

I guess not many developers still have r300 hardware, so you'll have to test some patches. Here is one you can try.
Comment 20 cosiekvfj 2017-02-10 08:26:05 UTC
Yes of course.
I have tested this patch and it resolved the problem :)
Thank you very much!!!
Comment 21 cosiekvfj 2017-02-12 21:41:02 UTC
Can you explain this bug and patch to my? :) What now?
Comment 22 Grazvydas Ignotas 2017-02-13 17:12:02 UTC
(In reply to cosiekvfj from comment #21)
> Can you explain this bug and patch to my? :) What now?
The patch has been rejected (more or less), see the mailing list for details: https://lists.freedesktop.org/archives/mesa-dev/2017-February/144118.html
Comment 23 Marek Olšák 2017-02-14 11:21:41 UTC
You can take the default case statement in the unbyteswap function on LE. That should safely disable the whole thing on LE.
Comment 24 Marek Olšák 2017-02-14 11:23:16 UTC
Ah thats what the patch does. I'll reply on mesa-dev.
Comment 25 cosiekvfj 2017-02-14 17:24:15 UTC
I can do more testing if needed.
Comment 26 Marek Olšák 2017-02-21 20:31:36 UTC
I pushed Grazvydas's patch.
Comment 27 cosiekvfj 2017-02-25 19:02:26 UTC
Created attachment 129912 [details]
Piglit dri2 w/o patch

I have done piglit test you guys was talking about on the mailinglist. I can do it again with patch if you want. Also I have rendering issue with dri3 and steam login screen. I think I will make another bug report. Also I want to test hyperz in piglit so it can be flipped on by default.
Comment 28 cosiekvfj 2017-02-26 16:51:39 UTC
Created attachment 129930 [details]
Piglit dri2 patched

This is piglit test with patched mesa. If someone want to take a look and write proper patch I will do my best with testing. Also I will provide more test in this bug-reports:
https://bugs.freedesktop.org/show_bug.cgi?id=37724
https://bugs.freedesktop.org/show_bug.cgi?id=37724
Comment 30 cosiekvfj 2017-02-27 19:57:50 UTC
Created attachment 129963 [details]
piglit mesa at e54b2e902aba22f697c0ba8622cd0a905f1edfff

I also tested mesa before the commit which broke my usercase. After earlier tests I had small image artefact on terminal window. Not with this one. :)
If you want more tests or you want me to redo previous tests or if you are unsure about results, I'm happy to help.
Comment 31 cosiekvfj 2017-06-12 21:02:24 UTC
I think it's not the end. I think this workaround proposed in this patch is not an actual workaround. I've opened another ticket for this issue, but I think it would be better of to revert back this patch. https://bugs.freedesktop.org/show_bug.cgi?id=101382
Comment 32 cosiekvfj 2017-06-12 21:16:23 UTC
OK. I might have said i to early. Patch was merged in
https://www.mesa3d.org/relnotes/17.0.1.html
https://www.mesa3d.org/relnotes/13.0.6.html
https://www.mesa3d.org/relnotes/17.1.0.html

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.