Skip to content

dispatch: hash shaders after generating them

Niklas Haas requested to merge dispatch_sig into master

pl_shader_signature is really naive and subtly broken in practice. Instead of using it, internally hash the fully-generated shader.

Fixes a major issue where the dispatch layer generated false positive cache hits when the only thing that changed about a shader was metadata about the descriptors etc.

This has the very unfortunate side effect of forcing the allocation of pl_pass + temporary arrays on every single frame, which is a potential CPU cost drawback. I'm still thinking about ways to improve this.

Merge request reports