[PATCH vkd3d 3/5] vkd3d-shader: Invert the "NO_HEADER" output formatting flag.

Henri Verbeet hverbeet at codeweavers.com
Mon Sep 21 11:18:29 CDT 2020


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 include/vkd3d_shader.h         |  2 +-
 libs/vkd3d-shader/spirv.c      | 14 +++++++++-----
 programs/vkd3d-compiler/main.c |  6 +++---
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/include/vkd3d_shader.h b/include/vkd3d_shader.h
index 624376d2..f6dc4773 100644
--- a/include/vkd3d_shader.h
+++ b/include/vkd3d_shader.h
@@ -79,7 +79,7 @@ enum vkd3d_shader_compile_option_formatting_flags
     VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR           = 0x00000001,
     VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT           = 0x00000002,
     VKD3D_SHADER_COMPILE_OPTION_FORMATTING_OFFSETS          = 0x00000004,
-    VKD3D_SHADER_COMPILE_OPTION_FORMATTING_NO_HEADER        = 0x00000008,
+    VKD3D_SHADER_COMPILE_OPTION_FORMATTING_HEADER           = 0x00000008,
     VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES   = 0x00000010,
 
     VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FLAGS),
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 33356d8e..560e8573 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -59,19 +59,22 @@ static uint32_t get_binary_to_text_options(enum vkd3d_shader_compile_option_form
     {
         enum vkd3d_shader_compile_option_formatting_flags vkd3d;
         uint32_t spv;
+        bool invert;
     }
     valuemap[] =
     {
         {VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR,           SPV_BINARY_TO_TEXT_OPTION_COLOR           },
         {VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT,           SPV_BINARY_TO_TEXT_OPTION_INDENT          },
         {VKD3D_SHADER_COMPILE_OPTION_FORMATTING_OFFSETS,          SPV_BINARY_TO_TEXT_OPTION_SHOW_BYTE_OFFSET},
-        {VKD3D_SHADER_COMPILE_OPTION_FORMATTING_NO_HEADER,        SPV_BINARY_TO_TEXT_OPTION_NO_HEADER       },
+        {VKD3D_SHADER_COMPILE_OPTION_FORMATTING_HEADER,           SPV_BINARY_TO_TEXT_OPTION_NO_HEADER,        true},
         {VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES,   SPV_BINARY_TO_TEXT_OPTION_FRIENDLY_NAMES  },
     };
 
-    for (i = 0; i < ARRAY_SIZE(valuemap); i++)
-        if (formatting & valuemap[i].vkd3d)
+    for (i = 0; i < ARRAY_SIZE(valuemap); ++i)
+    {
+        if (valuemap[i].invert == !(formatting & valuemap[i].vkd3d))
             out |= valuemap[i].spv;
+    }
 
     return out;
 }
@@ -2268,8 +2271,9 @@ struct vkd3d_dxbc_compiler *vkd3d_dxbc_compiler_create(const struct vkd3d_shader
 
     vkd3d_spirv_builder_init(&compiler->spirv_builder, vkd3d_dxbc_compiler_get_entry_point_name(compiler));
 
-    compiler->formatting = VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES |
-                           VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT;
+    compiler->formatting = VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES
+            | VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT
+            | VKD3D_SHADER_COMPILE_OPTION_FORMATTING_HEADER;
 
     for (i = 0; i < compile_info->option_count; ++i)
     {
diff --git a/programs/vkd3d-compiler/main.c b/programs/vkd3d-compiler/main.c
index cc508663..2780d3ec 100644
--- a/programs/vkd3d-compiler/main.c
+++ b/programs/vkd3d-compiler/main.c
@@ -149,8 +149,8 @@ static void print_usage(const char *program_name)
         "                        standard output.\n"
         "  --formatting=<type>   Specify the formatting options for text output.\n"
         "                        Valid values are 'none', 'print', 'colour', 'indent',\n"
-        "                        'offsets', 'no-header', and 'friendly-names'.\n"
-        "                        Default is --formatting=friendly-names,indent.\n"
+        "                        'offsets', 'header', and 'friendly-names'.\n"
+        "                        Default is --formatting=friendly-names,indent,header.\n"
         "  --print-source-types  Display the supported source types and exit.\n"
         "  --print-target-types  Display the supported target types for the specified\n"
         "                        source type and exit.\n"
@@ -239,7 +239,7 @@ static bool parse_formatting(uint32_t *formatting, char *arg)
         {"colour",           VKD3D_SHADER_COMPILE_OPTION_FORMATTING_COLOUR          },
         {"indent",           VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT          },
         {"offsets",          VKD3D_SHADER_COMPILE_OPTION_FORMATTING_OFFSETS         },
-        {"no-header",        VKD3D_SHADER_COMPILE_OPTION_FORMATTING_NO_HEADER       },
+        {"header",           VKD3D_SHADER_COMPILE_OPTION_FORMATTING_HEADER          },
         {"friendly-names",   VKD3D_SHADER_COMPILE_OPTION_FORMATTING_FRIENDLY_NAMES  },
     };
     char *tok;
-- 
2.11.0




More information about the wine-devel mailing list