[Mesa-dev] [PATCH 0/5] anv: Add a NIR cache

Jason Ekstrand jason at jlekstrand.net
Sat Oct 13 18:34:10 UTC 2018


I ran the Vulkan CTS both with and without this patch in the hopes that the
massive pile of redundant shaders in the CTS would be helped.  It shaved 6
minutes of a 4.5 hour run.  Quite possibly in the noise.

--Jason

On Fri, Oct 12, 2018 at 7:08 PM Jason Ekstrand <jason at jlekstrand.net> wrote:

> This patch series adds a simple NIR shader cache that sits right after
> spirv_to_nir and brw_preprocess_nir and before linking.  This should help
> alleviate some of the added overhead of link-time optimization since most
> of the NIR-level optimization is now cached prior to linking.
>
> I have no numbers to back this series up; just intuition.
>
> Jason Ekstrand (5):
>   anv/pipeline: Move wpos and input attachment lowering to lower_nir
>   anv/pipeline: Hash shader modules and spec constants separately
>   compiler/types: Serialize/deserialize subpass input types correctly
>   anv/pipeline_cache: Add support for caching NIR
>   anv/pipeline: Cache the pre-lowered NIR
>
>  src/compiler/glsl_types.cpp           |   4 +-
>  src/intel/vulkan/anv_pipeline.c       | 118 ++++++++++++++++++--------
>  src/intel/vulkan/anv_pipeline_cache.c | 100 ++++++++++++++++++++++
>  src/intel/vulkan/anv_private.h        |  18 ++++
>  4 files changed, 204 insertions(+), 36 deletions(-)
>
> --
> 2.19.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181013/27d8a72b/attachment.html>


More information about the mesa-dev mailing list