You can sign up to get a daily email of our articles, see the Mailing List page!
The AMD developer Marek Olšák sent over a patch to Mesa for the AMD radeonsi driver that he found by luck, and it improves DiRT: Showdown on Ultra settings by 15%. It's likely of course that this can help other games too. Thanks to Phoronix for pointing it out.

It does of course make me wonder: Just how many gotchas like this are hidden in Mesa, and how many other general improvements can be made? I'm betting there's quite a few.

From the mailing list entry:
Quote-/* Prefer RE_Z if the shader is complex enough. The requirement is either:
- * - the shader uses at least 2 VMEM instructions, or
- * - the code size is at least 50 2-dword instructions or 100 1-dword
- * instructions.
+ /* DON'T USE EARLY_Z_THEN_RE_Z !!!
+ *
+ * It decreases performance by 15% in DiRT: Showdown on Ultra settings.
+ * And it has pretty complex shaders.
*
* Shaders with side effects that must execute independently of the
* depth test require LATE_Z.


It's worth noting that Marek sent another patch to Mesa in early August, that helped with Bioshock Infinite performance by quite a lot.

It's interesting to see that both of these improvements to Mesa were found as a result of ports from Virtual Programming. People are always torn on their ports, but their ports are now helping developers improve Mesa, so that's nice.

It's really pleasing to see such performance increases for AMD users, and such fast-paced improvement for Mesa over the past year. The next few releases of Mesa are going to be awesome. Article taken from GamingOnLinux.com.
0 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more information here.
The comments on this article are closed.
MaCroX95 12 October 2016 at 10:12 pm UTC
Great to hear that AMD brothers are getting better with driver support as well! As I said a lot of great stuff happening to linux lately
mirv 12 October 2016 at 10:18 pm UTC
View PC info
  • Supporter
  • Top Supporter
I think a lot of focus will start to switch to shader optimisations now that Mesa looks to be pretty much feature complete for GL4.5 & GLSL450. And I'm quite sure there are a lot of little tweaks throughout the code that can be done - most might show large improvements alone, but collectively will add up.

As for VP's working being scrutinised, could just be the games in question being played by a particular dev, or their shader conversion process just happens to pick up on a lot of things.
ElectricPrism 12 October 2016 at 10:34 pm UTC
Ark is a great example of a game that could use Shader optimizations and improvements.
MayeulC 12 October 2016 at 10:38 pm UTC
I would be curious to see some benchmarks. Is it an improvement only in Dirt? Does it slow down other games? (An optimization has been disabled, after all)


Last edited by MayeulC at 13 October 2016 at 6:24 am UTC
ertuqueque 13 October 2016 at 2:09 am UTC
It might be a "gaming" unrelated question, but... Does anyone of you know how to activate OpenCL under Linux for an AMD Radeon R9 390?... I tried a couple months ago without luck (Although I don't consider myself an expert), I'm waiting for better features support in their drivers, but it seems that it's still not possible, please, someone correct me if I'm wrong. Thanks.
no_information_here 13 October 2016 at 5:52 am UTC
QuoteIt's interesting to see that both of these improvements to Mesa were found as a result of ports from Virtual Programming. People are always torn on their ports, but their ports are now helping developers improve Mesa, so that's nice.
I was amazed by the smoothness of Bioshock Infinite. Whatever they did made it completely playable on my very basic GTX 750. I have no complaints about Virtual Programming at all. I think whatever early issues they had with Witcher 2 made them become a stronger porting company. Dirt Showdown works smoothly, too.

On-topic: I would be very happy to switch to AMD if they can get their power efficiency close to Nvidia. I don't want a hot noisy card, even if it is cheap and fast! However, it is great seeing the open AMD driver making such big steps...
baccilus 13 October 2016 at 8:22 am UTC
How does one find a patch by luck? (I am not a programmer)
ziabice 13 October 2016 at 8:36 am UTC
View PC info
  • Supporter
baccilusHow does one find a patch by luck? (I am not a programmer)

You are testing mesa in real world using a game, see something that sounds "wrong", have an idea where the problem is, investigate, but found that the problem was elsewhere while looking at the code: this is the "by luck" of a programmer. Happens a lot when you do this job.

Someone tried the patch? Does it solves the poor performance problem in games like Saints Row III and IV on AMD cards? The games are actually unplayable on my Radeon 7850.
BOYSSSSS 13 October 2016 at 10:59 am UTC
QuoteSomeone tried the patch? Does it solves the poor performance problem in games like Saints Row III and IV on AMD cards? The games are actually unplayable on my Radeon 7850.
Saints Row III and IV have horrible performance on Windows too so its not VPs fault.


Last edited by BOYSSSSS at 13 October 2016 at 11:00 am UTC
mrdeathjr 13 October 2016 at 12:34 pm UTC
ziabice
baccilusHow does one find a patch by luck? (I am not a programmer)

You are testing mesa in real world using a game, see something that sounds "wrong", have an idea where the problem is, investigate, but found that the problem was elsewhere while looking at the code: this is the "by luck" of a programmer. Happens a lot when you do this job.

Someone tried the patch? Does it solves the poor performance problem in games like Saints Row III and IV on AMD cards? The games are actually unplayable on my Radeon 7850.

But your case A10-7850K is part of low fps problem: lower ipc (very low single thread performance), fpu shared (1 fpu for each 2 alus)*, very slow L2 and L3 cache memory**

*this cpus is not quad core same as when said core i3 (2 fpus with 2 alus + ht) as quad core and this is a big lie also said FX 6xxx are 6 core cpu (3 fpus with 6 alus) FX 8xxx is 8 core cpu (4 fpus with 8 alus) or said core i7 67xx (4 fpus with 4 alus + ht) are 8 core cpu

However when said core i7 2011 case 5820K / 6800K are six core this is correct because this cpus have 6 fpus + 6 alus + ht and very similar occurs when said 5960X / 6900K are 8 core cpus because both cpus have 8 fpus + 8 alus + ht

Real quad core normally have 1 fpu for each alu case core i5, More correct A10-7850K description could be like this: cpu with 2 fpus and 4 alus

**In regular processors L3 cache memory is more slow than L2 cache memory but in bulldozer derivatives arquitecture case as your A10-7850K (Kaveri)

Bulldozer and derivatives L2 cache memory is more slower than L3 cache memory used by intel cpus

Another issue stay in high tdp but this is other topic

Maybe can change for i5 skylake / kibylake or wait for zen apu based in someplace close to end Q2 of 2017

Without forget amd open source driver have low performance in vp ports




Last edited by mrdeathjr at 13 October 2016 at 1:56 pm UTC
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Livestreams & Videos
Community Livestreams
  • Story Time: „The Book of Unwritten Tales 2“
  • Date:
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts