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:
Emil Velikov
2017-01-24 21:21:09 +00:00
committed by Emil Velikov
parent c96127e873
commit a9a4028fd7
6 changed files with 44 additions and 64 deletions

View File

@@ -259,18 +259,19 @@ VkResult anv_CreatePipelineLayout(
}
}
struct mesa_sha1 *ctx = _mesa_sha1_init();
struct mesa_sha1 ctx;
_mesa_sha1_init(&ctx);
for (unsigned s = 0; s < layout->num_sets; s++) {
sha1_update_descriptor_set_layout(ctx, layout->set[s].layout);
_mesa_sha1_update(ctx, &layout->set[s].dynamic_offset_start,
sha1_update_descriptor_set_layout(&ctx, layout->set[s].layout);
_mesa_sha1_update(&ctx, &layout->set[s].dynamic_offset_start,
sizeof(layout->set[s].dynamic_offset_start));
}
_mesa_sha1_update(ctx, &layout->num_sets, sizeof(layout->num_sets));
_mesa_sha1_update(&ctx, &layout->num_sets, sizeof(layout->num_sets));
for (unsigned s = 0; s < MESA_SHADER_STAGES; s++) {
_mesa_sha1_update(ctx, &layout->stage[s].has_dynamic_offsets,
_mesa_sha1_update(&ctx, &layout->stage[s].has_dynamic_offsets,
sizeof(layout->stage[s].has_dynamic_offsets));
}
_mesa_sha1_final(ctx, layout->sha1);
_mesa_sha1_final(&ctx, layout->sha1);
*pPipelineLayout = anv_pipeline_layout_to_handle(layout);