<div dir="ltr"><div>I have some fixes for Sea Islands that improve Radeon 290X performance to 43 fps, moving it just below Radeon VII in the picture.</div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 13, 2019 at 12:16 AM Marek Olšák <<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
This patch series uses async compute to do primitive culling before<br>
the vertex shader. It significantly improves performance for applications<br>
that use a lot of geometry that is invisible because primitives don't<br>
intersect sample points or there are a lot of back faces, etc.<br>
<br>
It passes 99.9999% of all tests (GL CTS, dEQP, piglit) and is 100% stable.<br>
It supports all chips all the way from Sea Islands to Radeon VII.<br>
<br>
As you can see in the results marked (ENABLED) in the picture below,<br>
it destroys our competition (The GeForce results are from a Phoronix<br>
article from 2017, the latest ones I could find):<br>
<br>
Benchmark: ParaView - Many Spheres - 2560x1440<br>
<a href="https://people.freedesktop.org/~mareko/prim-discard-cs-results.png" rel="noreferrer" target="_blank">https://people.freedesktop.org/~mareko/prim-discard-cs-results.png</a><br>
<br>
<br>
The last patch describes the implementation and functional limitations<br>
if you can find the huge code comment, so I'm not gonna do that here.<br>
<br>
I decided to enable this optimization on all Pro graphics cards.<br>
The reason is that I haven't had time to benchmark games.<br>
This decision may be changed based on community feedback, etc.<br>
<br>
People using the Pro graphics cards can disable this by setting<br>
AMD_DEBUG=nopd, and people using consumer graphics cards can enable<br>
this by setting AMD_DEBUG=pd. So you always have a choice.<br>
<br>
Eventually we might also enable this on consumer graphics cards for those<br>
games that benefit. It might decrease performance if there is not enough<br>
invisible geometry.<br>
<br>
Branch:<br>
<a href="https://cgit.freedesktop.org/~mareko/mesa/log/?h=prim-discard-cs" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/~mareko/mesa/log/?h=prim-discard-cs</a><br>
<br>
Please review.<br>
<br>
Thanks,<br>
Marek<br>
</blockquote></div>