mesa/glsl: add cache_fallback flag to gl_shader_program_data
This will allow us to skip certain things when falling back to a full recompile on a cache miss such as avoiding reinitialising uniforms. In this change we use it to avoid reading the program metadata from the cache and skipping linking during a fallback. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
e3adde023b
commit
2f19accc5e
|
@ -1281,7 +1281,7 @@ shader_cache_read_program_metadata(struct gl_context *ctx,
|
|||
return false;
|
||||
|
||||
struct disk_cache *cache = ctx->Cache;
|
||||
if (!cache)
|
||||
if (!cache || prog->data->cache_fallback)
|
||||
return false;
|
||||
|
||||
/* Include bindings when creating sha1. These bindings change the resulting
|
||||
|
|
|
@ -2686,6 +2686,8 @@ struct gl_shader_program_data
|
|||
unsigned NumUniformDataSlots;
|
||||
union gl_constant_value *UniformDataSlots;
|
||||
|
||||
bool cache_fallback;
|
||||
|
||||
/** List of all active resources after linking. */
|
||||
struct gl_program_resource *ProgramResourceList;
|
||||
unsigned NumProgramResourceList;
|
||||
|
|
Loading…
Reference in New Issue