RadeonSI Driver Merges NGG Improvements, Other Optimizations For Mesa 21.3
AMD open-source driver developers today merged another big set of patches providing various micro-optimizations and other enhancements to the RadeonSI Gallium3D driver.
Ahead of Mesa 21.3 branching in a few weeks, the latest Mesa Git code saw a big set of patches today for the open-source RadeonSI driver. As with recent Mesa activity, there has been much work around SPECViewPerf/workstation optimizations and also further maturing the open-source driver's NGG (Next-Gen Geometry) handling.
Some of the highlights from today's Mesa Git include:
- A depth texturing performance regression for GFX6 and GFX7 hardware has been fixed. This fixes a "significant performance drop" for these older GPUs that in some cases meant halving of the performance compared to older versions of Mesa. GFX6 is for Cape Verde / Pitcairn / Tahiti / Oland / Hainan while GFX7 covers Bonaire through Kaveri and Hawaii.
- Shader-based culling for lines to help out various SPECViewPerf benchmarks... A common trend recently seeing AMD further tune RadeonSI for SPECViewPerf and various workstation workloads.
- Fixing to use the correct number of vertices in the Next-Gen Geometry (NGG) shader code.
- Disabling NGG fast launch on Navi 1x hardware since it was actually hurting performance. In turn this change helps Navi 1x performance on SPECViewPerf.
- Reducing the NGG culling on/off transitions by keeping it enabled until the next shader change or hitting an incompatible primitive type. This too helps SPECViewPerf performance.
- Lowering of the vertex count threshold for shader culling from 511 or 255 down to 128, which matches the RADV driver behavior.
See this merge request for more details on today's activity.
Ahead of Mesa 21.3 branching in a few weeks, the latest Mesa Git code saw a big set of patches today for the open-source RadeonSI driver. As with recent Mesa activity, there has been much work around SPECViewPerf/workstation optimizations and also further maturing the open-source driver's NGG (Next-Gen Geometry) handling.
Some of the highlights from today's Mesa Git include:
- A depth texturing performance regression for GFX6 and GFX7 hardware has been fixed. This fixes a "significant performance drop" for these older GPUs that in some cases meant halving of the performance compared to older versions of Mesa. GFX6 is for Cape Verde / Pitcairn / Tahiti / Oland / Hainan while GFX7 covers Bonaire through Kaveri and Hawaii.
- Shader-based culling for lines to help out various SPECViewPerf benchmarks... A common trend recently seeing AMD further tune RadeonSI for SPECViewPerf and various workstation workloads.
- Fixing to use the correct number of vertices in the Next-Gen Geometry (NGG) shader code.
- Disabling NGG fast launch on Navi 1x hardware since it was actually hurting performance. In turn this change helps Navi 1x performance on SPECViewPerf.
- Reducing the NGG culling on/off transitions by keeping it enabled until the next shader change or hitting an incompatible primitive type. This too helps SPECViewPerf performance.
- Lowering of the vertex count threshold for shader culling from 511 or 255 down to 128, which matches the RADV driver behavior.
See this merge request for more details on today's activity.
25 Comments