Normalize storage of shader strings in the cache
Adds a tag that can be used to verify the expected type
of shaders. My follow-up CL that adds SkSL editing to
Vulkan relies heavily on this.
Change-Id: Ifda420c2dcbaff07cdf1b8157d0ece02b1ab6c78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210262
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp
index d3545a6..ca82abb 100644
--- a/tools/viewer/Viewer.cpp
+++ b/tools/viewer/Viewer.cpp
@@ -1966,8 +1966,8 @@
entry.fKeyString.appendf("%02x", digest.data[i]);
}
- GrPersistentCacheUtils::UnpackCachedGLSL(data.get(), &entry.fInputs,
- entry.fShader);
+ entry.fShaderType = GrPersistentCacheUtils::UnpackCachedShaders(
+ data.get(), entry.fShader, entry.fInputs, kGrShaderTypeCount);
};
fCachedGLSL.reset();
fPersistentCache.foreach(collectShaders);
@@ -2026,8 +2026,10 @@
entry.fShader[kFragment_GrShaderType] = highlight;
}
- auto data = GrPersistentCacheUtils::PackCachedGLSL(entry.fInputs,
- entry.fShader);
+ auto data = GrPersistentCacheUtils::PackCachedShaders(entry.fShaderType,
+ entry.fShader,
+ entry.fInputs,
+ kGrShaderTypeCount);
fPersistentCache.store(*entry.fKey, *data);
entry.fShader[kFragment_GrShaderType] = backup;