|Summary:||[regression, bisected] Bad flickering of items in steam, completely broken graphics in Rocket League|
|Product:||Mesa||Reporter:||Gregor Münch <gr.muench>|
|Component:||Drivers/Gallium/radeonsi||Assignee:||Default DRI bug account <dri-devel>|
|Status:||RESOLVED FIXED||QA Contact:||Default DRI bug account <dri-devel>|
|i915 platform:||i915 features:|
regressed steam menu
Rocket League ingame
Layers of Fear segfault
Description Gregor Münch 2017-10-21 10:39:36 UTC
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) Bisected to: 2f4705afde707e8eb41b9414c25df91aa1ea2fb3 is the first bad commit commit 2f4705afde707e8eb41b9414c25df91aa1ea2fb3 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. Benefits: - 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 address. The real performance benefit might not be measurable. These apps get 100% theoretical benefit in all shaders (except where noted): - antichamber - barman arkham origins - borderlands 2 - borderlands pre-sequel - brutal legend - civilization BE - CS:GO - deadcore - dota 2 -- most shaders - europa universalis - grid autosport -- most shaders - left 4 dead 2 - legend of grimrock - life is strange - payday 2 - portal - rocket league - serious sam 3 bfe - talos principle - team fortress 2 - thea - unigine heaven - unigine valley -- also sanctuary and tropics - wasteland 2 - xcom: enemy unknown & enemy within - tesseract - 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.
Comment 1 Gregor Münch 2017-10-21 14:23:40 UTC
Created attachment 134975 [details] Rocket League ingame Rocket League is also badly broken. Reverting the commit also helps here.
Comment 2 bartos.petr 2017-10-21 17:45:24 UTC
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)
Comment 4 Marek Olšák 2017-10-27 11:08:20 UTC
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.