Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
 bool
 gl_nir_link_glsl(struct gl_context *ctx, struct gl_shader_program *prog)
 {
+   link_util_calculate_subroutine_compat(prog);
    link_util_check_uniform_resources(ctx, prog);
    link_util_check_subroutine_resources(prog);
    check_image_resources(ctx, prog);
 
    if (prog->data->LinkStatus == LINKING_FAILURE)
       return;
 
-   link_util_calculate_subroutine_compat(prog);
-
    if (!ctx->Const.UseNIRGLSLLinker) {
+      link_util_calculate_subroutine_compat(prog);
       link_util_check_uniform_resources(ctx, prog);
       link_util_check_subroutine_resources(prog);
       check_image_resources(ctx, prog);