mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 06:10:13 +01:00
program: Don't reset SamplersValidated when restoring from shader cache
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103988 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
parent
729fec6eab
commit
dc07bb5fd1
1 changed files with 9 additions and 7 deletions
|
|
@ -3115,15 +3115,17 @@ _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
|
|||
link_shaders(ctx, prog);
|
||||
}
|
||||
|
||||
if (prog->data->LinkStatus) {
|
||||
/* Reset sampler validated to true, validation happens via the
|
||||
* LinkShader call below.
|
||||
*/
|
||||
/* If LinkStatus is linking_success, then reset sampler validated to true.
|
||||
* Validation happens via the LinkShader call below. If LinkStatus is
|
||||
* linking_skipped, then SamplersValidated will have been restored from the
|
||||
* shader cache.
|
||||
*/
|
||||
if (prog->data->LinkStatus == linking_success) {
|
||||
prog->SamplersValidated = GL_TRUE;
|
||||
}
|
||||
|
||||
if (!ctx->Driver.LinkShader(ctx, prog)) {
|
||||
prog->data->LinkStatus = linking_failure;
|
||||
}
|
||||
if (prog->data->LinkStatus && !ctx->Driver.LinkShader(ctx, prog)) {
|
||||
prog->data->LinkStatus = linking_failure;
|
||||
}
|
||||
|
||||
/* Return early if we are loading the shader from on-disk cache */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue