st/mesa: don't load cached TGSI shaders on demand
This fixes a performance issue with the shader cache that delayed Gallium shader create calls until draw calls. I'd like this in stable, but it's not a showstopper. Cc: 17.1 <mesa-stable@lists.freedesktop.org> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
parent
bb0452442a
commit
2ec50f98a9
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "st_debug.h"
|
||||
#include "st_program.h"
|
||||
#include "st_shader_cache.h"
|
||||
#include "compiler/glsl/program.h"
|
||||
|
@ -367,6 +367,11 @@ st_load_tgsi_from_disk_cache(struct gl_context *ctx,
|
|||
_mesa_associate_uniform_storage(ctx, prog, glprog->Parameters,
|
||||
false);
|
||||
|
||||
/* Create Gallium shaders now instead of on demand. */
|
||||
if (ST_DEBUG & DEBUG_PRECOMPILE ||
|
||||
st->shader_has_one_variant[glprog->info.stage])
|
||||
st_precompile_shader_variant(st, glprog);
|
||||
|
||||
free(buffer);
|
||||
} else {
|
||||
/* Failed to find a matching cached shader so fallback to recompile.
|
||||
|
|
Loading…
Reference in New Issue