This boolean indicates if program has ever been linked succesfully, will be used by binary shader cache to detect relinking.
Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> --- src/mesa/main/mtypes.h | 1 + src/mesa/program/ir_to_mesa.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 917d071..688a3bd 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2747,6 +2747,7 @@ struct gl_shader_program GLboolean LinkStatus; /**< GL_LINK_STATUS */ GLboolean Validated; GLboolean _Used; /**< Ever used for drawing? */ + GLboolean _Linked; /**< Ever linked? */ GLchar *InfoLog; unsigned Version; /**< GLSL version used for linking */ diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 59cf123..b3fab72 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -3091,6 +3091,8 @@ _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) if (prog->LinkStatus) { if (!ctx->Driver.LinkShader(ctx, prog)) { prog->LinkStatus = GL_FALSE; + } else { + prog->_Linked = GL_TRUE; } } -- 1.8.3.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev