Francisco Casas : vkd3d-shader/hlsl: Print index paths in dump_deref().

Alexandre Julliard julliard at winehq.org
Wed Aug 10 14:45:26 CDT 2022


Module: vkd3d
Branch: master
Commit: 7515b8255b4e529a44850b95c3ab078bfb31f9d3
URL:    https://gitlab.winehq.org/wine/vkd3d/-/commit/7515b8255b4e529a44850b95c3ab078bfb31f9d3

Author: Francisco Casas <fcasas at codeweavers.com>
Date:   Fri Jul  1 13:41:08 2022 -0400

vkd3d-shader/hlsl: Print index paths in dump_deref().

Signed-off-by: Francisco Casas <fcasas at codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>

---

 libs/vkd3d-shader/hlsl.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c
index 6697e3c1..be36f12c 100644
--- a/libs/vkd3d-shader/hlsl.c
+++ b/libs/vkd3d-shader/hlsl.c
@@ -1594,10 +1594,23 @@ static void dump_ir_var(struct hlsl_ctx *ctx, struct vkd3d_string_buffer *buffer
 
 static void dump_deref(struct vkd3d_string_buffer *buffer, const struct hlsl_deref *deref)
 {
+    unsigned int i;
+
     if (deref->var)
     {
         vkd3d_string_buffer_printf(buffer, "%s", deref->var->name);
-        if (deref->offset.node)
+        if (deref->path_len)
+        {
+            vkd3d_string_buffer_printf(buffer, "[");
+            for (i = 0; i < deref->path_len; ++i)
+            {
+                vkd3d_string_buffer_printf(buffer, "[");
+                dump_src(buffer, &deref->path[i]);
+                vkd3d_string_buffer_printf(buffer, "]");
+            }
+            vkd3d_string_buffer_printf(buffer, "]");
+        }
+        else if (deref->offset.node)
         {
             vkd3d_string_buffer_printf(buffer, "[");
             dump_src(buffer, &deref->offset);




More information about the wine-cvs mailing list