Zebediah Figura : vkd3d-utils: Simplify handling of shader messages a bit.

Alexandre Julliard julliard at winehq.org
Mon Mar 7 15:49:57 CST 2022


Module: vkd3d
Branch: master
Commit: fc5df4d3307ed6d2118e983a7c3927e7ffeaeac5
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=fc5df4d3307ed6d2118e983a7c3927e7ffeaeac5

Author: Zebediah Figura <zfigura at 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 at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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)
     {




More information about the wine-cvs mailing list