mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 15:10:10 +01:00
This allows us to use the link-optimized shader for determining binding
table layouts and, more importantly, URB layouts. For apps running on
DXVK, this is extremely important as DXVK likes to declare max-size
inputs and outputs and this lets is massively shrink our URB space
requirements.
VkPipeline-db results (Batman pipelines only) on KBL:
total instructions in shared programs: 820403 -> 790008 (-3.70%)
instructions in affected programs: 273759 -> 243364 (-11.10%)
helped: 622
HURT: 42
total spills in shared programs: 8449 -> 5212 (-38.31%)
spills in affected programs: 3427 -> 190 (-94.46%)
helped: 607
HURT: 2
total fills in shared programs: 11638 -> 6067 (-47.87%)
fills in affected programs: 5879 -> 308 (-94.76%)
helped: 606
HURT: 3
Looking at shaders by hand, it makes the URB between TCS and TES go from
containing 32 per-vertex varyings per tessellation shader pair to a more
reasonable 8-12. For a 3-vertex patch, that's at least half the URB
space no matter how big the patch section is.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
|
||
|---|---|---|
| .. | ||
| blorp | ||
| common | ||
| compiler | ||
| dev | ||
| genxml | ||
| isl | ||
| tools | ||
| vulkan | ||
| Android.blorp.mk | ||
| Android.common.mk | ||
| Android.compiler.mk | ||
| Android.dev.mk | ||
| Android.genxml.mk | ||
| Android.isl.mk | ||
| Android.mk | ||
| Android.vulkan.mk | ||
| Makefile.am | ||
| Makefile.blorp.am | ||
| Makefile.common.am | ||
| Makefile.compiler.am | ||
| Makefile.dev.am | ||
| Makefile.genxml.am | ||
| Makefile.isl.am | ||
| Makefile.sources | ||
| Makefile.tools.am | ||
| Makefile.vulkan.am | ||
| meson.build | ||