glsl: create program resource list after LinkShader

Resource list can be created properly  only after LinkShader hook
has been called to make sure all dead variables have been removed.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90925
This commit is contained in:
Tapani Pälli 2015-06-29 15:23:45 +03:00
parent 73afa31f07
commit f045b8b2ff
2 changed files with 2 additions and 4 deletions

View file

@ -3242,10 +3242,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
}
}
build_program_resource_list(ctx, prog);
if (!prog->LinkStatus)
goto done;
/* FINISHME: Assign fragment shader output locations. */
done:

View file

@ -2975,6 +2975,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 {
build_program_resource_list(ctx, prog);
}
}