On Fri, Dec 1, 2017 at 5:20 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> We've had this optimization in the GL driver since July but never got > around to hooking it up in Vulkan. This lets us turn UBOs into push > constants which are significantly faster since they read the UBO data > once and the shader dispatch shoves it into the shader prior to program > execution. > > I have zero benchmark numbers at the moment but I expect this to help > anything which uses UBOs and has constant offsets into them which is > basically everything. Unfortunately, I'm at home and not near any > hardware with stable enough performance characteristics to get decent > numbers today. > I have numbers now (which I have added to the commit message on the last patch: On my SKL GT4e, this improves the performance of Dota 2 and Talos by around 2.5% and improves Aztec Ruins by around 2%. > Cc: Kenneth Graunke <kenn...@whitecape.org> > Cc: Eero Tamminen <eero.t.tammi...@intel.com> > > Jason Ekstrand (6): > anv/pipeline: Translate vulkan_resource_index to a constant when > possible > anv/cmd_buffer: Add some helpers for working with descriptor sets > anv/cmd_buffer: Add some stage asserts > anv/cmd_buffer: Add support for pushing UBO ranges > anv/device: Increase the UBO alignment requirement to 32 > anv: Enable UBO pushing > > src/intel/vulkan/anv_device.c | 13 +- > src/intel/vulkan/anv_nir_apply_pipeline_layout.c | 15 +- > src/intel/vulkan/anv_pipeline.c | 6 + > src/intel/vulkan/genX_cmd_buffer.c | 191 > ++++++++++++++++++----- > src/intel/vulkan/genX_pipeline.c | 3 +- > 5 files changed, 179 insertions(+), 49 deletions(-) > > -- > 2.5.0.400.gff86faf > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev