[Mesa-dev] [PATCH 15/37] glsl: skip linking when current program has been retrieved from cache

Timothy Arceri t_arceri at yahoo.com.au
Mon Jan 23 23:12:54 UTC 2017


From: Timothy Arceri <timothy.arceri at collabora.com>

The scenario is a program has been linked for the first time and we
cache the program metadata, then glLinkProgram() is called for a second
time. Since we will now retrieve the program metadata from cache we need
to skip linking.
---
 src/compiler/glsl/shader_cache.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp
index 1093726..cc3eb84 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -788,6 +788,7 @@ shader_cache_read_program_metadata(struct gl_context *ctx,
       return false;
    }
 
+   prog->data->Version = 0; /* This is used to flag a shader retrieved from cache */
    prog->data->LinkStatus = true;
 
    free (buffer);
-- 
2.9.3



More information about the mesa-dev mailing list