--- src/compiler/glsl/shader_cache.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp index ed9c9a5..4b73d04 100644 --- a/src/compiler/glsl/shader_cache.cpp +++ b/src/compiler/glsl/shader_cache.cpp @@ -895,6 +895,13 @@ write_shader_metadata(struct blob *metadata, gl_linked_shader *shader) blob_write_uint32(metadata, shader->num_samplers); blob_write_uint32(metadata, shader->active_samplers); + if (shader->Stage == MESA_SHADER_FRAGMENT) { + struct gl_fragment_program *fprog = + (struct gl_fragment_program *) glprog; + blob_write_bytes(metadata, fprog->InterpQualifier, + sizeof(fprog->InterpQualifier)); + } + write_shader_parameters(metadata, glprog->Parameters); } else { @@ -928,6 +935,13 @@ read_shader_metadata(struct blob_reader *metadata, linked->num_samplers = blob_read_uint32(metadata); linked->active_samplers = blob_read_uint32(metadata); + if (linked->Stage == MESA_SHADER_FRAGMENT) { + struct gl_fragment_program *fprog = + (struct gl_fragment_program *) glprog; + blob_copy_bytes(metadata, (uint8_t *) fprog->InterpQualifier, + sizeof(fprog->InterpQualifier)); + } + glprog->Parameters = _mesa_new_parameter_list(); read_shader_parameters(metadata, glprog->Parameters); -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev