Skip to content

radv: Use NIR based NGG lowering with the LLVM backend.

Timur Kristóf requested to merge Venemo/mesa:radv-llvm-ngg into main

Depends on:

  • !17581 (merged) for fixing up primitive ID exports (these cause crashes with LLVM)

The goal is to reuse the same NIR based lowering that I made for ACO in !10740 (merged) for RADV's LLVM backend. Previous work in merge requests !12570 (merged) and !12693 (merged) have already added most of the required stuff to ac_nir_to_llvm and !12695 (merged) removed support for NGG streamout which was the only missing feature from ac_nir_lower_ngg, therefore we can now just switch to using ac_nir_lower_ngg with no loss of functionality.

NGG streamout support will be added later to ac_nir_lower_ngg.

Benefits:

  • Code can be shared between ACO and the LLVM backend, therefore reducing code duplication.

Caveats:

  • NGG culling with LLVM is disabled because it doesn't work properly yet due to a bug with overwrite_vs/tes_args
Edited by Timur Kristóf

Merge request reports