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

Dieter Nützel Dieter at nuetzel-hh.de
Thu Feb 14 01:28:07 UTC 2019


Now with LLVM 9.0 git;-)

Running, except mplayer/mpv (same as before).

mplayer: ../src/gallium/drivers/radeon/radeon_winsys.h:866: 
radeon_get_heap_index: Assertion `!"32BIT without WC is disallowed"' 
failed.
Abbruch (core dumped)

mpv: ../src/gallium/drivers/radeon/radeon_winsys.h:866: 
radeon_get_heap_index: Assertion `!"32BIT without WC is disallowed"' 
failed.
Abbruch (core dumped)

And this after glxgears, Blender, FreeCAD, UH and UV:

[38939.440950] [drm:amdgpu_ctx_mgr_entity_fini [amdgpu]] *ERROR* ctx 
00000000679c61fd is still alive
[38939.440993] [drm:amdgpu_ctx_mgr_fini [amdgpu]] *ERROR* ctx 
00000000679c61fd is still alive
[38964.901076] [drm:amdgpu_ctx_mgr_entity_fini [amdgpu]] *ERROR* ctx 
000000009c4b659b is still alive
[38964.901130] [drm:amdgpu_ctx_mgr_fini [amdgpu]] *ERROR* ctx 
000000009c4b659b is still alive
[38980.844577] [drm:amdgpu_ctx_mgr_entity_fini [amdgpu]] *ERROR* ctx 
000000001bee3a35 is still alive
[38980.844642] [drm:amdgpu_ctx_mgr_fini [amdgpu]] *ERROR* ctx 
000000001bee3a35 is still alive

Newer 'amd-staging-drm-next' needed? #0bf64b0a9f78 currently

If I only had some big triangle apps...;-)

Dieter

Am 13.02.2019 17:36, schrieb Marek Olšák:
> Dieter, you need final LLVM 8.0.
> 
> Marek
> 
> On Wed, Feb 13, 2019 at 11:02 AM Dieter Nützel <Dieter at nuetzel-hh.de>
> wrote:
> 
>> GREAT stuff, Marek!
>> 
>> But sadly some crashes.
>> Is my LLVM git version to old?
>> 7. Jan 2019 (short before 8.0 cut)
>> 
>> LLVM (http://llvm.org/):
>> LLVM version 8.0.0svn
>> Optimized build.
>> Default target: x86_64-unknown-linux-gnu
>> Host CPU: nehalem
>> 
>> Registered Targets:
>> amdgcn - AMD GCN GPUs
>> r600   - AMD GPUs HD2XXX-HD6XXX
>> x86    - 32-bit X86: Pentium-Pro and above
>> x86-64 - 64-bit X86: EM64T and AMD64
>> 
>> Please have a look at my post @Phoronix:
>> 
> https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1079916-radeonsi-picks-up-primitive-culling-with-async-compute-for-performance-wins?p=1079984#post1079984
>> 
>> Thanks,
>> Dieter
>> 
>> Am 13.02.2019 06:15, schrieb Marek Olšák:
>>> 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
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list