Created attachment 134972 [details]
regressed steam menu
Steam has some very bad flickering of menu items in latest mesa git.
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI / DRM 3.23.0 / 4.13.0-2-amd-staging-drm-next-git, LLVM 6.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.0-devel (git-0fdd531457)
2f4705afde707e8eb41b9414c25df91aa1ea2fb3 is the first bad commit
Author: Marek Olšák <email@example.com>
Date: Sun Oct 8 03:44:07 2017 +0200
radeonsi: if there's just const buffer 0, set it in place of CONST/SSBO pointer
SI_SGPR_CONST_AND_SHADER_BUFFERS now contains the pointer to const buffer 0
if there is no other buffer there.
- there is no constbuf descriptor upload and shader load
It's assumed that all constant addresses are within bounds. Non-constant
addresses are clamped against the last declared CONST variable.
This only works if the state tracker ensures the bound constant buffer
matches what the shader needs.
Once we get 32-bit pointers, we can only do this for user constant buffers
where the driver is in charge of the upload so that it can guarantee a 32-bit
The real performance benefit might not be measurable.
These apps get 100% theoretical benefit in all shaders (except where noted):
- barman arkham origins
- borderlands 2
- borderlands pre-sequel
- brutal legend
- civilization BE
- dota 2 -- most shaders
- europa universalis
- grid autosport -- most shaders
- left 4 dead 2
- legend of grimrock
- life is strange
- payday 2
- rocket league
- serious sam 3 bfe
- talos principle
- team fortress 2
- unigine heaven
- unigine valley -- also sanctuary and tropics
- wasteland 2
- xcom: enemy unknown & enemy within
- unity (engine)
Changed stats only:
SGPRS: 2059998 -> 2086238 (1.27 %)
VGPRS: 1626888 -> 1626904 (0.00 %)
Spilled SGPRs: 7902 -> 7865 (-0.47 %)
Code Size: 60924520 -> 60982660 (0.10 %) bytes
Max Waves: 374539 -> 374526 (-0.00 %)
Reviewed-by: Nicolai Hähnle <firstname.lastname@example.org>
:040000 040000 7b660ccfb110c80ecd9b3d2f7f06ace5380cb76f d8ddc8515150a84131e566c4ddafb05d3d7be0a7 M src
Confirmed bad commit by reverting it.
Created attachment 134975 [details]
Rocket League ingame
Rocket League is also badly broken. Reverting the commit also helps here.
This commit also breaks linux version of Layers of Fear (flickering lights/shadows in some areas), Clive Barkers Jericho (black background of menu instead of animated "flesh", white/overbrighted screen in-game) and even glxgears (weird pulsating lights)
Created attachment 134979 [details]
Fixed with https://cgit.freedesktop.org/mesa/mesa/commit/?id=3f8e3c2bd8f54ae6817f7496be47f4e1a8860d9c
You also need to update LLVM 6.0 from git or switch to LLVM 5.0. Anything in between will lead to the same corruption.
Created attachment 135156 [details]
Layers of Fear segfault
I`ve upgraded to latest git versions of mesa, llvm, clang and compiler-rt. Jericho and glxgears are fixed, however Layers of Fear segfaults on start.