summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorGrazvydas Ignotas <[email protected]>2017-03-16 01:09:27 +0200
committerTimothy Arceri <[email protected]>2017-03-21 11:15:52 +1100
commit529a767041c880f90c4465cb34a89430459c7fce (patch)
treeb19c1fcbc36ffe1314155559c7fa52226c8c6e2d /src/gallium
parent021c87fa24afe849e51dd0249ec8e7b59e097062 (diff)
util/disk_cache: use a helper to compute cache keys
This will allow to hash additional data into the cache keys or even change the hashing algorithm easily, should we decide to do so. v2: don't try to compute key (and crash) if cache is disabled Signed-off-by: Grazvydas Ignotas <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/si_state_shaders.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 3596f5af72a..30856b08ac5 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -207,7 +207,8 @@ static bool si_shader_cache_insert_shader(struct si_screen *sscreen,
}
if (sscreen->b.disk_shader_cache && insert_into_disk_cache) {
- _mesa_sha1_compute(tgsi_binary, *((uint32_t *)tgsi_binary), key);
+ disk_cache_compute_key(sscreen->b.disk_shader_cache, tgsi_binary,
+ *((uint32_t *)tgsi_binary), key);
disk_cache_put(sscreen->b.disk_shader_cache, key, hw_binary,
*((uint32_t *) hw_binary));
}
@@ -226,7 +227,8 @@ static bool si_shader_cache_load_shader(struct si_screen *sscreen,
unsigned char sha1[CACHE_KEY_SIZE];
size_t tg_size = *((uint32_t *) tgsi_binary);
- _mesa_sha1_compute(tgsi_binary, tg_size, sha1);
+ disk_cache_compute_key(sscreen->b.disk_shader_cache,
+ tgsi_binary, tg_size, sha1);
size_t binary_size;
uint8_t *buffer =