glsl: skip more uniform initialisation when doing fallback linking

We already pull these values from the metadata cache so no need to
recreate them.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Timothy Arceri
2016-04-23 22:34:38 +10:00
committed by Timothy Arceri
parent 794f7326bc
commit 01d1e5a7ad
2 changed files with 17 additions and 11 deletions

View File

@@ -4500,12 +4500,14 @@ link_and_validate_uniforms(struct gl_context *ctx,
update_array_sizes(prog);
link_assign_uniform_locations(prog, ctx);
link_assign_atomic_counter_resources(ctx, prog);
link_calculate_subroutine_compat(prog);
check_resources(ctx, prog);
check_subroutine_resources(prog);
check_image_resources(ctx, prog);
link_check_atomic_counter_resources(ctx, prog);
if (!prog->data->cache_fallback) {
link_assign_atomic_counter_resources(ctx, prog);
link_calculate_subroutine_compat(prog);
check_resources(ctx, prog);
check_subroutine_resources(prog);
check_image_resources(ctx, prog);
link_check_atomic_counter_resources(ctx, prog);
}
}
static bool
@@ -4810,8 +4812,10 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
last = i;
}
check_explicit_uniform_locations(ctx, prog);
link_assign_subroutine_types(prog);
if (!prog->data->cache_fallback) {
check_explicit_uniform_locations(ctx, prog);
link_assign_subroutine_types(prog);
}
if (!prog->data->LinkStatus)
goto done;