diff --git a/src/imagination/vulkan/pvr_instance.c b/src/imagination/vulkan/pvr_instance.c index d8112af81fa..9ff8648f208 100644 --- a/src/imagination/vulkan/pvr_instance.c +++ b/src/imagination/vulkan/pvr_instance.c @@ -297,7 +297,7 @@ out: } static bool -pvr_get_driver_build_sha(uint8_t blake3_out[const static BUILD_ID_EXPECTED_HASH_LENGTH]) +pvr_get_driver_build_sha(struct pvr_instance *instance) { const struct build_id_note *note; unsigned build_id_len; @@ -314,7 +314,8 @@ pvr_get_driver_build_sha(uint8_t blake3_out[const static BUILD_ID_EXPECTED_HASH_ return false; } - memcpy(blake3_out, build_id_data(note), BUILD_ID_EXPECTED_HASH_LENGTH); + STATIC_ASSERT(sizeof(instance->driver_build_sha) == BLAKE3_KEY_LEN); + copy_build_id_to_sha1(instance->driver_build_sha, note); return true; } @@ -364,7 +365,7 @@ VkResult pvr_CreateInstance(const VkInstanceCreateInfo *pCreateInfo, VG(VALGRIND_CREATE_MEMPOOL(instance, 0, false)); - if (!pvr_get_driver_build_sha(instance->driver_build_sha)) { + if (!pvr_get_driver_build_sha(instance)) { result = vk_errorf(NULL, VK_ERROR_INITIALIZATION_FAILED, "Failed to get driver build sha.");