Module: vkd3d Branch: master Commit: fc5df4d3307ed6d2118e983a7c3927e7ffeaeac5 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=fc5df4d3307ed6d2118e983a...
Author: Zebediah Figura zfigura@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@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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) {