Reviewed-by: Marek Olšák <[email protected]> Marek
On Thu, Jan 17, 2019 at 1:17 AM Timothy Arceri <[email protected]> wrote: > This basically reverts c2bc0aa7b188. > > By running the opts we reduce memory using in Team Fortress 2 > from 1.5GB -> 1.3GB from start-up to game menu. > > This will likely increase Deus Ex start up times as per commit > c2bc0aa7b188. However currently 32bit games like Team Fortress 2 > can run out of memory on low memory systems, so that seems more > important. > --- > src/compiler/glsl/glsl_parser_extras.cpp | 16 +--------------- > src/compiler/glsl/shader_cache.cpp | 17 ----------------- > src/mesa/main/mtypes.h | 3 +-- > 3 files changed, 2 insertions(+), 34 deletions(-) > > diff --git a/src/compiler/glsl/glsl_parser_extras.cpp > b/src/compiler/glsl/glsl_parser_extras.cpp > index 2048a7f900..200df7759b 100644 > --- a/src/compiler/glsl/glsl_parser_extras.cpp > +++ b/src/compiler/glsl/glsl_parser_extras.cpp > @@ -2090,14 +2090,6 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, > struct gl_shader *shader, > */ > if (shader->CompileStatus == COMPILE_SUCCESS) > return; > - > - if (shader->CompileStatus == COMPILED_NO_OPTS) { > - opt_shader_and_create_symbol_table(ctx, > - NULL, /* source_symbols */ > - shader); > - shader->CompileStatus = COMPILE_SUCCESS; > - return; > - } > } > > struct _mesa_glsl_parse_state *state = > @@ -2153,13 +2145,7 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, > struct gl_shader *shader, > if (!state->error && !shader->ir->is_empty()) { > assign_subroutine_indexes(state); > lower_subroutine(shader->ir, state); > - > - if (!ctx->Cache || force_recompile) > - opt_shader_and_create_symbol_table(ctx, state->symbols, shader); > - else { > - reparent_ir(shader->ir, shader->ir); > - shader->CompileStatus = COMPILED_NO_OPTS; > - } > + opt_shader_and_create_symbol_table(ctx, state->symbols, shader); > } > > if (!force_recompile) { > diff --git a/src/compiler/glsl/shader_cache.cpp > b/src/compiler/glsl/shader_cache.cpp > index 31d0aa6296..879511a9d7 100644 > --- a/src/compiler/glsl/shader_cache.cpp > +++ b/src/compiler/glsl/shader_cache.cpp > @@ -264,23 +264,6 @@ shader_cache_read_program_metadata(struct gl_context > *ctx, > /* This is used to flag a shader retrieved from cache */ > prog->data->LinkStatus = LINKING_SKIPPED; > > - /* Since the program load was successful, CompileStatus of all shaders > at > - * this point should normally be compile_skipped. However because of > how > - * the eviction works, it may happen that some of the individual > shader keys > - * have been evicted, resulting in unnecessary recompiles on this > load, so > - * mark them again to skip such recompiles next time. > - */ > - char sha1_buf[41]; > - for (unsigned i = 0; i < prog->NumShaders; i++) { > - if (prog->Shaders[i]->CompileStatus == COMPILED_NO_OPTS) { > - disk_cache_put_key(cache, prog->Shaders[i]->sha1); > - if (ctx->_Shader->Flags & GLSL_CACHE_INFO) { > - _mesa_sha1_format(sha1_buf, prog->Shaders[i]->sha1); > - fprintf(stderr, "re-marking shader: %s\n", sha1_buf); > - } > - } > - } > - > free (buffer); > > return true; > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h > index 241c2b92f7..0fdeba4732 100644 > --- a/src/mesa/main/mtypes.h > +++ b/src/mesa/main/mtypes.h > @@ -2576,8 +2576,7 @@ enum gl_compile_status > { > COMPILE_FAILURE = 0, > COMPILE_SUCCESS, > - COMPILE_SKIPPED, > - COMPILED_NO_OPTS > + COMPILE_SKIPPED > }; > > /** > -- > 2.20.1 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
