From d9b61de2f789da4d6cecd7ed4c6ccf57618231cc Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 23 Jan 2024 11:11:44 +0100 Subject: [PATCH] radv: fix detecting invalid binaries with ESO On GFX9+, if linked shaders are created and shaders are merged (for example VS to GS). Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader_object.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_shader_object.c b/src/amd/vulkan/radv_shader_object.c index e27e7e5d33d..18b67499a88 100644 --- a/src/amd/vulkan/radv_shader_object.c +++ b/src/amd/vulkan/radv_shader_object.c @@ -301,8 +301,9 @@ radv_shader_object_init(struct radv_shader_object *shader_obj, struct radv_devic shader_obj->dynamic_offset_count = layout.dynamic_offset_count; if (pCreateInfo->codeType == VK_SHADER_CODE_TYPE_BINARY_EXT) { - if (pCreateInfo->codeSize < SHA1_DIGEST_LENGTH + VK_UUID_SIZE + 1) + if (pCreateInfo->codeSize < VK_UUID_SIZE + sizeof(uint32_t)) { return VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT; + } struct blob_reader blob; blob_reader_init(&blob, pCreateInfo->pCode, pCreateInfo->codeSize);