I have a Radeon R7 370 and running Mesa 12.0.1, I get horrible performance in certain areas or events of POSTAL 2, to the point where the game is almost unplayable.
This issue is easiest to reproduce on the level with the bank. Approaching the bank causes the framerate to get lower and lower, and entering it causes the game to immediately freeze for several seconds. If you rob the bank, the resulting firefight will cause the game to freeze repeatedly.
Using the exact same hardware, I've played the game using fglrx with much better performance. Help would be much appreciated.
Created attachment 125916 [details]
GALLIUM_HUD graphs for the scene
I can reproduce this on VI.
According to GALLIUM_HUD, the frame drops correspond to shader compilations. apitrace profiling shows the slowest calls are glDrawRangeElements, many of which take over 80ms (!). The calls don't use any user shaders so the compilations must be for internal shaders generated by Mesa to implement fixed-function functionality.
http://constexpr.org/tmp/POSTAL2-radeonsi.2.trace.xz (73 MiB)
Not sure if there is a good way to fix this (besides making the shader compiler faster). Maybe there could be a lighting super-shader that can be used while more optimized variants are compiled.
GPU: R9 380X
CPU: FX 8350
It seems that this situation has been improved somewhat on Mesa Git in the last 12 hours. The freezes are still there, but they're shorter and less frequent.
Closing. The shader cache definitely improves the situation here.