util/sha1: rework _mesa_sha1_{init,final}
Rather than having an extra memory allocation [that we currently do not and act accordingly] just make the API take an pointer to a stack allocated instance. This and follow-up steps will effectively make the _mesa_sha1_foo simple define/inlines around their SHA1 counterparts. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Grazvydas Ignotas <notasas@gmail.com>
This commit is contained in:

committed by
Emil Velikov

parent
c96127e873
commit
a9a4028fd7
@@ -205,23 +205,23 @@ anv_hash_shader(unsigned char *hash, const void *key, size_t key_size,
|
||||
const struct anv_pipeline_layout *pipeline_layout,
|
||||
const VkSpecializationInfo *spec_info)
|
||||
{
|
||||
struct mesa_sha1 *ctx;
|
||||
struct mesa_sha1 ctx;
|
||||
|
||||
ctx = _mesa_sha1_init();
|
||||
_mesa_sha1_update(ctx, key, key_size);
|
||||
_mesa_sha1_update(ctx, module->sha1, sizeof(module->sha1));
|
||||
_mesa_sha1_update(ctx, entrypoint, strlen(entrypoint));
|
||||
_mesa_sha1_init(&ctx);
|
||||
_mesa_sha1_update(&ctx, key, key_size);
|
||||
_mesa_sha1_update(&ctx, module->sha1, sizeof(module->sha1));
|
||||
_mesa_sha1_update(&ctx, entrypoint, strlen(entrypoint));
|
||||
if (pipeline_layout) {
|
||||
_mesa_sha1_update(ctx, pipeline_layout->sha1,
|
||||
_mesa_sha1_update(&ctx, pipeline_layout->sha1,
|
||||
sizeof(pipeline_layout->sha1));
|
||||
}
|
||||
/* hash in shader stage, pipeline layout? */
|
||||
if (spec_info) {
|
||||
_mesa_sha1_update(ctx, spec_info->pMapEntries,
|
||||
_mesa_sha1_update(&ctx, spec_info->pMapEntries,
|
||||
spec_info->mapEntryCount * sizeof spec_info->pMapEntries[0]);
|
||||
_mesa_sha1_update(ctx, spec_info->pData, spec_info->dataSize);
|
||||
_mesa_sha1_update(&ctx, spec_info->pData, spec_info->dataSize);
|
||||
}
|
||||
_mesa_sha1_final(ctx, hash);
|
||||
_mesa_sha1_final(&ctx, hash);
|
||||
}
|
||||
|
||||
static struct anv_shader_bin *
|
||||
|
Reference in New Issue
Block a user