mesa: create program resource hash in a single place

This is a cleanup but also a fix for commit dd09f1d806. In case of
i965 we did not actually create hash for cached shader programs.

Fixes: dd09f1d806 "mesa/st/i965: add a ProgramResourceHash for quicker resource lookup"
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Tapani Pälli 2020-01-07 17:56:26 +02:00
parent ee9879335e
commit 1e29ff7b3d
4 changed files with 3 additions and 6 deletions

View file

@ -388,8 +388,6 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
else
nir_build_program_resource_list(ctx, shProg, true);
_mesa_create_program_resource_hash(shProg);
for (stage = 0; stage < ARRAY_SIZE(shProg->_LinkedShaders); stage++) {
struct gl_linked_shader *shader = shProg->_LinkedShaders[stage];
if (!shader)

View file

@ -3187,6 +3187,9 @@ _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
prog->data->LinkStatus = LINKING_FAILURE;
}
if (prog->data->LinkStatus != LINKING_FAILURE)
_mesa_create_program_resource_hash(prog);
/* Return early if we are loading the shader from on-disk cache */
if (prog->data->LinkStatus == LINKING_SKIPPED)
return;

View file

@ -843,8 +843,6 @@ st_link_nir(struct gl_context *ctx,
prev_info = info;
}
_mesa_create_program_resource_hash(shader_program);
return true;
}

View file

@ -7428,7 +7428,5 @@ st_link_tgsi(struct gl_context *ctx, struct gl_shader_program *prog)
}
}
_mesa_create_program_resource_hash(prog);
return GL_TRUE;
}