[Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary
Jordan Justen
jordan.l.justen at intel.com
Wed Mar 14 07:26:09 UTC 2018
git://people.freedesktop.org/~jljusten/mesa shader-cache-xform-fb+prog-bin-v1
Patches 1 - 3 remove the restriction preventing the disk shader cache
from being enabled if transform feedback is enabled via the GL API.
These patches affect all drivers that support shader cache.
Patches 4 - 6 address an issue I found with i965 when running DOTA2
with the shader cache enabled. It appears that if the shader cache is
enabled, we will never use the shader cache for programs loaded with
ProgramBinary.
We had been setting the LinkStatus to LINKING_SUCCESS, and previously
i965 would skip using the shader cache if the LinkStatus wasn't
LINKING_SKIPPED. Either patch 5 or 6 should address this, but I think
6 still makes sense.
I sent out a related series on Sunday. It turned out that series
triggered issues where if ProgramBinary was used, and transform
feedback was enabled. For this reason, I looked into the transform
feedback limitation addressed in patches 1 - 3.
Jordan Justen (6):
glsl/shader_cache: Allow shader cache usage with transform feedback
i965: Allow disk shader cache usage with transform feedback
glsl: Remove api_enabled tracking for transform feedback
glsl/serialize: Save shader program metadata sha1
i965: Allow disk shader cache usage with LINKING_SUCCESS status
main/program_binary: In ProgramBinary set link status as
LINKING_SKIPPED
src/compiler/glsl/link_varyings.cpp | 2 --
src/compiler/glsl/linker.cpp | 11 +----------
src/compiler/glsl/serialize.cpp | 4 ++++
src/compiler/glsl/shader_cache.cpp | 6 ++++++
src/mesa/drivers/dri/i965/brw_disk_cache.c | 11 -----------
src/mesa/main/mtypes.h | 3 ---
src/mesa/main/program_binary.c | 2 +-
7 files changed, 12 insertions(+), 27 deletions(-)
--
2.16.1
More information about the mesa-dev
mailing list