Module: vkd3d Branch: master Commit: fc5df4d3307ed6d2118e983a7c3927e7ffeaeac5 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=fc5df4d3307ed6d2118e983a... Author: Zebediah Figura <zfigura(a)codeweavers.com> Date: Sun Mar 6 20:04:35 2022 -0600 vkd3d-utils: Simplify handling of shader messages a bit. Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- libs/vkd3d-utils/vkd3d_utils_main.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/libs/vkd3d-utils/vkd3d_utils_main.c b/libs/vkd3d-utils/vkd3d_utils_main.c index 9607eddd..22953c46 100644 --- a/libs/vkd3d-utils/vkd3d_utils_main.c +++ b/libs/vkd3d-utils/vkd3d_utils_main.c @@ -263,20 +263,18 @@ HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filen } ret = vkd3d_shader_compile(&compile_info, &byte_code, &messages); - if (messages) + + if (messages && messages_blob) { - if (messages_blob) + if (FAILED(hr = vkd3d_blob_create(messages, strlen(messages), messages_blob))) { - if (FAILED(hr = vkd3d_blob_create(messages, strlen(messages), messages_blob))) - { - vkd3d_shader_free_messages(messages); - vkd3d_shader_free_shader_code(&byte_code); - return hr; - } - } - else vkd3d_shader_free_messages(messages); + vkd3d_shader_free_shader_code(&byte_code); + return hr; + } + messages = NULL; } + vkd3d_shader_free_messages(messages); if (!ret) { @@ -351,20 +349,18 @@ HRESULT WINAPI D3DPreprocess(const void *data, SIZE_T size, const char *filename preprocess_info.include_context = include; ret = vkd3d_shader_preprocess(&compile_info, &preprocessed_code, &messages); - if (messages) + + if (messages && messages_blob) { - if (messages_blob) + if (FAILED(hr = vkd3d_blob_create(messages, strlen(messages), messages_blob))) { - if (FAILED(hr = vkd3d_blob_create(messages, strlen(messages), messages_blob))) - { - vkd3d_shader_free_messages(messages); - vkd3d_shader_free_shader_code(&preprocessed_code); - return hr; - } - } - else vkd3d_shader_free_messages(messages); + vkd3d_shader_free_shader_code(&preprocessed_code); + return hr; + } + messages = NULL; } + vkd3d_shader_free_messages(messages); if (!ret) {