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

Reply via email to