[Mesa-dev] [PATCH 00/26] RadeonSI: Primitive culling with async compute

Marek Olšák maraeo at gmail.com
Thu Feb 14 06:29:22 UTC 2019

I have some fixes for Sea Islands that improve Radeon 290X performance to
43 fps, moving it just below Radeon VII in the picture.


On Wed, Feb 13, 2019 at 12:16 AM Marek Olšák <maraeo at gmail.com> wrote:

> Hi,
> This patch series uses async compute to do primitive culling before
> the vertex shader. It significantly improves performance for applications
> that use a lot of geometry that is invisible because primitives don't
> intersect sample points or there are a lot of back faces, etc.
> It passes 99.9999% of all tests (GL CTS, dEQP, piglit) and is 100% stable.
> It supports all chips all the way from Sea Islands to Radeon VII.
> As you can see in the results marked (ENABLED) in the picture below,
> it destroys our competition (The GeForce results are from a Phoronix
> article from 2017, the latest ones I could find):
> Benchmark: ParaView - Many Spheres - 2560x1440
> https://people.freedesktop.org/~mareko/prim-discard-cs-results.png
> The last patch describes the implementation and functional limitations
> if you can find the huge code comment, so I'm not gonna do that here.
> I decided to enable this optimization on all Pro graphics cards.
> The reason is that I haven't had time to benchmark games.
> This decision may be changed based on community feedback, etc.
> People using the Pro graphics cards can disable this by setting
> AMD_DEBUG=nopd, and people using consumer graphics cards can enable
> this by setting AMD_DEBUG=pd. So you always have a choice.
> Eventually we might also enable this on consumer graphics cards for those
> games that benefit. It might decrease performance if there is not enough
> invisible geometry.
> Branch:
> https://cgit.freedesktop.org/~mareko/mesa/log/?h=prim-discard-cs
> Please review.
> Thanks,
> Marek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190214/6710a62d/attachment.html>

More information about the mesa-dev mailing list