[Mesa-dev] [PATCH 00/20] RadeonSI: Optimized shader variants and other improvements
Marek Olšák
maraeo at gmail.com
Wed Nov 16 18:38:23 UTC 2016
Hi,
Patches 1-10 are random improvements.
Patches 11-14 are cleanups.
Patches 15-20 add support for optimized shader variants compiled
asynchronously (without stalling rendering).
The following optimizations are implemented for the shader variants:
- If user clipping is disabled, clip distances and the gl_ClipVertex
code is removed from vertex shaders.
- All VS outputs not read by a PS are removed. All VS code that
computes those including vertex attribute loads is removed
automatically by dead-code elimination.
- If GL_RASTERIZER_DISCARD is set, all varyings are removed from
vertex shaders.
- If doing depth-only rendering, it has the same behavior for
vertex shaders as GL_RASTERIZER_DISCARD.
It's all about optimizing vertex shaders and VS output resources.
I've just realized I might have to limit the compilation of optimized
shader variants to only a limited number of threads, so that apps
aren't slowed down by this.
I hope this is just the beginning of many things we can do with
asynchronous compilation.
Please review.
Marek
More information about the mesa-dev
mailing list