[Mesa-dev] [PATCH 00/27] i965 disk shader cache

Jordan Justen jordan.l.justen at intel.com
Sat Aug 19 07:44:16 UTC 2017

git://people.freedesktop.org/~jljusten/mesa i965-shader-cache-v1

The series adds support for a disk shader cache for i965, but it does
not enable it by default. To enable the i965 shader cache you need to
set the environment variable INTEL_SHADER_CACHE=1.

I don't see any regressions on Skylake with piglit and the GL CTS.

Quite some time ago I did notice a regression with Deus Ex on SKL when
the shader cache is enabled. Unfortunately, I have not been able to
make progress on this issue. HSW does *not* have the same regression
with the shader cache on Deus Ex.

Carl Worth (1):
  i965: add new field for storing program size

Jordan Justen (9):
  i965: Don't rely on nir for uses_texture_gather on gen <= 7
  i965: Add shader cache support for compute
  main: Add _mesa_build_fallback_shader_program
  i965: Don't link when the program was found in the disk cache
  i965: Initialize sha1 hash of dri config options
  glsl: Assign atomic counter resources on shader compile fall back path
  glsl/shader_cache: Save fs (BlendSupport) metadata
  i965: Initialize disk shader cache when INTEL_SHADER_CACHE env var is
  i965/brw_disk_cache: Support INTEL_SHADER_CACHE_TIMESTAMP debug

Timothy Arceri (17):
  glsl/mesa: make a copy of attribute bindings in case of cache fallback
  glsl/mesa: make a copy of FragData bindings in case of cache fallback
  glsl: make a copy of the shader source for use with cache fallback
  i965: add initial implementation of on disk shader cache
  i965: Add shader cache support for vertex and fragment stages
  i965: add shader cache support for geometry shaders
  i965: add shader cache support for tess stages
  mesa/glsl: add api_enabled flag to gl_transform_feedback_info
  i965: add support for cached shaders with xfb qualifiers
  i965: add image param shader cache support
  i965: add shader cache support for pull param pointers
  i965: don't precompile or rebuild resource list on cache fallback
  i965: don't rebuild param list after cache miss
  i965: don't recreate program struct on cache fallback
  i965: add cache fallback support
  i965: add support for caching clip planes
  i965: handle incompatiable binaries in shader-cache

 src/compiler/glsl/link_varyings.cpp              |   5 +-
 src/compiler/glsl/linker.cpp                     |  15 +-
 src/compiler/glsl/shader_cache.cpp               |  52 ++
 src/intel/compiler/brw_compiler.h                |   2 +
 src/mesa/drivers/dri/i965/Makefile.sources       |   1 +
 src/mesa/drivers/dri/i965/brw_context.c          |   6 +
 src/mesa/drivers/dri/i965/brw_context.h          |   1 +
 src/mesa/drivers/dri/i965/brw_cs.c               |  27 +-
 src/mesa/drivers/dri/i965/brw_cs.h               |   3 +
 src/mesa/drivers/dri/i965/brw_disk_cache.c       | 707 +++++++++++++++++++++++
 src/mesa/drivers/dri/i965/brw_gs.c               |  25 +-
 src/mesa/drivers/dri/i965/brw_link.cpp           |  71 ++-
 src/mesa/drivers/dri/i965/brw_state.h            |   7 +
 src/mesa/drivers/dri/i965/brw_state_upload.c     |   3 +
 src/mesa/drivers/dri/i965/brw_tcs.c              |  26 +-
 src/mesa/drivers/dri/i965/brw_tes.c              |  25 +-
 src/mesa/drivers/dri/i965/brw_vs.c               |  24 +-
 src/mesa/drivers/dri/i965/brw_wm.c               |  30 +-
 src/mesa/drivers/dri/i965/brw_wm_surface_state.c |  12 +-
 src/mesa/main/mtypes.h                           |  16 +
 src/mesa/main/shaderobj.c                        | 113 +++-
 src/mesa/main/shaderobj.h                        |   5 +
 src/mesa/program/ir_to_mesa.cpp                  |   8 +-
 src/mesa/program/program.c                       |  19 +-
 24 files changed, 1105 insertions(+), 98 deletions(-)
 create mode 100644 src/mesa/drivers/dri/i965/brw_disk_cache.c


More information about the mesa-dev mailing list