aboutsummaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/shader_cache.cpp
diff options
context:
space:
mode:
authorJordan Justen <[email protected]>2018-03-13 10:44:39 -0700
committerJordan Justen <[email protected]>2018-03-19 09:57:09 -0700
commit6d830940f78109db44293d41e74d9ec0a47da49b (patch)
tree6d1e5b584d5f051a9d381aabaed9ce87a382e5f1 /src/compiler/glsl/shader_cache.cpp
parente10dc12f6f2f7513d96bbea87b93b8e338222188 (diff)
glsl/shader_cache: Allow shader cache usage with transform feedback
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105444 Suggested-by: Timothy Arceri <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/compiler/glsl/shader_cache.cpp')
-rw-r--r--src/compiler/glsl/shader_cache.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp
index bf884af7906..e43ed7aa675 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -160,6 +160,12 @@ shader_cache_read_program_metadata(struct gl_context *ctx,
prog->FragDataBindings->iterate(create_binding_str, &buf);
ralloc_strcat(&buf, "fbi: ");
prog->FragDataIndexBindings->iterate(create_binding_str, &buf);
+ ralloc_asprintf_append(&buf, "tf: %d ", prog->TransformFeedback.BufferMode);
+ for (unsigned int i = 0; i < prog->TransformFeedback.NumVarying; i++) {
+ ralloc_asprintf_append(&buf, "%s:%d ",
+ prog->TransformFeedback.VaryingNames[i],
+ prog->TransformFeedback.BufferStride[i]);
+ }
/* SSO has an effect on the linked program so include this when generating
* the sha also.