diff options
-rw-r--r-- | src/compiler/glsl/shader_cache.cpp | 3 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_shader_cache.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp index 274bb8c91e7..ea1bc01f028 100644 --- a/src/compiler/glsl/shader_cache.cpp +++ b/src/compiler/glsl/shader_cache.cpp @@ -1221,7 +1221,8 @@ shader_cache_write_program_metadata(struct gl_context *ctx, * TODO: In future we should use another method to generate a key for ff * programs. */ - if (*prog->data->sha1 == 0) + static const char zero[sizeof(prog->data->sha1)] = {0}; + if (memcmp(prog->data->sha1, zero, sizeof(prog->data->sha1)) == 0) return; struct blob *metadata = blob_create(); diff --git a/src/mesa/state_tracker/st_shader_cache.c b/src/mesa/state_tracker/st_shader_cache.c index 061b27221b3..e8c7289ec6d 100644 --- a/src/mesa/state_tracker/st_shader_cache.c +++ b/src/mesa/state_tracker/st_shader_cache.c @@ -64,7 +64,8 @@ st_store_tgsi_in_disk_cache(struct st_context *st, struct gl_program *prog, /* Exit early when we are dealing with a ff shader with no source file to * generate a source from. */ - if (*prog->sh.data->sha1 == 0) + static const char zero[sizeof(prog->sh.data->sha1)] = {0}; + if (memcmp(prog->sh.data->sha1, zero, sizeof(prog->sh.data->sha1)) == 0) return; unsigned char *sha1; |