This MR implements mesh shading on GFX11.
- Task shaders
- No changes required whatsoever.
- Mesh shaders
- For this initial implementation, we use the legacy fast launch mode
FAST_LAUNCH=1
which works the same way as it did on GFX10.3, the draw packets on GFX11 have a bit that can enable this mode. - Per-primitive attributes need different register programming on GFX11.
- Changes in the I/O lowering code are needed, in order to change mesh shaders to use the attribute ring.
- For this initial implementation, we use the legacy fast launch mode
Testing
All supported dEQP-VK.mesh_shader.ext.*
pass.
Future work
- Optimize attribute ring access (write full vec4 if possible)
- Use new fast launch mode
- Mesh shader queries