Before using geometry shading, keep in mind that tile-based GPU architecture is sensitive to geometry bandwidth levels.
You must understand the following concepts:
- Geometry shading.
How to optimize geometry shading
Use compute shaders instead of geometry shading, as compute shaders are more flexible and avoid the unnecessary duplication of vertices that most geometry shaders trigger.
Steps to avoid when using geometry shading
Arm recommends that you:
- Do not use geometry shaders to filter primitives, such as triangles, or to pass down more attributes to the fragment stage.
- Do not use geometry shaders to expand points to quads. Instance a quad instead.
- Do not use transform feedback with geometry shaders.
- Do not use primitive restart with geometry shading.
- Do not use geometry shaders.
Negative impacts of unnecessarily implementing geometry shading
Using geometry shading leads to increased memory bandwidth. Therefore, creating an indirect negative effect of reduced performance and energy efficiency.