Browse Source

Merge branch 'master' of github.com:bkaradzic/bgfx

Бранимир Караџић 7 năm trước cách đây
mục cha
commit
679e9d5410
100 tập tin đã thay đổi với 10808 bổ sung283 xóa
  1. 81 34
      3rdparty/dear-imgui/imgui.cpp
  2. 122 106
      3rdparty/dear-imgui/imgui.h
  3. 56 21
      3rdparty/dear-imgui/imgui_demo.cpp
  4. 78 60
      3rdparty/dear-imgui/imgui_draw.cpp
  5. 10 8
      3rdparty/dear-imgui/imgui_internal.h
  6. 17 13
      3rdparty/dear-imgui/imgui_widgets.cpp
  7. 2 2
      3rdparty/glslang/SPIRV/SpvTools.cpp
  8. 1 0
      3rdparty/glslang/Test/baseResults/spv.int16.amd.frag.out
  9. 2 2
      3rdparty/glslang/known_good.json
  10. 15 4
      3rdparty/spirv-tools/Android.mk
  11. 63 20
      3rdparty/spirv-tools/BUILD.gn
  12. 114 1
      3rdparty/spirv-tools/CHANGES
  13. 20 6
      3rdparty/spirv-tools/CMakeLists.txt
  14. 1 0
      3rdparty/spirv-tools/CODE_OF_CONDUCT.md
  15. 1 1
      3rdparty/spirv-tools/DEPS
  16. 9 5
      3rdparty/spirv-tools/README.md
  17. 437 0
      3rdparty/spirv-tools/build/CMakeCache.txt
  18. 67 0
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake
  19. 68 0
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeCXXCompiler.cmake
  20. BIN
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin
  21. BIN
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin
  22. 15 0
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeSystem.cmake
  23. 544 0
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdC/CMakeCCompilerId.c
  24. BIN
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdC/a.out
  25. 533 0
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdCXX/CMakeCXXCompilerId.cpp
  26. BIN
      3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out
  27. 16 0
      3rdparty/spirv-tools/build/CMakeFiles/CMakeDirectoryInformation.cmake
  28. 566 0
      3rdparty/spirv-tools/build/CMakeFiles/CMakeOutput.log
  29. 24 0
      3rdparty/spirv-tools/build/CMakeFiles/CMakeRuleHashes.txt
  30. 183 0
      3rdparty/spirv-tools/build/CMakeFiles/Makefile.cmake
  31. 1284 0
      3rdparty/spirv-tools/build/CMakeFiles/Makefile2
  32. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/1
  33. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/2
  34. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/3
  35. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/4
  36. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/5
  37. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/6
  38. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/7
  39. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/8
  40. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/9
  41. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/Progress/count.txt
  42. 176 0
      3rdparty/spirv-tools/build/CMakeFiles/TargetDirectories.txt
  43. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/cmake.check_cache
  44. BIN
      3rdparty/spirv-tools/build/CMakeFiles/feature_tests.bin
  45. 34 0
      3rdparty/spirv-tools/build/CMakeFiles/feature_tests.c
  46. 405 0
      3rdparty/spirv-tools/build/CMakeFiles/feature_tests.cxx
  47. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/progress.marks
  48. 11 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/DependInfo.cmake
  49. 78 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/build.make
  50. 8 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/cmake_clean.cmake
  51. 3 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/depend.internal
  52. 3 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/depend.make
  53. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/progress.make
  54. 11 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/DependInfo.cmake
  55. 78 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/build.make
  56. 8 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/cmake_clean.cmake
  57. 3 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/depend.internal
  58. 3 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/depend.make
  59. 1 0
      3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/progress.make
  60. 13 0
      3rdparty/spirv-tools/build/CTestTestfile.cmake
  61. 137 0
      3rdparty/spirv-tools/build/DebugInfo.h
  62. 502 0
      3rdparty/spirv-tools/build/Makefile
  63. 12 0
      3rdparty/spirv-tools/build/SPIRV-Tools-shared.pc
  64. 12 0
      3rdparty/spirv-tools/build/SPIRV-Tools.pc
  65. 1 0
      3rdparty/spirv-tools/build/build-version.inc
  66. 70 0
      3rdparty/spirv-tools/build/cmake_install.cmake
  67. 410 0
      3rdparty/spirv-tools/build/core.insts-unified1.inc
  68. 38 0
      3rdparty/spirv-tools/build/debuginfo.insts.inc
  69. 325 0
      3rdparty/spirv-tools/build/enum_string_mapping.inc
  70. 16 0
      3rdparty/spirv-tools/build/examples/CMakeFiles/CMakeDirectoryInformation.cmake
  71. 1 0
      3rdparty/spirv-tools/build/examples/CMakeFiles/progress.marks
  72. 7 0
      3rdparty/spirv-tools/build/examples/CTestTestfile.cmake
  73. 194 0
      3rdparty/spirv-tools/build/examples/Makefile
  74. 40 0
      3rdparty/spirv-tools/build/examples/cmake_install.cmake
  75. 16 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/CMakeDirectoryInformation.cmake
  76. 1 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/progress.marks
  77. 33 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/DependInfo.cmake
  78. 115 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make
  79. 10 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/cmake_clean.cmake
  80. 2 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/depend.make
  81. 10 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/flags.make
  82. 1 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/link.txt
  83. 3 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/progress.make
  84. 6 0
      3rdparty/spirv-tools/build/examples/cpp-interface/CTestTestfile.cmake
  85. 240 0
      3rdparty/spirv-tools/build/examples/cpp-interface/Makefile
  86. 34 0
      3rdparty/spirv-tools/build/examples/cpp-interface/cmake_install.cmake
  87. 35 0
      3rdparty/spirv-tools/build/extension_enum.inc
  88. 16 0
      3rdparty/spirv-tools/build/external/CMakeFiles/CMakeDirectoryInformation.cmake
  89. 1 0
      3rdparty/spirv-tools/build/external/CMakeFiles/progress.marks
  90. 6 0
      3rdparty/spirv-tools/build/external/CTestTestfile.cmake
  91. 194 0
      3rdparty/spirv-tools/build/external/Makefile
  92. 34 0
      3rdparty/spirv-tools/build/external/cmake_install.cmake
  93. 20 0
      3rdparty/spirv-tools/build/generators.inc
  94. 86 0
      3rdparty/spirv-tools/build/glsl.std.450.insts.inc
  95. 166 0
      3rdparty/spirv-tools/build/opencl.std.insts.inc
  96. 749 0
      3rdparty/spirv-tools/build/operand.kinds-unified1.inc
  97. 16 0
      3rdparty/spirv-tools/build/source/CMakeFiles/CMakeDirectoryInformation.cmake
  98. 103 0
      3rdparty/spirv-tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/DependInfo.cmake
  99. 1883 0
      3rdparty/spirv-tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/build.make
  100. 86 0
      3rdparty/spirv-tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/cmake_clean.cmake

+ 81 - 34
3rdparty/dear-imgui/imgui.cpp

@@ -363,6 +363,8 @@ CODE
  When you are not sure about a old symbol or function name, try using the Search/Find function of your IDE to look for comments or references in all imgui files.
  You can read releases logs https://github.com/ocornut/imgui/releases for more details.
 
+ - 2019/01/06 (1.67) - renamed io.InputCharacters[], marked internal as was always intended. Please don't access directly, and use AddInputCharacter() instead!
+ - 2019/01/06 (1.67) - renamed ImFontAtlas::GlyphRangesBuilder to ImFontGlyphRangesBuilder. Keep redirection typedef (will obsolete).
  - 2018/12/10 (1.67) - renamed io.ConfigResizeWindowsFromEdges to io.ConfigWindowsResizeFromEdges as we are doing a large pass on configuration flags.
  - 2018/10/12 (1.66) - renamed misc/stl/imgui_stl.* to misc/cpp/imgui_stdlib.* in prevision for other C++ helper files.
  - 2018/09/28 (1.66) - renamed SetScrollHere() to SetScrollHereY(). Kept redirection function (will obsolete).
@@ -430,6 +432,7 @@ CODE
                        removed the IsItemRectHovered()/IsWindowRectHovered() names introduced in 1.51 since they were merely more consistent names for the two functions we are now obsoleting.
  - 2017/10/17 (1.52) - marked the old 5-parameters version of Begin() as obsolete (still available). Use SetNextWindowSize()+Begin() instead!
  - 2017/10/11 (1.52) - renamed AlignFirstTextHeightToWidgets() to AlignTextToFramePadding(). Kept inline redirection function (will obsolete).
+ - 2017/09/26 (1.52) - renamed ImFont::Glyph to ImFontGlyph. Keep redirection typedef (will obsolete).
  - 2017/09/25 (1.52) - removed SetNextWindowPosCenter() because SetNextWindowPos() now has the optional pivot information to do the same and more. Kept redirection function (will obsolete).
  - 2017/08/25 (1.52) - io.MousePos needs to be set to ImVec2(-FLT_MAX,-FLT_MAX) when mouse is unavailable/missing. Previously ImVec2(-1,-1) was enough but we now accept negative mouse coordinates. In your binding if you need to support unavailable mouse, make sure to replace "io.MousePos = ImVec2(-1,-1)" with "io.MousePos = ImVec2(-FLT_MAX,-FLT_MAX)".
  - 2017/08/22 (1.51) - renamed IsItemHoveredRect() to IsItemRectHovered(). Kept inline redirection function (will obsolete). -> (1.52) use IsItemHovered(ImGuiHoveredFlags_RectOnly)!
@@ -821,7 +824,7 @@ CODE
 
       // Or create your own custom ranges (e.g. for a game you can feed your entire game script and only build the characters the game need)
       ImVector<ImWchar> ranges;
-      ImFontAtlas::GlyphRangesBuilder builder;
+      ImFontGlyphRangesBuilder builder;
       builder.AddText("Hello world");                        // Add a string (here "Hello world" contains 7 unique characters)
       builder.AddChar(0x7262);                               // Add a specific character
       builder.AddRanges(io.Fonts->GetGlyphRangesJapanese()); // Add one of the default ranges
@@ -1168,22 +1171,23 @@ ImGuiIO::ImGuiIO()
 // - on Windows you can get those using ToAscii+keyboard state, or via the WM_CHAR message
 void ImGuiIO::AddInputCharacter(ImWchar c)
 {
-    const int n = ImStrlenW(InputCharacters);
-    if (n + 1 < IM_ARRAYSIZE(InputCharacters))
+    InputQueueCharacters.push_back(c);
+}
+
+void ImGuiIO::AddInputCharactersUTF8(const char* utf8_chars)
+{
+    while (*utf8_chars != 0)
     {
-        InputCharacters[n] = c;
-        InputCharacters[n+1] = '\0';
+        unsigned int c = 0;
+        utf8_chars += ImTextCharFromUtf8(&c, utf8_chars, NULL);
+        if (c > 0 && c <= 0xFFFF)
+            InputQueueCharacters.push_back((ImWchar)c);
     }
 }
 
-void ImGuiIO::AddInputCharactersUTF8(const char* utf8_chars)
+void ImGuiIO::ClearInputCharacters()
 {
-    // We can't pass more wchars than ImGuiIO::InputCharacters[] can hold so don't convert more
-    const int wchars_buf_len = sizeof(ImGuiIO::InputCharacters) / sizeof(ImWchar);
-    ImWchar wchars[wchars_buf_len];
-    ImTextStrFromUtf8(wchars, wchars_buf_len, utf8_chars, NULL);
-    for (int i = 0; i < wchars_buf_len && wchars[i] != 0; i++)
-        AddInputCharacter(wchars[i]);
+    InputQueueCharacters.resize(0);
 }
 
 //-----------------------------------------------------------------------------
@@ -1259,11 +1263,25 @@ void ImStrncpy(char* dst, const char* src, size_t count)
     dst[count-1] = 0;
 }
 
-char* ImStrdup(const char *str)
+char* ImStrdup(const char* str)
 {
-    size_t len = strlen(str) + 1;
-    void* buf = ImGui::MemAlloc(len);
-    return (char*)memcpy(buf, (const void*)str, len);
+    size_t len = strlen(str);
+    void* buf = ImGui::MemAlloc(len + 1);
+    return (char*)memcpy(buf, (const void*)str, len + 1);
+}
+
+char* ImStrdupcpy(char* dst, size_t* p_dst_size, const char* src)
+{
+    size_t dst_buf_size = p_dst_size ? *p_dst_size : strlen(dst) + 1;
+    size_t src_size = strlen(src) + 1;
+    if (dst_buf_size < src_size)
+    {
+        ImGui::MemFree(dst);
+        dst = (char*)ImGui::MemAlloc(src_size);
+        if (p_dst_size)
+            *p_dst_size = src_size;
+    }
+    return (char*)memcpy(dst, (const void*)src, src_size);
 }
 
 const char* ImStrchrRange(const char* str, const char* str_end, char c)
@@ -1337,6 +1355,11 @@ void ImStrTrimBlanks(char* buf)
 // B) When buf==NULL vsnprintf() will return the output size.
 #ifndef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
 
+#ifdef IMGUI_USE_STB_SPRINTF
+#define STB_SPRINTF_IMPLEMENTATION
+#include "imstb_sprintf.h"
+#endif
+
 #if defined(_MSC_VER) && !defined(vsnprintf)
 #define vsnprintf _vsnprintf
 #endif
@@ -1345,7 +1368,11 @@ int ImFormatString(char* buf, size_t buf_size, const char* fmt, ...)
 {
     va_list args;
     va_start(args, fmt);
+#ifdef IMGUI_USE_STB_SPRINTF
+    int w = stbsp_vsnprintf(buf, (int)buf_size, fmt, args);
+#else
     int w = vsnprintf(buf, buf_size, fmt, args);
+#endif
     va_end(args);
     if (buf == NULL)
         return w;
@@ -1357,7 +1384,11 @@ int ImFormatString(char* buf, size_t buf_size, const char* fmt, ...)
 
 int ImFormatStringV(char* buf, size_t buf_size, const char* fmt, va_list args)
 {
+#ifdef IMGUI_USE_STB_SPRINTF
+    int w = stbsp_vsnprintf(buf, (int)buf_size, fmt, args);
+#else
     int w = vsnprintf(buf, buf_size, fmt, args);
+#endif
     if (buf == NULL)
         return w;
     if (w == -1 || w >= (int)buf_size)
@@ -1367,7 +1398,9 @@ int ImFormatStringV(char* buf, size_t buf_size, const char* fmt, va_list args)
 }
 #endif // #ifdef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
 
-// Pass data_size==0 for zero-terminated strings
+// Pass data_size == 0 for zero-terminated strings, data_size > 0 for non-string data.
+// Pay attention that data_size==0 will yield different results than passing strlen(data) because the zero-terminated codepath handles ###.
+// This should technically be split into two distinct functions (ImHashData/ImHashStr), perhaps once we remove the silly static variable.
 // FIXME-OPT: Replace with e.g. FNV1a hash? CRC32 pretty much randomly access 1KB. Need to do proper measurements.
 ImU32 ImHash(const void* data, int data_size, ImU32 seed)
 {
@@ -1766,15 +1799,15 @@ ImU32 ImGui::GetColorU32(ImU32 col)
 //-----------------------------------------------------------------------------
 
 // std::lower_bound but without the bullshit
-static ImVector<ImGuiStorage::Pair>::iterator LowerBound(ImVector<ImGuiStorage::Pair>& data, ImGuiID key)
+static ImGuiStorage::Pair* LowerBound(ImVector<ImGuiStorage::Pair>& data, ImGuiID key)
 {
-    ImVector<ImGuiStorage::Pair>::iterator first = data.begin();
-    ImVector<ImGuiStorage::Pair>::iterator last = data.end();
+    ImGuiStorage::Pair* first = data.Data;
+    ImGuiStorage::Pair* last = data.Data + data.Size;
     size_t count = (size_t)(last - first);
     while (count > 0)
     {
         size_t count2 = count >> 1;
-        ImVector<ImGuiStorage::Pair>::iterator mid = first + count2;
+        ImGuiStorage::Pair* mid = first + count2;
         if (mid->key < key)
         {
             first = ++mid;
@@ -1807,7 +1840,7 @@ void ImGuiStorage::BuildSortByKey()
 
 int ImGuiStorage::GetInt(ImGuiID key, int default_val) const
 {
-    ImVector<Pair>::iterator it = LowerBound(const_cast<ImVector<ImGuiStorage::Pair>&>(Data), key);
+    ImGuiStorage::Pair* it = LowerBound(const_cast<ImVector<ImGuiStorage::Pair>&>(Data), key);
     if (it == Data.end() || it->key != key)
         return default_val;
     return it->val_i;
@@ -1820,7 +1853,7 @@ bool ImGuiStorage::GetBool(ImGuiID key, bool default_val) const
 
 float ImGuiStorage::GetFloat(ImGuiID key, float default_val) const
 {
-    ImVector<Pair>::iterator it = LowerBound(const_cast<ImVector<ImGuiStorage::Pair>&>(Data), key);
+    ImGuiStorage::Pair* it = LowerBound(const_cast<ImVector<ImGuiStorage::Pair>&>(Data), key);
     if (it == Data.end() || it->key != key)
         return default_val;
     return it->val_f;
@@ -1828,7 +1861,7 @@ float ImGuiStorage::GetFloat(ImGuiID key, float default_val) const
 
 void* ImGuiStorage::GetVoidPtr(ImGuiID key) const
 {
-    ImVector<Pair>::iterator it = LowerBound(const_cast<ImVector<ImGuiStorage::Pair>&>(Data), key);
+    ImGuiStorage::Pair* it = LowerBound(const_cast<ImVector<ImGuiStorage::Pair>&>(Data), key);
     if (it == Data.end() || it->key != key)
         return NULL;
     return it->val_p;
@@ -1837,7 +1870,7 @@ void* ImGuiStorage::GetVoidPtr(ImGuiID key) const
 // References are only valid until a new value is added to the storage. Calling a Set***() function or a Get***Ref() function invalidates the pointer.
 int* ImGuiStorage::GetIntRef(ImGuiID key, int default_val)
 {
-    ImVector<Pair>::iterator it = LowerBound(Data, key);
+    ImGuiStorage::Pair* it = LowerBound(Data, key);
     if (it == Data.end() || it->key != key)
         it = Data.insert(it, Pair(key, default_val));
     return &it->val_i;
@@ -1850,7 +1883,7 @@ bool* ImGuiStorage::GetBoolRef(ImGuiID key, bool default_val)
 
 float* ImGuiStorage::GetFloatRef(ImGuiID key, float default_val)
 {
-    ImVector<Pair>::iterator it = LowerBound(Data, key);
+    ImGuiStorage::Pair* it = LowerBound(Data, key);
     if (it == Data.end() || it->key != key)
         it = Data.insert(it, Pair(key, default_val));
     return &it->val_f;
@@ -1858,7 +1891,7 @@ float* ImGuiStorage::GetFloatRef(ImGuiID key, float default_val)
 
 void** ImGuiStorage::GetVoidPtrRef(ImGuiID key, void* default_val)
 {
-    ImVector<Pair>::iterator it = LowerBound(Data, key);
+    ImGuiStorage::Pair* it = LowerBound(Data, key);
     if (it == Data.end() || it->key != key)
         it = Data.insert(it, Pair(key, default_val));
     return &it->val_p;
@@ -1867,7 +1900,7 @@ void** ImGuiStorage::GetVoidPtrRef(ImGuiID key, void* default_val)
 // FIXME-OPT: Need a way to reuse the result of lower_bound when doing GetInt()/SetInt() - not too bad because it only happens on explicit interaction (maximum one a frame)
 void ImGuiStorage::SetInt(ImGuiID key, int val)
 {
-    ImVector<Pair>::iterator it = LowerBound(Data, key);
+    ImGuiStorage::Pair* it = LowerBound(Data, key);
     if (it == Data.end() || it->key != key)
     {
         Data.insert(it, Pair(key, val));
@@ -1883,7 +1916,7 @@ void ImGuiStorage::SetBool(ImGuiID key, bool val)
 
 void ImGuiStorage::SetFloat(ImGuiID key, float val)
 {
-    ImVector<Pair>::iterator it = LowerBound(Data, key);
+    ImGuiStorage::Pair* it = LowerBound(Data, key);
     if (it == Data.end() || it->key != key)
     {
         Data.insert(it, Pair(key, val));
@@ -1894,7 +1927,7 @@ void ImGuiStorage::SetFloat(ImGuiID key, float val)
 
 void ImGuiStorage::SetVoidPtr(ImGuiID key, void* val)
 {
-    ImVector<Pair>::iterator it = LowerBound(Data, key);
+    ImGuiStorage::Pair* it = LowerBound(Data, key);
     if (it == Data.end() || it->key != key)
     {
         Data.insert(it, Pair(key, val));
@@ -2391,6 +2424,7 @@ ImGuiWindow::ImGuiWindow(ImGuiContext* context, const char* name)
     WindowPadding = ImVec2(0.0f, 0.0f);
     WindowRounding = 0.0f;
     WindowBorderSize = 0.0f;
+    NameBufLen = (int)strlen(name) + 1;
     MoveId = GetID("#MOVE");
     ChildId = 0;
     Scroll = ImVec2(0.0f, 0.0f);
@@ -2680,7 +2714,8 @@ bool ImGui::ItemAdd(const ImRect& bb, ImGuiID id, const ImRect* nav_bb_arg)
     window->DC.LastItemStatusFlags = ImGuiItemStatusFlags_None;
 
 #ifdef IMGUI_ENABLE_TEST_ENGINE
-    ImGuiTestEngineHook_ItemAdd(bb, id);
+    if (id != 0)
+        ImGuiTestEngineHook_ItemAdd(&g, bb, id);
 #endif
 
     // Clipping test
@@ -3234,7 +3269,7 @@ void ImGui::NewFrame()
     ImGuiContext& g = *GImGui;
 
 #ifdef IMGUI_ENABLE_TEST_ENGINE
-    ImGuiTestEngineHook_PreNewFrame();
+    ImGuiTestEngineHook_PreNewFrame(&g);
 #endif
 
     // Check user data
@@ -3410,7 +3445,7 @@ void ImGui::NewFrame()
     g.FrameScopePushedImplicitWindow = true;
 
 #ifdef IMGUI_ENABLE_TEST_ENGINE
-    ImGuiTestEngineHook_PostNewFrame();
+    ImGuiTestEngineHook_PostNewFrame(&g);
 #endif
 }
 
@@ -3717,7 +3752,7 @@ void ImGui::EndFrame()
 
     // Clear Input data for next frame
     g.IO.MouseWheel = g.IO.MouseWheelH = 0.0f;
-    memset(g.IO.InputCharacters, 0, sizeof(g.IO.InputCharacters));
+    g.IO.InputQueueCharacters.resize(0);
     memset(g.IO.NavInputs, 0, sizeof(g.IO.NavInputs));
 }
 
@@ -4802,6 +4837,18 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
         window->LastFrameActive = current_frame;
         window->IDStack.resize(1);
 
+        // Update stored window name when it changes (which can _only_ happen with the "###" operator, so the ID would stay unchanged).
+        // The title bar always display the 'name' parameter, so we only update the string storage if it needs to be visible to the end-user elsewhere.
+        bool window_title_visible_elsewhere = false;
+        if (g.NavWindowingList != NULL && (window->Flags & ImGuiWindowFlags_NoNavFocus) == 0)   // Window titles visible when using CTRL+TAB
+            window_title_visible_elsewhere = true;
+        if (window_title_visible_elsewhere && !window_just_created && strcmp(name, window->Name) != 0)
+        {
+            size_t buf_len = (size_t)window->NameBufLen;
+            window->Name = ImStrdupcpy(window->Name, &buf_len, name);
+            window->NameBufLen = (int)buf_len;
+        }
+
         // UPDATE CONTENTS SIZE, UPDATE HIDDEN STATUS
 
         // Update contents size from last frame for auto-fitting (or use explicit size)

+ 122 - 106
3rdparty/dear-imgui/imgui.h

@@ -13,11 +13,12 @@ Index of this file:
 // Forward declarations and basic types
 // ImGui API (Dear ImGui end-user API)
 // Flags & Enumerations
+// ImVector
 // ImGuiStyle
 // ImGuiIO
 // Misc data structures (ImGuiInputTextCallbackData, ImGuiSizeCallbackData, ImGuiPayload)
 // Obsolete functions
-// Helpers (ImVector, ImGuiOnceUponAFrame, ImGuiTextFilter, ImGuiTextBuffer, ImGuiStorage, ImGuiListClipper, ImColor)
+// Helpers (ImGuiOnceUponAFrame, ImGuiTextFilter, ImGuiTextBuffer, ImGuiStorage, ImGuiListClipper, ImColor)
 // Draw List API (ImDrawCmd, ImDrawIdx, ImDrawVert, ImDrawChannel, ImDrawListFlags, ImDrawList, ImDrawData)
 // Font API (ImFontConfig, ImFontGlyph, ImFontAtlasFlags, ImFontAtlas, ImFont)
 
@@ -86,15 +87,17 @@ Index of this file:
 // Forward declarations and basic types
 //-----------------------------------------------------------------------------
 
-struct ImDrawChannel;               // Temporary storage for outputting drawing commands out of order, used by ImDrawList::ChannelsSplit()
-struct ImDrawCmd;                   // A single draw command within a parent ImDrawList (generally maps to 1 GPU draw call)
-struct ImDrawData;                  // All draw command lists required to render the frame
+struct ImDrawChannel;               // Temporary storage for ImDrawList ot output draw commands out of order, used by ImDrawList::ChannelsSplit()
+struct ImDrawCmd;                   // A single draw command within a parent ImDrawList (generally maps to 1 GPU draw call, unless it is a callback)
+struct ImDrawData;                  // All draw command lists required to render the frame + pos/size coordinates to use for the projection matrix.
 struct ImDrawList;                  // A single draw command list (generally one per window, conceptually you may see this as a dynamic "mesh" builder)
 struct ImDrawListSharedData;        // Data shared among multiple draw lists (typically owned by parent ImGui context, but you may create one yourself)
-struct ImDrawVert;                  // A single vertex (20 bytes by default, override layout with IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT)
+struct ImDrawVert;                  // A single vertex (pos + uv + col = 20 bytes by default. Override layout with IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT)
 struct ImFont;                      // Runtime data for a single font within a parent ImFontAtlas
 struct ImFontAtlas;                 // Runtime data for multiple fonts, bake multiple fonts into a single texture, TTF/OTF font loader
 struct ImFontConfig;                // Configuration data when adding a font or merging fonts
+struct ImFontGlyph;                 // A single font glyph (code point + coordinates within in ImFontAtlas + offset)
+struct ImFontGlyphRangesBuilder;    // Helper to build glyph ranges from text/string data
 struct ImColor;                     // Helper functions to create a color that can be converted to either u32 or float4 (*OBSOLETE* please avoid using)
 #ifndef ImTextureID
 typedef void* ImTextureID;          // User data to identify a texture (this is whatever to you want it to be! read the FAQ about ImTextureID in imgui.cpp)
@@ -108,8 +111,8 @@ struct ImGuiPayload;                // User data payload for drag and drop opera
 struct ImGuiSizeCallbackData;       // Callback data when using SetNextWindowSizeConstraints() (rare/advanced use)
 struct ImGuiStorage;                // Helper for key->value storage
 struct ImGuiStyle;                  // Runtime data for styling/colors
-struct ImGuiTextFilter;             // Helper to parse and apply text filters (e.g. "aaaaa[,bbbb][,ccccc]")
 struct ImGuiTextBuffer;             // Helper to hold and append into a text buffer (~string builder)
+struct ImGuiTextFilter;             // Helper to parse and apply text filters (e.g. "aaaaa[,bbbb][,ccccc]")
 
 // Typedefs and Enums/Flags (declared as int for compatibility with old C++, to allow using as flags and to not pollute the top of this file)
 // Use your programming IDE "Go to definition" facility on the names of the center columns to find the actual flags/enum lists.
@@ -804,8 +807,9 @@ enum ImGuiTabBarFlags_
     ImGuiTabBarFlags_NoCloseWithMiddleMouseButton   = 1 << 2,   // Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false.
     ImGuiTabBarFlags_NoTabListPopupButton           = 1 << 3,
     ImGuiTabBarFlags_NoTabListScrollingButtons      = 1 << 4,
-    ImGuiTabBarFlags_FittingPolicyResizeDown        = 1 << 5,   // Resize tabs when they don't fit
-    ImGuiTabBarFlags_FittingPolicyScroll            = 1 << 6,   // Add scroll buttons when tabs don't fit
+    ImGuiTabBarFlags_NoTooltip                      = 1 << 5,   // Disable tooltips when hovering a tab
+    ImGuiTabBarFlags_FittingPolicyResizeDown        = 1 << 6,   // Resize tabs when they don't fit
+    ImGuiTabBarFlags_FittingPolicyScroll            = 1 << 7,   // Add scroll buttons when tabs don't fit
     ImGuiTabBarFlags_FittingPolicyMask_             = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll,
     ImGuiTabBarFlags_FittingPolicyDefault_          = ImGuiTabBarFlags_FittingPolicyResizeDown
 };  
@@ -1035,8 +1039,9 @@ enum ImGuiCol_
 
     // Obsolete names (will be removed)
 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
-    , ImGuiCol_ChildWindowBg = ImGuiCol_ChildBg, ImGuiCol_Column = ImGuiCol_Separator, ImGuiCol_ColumnHovered = ImGuiCol_SeparatorHovered, ImGuiCol_ColumnActive = ImGuiCol_SeparatorActive
-    , ImGuiCol_ModalWindowDarkening = ImGuiCol_ModalWindowDimBg
+    , ImGuiCol_ModalWindowDarkening = ImGuiCol_ModalWindowDimBg                      // [renamed in 1.63]
+    , ImGuiCol_ChildWindowBg = ImGuiCol_ChildBg                                      // [renamed in 1.53]
+    , ImGuiCol_Column = ImGuiCol_Separator, ImGuiCol_ColumnHovered = ImGuiCol_SeparatorHovered, ImGuiCol_ColumnActive = ImGuiCol_SeparatorActive  // [renamed in 1.51]
     //ImGuiCol_CloseButton, ImGuiCol_CloseButtonActive, ImGuiCol_CloseButtonHovered, // [unused since 1.60+] the close button now uses regular button colors.
     //ImGuiCol_ComboBg,                                                              // [unused since 1.53+] ComboBg has been merged with PopupBg, so a redirect isn't accurate.
 #endif
@@ -1149,6 +1154,77 @@ enum ImGuiCond_
 #endif
 };
 
+//-----------------------------------------------------------------------------
+// Helper: ImVector<>
+// Lightweight std::vector<>-like class to avoid dragging dependencies (also: some implementations of STL with debug enabled are absurdly slow, we bypass it so our code runs fast in debug).
+// You generally do NOT need to care or use this ever. But we need to make it available in imgui.h because some of our data structures are relying on it.
+// Important: our implementation does NOT call C++ constructors/destructors, we treat everything as raw data! This is intentional but be extra mindful of that, 
+// do NOT use this class as a std::vector replacement in your own code!
+//-----------------------------------------------------------------------------
+
+template<typename T>
+class ImVector
+{
+public:
+    int                         Size;
+    int                         Capacity;
+    T*                          Data;
+
+    typedef T                   value_type;
+    typedef value_type*         iterator;
+    typedef const value_type*   const_iterator;
+
+    inline ImVector()           { Size = Capacity = 0; Data = NULL; }
+    inline ~ImVector()          { if (Data) ImGui::MemFree(Data); }
+    inline ImVector(const ImVector<T>& src)                     { Size = Capacity = 0; Data = NULL; operator=(src); }
+    inline ImVector<T>& operator=(const ImVector<T>& src)       { clear(); resize(src.Size); memcpy(Data, src.Data, (size_t)Size * sizeof(value_type)); return *this; }
+
+    inline bool                 empty() const                   { return Size == 0; }
+    inline int                  size() const                    { return Size; }
+    inline int                  capacity() const                { return Capacity; }
+    inline value_type&          operator[](int i)               { IM_ASSERT(i < Size); return Data[i]; }
+    inline const value_type&    operator[](int i) const         { IM_ASSERT(i < Size); return Data[i]; }
+
+    inline void                 clear()                         { if (Data) { Size = Capacity = 0; ImGui::MemFree(Data); Data = NULL; } }
+    inline iterator             begin()                         { return Data; }
+    inline const_iterator       begin() const                   { return Data; }
+    inline iterator             end()                           { return Data + Size; }
+    inline const_iterator       end() const                     { return Data + Size; }
+    inline value_type&          front()                         { IM_ASSERT(Size > 0); return Data[0]; }
+    inline const value_type&    front() const                   { IM_ASSERT(Size > 0); return Data[0]; }
+    inline value_type&          back()                          { IM_ASSERT(Size > 0); return Data[Size - 1]; }
+    inline const value_type&    back() const                    { IM_ASSERT(Size > 0); return Data[Size - 1]; }
+    inline void                 swap(ImVector<value_type>& rhs) { int rhs_size = rhs.Size; rhs.Size = Size; Size = rhs_size; int rhs_cap = rhs.Capacity; rhs.Capacity = Capacity; Capacity = rhs_cap; value_type* rhs_data = rhs.Data; rhs.Data = Data; Data = rhs_data; }
+
+    inline int          _grow_capacity(int sz) const            { int new_capacity = Capacity ? (Capacity + Capacity/2) : 8; return new_capacity > sz ? new_capacity : sz; }
+    inline void         resize(int new_size)                    { if (new_size > Capacity) reserve(_grow_capacity(new_size)); Size = new_size; }
+    inline void         resize(int new_size,const value_type& v){ if (new_size > Capacity) reserve(_grow_capacity(new_size)); if (new_size > Size) for (int n = Size; n < new_size; n++) memcpy(&Data[n], &v, sizeof(v)); Size = new_size; }
+    inline void         reserve(int new_capacity)
+    {
+        if (new_capacity <= Capacity)
+            return;
+        value_type* new_data = (value_type*)ImGui::MemAlloc((size_t)new_capacity * sizeof(value_type));
+        if (Data)
+        {
+            memcpy(new_data, Data, (size_t)Size * sizeof(value_type));
+            ImGui::MemFree(Data);
+        }
+        Data = new_data;
+        Capacity = new_capacity;
+    }
+
+    // NB: It is illegal to call push_back/push_front/insert with a reference pointing inside the ImVector data itself! e.g. v.push_back(v[10]) is forbidden.
+    inline void         push_back(const value_type& v)                  { if (Size == Capacity) reserve(_grow_capacity(Size + 1)); memcpy(&Data[Size], &v, sizeof(v)); Size++; }
+    inline void         pop_back()                                      { IM_ASSERT(Size > 0); Size--; }
+    inline void         push_front(const value_type& v)                 { if (Size == 0) push_back(v); else insert(Data, v); }
+    inline iterator     erase(const_iterator it)                        { IM_ASSERT(it >= Data && it < Data+Size); const ptrdiff_t off = it - Data; memmove(Data + off, Data + off + 1, ((size_t)Size - (size_t)off - 1) * sizeof(value_type)); Size--; return Data + off; }
+    inline iterator     erase(const_iterator it, const_iterator it_last){ IM_ASSERT(it >= Data && it < Data+Size && it_last > it && it_last <= Data+Size); const ptrdiff_t count = it_last - it; const ptrdiff_t off = it - Data; memmove(Data + off, Data + off + count, ((size_t)Size - (size_t)off - count) * sizeof(value_type)); Size -= (int)count; return Data + off; }
+    inline iterator     erase_unsorted(const_iterator it)               { IM_ASSERT(it >= Data && it < Data+Size);  const ptrdiff_t off = it - Data; if (it < Data+Size-1) memcpy(Data + off, Data + Size - 1, sizeof(value_type)); Size--; return Data + off; }
+    inline iterator     insert(const_iterator it, const value_type& v)  { IM_ASSERT(it >= Data && it <= Data+Size); const ptrdiff_t off = it - Data; if (Size == Capacity) reserve(_grow_capacity(Size + 1)); if (off < (int)Size) memmove(Data + off + 1, Data + off, ((size_t)Size - (size_t)off) * sizeof(value_type)); memcpy(&Data[off], &v, sizeof(v)); Size++; return Data + off; }
+    inline bool         contains(const value_type& v) const             { const T* data = Data;  const T* data_end = Data + Size; while (data < data_end) if (*data++ == v) return true; return false; }
+    inline int          index_from_pointer(const_iterator it) const     { IM_ASSERT(it >= Data && it <= Data+Size); const ptrdiff_t off = it - Data; return (int)off; }
+};
+
 //-----------------------------------------------------------------------------
 // ImGuiStyle
 // You may modify the ImGui::GetStyle() main instance during initialization and before NewFrame().
@@ -1265,7 +1341,7 @@ struct ImGuiIO
     // You can obtain the ImDrawData* by calling ImGui::GetDrawData() after Render(). See example applications if you are unsure of how to implement this.
     void        (*RenderDrawListsFn)(ImDrawData* data);
 #else
-    // This is only here to keep ImGuiIO the same size, so that IMGUI_DISABLE_OBSOLETE_FUNCTIONS can exceptionally be used outside of imconfig.h.
+    // This is only here to keep ImGuiIO the same size/layout, so that IMGUI_DISABLE_OBSOLETE_FUNCTIONS can exceptionally be used outside of imconfig.h.
     void*       RenderDrawListsFnUnused;
 #endif
 
@@ -1282,13 +1358,12 @@ struct ImGuiIO
     bool        KeyAlt;                         // Keyboard modifier pressed: Alt
     bool        KeySuper;                       // Keyboard modifier pressed: Cmd/Super/Windows
     bool        KeysDown[512];                  // Keyboard keys that are pressed (ideally left in the "native" order your engine has access to keyboard keys, so you can use your own defines/enums for keys).
-    ImWchar     InputCharacters[16+1];          // List of characters input (translated by user from keypress+keyboard state). Fill using AddInputCharacter() helper.
     float       NavInputs[ImGuiNavInput_COUNT]; // Gamepad inputs. Cleared back to zero by EndFrame(). Keyboard keys will be auto-mapped and be written here by NewFrame().
 
     // Functions
-    IMGUI_API void  AddInputCharacter(ImWchar c);                       // Add new character into InputCharacters[]
-    IMGUI_API void  AddInputCharactersUTF8(const char* utf8_chars);     // Add new characters into InputCharacters[] from an UTF-8 string
-    inline void     ClearInputCharacters() { InputCharacters[0] = 0; }  // Clear the text input buffer manually
+    IMGUI_API void  AddInputCharacter(ImWchar c);               // Queue new character input 
+    IMGUI_API void  AddInputCharactersUTF8(const char* str);    // Queue new characters input from an UTF-8 string
+    IMGUI_API void  ClearInputCharacters();                     // Clear the text input buffer manually
 
     //------------------------------------------------------------------
     // Output - Retrieve after calling NewFrame()
@@ -1328,6 +1403,7 @@ struct ImGuiIO
     float       KeysDownDurationPrev[512];      // Previous duration the key has been down
     float       NavInputsDownDuration[ImGuiNavInput_COUNT];
     float       NavInputsDownDurationPrev[ImGuiNavInput_COUNT];
+    ImVector<ImWchar> InputQueueCharacters;     // Queue of _characters_ input (obtained by platform back-end). Fill using AddInputCharacter() helper.
 
     IMGUI_API   ImGuiIO();
 };
@@ -1405,6 +1481,7 @@ struct ImGuiPayload
 
 //-----------------------------------------------------------------------------
 // Obsolete functions (Will be removed! Read 'API BREAKING CHANGES' section in imgui.cpp for details)
+// Please keep your copy of dear imgui up to date! Occasionally set '#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS' in imconfig.h to stay ahead.
 //-----------------------------------------------------------------------------
 
 #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
@@ -1412,14 +1489,14 @@ namespace ImGui
 {
     // OBSOLETED in 1.66 (from Sep 2018)
     static inline void  SetScrollHere(float center_ratio=0.5f){ SetScrollHereY(center_ratio); }
-    // OBSOLETED in 1.63 (from Aug 2018)
+    // OBSOLETED in 1.63 (between Aug 2018 and Sept 2018)
     static inline bool  IsItemDeactivatedAfterChange()        { return IsItemDeactivatedAfterEdit(); }
-    // OBSOLETED in 1.61 (from Apr 2018)
+    // OBSOLETED in 1.61 (between Apr 2018 and Aug 2018)
     IMGUI_API bool      InputFloat(const char* label, float* v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags flags = 0); // Use the 'const char* format' version instead of 'decimal_precision'!
     IMGUI_API bool      InputFloat2(const char* label, float v[2], int decimal_precision, ImGuiInputTextFlags flags = 0);
     IMGUI_API bool      InputFloat3(const char* label, float v[3], int decimal_precision, ImGuiInputTextFlags flags = 0);
     IMGUI_API bool      InputFloat4(const char* label, float v[4], int decimal_precision, ImGuiInputTextFlags flags = 0);
-    // OBSOLETED in 1.60 (from Dec 2017)
+    // OBSOLETED in 1.60 (between Dec 2017 and Apr 2018)
     static inline bool  IsAnyWindowFocused()                  { return IsWindowFocused(ImGuiFocusedFlags_AnyWindow); }
     static inline bool  IsAnyWindowHovered()                  { return IsWindowHovered(ImGuiHoveredFlags_AnyWindow); }
     static inline ImVec2 CalcItemRectClosestPoint(const ImVec2& pos, bool on_edge = false, float outward = 0.f) { (void)on_edge; (void)outward; IM_ASSERT(0); return pos; }
@@ -1440,7 +1517,7 @@ namespace ImGui
     static inline bool  IsMouseHoveringAnyWindow()            { return IsWindowHovered(ImGuiHoveredFlags_AnyWindow); }
     static inline bool  IsMouseHoveringWindow()               { return IsWindowHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem); }
 }
-typedef ImGuiInputTextCallback      ImGuiTextEditCallback;      // OBSOLETE in 1.63 (from Aug 2018): made the names consistent
+typedef ImGuiInputTextCallback      ImGuiTextEditCallback;    // OBSOLETE in 1.63 (from Aug 2018): made the names consistent
 typedef ImGuiInputTextCallbackData  ImGuiTextEditCallbackData;
 #endif
 
@@ -1448,71 +1525,6 @@ typedef ImGuiInputTextCallbackData  ImGuiTextEditCallbackData;
 // Helpers
 //-----------------------------------------------------------------------------
 
-// Helper: Lightweight std::vector<> like class to avoid dragging dependencies (also: Windows implementation of STL with debug enabled is absurdly slow, so let's bypass it so our code runs fast in debug).
-// *Important* Our implementation does NOT call C++ constructors/destructors. This is intentional, we do not require it but you have to be mindful of that. Do _not_ use this class as a std::vector replacement in your code!
-template<typename T>
-class ImVector
-{
-public:
-    int                         Size;
-    int                         Capacity;
-    T*                          Data;
-
-    typedef T                   value_type;
-    typedef value_type*         iterator;
-    typedef const value_type*   const_iterator;
-
-    inline ImVector()           { Size = Capacity = 0; Data = NULL; }
-    inline ~ImVector()          { if (Data) ImGui::MemFree(Data); }
-    inline ImVector(const ImVector<T>& src)                     { Size = Capacity = 0; Data = NULL; operator=(src); }
-    inline ImVector<T>& operator=(const ImVector<T>& src)       { clear(); resize(src.Size); memcpy(Data, src.Data, (size_t)Size * sizeof(value_type)); return *this; }
-
-    inline bool                 empty() const                   { return Size == 0; }
-    inline int                  size() const                    { return Size; }
-    inline int                  capacity() const                { return Capacity; }
-    inline value_type&          operator[](int i)               { IM_ASSERT(i < Size); return Data[i]; }
-    inline const value_type&    operator[](int i) const         { IM_ASSERT(i < Size); return Data[i]; }
-
-    inline void                 clear()                         { if (Data) { Size = Capacity = 0; ImGui::MemFree(Data); Data = NULL; } }
-    inline iterator             begin()                         { return Data; }
-    inline const_iterator       begin() const                   { return Data; }
-    inline iterator             end()                           { return Data + Size; }
-    inline const_iterator       end() const                     { return Data + Size; }
-    inline value_type&          front()                         { IM_ASSERT(Size > 0); return Data[0]; }
-    inline const value_type&    front() const                   { IM_ASSERT(Size > 0); return Data[0]; }
-    inline value_type&          back()                          { IM_ASSERT(Size > 0); return Data[Size - 1]; }
-    inline const value_type&    back() const                    { IM_ASSERT(Size > 0); return Data[Size - 1]; }
-    inline void                 swap(ImVector<value_type>& rhs) { int rhs_size = rhs.Size; rhs.Size = Size; Size = rhs_size; int rhs_cap = rhs.Capacity; rhs.Capacity = Capacity; Capacity = rhs_cap; value_type* rhs_data = rhs.Data; rhs.Data = Data; Data = rhs_data; }
-
-    inline int          _grow_capacity(int sz) const            { int new_capacity = Capacity ? (Capacity + Capacity/2) : 8; return new_capacity > sz ? new_capacity : sz; }
-    inline void         resize(int new_size)                    { if (new_size > Capacity) reserve(_grow_capacity(new_size)); Size = new_size; }
-    inline void         resize(int new_size,const value_type& v){ if (new_size > Capacity) reserve(_grow_capacity(new_size)); if (new_size > Size) for (int n = Size; n < new_size; n++) memcpy(&Data[n], &v, sizeof(v)); Size = new_size; }
-    inline void         reserve(int new_capacity)
-    {
-        if (new_capacity <= Capacity)
-            return;
-        value_type* new_data = (value_type*)ImGui::MemAlloc((size_t)new_capacity * sizeof(value_type));
-        if (Data)
-        {
-            memcpy(new_data, Data, (size_t)Size * sizeof(value_type));
-            ImGui::MemFree(Data);
-        }
-        Data = new_data;
-        Capacity = new_capacity;
-    }
-
-    // NB: It is illegal to call push_back/push_front/insert with a reference pointing inside the ImVector data itself! e.g. v.push_back(v[10]) is forbidden.
-    inline void         push_back(const value_type& v)                  { if (Size == Capacity) reserve(_grow_capacity(Size + 1)); memcpy(&Data[Size], &v, sizeof(v)); Size++; }
-    inline void         pop_back()                                      { IM_ASSERT(Size > 0); Size--; }
-    inline void         push_front(const value_type& v)                 { if (Size == 0) push_back(v); else insert(Data, v); }
-    inline iterator     erase(const_iterator it)                        { IM_ASSERT(it >= Data && it < Data+Size); const ptrdiff_t off = it - Data; memmove(Data + off, Data + off + 1, ((size_t)Size - (size_t)off - 1) * sizeof(value_type)); Size--; return Data + off; }
-    inline iterator     erase(const_iterator it, const_iterator it_last){ IM_ASSERT(it >= Data && it < Data+Size && it_last > it && it_last <= Data+Size); const ptrdiff_t count = it_last - it; const ptrdiff_t off = it - Data; memmove(Data + off, Data + off + count, ((size_t)Size - (size_t)off - count) * sizeof(value_type)); Size -= (int)count; return Data + off; }
-    inline iterator     erase_unsorted(const_iterator it)               { IM_ASSERT(it >= Data && it < Data+Size);  const ptrdiff_t off = it - Data; if (it < Data+Size-1) memcpy(Data + off, Data + Size - 1, sizeof(value_type)); Size--; return Data + off; }
-    inline iterator     insert(const_iterator it, const value_type& v)  { IM_ASSERT(it >= Data && it <= Data+Size); const ptrdiff_t off = it - Data; if (Size == Capacity) reserve(_grow_capacity(Size + 1)); if (off < (int)Size) memmove(Data + off + 1, Data + off, ((size_t)Size - (size_t)off) * sizeof(value_type)); memcpy(&Data[off], &v, sizeof(v)); Size++; return Data + off; }
-    inline bool         contains(const value_type& v) const             { const T* data = Data;  const T* data_end = Data + Size; while (data < data_end) if (*data++ == v) return true; return false; }
-    inline int          index_from_pointer(const_iterator it) const     { IM_ASSERT(it >= Data && it <= Data+Size); const ptrdiff_t off = it - Data; return (int)off; }
-};
-
 // Helper: IM_NEW(), IM_PLACEMENT_NEW(), IM_DELETE() macros to call MemAlloc + Placement New, Placement Delete + MemFree
 // We call C++ constructor on own allocated memory via the placement "new(ptr) Type()" syntax.
 // Defining a custom placement new() with a dummy parameter allows us to bypass including <new> which on some platforms complains when user has disabled exceptions.
@@ -1533,15 +1545,15 @@ struct ImGuiOnceUponAFrame
 };
 
 // Helper: Macro for ImGuiOnceUponAFrame. Attention: The macro expands into 2 statement so make sure you don't use it within e.g. an if() statement without curly braces.
-#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS    // Will obsolete
-#define IMGUI_ONCE_UPON_A_FRAME     static ImGuiOnceUponAFrame imgui_oaf; if (imgui_oaf)
+#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
+#define IMGUI_ONCE_UPON_A_FRAME     static ImGuiOnceUponAFrame imgui_oaf; if (imgui_oaf)    // OBSOLETED in 1.51, will remove!
 #endif
 
 // Helper: Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]"
 struct ImGuiTextFilter
 {
     IMGUI_API           ImGuiTextFilter(const char* default_filter = "");
-    IMGUI_API bool      Draw(const char* label = "Filter (inc,-exc)", float width = 0.0f);    // Helper calling InputText+Build
+    IMGUI_API bool      Draw(const char* label = "Filter (inc,-exc)", float width = 0.0f);  // Helper calling InputText+Build
     IMGUI_API bool      PassFilter(const char* text, const char* text_end = NULL) const;
     IMGUI_API void      Build();
     void                Clear()          { InputBuf[0] = 0; Build(); }
@@ -1836,11 +1848,11 @@ struct ImDrawList
     IMGUI_API void  AddBezierCurve(const ImVec2& pos0, const ImVec2& cp0, const ImVec2& cp1, const ImVec2& pos1, ImU32 col, float thickness, int num_segments = 0);
 
     // Stateful path API, add points then finish with PathFillConvex() or PathStroke()
-    inline    void  PathClear()                                                 { _Path.resize(0); }
+    inline    void  PathClear()                                                 { _Path.Size = 0; }
     inline    void  PathLineTo(const ImVec2& pos)                               { _Path.push_back(pos); }
-    inline    void  PathLineToMergeDuplicate(const ImVec2& pos)                 { if (_Path.Size == 0 || memcmp(&_Path[_Path.Size-1], &pos, 8) != 0) _Path.push_back(pos); }
-    inline    void  PathFillConvex(ImU32 col)                                   { AddConvexPolyFilled(_Path.Data, _Path.Size, col); PathClear(); }  // Note: Anti-aliased filling requires points to be in clockwise order.
-    inline    void  PathStroke(ImU32 col, bool closed, float thickness = 1.0f)  { AddPolyline(_Path.Data, _Path.Size, col, closed, thickness); PathClear(); }
+    inline    void  PathLineToMergeDuplicate(const ImVec2& pos)                 { if (_Path.Size == 0 || memcmp(&_Path.Data[_Path.Size-1], &pos, 8) != 0) _Path.push_back(pos); }
+    inline    void  PathFillConvex(ImU32 col)                                   { AddConvexPolyFilled(_Path.Data, _Path.Size, col); _Path.Size = 0; }  // Note: Anti-aliased filling requires points to be in clockwise order.
+    inline    void  PathStroke(ImU32 col, bool closed, float thickness = 1.0f)  { AddPolyline(_Path.Data, _Path.Size, col, closed, thickness); _Path.Size = 0; }
     IMGUI_API void  PathArcTo(const ImVec2& centre, float radius, float a_min, float a_max, int num_segments = 10);
     IMGUI_API void  PathArcToFast(const ImVec2& centre, float radius, int a_min_of_12, int a_max_of_12);                                            // Use precomputed angles for a 12 steps circle
     IMGUI_API void  PathBezierCurveTo(const ImVec2& p1, const ImVec2& p2, const ImVec2& p3, int num_segments = 0);
@@ -1894,7 +1906,7 @@ struct ImDrawData
 };
 
 //-----------------------------------------------------------------------------
-// Font API (ImFontConfig, ImFontGlyph, ImFontAtlasFlags, ImFontAtlas, ImFont)
+// Font API (ImFontConfig, ImFontGlyph, ImFontAtlasFlags, ImFontAtlas, ImFontGlyphRangesBuilder, ImFont)
 //-----------------------------------------------------------------------------
 
 struct ImFontConfig
@@ -1931,6 +1943,19 @@ struct ImFontGlyph
     float           U0, V0, U1, V1;     // Texture coordinates
 };
 
+// Helper to build glyph ranges from text/string data. Feed your application strings/characters to it then call BuildRanges().
+struct ImFontGlyphRangesBuilder
+{
+    ImVector<unsigned char> UsedChars;  // Store 1-bit per Unicode code point (0=unused, 1=used)
+    ImFontGlyphRangesBuilder()          { UsedChars.resize(0x10000 / 8); memset(UsedChars.Data, 0, 0x10000 / 8); }
+    bool           GetBit(int n) const  { return (UsedChars[n >> 3] & (1 << (n & 7))) != 0; }
+    void           SetBit(int n)        { UsedChars[n >> 3] |= 1 << (n & 7); }  // Set bit 'c' in the array
+    void           AddChar(ImWchar c)   { SetBit(c); }                          // Add character
+    IMGUI_API void AddText(const char* text, const char* text_end = NULL);      // Add string (each character of the UTF-8 string are added)
+    IMGUI_API void AddRanges(const ImWchar* ranges);                            // Add ranges, e.g. builder.AddRanges(ImFontAtlas::GetGlyphRangesDefault()) to force add all of ASCII/Latin+Ext
+    IMGUI_API void BuildRanges(ImVector<ImWchar>* out_ranges);                  // Output new ranges
+};
+
 enum ImFontAtlasFlags_
 {
     ImFontAtlasFlags_None               = 0,
@@ -1987,7 +2012,7 @@ struct ImFontAtlas
 
     // Helpers to retrieve list of common Unicode ranges (2 value per range, values are inclusive, zero-terminated list)
     // NB: Make sure that your string are UTF-8 and NOT in your local code page. In C++11, you can create UTF-8 string literal using the u8"Hello world" syntax. See FAQ for details.
-    // NB: Consider using GlyphRangesBuilder to build glyph ranges from textual data.
+    // NB: Consider using ImFontGlyphRangesBuilder to build glyph ranges from textual data.
     IMGUI_API const ImWchar*    GetGlyphRangesDefault();                // Basic Latin, Extended Latin
     IMGUI_API const ImWchar*    GetGlyphRangesKorean();                 // Default + Korean characters
     IMGUI_API const ImWchar*    GetGlyphRangesJapanese();               // Default + Hiragana, Katakana, Half-Width, Selection of 1946 Ideographs
@@ -1996,19 +2021,6 @@ struct ImFontAtlas
     IMGUI_API const ImWchar*    GetGlyphRangesCyrillic();               // Default + about 400 Cyrillic characters
     IMGUI_API const ImWchar*    GetGlyphRangesThai();                   // Default + Thai characters
 
-    // Helpers to build glyph ranges from text data. Feed your application strings/characters to it then call BuildRanges().
-    struct GlyphRangesBuilder
-    {
-        ImVector<unsigned char> UsedChars;  // Store 1-bit per Unicode code point (0=unused, 1=used)
-        GlyphRangesBuilder()                { UsedChars.resize(0x10000 / 8); memset(UsedChars.Data, 0, 0x10000 / 8); }
-        bool           GetBit(int n) const  { return (UsedChars[n >> 3] & (1 << (n & 7))) != 0; }
-        void           SetBit(int n)        { UsedChars[n >> 3] |= 1 << (n & 7); }  // Set bit 'c' in the array
-        void           AddChar(ImWchar c)   { SetBit(c); }                          // Add character
-        IMGUI_API void AddText(const char* text, const char* text_end = NULL);      // Add string (each character of the UTF-8 string are added)
-        IMGUI_API void AddRanges(const ImWchar* ranges);                            // Add ranges, e.g. builder.AddRanges(ImFontAtlas::GetGlyphRangesDefault()) to force add all of ASCII/Latin+Ext
-        IMGUI_API void BuildRanges(ImVector<ImWchar>* out_ranges);                  // Output new ranges
-    };
-
     //-------------------------------------------
     // Custom Rectangles/Glyphs API
     //-------------------------------------------
@@ -2057,6 +2069,10 @@ struct ImFontAtlas
     ImVector<CustomRect>        CustomRects;        // Rectangles for packing custom texture data into the atlas.
     ImVector<ImFontConfig>      ConfigData;         // Internal data
     int                         CustomRectIds[1];   // Identifiers of custom texture rectangle used by ImFontAtlas/ImDrawList
+
+#ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS
+    typedef ImFontGlyphRangesBuilder GlyphRangesBuilder; // OBSOLETE 1.67+
+#endif
 };
 
 // Font runtime data and rendering

+ 56 - 21
3rdparty/dear-imgui/imgui_demo.cpp

@@ -3375,10 +3375,15 @@ struct ExampleAppLog
 {
     ImGuiTextBuffer     Buf;
     ImGuiTextFilter     Filter;
-    ImVector<int>       LineOffsets;        // Index to lines offset
+    ImVector<int>       LineOffsets;        // Index to lines offset. We maintain this with AddLog() calls, allowing us to have a random access on lines
     bool                ScrollToBottom;
 
-    void    Clear()     { Buf.clear(); LineOffsets.clear(); }
+    void    Clear() 
+    { 
+        Buf.clear(); 
+        LineOffsets.clear(); 
+        LineOffsets.push_back(0);
+    }
 
     void    AddLog(const char* fmt, ...) IM_FMTARGS(2)
     {
@@ -3389,13 +3394,12 @@ struct ExampleAppLog
         va_end(args);
         for (int new_size = Buf.size(); old_size < new_size; old_size++)
             if (Buf[old_size] == '\n')
-                LineOffsets.push_back(old_size);
+                LineOffsets.push_back(old_size + 1);
         ScrollToBottom = true;
     }
 
     void    Draw(const char* title, bool* p_open = NULL)
     {
-        ImGui::SetNextWindowSize(ImVec2(500,400), ImGuiCond_FirstUseEver);
         if (!ImGui::Begin(title, p_open))
         {
             ImGui::End();
@@ -3408,24 +3412,47 @@ struct ExampleAppLog
         Filter.Draw("Filter", -100.0f);
         ImGui::Separator();
         ImGui::BeginChild("scrolling", ImVec2(0,0), false, ImGuiWindowFlags_HorizontalScrollbar);
-        if (copy) ImGui::LogToClipboard();
+        if (copy)
+            ImGui::LogToClipboard();
 
+        ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0, 0));
+        const char* buf = Buf.begin();
+        const char* buf_end = Buf.end();
         if (Filter.IsActive())
         {
-            const char* buf_begin = Buf.begin();
-            const char* line = buf_begin;
-            for (int line_no = 0; line != NULL; line_no++)
+            for (int line_no = 0; line_no < LineOffsets.Size; line_no++)
             {
-                const char* line_end = (line_no < LineOffsets.Size) ? buf_begin + LineOffsets[line_no] : NULL;
-                if (Filter.PassFilter(line, line_end))
-                    ImGui::TextUnformatted(line, line_end);
-                line = line_end && line_end[1] ? line_end + 1 : NULL;
+                const char* line_start = buf + LineOffsets[line_no];
+                const char* line_end = (line_no + 1 < LineOffsets.Size) ? (buf + LineOffsets[line_no + 1] - 1) : buf_end;
+                if (Filter.PassFilter(line_start, line_end))
+                    ImGui::TextUnformatted(line_start, line_end);
             }
         }
         else
         {
-            ImGui::TextUnformatted(Buf.begin());
+            // The simplest and easy way to display the entire buffer:
+            //   ImGui::TextUnformatted(buf_begin, buf_end); 
+            // And it'll just work. TextUnformatted() has specialization for large blob of text and will fast-forward to skip non-visible lines.
+            // Here we instead demonstrate using the clipper to only process lines that are within the visible area.
+            // If you have tens of thousands of items and their processing cost is non-negligible, coarse clipping them on your side is recommended.
+            // Using ImGuiListClipper requires A) random access into your data, and B) items all being the  same height, 
+            // both of which we can handle since we an array pointing to the beginning of each line of text.
+            // When using the filter (in the block of code above) we don't have random access into the data to display anymore, which is why we don't use the clipper.
+            // Storing or skimming through the search result would make it possible (and would be recommended if you want to search through tens of thousands of entries)
+            ImGuiListClipper clipper;
+            clipper.Begin(LineOffsets.Size);
+            while (clipper.Step())
+            {
+                for (int line_no = clipper.DisplayStart; line_no < clipper.DisplayEnd; line_no++)
+                {
+                    const char* line_start = buf + LineOffsets[line_no];
+                    const char* line_end = (line_no + 1 < LineOffsets.Size) ? (buf + LineOffsets[line_no + 1] - 1) : buf_end;
+                    ImGui::TextUnformatted(line_start, line_end);
+                }
+            }
+            clipper.End();
         }
+        ImGui::PopStyleVar();
 
         if (ScrollToBottom)
             ImGui::SetScrollHereY(1.0f);
@@ -3440,15 +3467,23 @@ static void ShowExampleAppLog(bool* p_open)
 {
     static ExampleAppLog log;
 
-    // Demo: add random items (unless Ctrl is held)
-    static double last_time = -1.0;
-    double time = ImGui::GetTime();
-    if (time - last_time >= 0.20f && !ImGui::GetIO().KeyCtrl)
+    // For the demo: add a debug button before the normal log window contents
+    // We take advantage of the fact that multiple calls to Begin()/End() are appending to the same window.
+    ImGui::SetNextWindowSize(ImVec2(500, 400), ImGuiCond_FirstUseEver);
+    ImGui::Begin("Example: Log", p_open);
+    if (ImGui::SmallButton("Add 5 entries"))
     {
-        const char* random_words[] = { "system", "info", "warning", "error", "fatal", "notice", "log" };
-        log.AddLog("[%s] Hello, time is %.1f, frame count is %d\n", random_words[rand() % IM_ARRAYSIZE(random_words)], time, ImGui::GetFrameCount());
-        last_time = time;
+        static int counter = 0;
+        for (int n = 0; n < 5; n++)
+        {
+            const char* categories[3] = { "info", "warn", "error" };
+            const char* words[] = { "Bumfuzzled", "Cattywampus", "Snickersnee", "Abibliophobia", "Absquatulate", "Nincompoop", "Pauciloquent" };
+            log.AddLog("[%05d] [%s] Hello, current time is %.1f, here's a word: '%s'\n", 
+                ImGui::GetFrameCount(), categories[counter % IM_ARRAYSIZE(categories)], ImGui::GetTime(), words[counter % IM_ARRAYSIZE(words)]);
+            counter++;
+        }
     }
+    ImGui::End();
 
     log.Draw("Example: Log", p_open);
 }
@@ -3992,7 +4027,7 @@ void ShowExampleAppDocuments(bool* p_open)
 {
     static ExampleAppDocuments app;
 
-    if (!ImGui::Begin("Examples: Documents", p_open, ImGuiWindowFlags_MenuBar))
+    if (!ImGui::Begin("Example: Documents", p_open, ImGuiWindowFlags_MenuBar))
     {
         ImGui::End();
         return;

+ 78 - 60
3rdparty/dear-imgui/imgui_draw.cpp

@@ -12,7 +12,8 @@ Index of this file:
 // [SECTION] Helpers ShadeVertsXXX functions
 // [SECTION] ImFontConfig
 // [SECTION] ImFontAtlas
-// [SECTION] ImFontAtlas glyph ranges helpers + GlyphRangesBuilder
+// [SECTION] ImFontAtlas glyph ranges helpers
+// [SECTION] ImFontGlyphRangesBuilder
 // [SECTION] ImFont
 // [SECTION] Internal Render Helpers
 // [SECTION] Decompression code
@@ -655,7 +656,13 @@ void ImDrawList::PrimQuadUV(const ImVec2& a, const ImVec2& b, const ImVec2& c, c
     _IdxWritePtr += 6;
 }
 
+// On AddPolyline() and AddConvexPolyFilled() we intentionally avoid using ImVec2 and superflous function calls to optimize debug/non-inlined builds.
+// Those macros expects l-values.
+#define IM_NORMALIZE2F_OVER_ZERO(VX,VY)                         { float d2 = VX*VX + VY*VY; if (d2 > 0.0f) { float inv_len = 1.0f / ImSqrt(d2); VX *= inv_len; VY *= inv_len; } }
+#define IM_NORMALIZE2F_OVER_EPSILON_CLAMP(VX,VY,EPS,INVLENMAX)  { float d2 = VX*VX + VY*VY; if (d2 > EPS)  { float inv_len = 1.0f / ImSqrt(d2); if (inv_len > INVLENMAX) inv_len = INVLENMAX; VX *= inv_len; VY *= inv_len; } }
+
 // TODO: Thickness anti-aliased lines cap are missing their AA fringe.
+// We avoid using the ImVec2 math operators here to reduce cost to a minimum for debug/non-inlined builds.
 void ImDrawList::AddPolyline(const ImVec2* points, const int points_count, ImU32 col, bool closed, float thickness)
 {
     if (points_count < 2)
@@ -685,10 +692,11 @@ void ImDrawList::AddPolyline(const ImVec2* points, const int points_count, ImU32
         for (int i1 = 0; i1 < count; i1++)
         {
             const int i2 = (i1+1) == points_count ? 0 : i1+1;
-            ImVec2 diff = points[i2] - points[i1];
-            diff *= ImInvLength(diff, 1.0f);
-            temp_normals[i1].x = diff.y;
-            temp_normals[i1].y = -diff.x;
+            float dx = points[i2].x - points[i1].x;
+            float dy = points[i2].y - points[i1].y;
+            IM_NORMALIZE2F_OVER_ZERO(dx, dy);
+            temp_normals[i1].x = dy;
+            temp_normals[i1].y = -dx;
         }
         if (!closed)
             temp_normals[points_count-1] = temp_normals[points_count-2];
@@ -711,17 +719,18 @@ void ImDrawList::AddPolyline(const ImVec2* points, const int points_count, ImU32
                 unsigned int idx2 = (i1+1) == points_count ? _VtxCurrentIdx : idx1+3;
 
                 // Average normals
-                ImVec2 dm = (temp_normals[i1] + temp_normals[i2]) * 0.5f;
-                float dmr2 = dm.x*dm.x + dm.y*dm.y;
-                if (dmr2 > 0.000001f)
-                {
-                    float scale = 1.0f / dmr2;
-                    if (scale > 100.0f) scale = 100.0f;
-                    dm *= scale;
-                }
-                dm *= AA_SIZE;
-                temp_points[i2*2+0] = points[i2] + dm;
-                temp_points[i2*2+1] = points[i2] - dm;
+                float dm_x = (temp_normals[i1].x + temp_normals[i2].x) * 0.5f;
+                float dm_y = (temp_normals[i1].y + temp_normals[i2].y) * 0.5f;
+                IM_NORMALIZE2F_OVER_EPSILON_CLAMP(dm_x, dm_y, 0.000001f, 100.0f)
+                dm_x *= AA_SIZE;
+                dm_y *= AA_SIZE;
+
+                // Add temporary vertexes
+                ImVec2* out_vtx = &temp_points[i2*2];
+                out_vtx[0].x = points[i2].x + dm_x;
+                out_vtx[0].y = points[i2].y + dm_y;
+                out_vtx[1].x = points[i2].x - dm_x;
+                out_vtx[1].y = points[i2].y - dm_y;
 
                 // Add indexes
                 _IdxWritePtr[0] = (ImDrawIdx)(idx2+0); _IdxWritePtr[1] = (ImDrawIdx)(idx1+0); _IdxWritePtr[2] = (ImDrawIdx)(idx1+2);
@@ -765,20 +774,24 @@ void ImDrawList::AddPolyline(const ImVec2* points, const int points_count, ImU32
                 unsigned int idx2 = (i1+1) == points_count ? _VtxCurrentIdx : idx1+4;
 
                 // Average normals
-                ImVec2 dm = (temp_normals[i1] + temp_normals[i2]) * 0.5f;
-                float dmr2 = dm.x*dm.x + dm.y*dm.y;
-                if (dmr2 > 0.000001f)
-                {
-                    float scale = 1.0f / dmr2;
-                    if (scale > 100.0f) scale = 100.0f;
-                    dm *= scale;
-                }
-                ImVec2 dm_out = dm * (half_inner_thickness + AA_SIZE);
-                ImVec2 dm_in = dm * half_inner_thickness;
-                temp_points[i2*4+0] = points[i2] + dm_out;
-                temp_points[i2*4+1] = points[i2] + dm_in;
-                temp_points[i2*4+2] = points[i2] - dm_in;
-                temp_points[i2*4+3] = points[i2] - dm_out;
+                float dm_x = (temp_normals[i1].x + temp_normals[i2].x) * 0.5f;
+                float dm_y = (temp_normals[i1].y + temp_normals[i2].y) * 0.5f;
+                IM_NORMALIZE2F_OVER_EPSILON_CLAMP(dm_x, dm_y, 0.000001f, 100.0f);
+                float dm_out_x = dm_x * (half_inner_thickness + AA_SIZE);
+                float dm_out_y = dm_y * (half_inner_thickness + AA_SIZE);
+                float dm_in_x = dm_x * half_inner_thickness;
+                float dm_in_y = dm_y * half_inner_thickness;
+
+                // Add temporary vertexes
+                ImVec2* out_vtx = &temp_points[i2*4];
+                out_vtx[0].x = points[i2].x + dm_out_x;
+                out_vtx[0].y = points[i2].y + dm_out_y;
+                out_vtx[1].x = points[i2].x + dm_in_x;
+                out_vtx[1].y = points[i2].y + dm_in_y;
+                out_vtx[2].x = points[i2].x - dm_in_x;
+                out_vtx[2].y = points[i2].y - dm_in_y;
+                out_vtx[3].x = points[i2].x - dm_out_x;
+                out_vtx[3].y = points[i2].y - dm_out_y;
 
                 // Add indexes
                 _IdxWritePtr[0]  = (ImDrawIdx)(idx2+1); _IdxWritePtr[1]  = (ImDrawIdx)(idx1+1); _IdxWritePtr[2]  = (ImDrawIdx)(idx1+2);
@@ -816,11 +829,13 @@ void ImDrawList::AddPolyline(const ImVec2* points, const int points_count, ImU32
             const int i2 = (i1+1) == points_count ? 0 : i1+1;
             const ImVec2& p1 = points[i1];
             const ImVec2& p2 = points[i2];
-            ImVec2 diff = p2 - p1;
-            diff *= ImInvLength(diff, 1.0f);
 
-            const float dx = diff.x * (thickness * 0.5f);
-            const float dy = diff.y * (thickness * 0.5f);
+            float dx = p2.x - p1.x;
+            float dy = p2.y - p1.y;
+            IM_NORMALIZE2F_OVER_ZERO(dx, dy);
+            dx *= (thickness * 0.5f);
+            dy *= (thickness * 0.5f);
+
             _VtxWritePtr[0].pos.x = p1.x + dy; _VtxWritePtr[0].pos.y = p1.y - dx; _VtxWritePtr[0].uv = uv; _VtxWritePtr[0].col = col;
             _VtxWritePtr[1].pos.x = p2.x + dy; _VtxWritePtr[1].pos.y = p2.y - dx; _VtxWritePtr[1].uv = uv; _VtxWritePtr[1].col = col;
             _VtxWritePtr[2].pos.x = p2.x - dy; _VtxWritePtr[2].pos.y = p2.y + dx; _VtxWritePtr[2].uv = uv; _VtxWritePtr[2].col = col;
@@ -835,6 +850,7 @@ void ImDrawList::AddPolyline(const ImVec2* points, const int points_count, ImU32
     }
 }
 
+// We intentionally avoid using ImVec2 and its math operators here to reduce cost to a minimum for debug/non-inlined builds.
 void ImDrawList::AddConvexPolyFilled(const ImVec2* points, const int points_count, ImU32 col)
 {
     if (points_count < 3)
@@ -866,10 +882,11 @@ void ImDrawList::AddConvexPolyFilled(const ImVec2* points, const int points_coun
         {
             const ImVec2& p0 = points[i0];
             const ImVec2& p1 = points[i1];
-            ImVec2 diff = p1 - p0;
-            diff *= ImInvLength(diff, 1.0f);
-            temp_normals[i0].x = diff.y;
-            temp_normals[i0].y = -diff.x;
+            float dx = p1.x - p0.x;
+            float dy = p1.y - p0.y;
+            IM_NORMALIZE2F_OVER_ZERO(dx, dy);
+            temp_normals[i0].x = dy;
+            temp_normals[i0].y = -dx;
         }
 
         for (int i0 = points_count-1, i1 = 0; i1 < points_count; i0 = i1++)
@@ -877,19 +894,15 @@ void ImDrawList::AddConvexPolyFilled(const ImVec2* points, const int points_coun
             // Average normals
             const ImVec2& n0 = temp_normals[i0];
             const ImVec2& n1 = temp_normals[i1];
-            ImVec2 dm = (n0 + n1) * 0.5f;
-            float dmr2 = dm.x*dm.x + dm.y*dm.y;
-            if (dmr2 > 0.000001f)
-            {
-                float scale = 1.0f / dmr2;
-                if (scale > 100.0f) scale = 100.0f;
-                dm *= scale;
-            }
-            dm *= AA_SIZE * 0.5f;
+            float dm_x = (n0.x + n1.x) * 0.5f;
+            float dm_y = (n0.y + n1.y) * 0.5f;
+            IM_NORMALIZE2F_OVER_EPSILON_CLAMP(dm_x, dm_y, 0.000001f, 100.0f);
+            dm_x *= AA_SIZE * 0.5f;
+            dm_y *= AA_SIZE * 0.5f;
 
             // Add vertices
-            _VtxWritePtr[0].pos = (points[i1] - dm); _VtxWritePtr[0].uv = uv; _VtxWritePtr[0].col = col;        // Inner
-            _VtxWritePtr[1].pos = (points[i1] + dm); _VtxWritePtr[1].uv = uv; _VtxWritePtr[1].col = col_trans;  // Outer
+            _VtxWritePtr[0].pos.x = (points[i1].x - dm_x); _VtxWritePtr[0].pos.y = (points[i1].y - dm_y); _VtxWritePtr[0].uv = uv; _VtxWritePtr[0].col = col;        // Inner
+            _VtxWritePtr[1].pos.x = (points[i1].x + dm_x); _VtxWritePtr[1].pos.y = (points[i1].y + dm_y); _VtxWritePtr[1].uv = uv; _VtxWritePtr[1].col = col_trans;  // Outer
             _VtxWritePtr += 2;
 
             // Add indexes for fringes
@@ -2092,7 +2105,7 @@ static void UnpackAccumulativeOffsetsIntoRanges(int base_codepoint, const short*
 }
 
 //-------------------------------------------------------------------------
-// [SECTION] ImFontAtlas glyph ranges helpers + GlyphRangesBuilder
+// [SECTION] ImFontAtlas glyph ranges helpers
 //-------------------------------------------------------------------------
 
 const ImWchar*  ImFontAtlas::GetGlyphRangesChineseSimplifiedCommon()
@@ -2100,7 +2113,7 @@ const ImWchar*  ImFontAtlas::GetGlyphRangesChineseSimplifiedCommon()
     // Store 2500 regularly used characters for Simplified Chinese.
     // Sourced from https://zh.wiktionary.org/wiki/%E9%99%84%E5%BD%95:%E7%8E%B0%E4%BB%A3%E6%B1%89%E8%AF%AD%E5%B8%B8%E7%94%A8%E5%AD%97%E8%A1%A8
     // This table covers 97.97% of all characters used during the month in July, 1987.
-    // You can use ImFontAtlas::GlyphRangesBuilder to create your own ranges derived from this, by merging existing ranges or adding new characters.
+    // You can use ImFontGlyphRangesBuilder to create your own ranges derived from this, by merging existing ranges or adding new characters.
     // (Stored as accumulative offsets from the initial unicode codepoint 0x4E00. This encoding is designed to helps us compact the source code size.)
     static const short accumulative_offsets_from_0x4E00[] =
     {
@@ -2166,7 +2179,7 @@ const ImWchar*  ImFontAtlas::GetGlyphRangesJapanese()
     // 1946 common ideograms code points for Japanese
     // Sourced from http://theinstructionlimit.com/common-kanji-character-ranges-for-xna-spritefont-rendering
     // FIXME: Source a list of the revised 2136 Joyo Kanji list from 2010 and rebuild this.
-    // You can use ImFontAtlas::GlyphRangesBuilder to create your own ranges derived from this, by merging existing ranges or adding new characters.
+    // You can use ImFontGlyphRangesBuilder to create your own ranges derived from this, by merging existing ranges or adding new characters.
     // (Stored as accumulative offsets from the initial unicode codepoint 0x4E00. This encoding is designed to helps us compact the source code size.)
     static const short accumulative_offsets_from_0x4E00[] =
     {
@@ -2244,7 +2257,11 @@ const ImWchar*  ImFontAtlas::GetGlyphRangesThai()
     return &ranges[0];
 }
 
-void ImFontAtlas::GlyphRangesBuilder::AddText(const char* text, const char* text_end)
+//-----------------------------------------------------------------------------
+// [SECTION] ImFontGlyphRangesBuilder
+//-----------------------------------------------------------------------------
+
+void ImFontGlyphRangesBuilder::AddText(const char* text, const char* text_end)
 {
     while (text_end ? (text < text_end) : *text)
     {
@@ -2258,14 +2275,14 @@ void ImFontAtlas::GlyphRangesBuilder::AddText(const char* text, const char* text
     }
 }
 
-void ImFontAtlas::GlyphRangesBuilder::AddRanges(const ImWchar* ranges)
+void ImFontGlyphRangesBuilder::AddRanges(const ImWchar* ranges)
 {
     for (; ranges[0]; ranges += 2)
         for (ImWchar c = ranges[0]; c <= ranges[1]; c++)
             AddChar(c);
 }
 
-void ImFontAtlas::GlyphRangesBuilder::BuildRanges(ImVector<ImWchar>* out_ranges)
+void ImFontGlyphRangesBuilder::BuildRanges(ImVector<ImWchar>* out_ranges)
 {
     for (int n = 0; n < 0x10000; n++)
         if (GetBit(n))
@@ -2417,7 +2434,7 @@ const ImFontGlyph* ImFont::FindGlyph(ImWchar c) const
 {
     if (c >= IndexLookup.Size)
         return FallbackGlyph;
-    const ImWchar i = IndexLookup[c];
+    const ImWchar i = IndexLookup.Data[c];
     if (i == (ImWchar)-1)
         return FallbackGlyph;
     return &Glyphs.Data[i];
@@ -2427,7 +2444,7 @@ const ImFontGlyph* ImFont::FindGlyphNoFallback(ImWchar c) const
 {
     if (c >= IndexLookup.Size)
         return NULL;
-    const ImWchar i = IndexLookup[c];
+    const ImWchar i = IndexLookup.Data[c];
     if (i == (ImWchar)-1)
         return NULL;
     return &Glyphs.Data[i];
@@ -2487,7 +2504,7 @@ const char* ImFont::CalcWordWrapPositionA(float scale, const char* text, const c
             }
         }
 
-        const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX[(int)c] : FallbackAdvanceX);
+        const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX.Data[c] : FallbackAdvanceX);
         if (ImCharIsBlankW(c))
         {
             if (inside_word)
@@ -2604,7 +2621,7 @@ ImVec2 ImFont::CalcTextSizeA(float size, float max_width, float wrap_width, cons
                 continue;
         }
 
-        const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX[(int)c] : FallbackAdvanceX) * scale;
+        const float char_width = ((int)c < IndexAdvanceX.Size ? IndexAdvanceX.Data[c] : FallbackAdvanceX) * scale;
         if (line_width + char_width >= max_width)
         {
             s = prev_s;
@@ -2948,8 +2965,9 @@ void ImGui::RenderRectFilledRangeH(ImDrawList* draw_list, const ImRect& rect, Im
 // FIXME: Rendering an ellipsis "..." is a surprisingly tricky problem for us... we cannot rely on font glyph having it, 
 // and regular dot are typically too wide. If we render a dot/shape ourselves it comes with the risk that it wouldn't match 
 // the boldness or positioning of what the font uses...
-void ImGui::RenderPixelEllipsis(ImDrawList* draw_list, ImFont* font, ImVec2 pos, int count, ImU32 col)
+void ImGui::RenderPixelEllipsis(ImDrawList* draw_list, ImVec2 pos, int count, ImU32 col)
 {
+    ImFont* font = draw_list->_Data->Font;
     pos.y += (float)(int)(font->DisplayOffset.y + font->Ascent + 0.5f - 1.0f);
     for (int dot_n = 0; dot_n < count; dot_n++)
         draw_list->AddRectFilled(ImVec2(pos.x + dot_n * 2.0f, pos.y), ImVec2(pos.x + dot_n * 2.0f + 1.0f, pos.y + 1.0f), col);

+ 10 - 8
3rdparty/dear-imgui/imgui_internal.h

@@ -143,6 +143,7 @@ IMGUI_API int           ImStricmp(const char* str1, const char* str2);
 IMGUI_API int           ImStrnicmp(const char* str1, const char* str2, size_t count);
 IMGUI_API void          ImStrncpy(char* dst, const char* src, size_t count);
 IMGUI_API char*         ImStrdup(const char* str);
+IMGUI_API char*         ImStrdupcpy(char* dst, size_t* p_dst_size, const char* str);
 IMGUI_API const char*   ImStrchrRange(const char* str_begin, const char* str_end, char c);
 IMGUI_API int           ImStrlenW(const ImWchar* str);
 IMGUI_API const char*   ImStreolRange(const char* str, const char* str_end);                // End end-of-line
@@ -330,8 +331,8 @@ enum ImGuiItemStatusFlags_
 // FIXME: this is in development, not exposed/functional as a generic feature yet.
 enum ImGuiLayoutType_
 {
-    ImGuiLayoutType_Vertical,
-    ImGuiLayoutType_Horizontal
+    ImGuiLayoutType_Vertical = 0,
+    ImGuiLayoutType_Horizontal = 1
 };
 
 enum ImGuiAxis
@@ -1071,6 +1072,7 @@ struct IMGUI_API ImGuiWindow
     ImVec2                  WindowPadding;                      // Window padding at the time of begin.
     float                   WindowRounding;                     // Window rounding at the time of begin.
     float                   WindowBorderSize;                   // Window border size at the time of begin.
+    int                     NameBufLen;                         // Size of buffer storing Name. May be larger than strlen(Name)!
     ImGuiID                 MoveId;                             // == window->GetID("#MOVE")
     ImGuiID                 ChildId;                            // ID of corresponding item in parent window (for navigation to return from child window to parent window)
     ImVec2                  Scroll;
@@ -1370,7 +1372,7 @@ namespace ImGui
     IMGUI_API void          RenderMouseCursor(ImDrawList* draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor = ImGuiMouseCursor_Arrow);
     IMGUI_API void          RenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col);
     IMGUI_API void          RenderRectFilledRangeH(ImDrawList* draw_list, const ImRect& rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding);
-    IMGUI_API void          RenderPixelEllipsis(ImDrawList* draw_list, ImFont* font, ImVec2 pos, int count, ImU32 col);
+    IMGUI_API void          RenderPixelEllipsis(ImDrawList* draw_list, ImVec2 pos, int count, ImU32 col);
 
     // Widgets
     IMGUI_API bool          ButtonEx(const char* label, const ImVec2& size_arg = ImVec2(0,0), ImGuiButtonFlags flags = 0);
@@ -1427,11 +1429,11 @@ IMGUI_API void              ImFontAtlasBuildMultiplyRectAlpha8(const unsigned ch
 // Test engine hooks (imgui-test)
 //#define IMGUI_ENABLE_TEST_ENGINE
 #ifdef IMGUI_ENABLE_TEST_ENGINE
-extern void                 ImGuiTestEngineHook_PreNewFrame();
-extern void                 ImGuiTestEngineHook_PostNewFrame();
-extern void                 ImGuiTestEngineHook_ItemAdd(const ImRect& bb, ImGuiID id);
-extern void                 ImGuiTestEngineHook_ItemInfo(ImGuiID id, const char* label, int flags);
-#define IMGUI_TEST_ENGINE_ITEM_INFO(_ID, _LABEL, _FLAGS)  ImGuiTestEngineHook_ItemInfo(_ID, _LABEL, _FLAGS)   // Register status flags
+extern void                 ImGuiTestEngineHook_PreNewFrame(ImGuiContext* ctx);
+extern void                 ImGuiTestEngineHook_PostNewFrame(ImGuiContext* ctx);
+extern void                 ImGuiTestEngineHook_ItemAdd(ImGuiContext* ctx, const ImRect& bb, ImGuiID id);
+extern void                 ImGuiTestEngineHook_ItemInfo(ImGuiContext* ctx, ImGuiID id, const char* label, int flags);
+#define IMGUI_TEST_ENGINE_ITEM_INFO(_ID, _LABEL, _FLAGS)  ImGuiTestEngineHook_ItemInfo(&g, _ID, _LABEL, _FLAGS)   // Register status flags
 #else
 #define IMGUI_TEST_ENGINE_ITEM_INFO(_ID, _LABEL, _FLAGS)  do { } while (0)
 #endif

+ 17 - 13
3rdparty/dear-imgui/imgui_widgets.cpp

@@ -282,10 +282,12 @@ void ImGui::TextWrapped(const char* fmt, ...)
 
 void ImGui::TextWrappedV(const char* fmt, va_list args)
 {
-    bool need_wrap = (GImGui->CurrentWindow->DC.TextWrapPos < 0.0f);    // Keep existing wrap position is one ia already set
-    if (need_wrap) PushTextWrapPos(0.0f);
+    bool need_backup = (GImGui->CurrentWindow->DC.TextWrapPos < 0.0f);  // Keep existing wrap position if one is already set
+    if (need_backup)
+        PushTextWrapPos(0.0f);
     TextV(fmt, args);
-    if (need_wrap) PopTextWrapPos();
+    if (need_backup)
+        PopTextWrapPos();
 }
 
 void ImGui::LabelText(const char* label, const char* fmt, ...)
@@ -397,8 +399,8 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool
         g.HoveredWindow = window;
 
 #ifdef IMGUI_ENABLE_TEST_ENGINE
-    if (window->DC.LastItemId != id)
-        ImGuiTestEngineHook_ItemAdd(bb, id);
+    if (id != 0 && window->DC.LastItemId != id)
+        ImGuiTestEngineHook_ItemAdd(&g, bb, id);
 #endif
 
     bool pressed = false;
@@ -3142,7 +3144,7 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2
     IM_ASSERT(!((flags & ImGuiInputTextFlags_CallbackCompletion) && (flags & ImGuiInputTextFlags_AllowTabInput))); // Can't use both together (they both use tab key)
 
     ImGuiContext& g = *GImGui;
-    const ImGuiIO& io = g.IO;
+    ImGuiIO& io = g.IO;
     const ImGuiStyle& style = g.Style;
 
     const bool is_multiline = (flags & ImGuiInputTextFlags_Multiline) != 0;
@@ -3327,22 +3329,22 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2
         if (edit_state.SelectedAllMouseLock && !io.MouseDown[0])
             edit_state.SelectedAllMouseLock = false;
 
-        if (io.InputCharacters[0])
+        if (io.InputQueueCharacters.Size > 0)
         {
             // Process text input (before we check for Return because using some IME will effectively send a Return?)
             // We ignore CTRL inputs, but need to allow ALT+CTRL as some keyboards (e.g. German) use AltGR (which _is_ Alt+Ctrl) to input certain characters.
             bool ignore_inputs = (io.KeyCtrl && !io.KeyAlt) || (is_osx && io.KeySuper);
             if (!ignore_inputs && is_editable && !user_nav_input_start)
-                for (int n = 0; n < IM_ARRAYSIZE(io.InputCharacters) && io.InputCharacters[n]; n++)
+                for (int n = 0; n < io.InputQueueCharacters.Size; n++)
                 {
                     // Insert character if they pass filtering
-                    unsigned int c = (unsigned int)io.InputCharacters[n];
+                    unsigned int c = (unsigned int)io.InputQueueCharacters[n];
                     if (InputTextFilterCharacter(&c, flags, callback, callback_user_data))
                         edit_state.OnKeyPressed((int)c);
                 }
 
             // Consume characters
-            memset(g.IO.InputCharacters, 0, sizeof(g.IO.InputCharacters));
+            io.InputQueueCharacters.resize(0);
         }
     }
 
@@ -5045,7 +5047,7 @@ bool ImGui::Selectable(const char* label, bool selected, ImGuiSelectableFlags fl
     bb.Min.y -= spacing_U;
     bb.Max.x += spacing_R;
     bb.Max.y += spacing_D;
-    if (!ItemAdd(bb, (flags & ImGuiSelectableFlags_Disabled) ? 0 : id))
+    if (!ItemAdd(bb, id))
     {
         if ((flags & ImGuiSelectableFlags_SpanAllColumns) && window->DC.ColumnsSet)
             PushColumnClipRect();
@@ -6256,6 +6258,7 @@ void    ImGui::EndTabItem()
 
     IM_ASSERT(g.CurrentTabBar.Size > 0 && "Needs to be called between BeginTabBar() and EndTabBar()!");
     ImGuiTabBar* tab_bar = g.CurrentTabBar.back();
+    IM_ASSERT(tab_bar->LastTabItemIdx >= 0 && "Needs to be called between BeginTabItem() and EndTabItem()");
     ImGuiTabItem* tab = &tab_bar->Tabs[tab_bar->LastTabItemIdx];
     if (!(tab->Flags & ImGuiTabItemFlags_NoPushId))
         g.CurrentWindow->IDStack.pop_back();
@@ -6437,7 +6440,8 @@ bool    ImGui::TabItemEx(ImGuiTabBar* tab_bar, const char* label, bool* p_open,
 
     // Tooltip (FIXME: Won't work over the close button because ItemOverlap systems messes up with HoveredIdTimer)
     if (g.HoveredId == id && !held && g.HoveredIdNotActiveTimer > 0.50f)
-        SetTooltip("%.*s", (int)(FindRenderedTextEnd(label) - label), label);
+        if (!(tab_bar->Flags & ImGuiTabBarFlags_NoTooltip))
+            SetTooltip("%.*s", (int)(FindRenderedTextEnd(label) - label), label);
 
     return tab_contents_visible;
 }
@@ -6557,7 +6561,7 @@ bool ImGui::TabItemLabelAndCloseButton(ImDrawList* draw_list, const ImRect& bb,
 
         const float ellipsis_x = text_pixel_clip_bb.Min.x + label_size_clipped_x + 1.0f;
         if (!close_button_visible && ellipsis_x + ellipsis_width <= bb.Max.x)
-            RenderPixelEllipsis(draw_list, g.Font, ImVec2(ellipsis_x, text_pixel_clip_bb.Min.y), ellipsis_dot_count, GetColorU32(ImGuiCol_Text));
+            RenderPixelEllipsis(draw_list, ImVec2(ellipsis_x, text_pixel_clip_bb.Min.y), ellipsis_dot_count, GetColorU32(ImGuiCol_Text));
     }
     else
     {

+ 2 - 2
3rdparty/glslang/SPIRV/SpvTools.cpp

@@ -157,7 +157,7 @@ void SpirvToolsLegalize(const glslang::TIntermediate&, std::vector<unsigned int>
     // information when instructions are deleted or moved. Later, remove
     // redundant information to minimize final SPRIR-V size.
     if (options->generateDebugInfo) {
-// BK -        optimizer.RegisterPass(spvtools::CreatePropagateLineInfoPass());
+        optimizer.RegisterPass(spvtools::CreatePropagateLineInfoPass());
     }
     optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass());
     optimizer.RegisterPass(spvtools::CreateMergeReturnPass());
@@ -188,7 +188,7 @@ void SpirvToolsLegalize(const glslang::TIntermediate&, std::vector<unsigned int>
     optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
     optimizer.RegisterPass(spvtools::CreateCFGCleanupPass());
     if (options->generateDebugInfo) {
-// BK -        optimizer.RegisterPass(spvtools::CreateRedundantLineInfoElimPass());
+        optimizer.RegisterPass(spvtools::CreateRedundantLineInfoElimPass());
     }
 
     optimizer.Run(spirv.data(), spirv.size(), &spirv);

+ 1 - 0
3rdparty/glslang/Test/baseResults/spv.int16.amd.frag.out

@@ -1,4 +1,5 @@
 spv.int16.amd.frag
+Validation failed
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 560

+ 2 - 2
3rdparty/glslang/known_good.json

@@ -5,14 +5,14 @@
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Tools",
       "subdir" : "External/spirv-tools",
-      "commit" : "24328a0554654d9e205b532288044d6d203c3f2c"
+      "commit" : "a87d3ce48e88a653e855c3245a6b68deeae58efc"
     },
     {
       "name" : "spirv-tools/external/spirv-headers",
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Headers",
       "subdir" : "External/spirv-tools/external/spirv-headers",
-      "commit" : "17da9f8231f78cf519b4958c2229463a63ead9e2"
+      "commit" : "4618b86e9e4b027a22040732dfee35e399cd2c47"
     }
   ]
 }

+ 15 - 4
3rdparty/spirv-tools/Android.mk

@@ -1,6 +1,9 @@
 LOCAL_PATH := $(call my-dir)
 SPVTOOLS_OUT_PATH=$(if $(call host-path-is-absolute,$(TARGET_OUT)),$(TARGET_OUT),$(abspath $(TARGET_OUT)))
-SPVHEADERS_LOCAL_PATH := $(LOCAL_PATH)/external/spirv-headers
+
+ifeq ($(SPVHEADERS_LOCAL_PATH),)
+	SPVHEADERS_LOCAL_PATH := $(LOCAL_PATH)/external/spirv-headers
+endif
 
 SPVTOOLS_SRC_FILES := \
 		source/assembly_grammar.cpp \
@@ -19,6 +22,7 @@ SPVTOOLS_SRC_FILES := \
 		source/print.cpp \
 		source/software_version.cpp \
 		source/spirv_endian.cpp \
+		source/spirv_optimizer_options.cpp \
 		source/spirv_target_env.cpp \
 		source/spirv_validator_options.cpp \
 		source/table.cpp \
@@ -50,7 +54,7 @@ SPVTOOLS_SRC_FILES := \
 		source/val/validate_debug.cpp \
 		source/val/validate_decorations.cpp \
 		source/val/validate_derivatives.cpp \
-		source/val/validate_ext_inst.cpp \
+		source/val/validate_extensions.cpp \
 		source/val/validate_execution_limitations.cpp \
 		source/val/validate_function.cpp \
 		source/val/validate_id.cpp \
@@ -58,12 +62,14 @@ SPVTOOLS_SRC_FILES := \
 		source/val/validate_interfaces.cpp \
 		source/val/validate_instruction.cpp \
 		source/val/validate_memory.cpp \
+		source/val/validate_memory_semantics.cpp \
 		source/val/validate_mode_setting.cpp \
 		source/val/validate_layout.cpp \
 		source/val/validate_literals.cpp \
 		source/val/validate_logicals.cpp \
 		source/val/validate_non_uniform.cpp \
 		source/val/validate_primitives.cpp \
+		source/val/validate_scopes.cpp \
 		source/val/validate_type.cpp
 
 SPVTOOLS_OPT_SRC_FILES := \
@@ -101,8 +107,10 @@ SPVTOOLS_OPT_SRC_FILES := \
 		source/opt/inline_pass.cpp \
 		source/opt/inline_exhaustive_pass.cpp \
 		source/opt/inline_opaque_pass.cpp \
+		source/opt/inst_bindless_check_pass.cpp \
 		source/opt/instruction.cpp \
 		source/opt/instruction_list.cpp \
+		source/opt/instrument_pass.cpp \
 		source/opt/ir_context.cpp \
 		source/opt/ir_loader.cpp \
 		source/opt/licm_pass.cpp \
@@ -128,6 +136,7 @@ SPVTOOLS_OPT_SRC_FILES := \
 		source/opt/pass.cpp \
 		source/opt/pass_manager.cpp \
 		source/opt/private_to_local_pass.cpp \
+		source/opt/process_lines_pass.cpp \
 		source/opt/propagator.cpp \
 		source/opt/reduce_load_size.cpp \
 		source/opt/redundancy_elimination.cpp \
@@ -143,9 +152,11 @@ SPVTOOLS_OPT_SRC_FILES := \
 		source/opt/strength_reduction_pass.cpp \
 		source/opt/strip_debug_info_pass.cpp \
 		source/opt/strip_reflect_info_pass.cpp \
+		source/opt/struct_cfg_analysis.cpp \
 		source/opt/type_manager.cpp \
 		source/opt/types.cpp \
 		source/opt/unify_const_pass.cpp \
+		source/opt/upgrade_memory_model.cpp \
 		source/opt/value_number_table.cpp \
 		source/opt/vector_dce.cpp \
 		source/opt/workaround1209.cpp
@@ -310,7 +321,7 @@ include $(CLEAR_VARS)
 LOCAL_MODULE := SPIRV-Tools
 LOCAL_C_INCLUDES := \
 		$(LOCAL_PATH)/include \
-		$(LOCAL_PATH)/external/spirv-headers/include \
+		$(SPVHEADERS_LOCAL_PATH)/include \
 		$(SPVTOOLS_OUT_PATH)
 LOCAL_EXPORT_C_INCLUDES := \
 		$(LOCAL_PATH)/include
@@ -323,7 +334,7 @@ LOCAL_MODULE := SPIRV-Tools-opt
 LOCAL_C_INCLUDES := \
 		$(LOCAL_PATH)/include \
 		$(LOCAL_PATH)/source \
-		$(LOCAL_PATH)/external/spirv-headers/include \
+		$(SPVHEADERS_LOCAL_PATH)/include \
 		$(SPVTOOLS_OUT_PATH)
 LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror
 LOCAL_STATIC_LIBRARIES:=SPIRV-Tools

+ 63 - 20
3rdparty/spirv-tools/BUILD.gn

@@ -273,19 +273,36 @@ foreach(table, spvtools_vendor_tables) {
   }
 }
 
-config("spvtools_config") {
+config("spvtools_public_config") {
+  include_dirs = [ "include" ]
+}
+
+config("spvtools_internal_config") {
   include_dirs = [
     ".",
-    "include",
     "$target_gen_dir",
     "${spirv_headers}/include",
   ]
 
+  configs = [ ":spvtools_public_config" ]
+
   if (is_clang) {
     cflags = [ "-Wno-implicit-fallthrough" ]
   }
 }
 
+source_set("spvtools_headers") {
+  sources = [
+    "include/spirv-tools/libspirv.h",
+    "include/spirv-tools/libspirv.hpp",
+    "include/spirv-tools/linker.hpp",
+    "include/spirv-tools/optimizer.hpp",
+    "include/spirv-tools/instrument.hpp",
+  ]
+
+  public_configs = [ ":spvtools_public_config" ]
+}
+
 static_library("spvtools") {
   deps = [
     ":spvtools_core_enums_unified1",
@@ -330,6 +347,8 @@ static_library("spvtools") {
     "source/spirv_definition.h",
     "source/spirv_endian.cpp",
     "source/spirv_endian.h",
+    "source/spirv_optimizer_options.cpp",
+    "source/spirv_optimizer_options.h",
     "source/spirv_target_env.cpp",
     "source/spirv_target_env.h",
     "source/spirv_validator_options.cpp",
@@ -356,9 +375,15 @@ static_library("spvtools") {
     "source/util/timer.h",
   ]
 
-  public_configs = [ ":spvtools_config" ]
+  public_deps = [
+    ":spvtools_headers",
+  ]
+
   configs -= [ "//build/config/compiler:chromium_code" ]
-  configs += [ "//build/config/compiler:no_chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":spvtools_internal_config",
+  ]
 }
 
 static_library("spvtools_val") {
@@ -386,7 +411,7 @@ static_library("spvtools_val") {
     "source/val/validate_decorations.cpp",
     "source/val/validate_derivatives.cpp",
     "source/val/validate_execution_limitations.cpp",
-    "source/val/validate_ext_inst.cpp",
+    "source/val/validate_extensions.cpp",
     "source/val/validate_function.cpp",
     "source/val/validate_id.cpp",
     "source/val/validate_image.cpp",
@@ -396,9 +421,11 @@ static_library("spvtools_val") {
     "source/val/validate_literals.cpp",
     "source/val/validate_logicals.cpp",
     "source/val/validate_memory.cpp",
+    "source/val/validate_memory_semantics.cpp",
     "source/val/validate_mode_setting.cpp",
     "source/val/validate_non_uniform.cpp",
     "source/val/validate_primitives.cpp",
+    "source/val/validate_scopes.cpp",
     "source/val/validate_type.cpp",
     "source/val/validation_state.cpp",
   ]
@@ -406,10 +433,15 @@ static_library("spvtools_val") {
   deps = [
     ":spvtools",
   ]
+  public_deps = [
+    ":spvtools_headers",
+  ]
 
-  public_configs = [ ":spvtools_config" ]
   configs -= [ "//build/config/compiler:chromium_code" ]
-  configs += [ "//build/config/compiler:no_chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":spvtools_internal_config",
+  ]
 }
 
 static_library("spvtools_opt") {
@@ -482,10 +514,14 @@ static_library("spvtools_opt") {
     "source/opt/inline_opaque_pass.h",
     "source/opt/inline_pass.cpp",
     "source/opt/inline_pass.h",
+    "source/opt/inst_bindless_check_pass.cpp",
+    "source/opt/inst_bindless_check_pass.h",
     "source/opt/instruction.cpp",
     "source/opt/instruction.h",
     "source/opt/instruction_list.cpp",
     "source/opt/instruction_list.h",
+    "source/opt/instrument_pass.cpp",
+    "source/opt/instrument_pass.h",
     "source/opt/ir_builder.h",
     "source/opt/ir_context.cpp",
     "source/opt/ir_context.h",
@@ -539,6 +575,8 @@ static_library("spvtools_opt") {
     "source/opt/passes.h",
     "source/opt/private_to_local_pass.cpp",
     "source/opt/private_to_local_pass.h",
+    "source/opt/process_lines_pass.cpp",
+    "source/opt/process_lines_pass.h",
     "source/opt/propagator.cpp",
     "source/opt/propagator.h",
     "source/opt/reduce_load_size.cpp",
@@ -570,6 +608,8 @@ static_library("spvtools_opt") {
     "source/opt/strip_debug_info_pass.h",
     "source/opt/strip_reflect_info_pass.cpp",
     "source/opt/strip_reflect_info_pass.h",
+    "source/opt/struct_cfg_analysis.cpp",
+    "source/opt/struct_cfg_analysis.h",
     "source/opt/tree_iterator.h",
     "source/opt/type_manager.cpp",
     "source/opt/type_manager.h",
@@ -577,6 +617,8 @@ static_library("spvtools_opt") {
     "source/opt/types.h",
     "source/opt/unify_const_pass.cpp",
     "source/opt/unify_const_pass.h",
+    "source/opt/upgrade_memory_model.cpp",
+    "source/opt/upgrade_memory_model.h",
     "source/opt/value_number_table.cpp",
     "source/opt/value_number_table.h",
     "source/opt/vector_dce.cpp",
@@ -584,13 +626,19 @@ static_library("spvtools_opt") {
     "source/opt/workaround1209.cpp",
     "source/opt/workaround1209.h",
   ]
+
   deps = [
     ":spvtools",
   ]
+  public_deps = [
+    ":spvtools_headers",
+  ]
 
-  public_configs = [ ":spvtools_config" ]
   configs -= [ "//build/config/compiler:chromium_code" ]
-  configs += [ "//build/config/compiler:no_chromium_code" ]
+  configs += [
+    "//build/config/compiler:no_chromium_code",
+    ":spvtools_internal_config",
+  ]
 }
 
 group("SPIRV-Tools") {
@@ -641,12 +689,6 @@ if (!build_with_chromium) {
   }
 }
 
-config("spvtools_test_config") {
-  if (is_clang) {
-    cflags = [ "-Wno-self-assign" ]
-  }
-}
-
 test("spvtools_test") {
   sources = [
     "test/assembly_context_test.cpp",
@@ -728,10 +770,11 @@ test("spvtools_test") {
     sources += [ "${googletest_dir}/googletest/src/gtest_main.cc" ]
   }
 
-  configs += [
-    ":spvtools_config",
-    ":spvtools_test_config",
-  ]
+  if (is_clang) {
+    cflags_cc = [ "-Wno-self-assign" ]
+  }
+
+  configs += [ ":spvtools_internal_config" ]
 }
 
 if (spirv_tools_standalone) {
@@ -752,5 +795,5 @@ executable("spirv-as") {
     ":spvtools",
     ":spvtools_build_version",
   ]
-  configs += [ ":spvtools_config" ]
+  configs += [ ":spvtools_internal_config" ]
 }

+ 114 - 1
3rdparty/spirv-tools/CHANGES

@@ -1,7 +1,98 @@
 Revision history for SPIRV-Tools
 
-v2018.5-dev 2018-07-08
+v2018.7-dev 2018-12-10
  - General:
+   - Created a new tool called spirv-reduce.
+   - Add cmake option to turn off SPIRV_TIMER_ENABLED (#2103)
+   - New optimization pass to update the memory model from GLSL450 to VulkanKHR.
+ - Optimizer
+   - Added the instrumentation passes for bindless validation.
+   - Added passes to help preserve OpLine information (#2027)
+   - Add basic support for EXT_fragment_invocation_density (#2100)
+   - Fix invalid OpPhi generated by merge-return. (#2172)
+   Fixes:
+   - #2018: Don't inline functions with a return in a structured CFG contstruct.
+   - #2047: Fix bug in folding when volatile stores are present.
+   - #2053: Fix check for when folding floating pointer values is allowed.
+   - #2130: Don't inline recursive functions.
+ - Validator
+   - Changed the naming convention of outputing ids with names in diagnostic messages.
+   - Added validation rules for UniformConstant variables in Vulkan.
+   - #1949: Validate uniform variable type in Vulkan
+   - Ensure for OpVariable that result type and storage class operand agree (#2052)
+   - Validator: Support VK_EXT_scalar_block_layout
+   - Added Vulkan memory model semantics validation
+   - Added validation checkes spefic to WebGPU environment.
+   - Add support for VK_EXT_Transform_feedback capabilities (#2088)
+   - Add validation for OpArrayLength. (#2117)
+   - Ensure that function parameter's type is not void (#2118)
+   - Validate pointer variables (#2111)
+   - Add check for QueueFamilyKHMR memory scope (#2144)
+   - Validate PushConstants annotation and type (#2140)
+   - Allow Float16/Int8 for Vulkan 1.0 (#2153)
+   - Check binding annotations in resource variables (#2151, #2167)
+   - Validate OpForwardPointer (#2156)
+   Fixes:
+   - #2049: Allow InstanceId for NV ray tracing
+ - Reduce
+   - Initial commit wit a few passes to reduce test cases.
+   Fixes:
+ 
+
+v2018.6 2018-11-07
+ - General:
+   - Added support for the Nvidia Turing and ray tracing extensions.
+   - Make C++11 the CXX standard in CMakeLists.txt.
+   - Enabled a parallel build for MSVC.
+   - Enable pre-compiled headers for MSVC.
+   - Added a code of conduct.
+   - EFFCEE and RE2 are now required when build the tests.
+ - Optimizer
+   - Unrolling loops marked for unrolling in the legalization passes.
+   - Improved the compile time of loop unrolling.
+   - Changee merge-return to create a dummy loop around the function.
+   - Small improvement to merge-blocks to allow it to merge more often.
+   - Enforce an upper bound for the ids, and add option to set it.
+   - #1966: Report error if there are unreachable block before running merge return
+   Fixes:
+   - #1917: Allow 0 (meaning unlimited) as a parameter to --scalar-replacement
+   - #1915: Improve handling of group decorations.
+   - #1942: Fix incorrect uses of the constant manager.  Avoids type mismatches in generated code.
+   - #1997: Fix dead branch elimination when there is a loop in folded selection.
+   - #1991: Fixes legality check in if-conversion.
+   - #1987: Add nullptr check to array copy propagation.
+   - #1984: Better handling of OpUnreachable in ADCE.
+   - #1983: Run merge return on reachable functions only.
+   - #1956: Handled atomic operations in ADCE.
+   - #1963: Fold integer divisions by 0 to 0.
+   - #2019: Handle MemberDecorateStringGOOGLE in ADCE and strip reflect.
+ - Validator
+   - Added validation for OpGroupNonUniformBallotBitCount.
+   - Added validation for the Vulkan memory model.
+   - Added support for VK_KHR_shader_atddomic_int64.
+   - Added validation for execution modes.
+   - Added validation for runtime array layouts.
+   - Added validation for 8-bit storage.
+   - Added validation of OpPhi instructions with pointer result type.
+   - Added checks for the Vulkan memory model.
+   - Validate MakeTexelAvailableKHR and MakeTexelVisibleKHR
+   - Allow atomic function pointer for OpenCL.
+   - FPRounding mode checks were implemented.
+   - Added validation for the id bound with an option to set the max id bound.
+   Fixes:
+   - #1882: Improve the validation of decorations to reduce memory usage.
+   - #1891: Fix an potential infinite loop in dead-branch-elimination.
+   - #1405: Validate the storage class of boolean objects.
+   - #1880: Identify arrays of type void as invalid.
+   - #487: Validate OpImageTexelPointer.
+   - #1922: Validate OpPhi instructions are at the start of a block correctly.
+   - #1923: Validate function scope variable are at the start of the entry block.
+
+v2018.5 2018-09-07
+ - General:
+   - Support SPV_KHR_vulkan_memory_model
+   - Update Dim capabilities, to match SPIR-V 1.3 Rev 4
+   - Automated build bots no run tests for the VS2013 case
    - Support Chromium GN build
    - Use Kokoro bots:
      - Disable Travis-CI bots
@@ -11,26 +102,48 @@ v2018.5-dev 2018-07-08
    - Fixes for ClangTidy, and whitespace (passes 'git cl presumit --all -uf')
    - Fix unused param compile warnings/errors when Effcee not present
    - Avoid including time headers when timer functionality is disabled
+   - Avoid too-stringent warnings flags for Clang on Windows
+   - Internal refactoring
+   - Add hooks for automated fuzzing
+   - Add testing of command line executables
    - #1688: Use binary mode on stdin; fixes "spirv-dis <foo.spv" on Windows
  - Optimizer
+   - The optimizer validates the module before it begins
    - Add API to register passes by string name
    - Fold a vector shuffle feeding a vector shuffle
    - Add -combine-access-chains transform
    - Refactor how IRContext is handled by passes
    - Improve bookkeeping for instruction result type and result id
+   - Fix over-duplication of decorations
+   - Fix handling of exits from selections in dead-branch elimination, and dead code
+     elimination.
+   - Fix handling of certain kinds of flow control in merge-return
+   Fixes:
    - #1721: Fix size bug when folding vector shuffles
    - #1722: Fix size infinite loop when folding vector shuffles
    - #1724: Fix finding a constant of a specific type
    - #1727: Dead branch elim: Reorder blocks if needed to satisfy dominance rule
    - #1729: Handle VariablePointers cases in various optimizations
    - #1731: Fix vector shuffle with literal id indicating undef value
+   - #1736: Fix handling of decorations and phis in merge-return
+   - #1787: Fix handling of decorations related to access chains
+   - #1865: Avoid leaking memory for SPIR-V constant values
  - Validator
    - Improve error messages
+   - Avoid platform-dependent traversal ordering, to ensure consistent messages
    - Use libspirv::Instruction where possible
    - Add option to skip all block layout checks
+   - Validate all type IDs
+   - Validate uses of OpFunction
+   - Validate uses of OpTypeFunction
+   - Disallow a struct containing its own type https://crbug.com/874372
    - #1685: Vulkan permits non-monotonic offsets for block members
    - #1697: Enforce block layout rules even when using relaxed block layout option
    - #1719: Fix line number for vector shuffle valiation error
+   - #1789: Avoid assertion failure when validating some functions
+   - #1800: Fix validation of OpCopyMemorySized
+   - #1822: Stop enforcing struct member offset montonicity
+   - #1831: Disallow void members in structs
 
 v2018.4 2018-07-08
  - General:

+ 20 - 6
3rdparty/spirv-tools/CMakeLists.txt

@@ -32,10 +32,13 @@ include(GNUInstallDirs)
 include(cmake/setup_build.cmake)
 
 set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+set(CMAKE_CXX_STANDARD 11)
+
+option(SPIRV_ALLOW_TIMERS "Allow timers via clock_gettime on supported platforms" ON)
 
 if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
   add_definitions(-DSPIRV_LINUX)
-  set(SPIRV_TIMER_ENABLED ON)
+  set(SPIRV_TIMER_ENABLED ${SPIRV_ALLOW_TIMERS})
 elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
   add_definitions(-DSPIRV_WINDOWS)
 elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
@@ -44,7 +47,7 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
   add_definitions(-DSPIRV_MAC)
 elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
   add_definitions(-DSPIRV_ANDROID)
-  set(SPIRV_TIMER_ENABLED ON)
+  set(SPIRV_TIMER_ENABLED ${SPIRV_ALLOW_TIMERS})
 elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
   add_definitions(-DSPIRV_FREEBSD)
 else()
@@ -138,6 +141,8 @@ function(spvtools_default_compile_options TARGET)
         target_compile_options(${TARGET} PRIVATE
           -fsanitize=${SPIRV_USE_SANITIZER})
       endif()
+      target_compile_options(${TARGET} PRIVATE
+         -ftemplate-depth=1024)
     else()
       target_compile_options(${TARGET} PRIVATE
          -Wno-missing-field-initializers)
@@ -209,11 +214,19 @@ if (${SPIRV_CHECK_CONTEXT})
   add_definitions(-DSPIRV_CHECK_CONTEXT)
 endif()
 
-add_subdirectory(external)
+# Precompiled header macro. Parameters are source file list and filename for pch cpp file.
+macro(spvtools_pch SRCS PCHPREFIX)
+  if(MSVC AND CMAKE_GENERATOR MATCHES "^Visual Studio")
+    set(PCH_NAME "$(IntDir)\\${PCHPREFIX}.pch")
+    # make source files use/depend on PCH_NAME
+    set_source_files_properties(${${SRCS}} PROPERTIES COMPILE_FLAGS "/Yu${PCHPREFIX}.h /FI${PCHPREFIX}.h /Fp${PCH_NAME} /Zm300" OBJECT_DEPENDS "${PCH_NAME}")
+    # make PCHPREFIX.cpp file compile and generate PCH_NAME
+    set_source_files_properties("${PCHPREFIX}.cpp" PROPERTIES COMPILE_FLAGS "/Yc${PCHPREFIX}.h /Fp${PCH_NAME} /Zm300" OBJECT_OUTPUTS "${PCH_NAME}")
+    list(APPEND ${SRCS} "${PCHPREFIX}.cpp")
+  endif()
+endmacro(spvtools_pch)
 
-if (TARGET effcee)
-  add_definitions(-DSPIRV_EFFCEE)
-endif()
+add_subdirectory(external)
 
 add_subdirectory(source)
 add_subdirectory(tools)
@@ -228,6 +241,7 @@ if(ENABLE_SPIRV_TOOLS_INSTALL)
       ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv-tools/libspirv.hpp
       ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv-tools/optimizer.hpp
       ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv-tools/linker.hpp
+      ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv-tools/instrument.hpp
     DESTINATION
       ${CMAKE_INSTALL_INCLUDEDIR}/spirv-tools/)
 endif(ENABLE_SPIRV_TOOLS_INSTALL)

+ 1 - 0
3rdparty/spirv-tools/CODE_OF_CONDUCT.md

@@ -0,0 +1 @@
+A reminder that this issue tracker is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct (https://www.khronos.org/developers/code-of-conduct), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil.

+ 1 - 1
3rdparty/spirv-tools/DEPS

@@ -11,7 +11,7 @@ vars = {
   'googletest_revision': '98a0d007d7092b72eea0e501bb9ad17908a1a036',
   'testing_revision': '340252637e2e7c72c0901dcbeeacfff419e19b59',
   're2_revision': '6cf8ccd82dbaab2668e9b13596c68183c9ecd13f',
-  'spirv_headers_revision': 'ff684ffc6a35d2a58f0f63108877d0064ea33feb',
+  'spirv_headers_revision': 'd5b2e1255f706ce1f88812217e9a554f299848af',
 }
 
 deps = {

+ 9 - 5
3rdparty/spirv-tools/README.md

@@ -163,7 +163,10 @@ Contributions via merge request are welcome. Changes should:
   other contribution to GitHub.
 * Include tests to cover updated functionality.
 * C++ code should follow the [Google C++ Style Guide][cpp-style-guide].
-* Code should be formatted with `clang-format`.  Settings are defined by
+* Code should be formatted with `clang-format`.
+  [kokoro/check-format/build.sh](kokoro/check-format/build.sh)
+  shows how to download it. Note that we currently use
+  `clang-format version 5.0.0` for SPIRV-Tools. Settings are defined by
   the included [.clang-format](.clang-format) file.
 
 We intend to maintain a linear history on the GitHub `master` branch.
@@ -175,7 +178,7 @@ We intend to maintain a linear history on the GitHub `master` branch.
   [googletest][googletest] sources, not provided
 * `external/effcee`: Location of [Effcee][effcee] sources, if the `effcee` library
   is not already configured by an enclosing project.
-* `external/re2`: Location of [RE2][re2] sources, if the `effcee` library is not already
+* `external/re2`: Location of [RE2][re2] sources, if the `re2` library is not already
   configured by an enclosing project.
   (The Effcee project already requires RE2.)
 * `include/`: API clients should add this directory to the include search path
@@ -212,7 +215,7 @@ tests:
 The fix is included on the googletest master branch any time after 2015-11-10.
 In particular, googletest must be newer than version 1.7.0.
 
-### Optional dependency on Effcee
+### Dependency on Effcee
 
 Some tests depend on the [Effcee][effcee] library for stateful matching.
 Effcee itself depends on [RE2][re2].
@@ -222,7 +225,6 @@ Effcee itself depends on [RE2][re2].
 * Otherwise, SPIRV-Tools expects Effcee sources to appear in `external/effcee`
   and RE2 sources to appear in `external/re2`.
 
-Currently Effcee is an optional dependency, but soon it will be required.
 
 ## Build
 
@@ -239,6 +241,8 @@ out code:
 ```sh
 cd <spirv-dir>
 git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers
+git clone https://github.com/google/effcee.git external/effcee
+git clone https://github.com/google/re2.git external/re2
 git clone https://github.com/google/googletest.git external/googletest # optional
 
 mkdir build && cd build
@@ -269,7 +273,7 @@ The following CMake options are supported:
   See [`CMakeLists.txt`](CMakeLists.txt) for details.
 * `SPIRV_WERROR={ON|OFF}`, default `ON` - Forces a compilation error on any
   warnings encountered by enabling the compiler-specific compiler front-end
-  option.
+  option.  No compiler front-end options are enabled when this option is OFF.
 
 Additionally, you can pass additional C preprocessor definitions to SPIRV-Tools
 via setting `SPIRV_TOOLS_EXTRA_DEFINITIONS`. For example, by setting it to

+ 437 - 0
3rdparty/spirv-tools/build/CMakeCache.txt

@@ -0,0 +1,437 @@
+# This is the CMakeCache file.
+# For build in directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+# It was generated by CMake: /usr/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
+// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//Flags used by the compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the compiler during debug builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the compiler during release builds for minimum
+// size.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the compiler during release builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the compiler during release builds with debug info.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//Flags used by the compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the compiler during debug builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the compiler during release builds for minimum
+// size.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the compiler during release builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the compiler during release builds with debug info.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Flags used by the linker.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
+
+//user executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//system admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//Flags used by the linker during the creation of modules.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=spirv-tools
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Flags used by the linker during the creation of dll's.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during debug builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during release minsize builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during release builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during Release with Debug Info builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make.  This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Path to a program.
+NOSETESTS_EXE:FILEPATH=NOSETESTS_EXE-NOTFOUND
+
+//Path to a program.
+PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python
+
+//Run RE2 Tests
+RE2_BUILD_TESTING:STRING=OFF
+
+//Skip installation
+SKIP_SPIRV_TOOLS_INSTALL:BOOL=OFF
+
+//Dependencies for the target
+SPIRV-Tools-link_LIB_DEPENDS:STATIC=general;SPIRV-Tools-opt;
+
+//Dependencies for the target
+SPIRV-Tools-opt_LIB_DEPENDS:STATIC=general;SPIRV-Tools;
+
+//Dependencies for target
+SPIRV-Tools-shared_LIB_DEPENDS:STATIC=
+
+//Dependencies for target
+SPIRV-Tools_LIB_DEPENDS:STATIC=
+
+//Build SPIR-V compressing codec
+SPIRV_BUILD_COMPRESSION:BOOL=OFF
+
+//In a debug build, check if the IR context is in a valid state.
+SPIRV_CHECK_CONTEXT:BOOL=ON
+
+//Enable color terminal output
+SPIRV_COLOR_TERMINAL:BOOL=ON
+
+//Enable excessive debug output
+SPIRV_LOG_DEBUG:BOOL=OFF
+
+//Skip building the executable and tests along with the library
+SPIRV_SKIP_EXECUTABLES:BOOL=OFF
+
+//Skip building tests along with the library
+SPIRV_SKIP_TESTS:BOOL=OFF
+
+//Install Emacs helper to disassemble/assemble SPIR-V binaries
+// on file load/save.
+SPIRV_TOOLS_INSTALL_EMACS_HELPERS:BOOL=OFF
+
+//Enable -Weverything
+SPIRV_WARN_EVERYTHING:BOOL=OFF
+
+//Enable error on warning
+SPIRV_WERROR:BOOL=ON
+
+//Value Computed by CMake
+spirv-tools_BINARY_DIR:STATIC=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+//Value Computed by CMake
+spirv-tools_SOURCE_DIR:STATIC=/home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=5
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/bkaradzic/Private/projects/_github/SPIRV-Tools
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=22
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.5
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//Details about finding PythonInterp
+FIND_PACKAGE_MESSAGE_DETAILS_PythonInterp:INTERNAL=[/usr/bin/python][v2.7.12()]
+//ADVANCED property for variable: PYTHON_EXECUTABLE
+PYTHON_EXECUTABLE-ADVANCED:INTERNAL=1
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+

+ 67 - 0
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake

@@ -0,0 +1,67 @@
+set(CMAKE_C_COMPILER "/usr/bin/cc")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "7.3.0")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
+set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert")
+set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_static_assert")
+
+set(CMAKE_C_PLATFORM_ID "Linux")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+  set(CYGWIN 1)
+  set(UNIX 1)
+endif()
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "ELF")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

+ 68 - 0
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeCXXCompiler.cmake

@@ -0,0 +1,68 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "7.3.0")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_template_template_parameters;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+  set(CYGWIN 1)
+  set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

BIN
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin


BIN
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin


+ 15 - 0
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CMakeSystem.cmake

@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-4.15.0-36-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-36-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-4.15.0-36-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "4.15.0-36-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)

+ 544 - 0
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdC/CMakeCCompilerId.c

@@ -0,0 +1,544 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+  /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+  /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+   /* __SUNPRO_C = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+  /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+  /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
+# define COMPILER_ID "XL"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+  /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+  /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+#  if _MSC_VER >= 1400
+    /* _MSC_FULL_VER = VVRRPPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+#  else
+    /* _MSC_FULL_VER = VVRRPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+#  endif
+# endif
+# if defined(_MSC_BUILD)
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+
+#elif defined(__ARMCC_VERSION)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+  /* __ARMCC_VERSION = VRRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
+#else
+  /* __ARMCC_VERSION = VRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
+#endif
+
+
+#elif defined(SDCC)
+# define COMPILER_ID "SDCC"
+  /* SDCC = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)
+
+#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
+# define COMPILER_ID "MIPSpro"
+# if defined(_SGI_COMPILER_VERSION)
+  /* _SGI_COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION    % 10)
+# else
+  /* _COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION    % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__sgi)
+# define COMPILER_ID "MIPSpro"
+
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
+# define PLATFORM_ID "IRIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+#  define PLATFORM_ID ""
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID ""
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#else
+#  define ARCHITECTURE_ID ""
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if !defined(__STDC_VERSION__)
+  "90"
+#elif __STDC_VERSION__ >= 201000L
+  "11"
+#elif __STDC_VERSION__ >= 199901L
+  "99"
+#else
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+int main(int argc, char* argv[])
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+  require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+  require += info_cray[argc];
+#endif
+  require += info_language_dialect_default[argc];
+  (void)argv;
+  return require;
+}
+#endif

BIN
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdC/a.out


+ 533 - 0
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdCXX/CMakeCXXCompilerId.cpp

@@ -0,0 +1,533 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+   recognize the extension without flags.  Borland does not know .cxx for
+   example.  */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+  /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+  /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+  /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+   /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+   /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+   /* __SUNPRO_CC = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC    & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+  /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC     % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+  /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER         % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+  /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+   /* _MSC_VER = VVRR */
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+  /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+#  if _MSC_VER >= 1400
+    /* _MSC_FULL_VER = VVRRPPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+#  else
+    /* _MSC_FULL_VER = VVRRPPPP */
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+#  endif
+# endif
+# if defined(_MSC_BUILD)
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+
+#elif defined(__ARMCC_VERSION)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+  /* __ARMCC_VERSION = VRRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)
+#else
+  /* __ARMCC_VERSION = VRPPPP */
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)
+#endif
+
+
+#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
+# define COMPILER_ID "MIPSpro"
+# if defined(_SGI_COMPILER_VERSION)
+  /* _SGI_COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION    % 10)
+# else
+  /* _COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION    % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+  identification macro.  Try to identify the platform and guess that
+  it is the native compiler.  */
+#elif defined(__sgi)
+# define COMPILER_ID "MIPSpro"
+
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name.  */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__sgi) || defined(__sgi__) || defined(_SGI)
+# define PLATFORM_ID "IRIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+#  define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+#  define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+#  define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+#  define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+#  define PLATFORM_ID ""
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID ""
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+   the architecture of the compiler being used.  This is because
+   the compilers do not have flags that can change the architecture,
+   but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+#  define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+#  define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM)
+#  if _M_ARM == 4
+#   define ARCHITECTURE_ID "ARMV4I"
+#  elif _M_ARM == 5
+#   define ARCHITECTURE_ID "ARMV5I"
+#  else
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+#  endif
+
+# elif defined(_M_MIPS)
+#  define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+#  define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+#  define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+#  define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+#  define ARCHITECTURE_ID ""
+# endif
+
+#else
+#  define ARCHITECTURE_ID ""
+#endif
+
+/* Convert integer to decimal digit literals.  */
+#define DEC(n)                   \
+  ('0' + (((n) / 10000000)%10)), \
+  ('0' + (((n) / 1000000)%10)),  \
+  ('0' + (((n) / 100000)%10)),   \
+  ('0' + (((n) / 10000)%10)),    \
+  ('0' + (((n) / 1000)%10)),     \
+  ('0' + (((n) / 100)%10)),      \
+  ('0' + (((n) / 10)%10)),       \
+  ('0' +  ((n) % 10))
+
+/* Convert integer to hex digit literals.  */
+#define HEX(n)             \
+  ('0' + ((n)>>28 & 0xF)), \
+  ('0' + ((n)>>24 & 0xF)), \
+  ('0' + ((n)>>20 & 0xF)), \
+  ('0' + ((n)>>16 & 0xF)), \
+  ('0' + ((n)>>12 & 0xF)), \
+  ('0' + ((n)>>8  & 0xF)), \
+  ('0' + ((n)>>4  & 0xF)), \
+  ('0' + ((n)     & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+  COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+  '.', COMPILER_VERSION_MINOR,
+#  ifdef COMPILER_VERSION_PATCH
+   '.', COMPILER_VERSION_PATCH,
+#   ifdef COMPILER_VERSION_TWEAK
+    '.', COMPILER_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+  'I', 'N', 'F', 'O', ':',
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+  SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+  '.', SIMULATE_VERSION_MINOR,
+#  ifdef SIMULATE_VERSION_PATCH
+   '.', SIMULATE_VERSION_PATCH,
+#   ifdef SIMULATE_VERSION_TWEAK
+    '.', SIMULATE_VERSION_TWEAK,
+#   endif
+#  endif
+# endif
+  ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+   getting matched.  Store it in a pointer rather than an array
+   because some compilers will just produce instructions to fill the
+   array rather than assigning a pointer to a static array.  */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if __cplusplus >= 201402L
+  "14"
+#elif __cplusplus >= 201103L
+  "11"
+#else
+  "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+  require += info_version[argc];
+#endif
+#ifdef SIMULATE_ID
+  require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+  require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+  require += info_cray[argc];
+#endif
+  require += info_language_dialect_default[argc];
+  (void)argv;
+  return require;
+}

BIN
3rdparty/spirv-tools/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out


+ 16 - 0
3rdparty/spirv-tools/build/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/bkaradzic/Private/projects/_github/SPIRV-Tools")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 566 - 0
3rdparty/spirv-tools/build/CMakeFiles/CMakeOutput.log

@@ -0,0 +1,566 @@
+The system is: Linux - 4.15.0-36-generic - x86_64
+Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
+Compiler: /usr/bin/cc 
+Build flags: 
+Id flags: 
+
+The output was:
+0
+
+
+Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
+
+The C compiler identification is GNU, found in "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/3.5.1/CompilerIdC/a.out"
+
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++ 
+Build flags: 
+Id flags: 
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out"
+
+Determining if the C compiler works passed with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_29485/fast"
+/usr/bin/make -f CMakeFiles/cmTC_29485.dir/build.make CMakeFiles/cmTC_29485.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_29485.dir/testCCompiler.c.o
+/usr/bin/cc     -o CMakeFiles/cmTC_29485.dir/testCCompiler.c.o   -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp/testCCompiler.c
+Linking C executable cmTC_29485
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_29485.dir/link.txt --verbose=1
+/usr/bin/cc       CMakeFiles/cmTC_29485.dir/testCCompiler.c.o  -o cmTC_29485 -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+Detecting C compiler ABI info compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_26ef8/fast"
+/usr/bin/make -f CMakeFiles/cmTC_26ef8.dir/build.make CMakeFiles/cmTC_26ef8.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o
+/usr/bin/cc     -o CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.5/Modules/CMakeCCompilerABI.c
+Linking C executable cmTC_26ef8
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26ef8.dir/link.txt --verbose=1
+/usr/bin/cc      -v CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o  -o cmTC_26ef8 -rdynamic  
+Using built-in specs.
+COLLECT_GCC=/usr/bin/cc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 7.3.0 (Ubuntu 7.3.0-21ubuntu1~16.04) 
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26ef8' '-rdynamic' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQFAwlw.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_26ef8 /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26ef8' '-rdynamic' '-mtune=generic' '-march=x86-64'
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+Parsed C implicit link information from above output:
+  link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+  ignore line: [Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp]
+  ignore line: []
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_26ef8/fast"]
+  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_26ef8.dir/build.make CMakeFiles/cmTC_26ef8.dir/build]
+  ignore line: [make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp']
+  ignore line: [Building C object CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o]
+  ignore line: [/usr/bin/cc     -o CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.5/Modules/CMakeCCompilerABI.c]
+  ignore line: [Linking C executable cmTC_26ef8]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26ef8.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/cc      -v CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o  -o cmTC_26ef8 -rdynamic  ]
+  ignore line: [Using built-in specs.]
+  ignore line: [COLLECT_GCC=/usr/bin/cc]
+  ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+  ignore line: [Thread model: posix]
+  ignore line: [gcc version 7.3.0 (Ubuntu 7.3.0-21ubuntu1~16.04) ]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_26ef8' '-rdynamic' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQFAwlw.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_26ef8 /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/collect2] ==> ignore
+    arg [-plugin] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so] ==> ignore
+    arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/ccQFAwlw.res] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [-plugin-opt=-pass-through=-lc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [--sysroot=/] ==> ignore
+    arg [--build-id] ==> ignore
+    arg [--eh-frame-hdr] ==> ignore
+    arg [-m] ==> ignore
+    arg [elf_x86_64] ==> ignore
+    arg [--hash-style=gnu] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-export-dynamic] ==> ignore
+    arg [-dynamic-linker] ==> ignore
+    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+    arg [-zrelro] ==> ignore
+    arg [-o] ==> ignore
+    arg [cmTC_26ef8] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crt1.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o] ==> ignore
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib]
+    arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+    arg [-L/lib/../lib] ==> dir [/lib/../lib]
+    arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+    arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../..]
+    arg [CMakeFiles/cmTC_26ef8.dir/CMakeCCompilerABI.c.o] ==> ignore
+    arg [-lgcc] ==> lib [gcc]
+    arg [--push-state] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [--pop-state] ==> ignore
+    arg [-lc] ==> lib [c]
+    arg [-lgcc] ==> lib [gcc]
+    arg [--push-state] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [--pop-state] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/crtend.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+  remove lib [gcc]
+  remove lib [gcc_s]
+  remove lib [gcc]
+  remove lib [gcc_s]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7] ==> [/usr/lib/gcc/x86_64-linux-gnu/7]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib] ==> [/usr/lib]
+  collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+  collapse library dir [/lib/../lib] ==> [/lib]
+  collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../..] ==> [/usr/lib]
+  implicit libs: [c]
+  implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+  implicit fwks: []
+
+
+
+
+Detecting C [-std=c11] compiler features compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_4dd30/fast"
+/usr/bin/make -f CMakeFiles/cmTC_4dd30.dir/build.make CMakeFiles/cmTC_4dd30.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_4dd30.dir/feature_tests.c.o
+/usr/bin/cc    -std=c11 -o CMakeFiles/cmTC_4dd30.dir/feature_tests.c.o   -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/feature_tests.c
+Linking C executable cmTC_4dd30
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4dd30.dir/link.txt --verbose=1
+/usr/bin/cc       CMakeFiles/cmTC_4dd30.dir/feature_tests.c.o  -o cmTC_4dd30 -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+    Feature record: C_FEATURE:1c_function_prototypes
+    Feature record: C_FEATURE:1c_restrict
+    Feature record: C_FEATURE:1c_static_assert
+    Feature record: C_FEATURE:1c_variadic_macros
+
+
+Detecting C [-std=c99] compiler features compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_51ae2/fast"
+/usr/bin/make -f CMakeFiles/cmTC_51ae2.dir/build.make CMakeFiles/cmTC_51ae2.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_51ae2.dir/feature_tests.c.o
+/usr/bin/cc    -std=c99 -o CMakeFiles/cmTC_51ae2.dir/feature_tests.c.o   -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/feature_tests.c
+Linking C executable cmTC_51ae2
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_51ae2.dir/link.txt --verbose=1
+/usr/bin/cc       CMakeFiles/cmTC_51ae2.dir/feature_tests.c.o  -o cmTC_51ae2 -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+    Feature record: C_FEATURE:1c_function_prototypes
+    Feature record: C_FEATURE:1c_restrict
+    Feature record: C_FEATURE:0c_static_assert
+    Feature record: C_FEATURE:1c_variadic_macros
+
+
+Detecting C [-std=c90] compiler features compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_511a5/fast"
+/usr/bin/make -f CMakeFiles/cmTC_511a5.dir/build.make CMakeFiles/cmTC_511a5.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building C object CMakeFiles/cmTC_511a5.dir/feature_tests.c.o
+/usr/bin/cc    -std=c90 -o CMakeFiles/cmTC_511a5.dir/feature_tests.c.o   -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/feature_tests.c
+Linking C executable cmTC_511a5
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_511a5.dir/link.txt --verbose=1
+/usr/bin/cc       CMakeFiles/cmTC_511a5.dir/feature_tests.c.o  -o cmTC_511a5 -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+    Feature record: C_FEATURE:1c_function_prototypes
+    Feature record: C_FEATURE:0c_restrict
+    Feature record: C_FEATURE:0c_static_assert
+    Feature record: C_FEATURE:0c_variadic_macros
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_10dab/fast"
+/usr/bin/make -f CMakeFiles/cmTC_10dab.dir/build.make CMakeFiles/cmTC_10dab.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_10dab.dir/testCXXCompiler.cxx.o
+/usr/bin/c++      -o CMakeFiles/cmTC_10dab.dir/testCXXCompiler.cxx.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
+Linking CXX executable cmTC_10dab
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_10dab.dir/link.txt --verbose=1
+/usr/bin/c++        CMakeFiles/cmTC_10dab.dir/testCXXCompiler.cxx.o  -o cmTC_10dab -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_3fb04/fast"
+/usr/bin/make -f CMakeFiles/cmTC_3fb04.dir/build.make CMakeFiles/cmTC_3fb04.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o
+/usr/bin/c++      -o CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.5/Modules/CMakeCXXCompilerABI.cpp
+Linking CXX executable cmTC_3fb04
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3fb04.dir/link.txt --verbose=1
+/usr/bin/c++       -v CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_3fb04 -rdynamic  
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 7.3.0 (Ubuntu 7.3.0-21ubuntu1~16.04) 
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3fb04' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1abdYG.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_3fb04 /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3fb04' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+Parsed CXX implicit link information from above output:
+  link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+  ignore line: [Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp]
+  ignore line: []
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_3fb04/fast"]
+  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_3fb04.dir/build.make CMakeFiles/cmTC_3fb04.dir/build]
+  ignore line: [make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp']
+  ignore line: [Building CXX object CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [/usr/bin/c++      -o CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.5/Modules/CMakeCXXCompilerABI.cpp]
+  ignore line: [Linking CXX executable cmTC_3fb04]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3fb04.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/c++       -v CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_3fb04 -rdynamic  ]
+  ignore line: [Using built-in specs.]
+  ignore line: [COLLECT_GCC=/usr/bin/c++]
+  ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-21ubuntu1~16.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+  ignore line: [Thread model: posix]
+  ignore line: [gcc version 7.3.0 (Ubuntu 7.3.0-21ubuntu1~16.04) ]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3fb04' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/cc1abdYG.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTC_3fb04 /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/collect2] ==> ignore
+    arg [-plugin] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so] ==> ignore
+    arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/cc1abdYG.res] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [--sysroot=/] ==> ignore
+    arg [--build-id] ==> ignore
+    arg [--eh-frame-hdr] ==> ignore
+    arg [-m] ==> ignore
+    arg [elf_x86_64] ==> ignore
+    arg [--hash-style=gnu] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-export-dynamic] ==> ignore
+    arg [-dynamic-linker] ==> ignore
+    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+    arg [-zrelro] ==> ignore
+    arg [-o] ==> ignore
+    arg [cmTC_3fb04] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crt1.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/crtbegin.o] ==> ignore
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib]
+    arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+    arg [-L/lib/../lib] ==> dir [/lib/../lib]
+    arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+    arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/7/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../..]
+    arg [CMakeFiles/cmTC_3fb04.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+    arg [-lstdc++] ==> lib [stdc++]
+    arg [-lm] ==> lib [m]
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [-lgcc] ==> lib [gcc]
+    arg [-lc] ==> lib [c]
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [-lgcc] ==> lib [gcc]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/crtend.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+  remove lib [gcc_s]
+  remove lib [gcc]
+  remove lib [gcc_s]
+  remove lib [gcc]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7] ==> [/usr/lib/gcc/x86_64-linux-gnu/7]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib] ==> [/usr/lib]
+  collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+  collapse library dir [/lib/../lib] ==> [/lib]
+  collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/7/../../..] ==> [/usr/lib]
+  implicit libs: [stdc++;m;c]
+  implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/7;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+  implicit fwks: []
+
+
+
+
+Detecting CXX [-std=c++14] compiler features compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_9a032/fast"
+/usr/bin/make -f CMakeFiles/cmTC_9a032.dir/build.make CMakeFiles/cmTC_9a032.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_9a032.dir/feature_tests.cxx.o
+/usr/bin/c++     -std=c++14 -o CMakeFiles/cmTC_9a032.dir/feature_tests.cxx.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_9a032
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9a032.dir/link.txt --verbose=1
+/usr/bin/c++        CMakeFiles/cmTC_9a032.dir/feature_tests.cxx.o  -o cmTC_9a032 -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+    Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:1cxx_alias_templates
+    Feature record: CXX_FEATURE:1cxx_alignas
+    Feature record: CXX_FEATURE:1cxx_alignof
+    Feature record: CXX_FEATURE:1cxx_attributes
+    Feature record: CXX_FEATURE:1cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:1cxx_auto_type
+    Feature record: CXX_FEATURE:1cxx_binary_literals
+    Feature record: CXX_FEATURE:1cxx_constexpr
+    Feature record: CXX_FEATURE:1cxx_contextual_conversions
+    Feature record: CXX_FEATURE:1cxx_decltype
+    Feature record: CXX_FEATURE:1cxx_decltype_auto
+    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:1cxx_default_function_template_args
+    Feature record: CXX_FEATURE:1cxx_defaulted_functions
+    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:1cxx_delegating_constructors
+    Feature record: CXX_FEATURE:1cxx_deleted_functions
+    Feature record: CXX_FEATURE:1cxx_digit_separators
+    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:1cxx_explicit_conversions
+    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:1cxx_extern_templates
+    Feature record: CXX_FEATURE:1cxx_final
+    Feature record: CXX_FEATURE:1cxx_func_identifier
+    Feature record: CXX_FEATURE:1cxx_generalized_initializers
+    Feature record: CXX_FEATURE:1cxx_generic_lambdas
+    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:1cxx_inline_namespaces
+    Feature record: CXX_FEATURE:1cxx_lambdas
+    Feature record: CXX_FEATURE:1cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:1cxx_local_type_template_args
+    Feature record: CXX_FEATURE:1cxx_long_long_type
+    Feature record: CXX_FEATURE:1cxx_noexcept
+    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:1cxx_nullptr
+    Feature record: CXX_FEATURE:1cxx_override
+    Feature record: CXX_FEATURE:1cxx_range_for
+    Feature record: CXX_FEATURE:1cxx_raw_string_literals
+    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:1cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:1cxx_return_type_deduction
+    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:1cxx_rvalue_references
+    Feature record: CXX_FEATURE:1cxx_sizeof_member
+    Feature record: CXX_FEATURE:1cxx_static_assert
+    Feature record: CXX_FEATURE:1cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:1cxx_thread_local
+    Feature record: CXX_FEATURE:1cxx_trailing_return_types
+    Feature record: CXX_FEATURE:1cxx_unicode_literals
+    Feature record: CXX_FEATURE:1cxx_uniform_initialization
+    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:1cxx_user_literals
+    Feature record: CXX_FEATURE:1cxx_variable_templates
+    Feature record: CXX_FEATURE:1cxx_variadic_macros
+    Feature record: CXX_FEATURE:1cxx_variadic_templates
+
+
+Detecting CXX [-std=c++11] compiler features compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_086c5/fast"
+/usr/bin/make -f CMakeFiles/cmTC_086c5.dir/build.make CMakeFiles/cmTC_086c5.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_086c5.dir/feature_tests.cxx.o
+/usr/bin/c++     -std=c++11 -o CMakeFiles/cmTC_086c5.dir/feature_tests.cxx.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_086c5
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_086c5.dir/link.txt --verbose=1
+/usr/bin/c++        CMakeFiles/cmTC_086c5.dir/feature_tests.cxx.o  -o cmTC_086c5 -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+    Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:1cxx_alias_templates
+    Feature record: CXX_FEATURE:1cxx_alignas
+    Feature record: CXX_FEATURE:1cxx_alignof
+    Feature record: CXX_FEATURE:1cxx_attributes
+    Feature record: CXX_FEATURE:0cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:1cxx_auto_type
+    Feature record: CXX_FEATURE:0cxx_binary_literals
+    Feature record: CXX_FEATURE:1cxx_constexpr
+    Feature record: CXX_FEATURE:0cxx_contextual_conversions
+    Feature record: CXX_FEATURE:1cxx_decltype
+    Feature record: CXX_FEATURE:0cxx_decltype_auto
+    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:1cxx_default_function_template_args
+    Feature record: CXX_FEATURE:1cxx_defaulted_functions
+    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:1cxx_delegating_constructors
+    Feature record: CXX_FEATURE:1cxx_deleted_functions
+    Feature record: CXX_FEATURE:0cxx_digit_separators
+    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:1cxx_explicit_conversions
+    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:1cxx_extern_templates
+    Feature record: CXX_FEATURE:1cxx_final
+    Feature record: CXX_FEATURE:1cxx_func_identifier
+    Feature record: CXX_FEATURE:1cxx_generalized_initializers
+    Feature record: CXX_FEATURE:0cxx_generic_lambdas
+    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:1cxx_inline_namespaces
+    Feature record: CXX_FEATURE:1cxx_lambdas
+    Feature record: CXX_FEATURE:0cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:1cxx_local_type_template_args
+    Feature record: CXX_FEATURE:1cxx_long_long_type
+    Feature record: CXX_FEATURE:1cxx_noexcept
+    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:1cxx_nullptr
+    Feature record: CXX_FEATURE:1cxx_override
+    Feature record: CXX_FEATURE:1cxx_range_for
+    Feature record: CXX_FEATURE:1cxx_raw_string_literals
+    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:0cxx_return_type_deduction
+    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:1cxx_rvalue_references
+    Feature record: CXX_FEATURE:1cxx_sizeof_member
+    Feature record: CXX_FEATURE:1cxx_static_assert
+    Feature record: CXX_FEATURE:1cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:1cxx_thread_local
+    Feature record: CXX_FEATURE:1cxx_trailing_return_types
+    Feature record: CXX_FEATURE:1cxx_unicode_literals
+    Feature record: CXX_FEATURE:1cxx_uniform_initialization
+    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:1cxx_user_literals
+    Feature record: CXX_FEATURE:0cxx_variable_templates
+    Feature record: CXX_FEATURE:1cxx_variadic_macros
+    Feature record: CXX_FEATURE:1cxx_variadic_templates
+
+
+Detecting CXX [-std=c++98] compiler features compiled with the following output:
+Change Dir: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_7f9e5/fast"
+/usr/bin/make -f CMakeFiles/cmTC_7f9e5.dir/build.make CMakeFiles/cmTC_7f9e5.dir/build
+make[1]: Entering directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+Building CXX object CMakeFiles/cmTC_7f9e5.dir/feature_tests.cxx.o
+/usr/bin/c++     -std=c++98 -o CMakeFiles/cmTC_7f9e5.dir/feature_tests.cxx.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_7f9e5
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7f9e5.dir/link.txt --verbose=1
+/usr/bin/c++        CMakeFiles/cmTC_7f9e5.dir/feature_tests.cxx.o  -o cmTC_7f9e5 -rdynamic 
+make[1]: Leaving directory '/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/CMakeTmp'
+
+
+    Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:0cxx_alias_templates
+    Feature record: CXX_FEATURE:0cxx_alignas
+    Feature record: CXX_FEATURE:0cxx_alignof
+    Feature record: CXX_FEATURE:0cxx_attributes
+    Feature record: CXX_FEATURE:0cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:0cxx_auto_type
+    Feature record: CXX_FEATURE:0cxx_binary_literals
+    Feature record: CXX_FEATURE:0cxx_constexpr
+    Feature record: CXX_FEATURE:0cxx_contextual_conversions
+    Feature record: CXX_FEATURE:0cxx_decltype
+    Feature record: CXX_FEATURE:0cxx_decltype_auto
+    Feature record: CXX_FEATURE:0cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:0cxx_default_function_template_args
+    Feature record: CXX_FEATURE:0cxx_defaulted_functions
+    Feature record: CXX_FEATURE:0cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:0cxx_delegating_constructors
+    Feature record: CXX_FEATURE:0cxx_deleted_functions
+    Feature record: CXX_FEATURE:0cxx_digit_separators
+    Feature record: CXX_FEATURE:0cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:0cxx_explicit_conversions
+    Feature record: CXX_FEATURE:0cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:0cxx_extern_templates
+    Feature record: CXX_FEATURE:0cxx_final
+    Feature record: CXX_FEATURE:0cxx_func_identifier
+    Feature record: CXX_FEATURE:0cxx_generalized_initializers
+    Feature record: CXX_FEATURE:0cxx_generic_lambdas
+    Feature record: CXX_FEATURE:0cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:0cxx_inline_namespaces
+    Feature record: CXX_FEATURE:0cxx_lambdas
+    Feature record: CXX_FEATURE:0cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:0cxx_local_type_template_args
+    Feature record: CXX_FEATURE:0cxx_long_long_type
+    Feature record: CXX_FEATURE:0cxx_noexcept
+    Feature record: CXX_FEATURE:0cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:0cxx_nullptr
+    Feature record: CXX_FEATURE:0cxx_override
+    Feature record: CXX_FEATURE:0cxx_range_for
+    Feature record: CXX_FEATURE:0cxx_raw_string_literals
+    Feature record: CXX_FEATURE:0cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:0cxx_return_type_deduction
+    Feature record: CXX_FEATURE:0cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:0cxx_rvalue_references
+    Feature record: CXX_FEATURE:0cxx_sizeof_member
+    Feature record: CXX_FEATURE:0cxx_static_assert
+    Feature record: CXX_FEATURE:0cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:0cxx_thread_local
+    Feature record: CXX_FEATURE:0cxx_trailing_return_types
+    Feature record: CXX_FEATURE:0cxx_unicode_literals
+    Feature record: CXX_FEATURE:0cxx_uniform_initialization
+    Feature record: CXX_FEATURE:0cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:0cxx_user_literals
+    Feature record: CXX_FEATURE:0cxx_variable_templates
+    Feature record: CXX_FEATURE:0cxx_variadic_macros
+    Feature record: CXX_FEATURE:0cxx_variadic_templates

+ 24 - 0
3rdparty/spirv-tools/build/CMakeFiles/CMakeRuleHashes.txt

@@ -0,0 +1,24 @@
+# Hashes of file build rules.
+a3a67ea3d224fda21fd5a52538aac45e CMakeFiles/spirv-tools-pkg-config
+e0651873fcee64545700dd83cf425d7d CMakeFiles/spirv-tools-shared-pkg-config
+c4bbdb4ddc901c2270fe08710c6d7296 DebugInfo.h
+5896e8e3f9b3d42d3ca7be3c26e73115 build-version.inc
+831c4409dccccfbe3caf54e152aeab9a core.insts-unified1.inc
+e82743ac5171b193e896f59fda57456a debuginfo.insts.inc
+3c535b06d6924a641a46b65343e372c8 extension_enum.inc
+e5ee8fcfaf5e0d0ee14e42827f5a28d7 generators.inc
+c9648bb7599ab3c63c9cbf3f63105dc3 glsl.std.450.insts.inc
+ca9006b7e8de20db43363fbdf4154a32 opencl.std.insts.inc
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-build-version
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-debuginfo
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-header-DebugInfo
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-spv-amd-gcn-shader
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-spv-amd-shader-ballot
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax
+fbc7975cd1db0b770eb5a317b85548b4 source/CMakeFiles/spirv-tools-vimsyntax
+c691cb79776968d34fbe636de95762ba spv-amd-gcn-shader.insts.inc
+98898bc0b78e884c61f122035917814a spv-amd-shader-ballot.insts.inc
+887286f1e7d97d480c4ca2319a7a28ea spv-amd-shader-explicit-vertex-parameter.insts.inc
+95834c67f02254c5ea078b11a2de5321 spv-amd-shader-trinary-minmax.insts.inc
+b5344da2df0958bc57287a90ddcfaaef spvasm.vim

+ 183 - 0
3rdparty/spirv-tools/build/CMakeFiles/Makefile.cmake

@@ -0,0 +1,183 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+  "CMakeCache.txt"
+  "../CMakeLists.txt"
+  "CMakeFiles/3.5.1/CMakeCCompiler.cmake"
+  "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.5.1/CMakeSystem.cmake"
+  "CMakeFiles/feature_tests.c"
+  "CMakeFiles/feature_tests.cxx"
+  "../cmake/setup_build.cmake"
+  "../examples/CMakeLists.txt"
+  "../examples/cpp-interface/CMakeLists.txt"
+  "../external/CMakeLists.txt"
+  "../source/CMakeLists.txt"
+  "../source/comp/CMakeLists.txt"
+  "../source/link/CMakeLists.txt"
+  "../source/opt/CMakeLists.txt"
+  "../test/CMakeLists.txt"
+  "../test/comp/CMakeLists.txt"
+  "../test/link/CMakeLists.txt"
+  "../test/opt/CMakeLists.txt"
+  "../test/opt/dominator_tree/CMakeLists.txt"
+  "../test/opt/loop_optimizations/CMakeLists.txt"
+  "../test/stats/CMakeLists.txt"
+  "../test/tools/CMakeLists.txt"
+  "../test/tools/opt/CMakeLists.txt"
+  "../test/util/CMakeLists.txt"
+  "../test/val/CMakeLists.txt"
+  "../tools/CMakeLists.txt"
+  "../tools/emacs/CMakeLists.txt"
+  "../tools/lesspipe/CMakeLists.txt"
+  "/usr/share/cmake-3.5/Modules/CMakeCCompiler.cmake.in"
+  "/usr/share/cmake-3.5/Modules/CMakeCCompilerABI.c"
+  "/usr/share/cmake-3.5/Modules/CMakeCInformation.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeCXXCompiler.cmake.in"
+  "/usr/share/cmake-3.5/Modules/CMakeCXXCompilerABI.cpp"
+  "/usr/share/cmake-3.5/Modules/CMakeCXXInformation.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeCommonLanguageInclude.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeCompilerIdDetection.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeDetermineCCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeDetermineCXXCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeDetermineCompileFeatures.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeDetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeDetermineCompilerABI.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeDetermineCompilerId.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeDetermineSystem.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeFindBinUtils.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeGenericSystem.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeLanguageInformation.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeParseArguments.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeParseImplicitLinkInfo.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeSystem.cmake.in"
+  "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInformation.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeTestCXXCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeTestCompilerCommon.cmake"
+  "/usr/share/cmake-3.5/Modules/CMakeUnixFindMake.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/ADSP-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Borland-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Clang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Cray-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/GHS-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/GNU-C-FeatureTests.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/GNU-C.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX-FeatureTests.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/GNU-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/GNU.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/HP-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/IAR-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Intel-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/MIPSpro-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/MSVC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/PGI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/PathScale-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/SCO-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/TI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/Watcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/XL-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake"
+  "/usr/share/cmake-3.5/Modules/FindPackageMessage.cmake"
+  "/usr/share/cmake-3.5/Modules/FindPythonInterp.cmake"
+  "/usr/share/cmake-3.5/Modules/GNUInstallDirs.cmake"
+  "/usr/share/cmake-3.5/Modules/Internal/FeatureTesting.cmake"
+  "/usr/share/cmake-3.5/Modules/MultiArchCross.cmake"
+  "/usr/share/cmake-3.5/Modules/Platform/Linux-CXX.cmake"
+  "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake"
+  "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake"
+  "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake"
+  "/usr/share/cmake-3.5/Modules/Platform/Linux.cmake"
+  "/usr/share/cmake-3.5/Modules/Platform/UnixPaths.cmake"
+  )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+  "Makefile"
+  "CMakeFiles/cmake.check_cache"
+  )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+  "CMakeFiles/3.5.1/CMakeSystem.cmake"
+  "CMakeFiles/3.5.1/CMakeCCompiler.cmake"
+  "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.5.1/CMakeCCompiler.cmake"
+  "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake"
+  "CMakeFiles/CMakeDirectoryInformation.cmake"
+  "external/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "source/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "source/comp/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "source/opt/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "source/link/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "tools/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "tools/lesspipe/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "tools/emacs/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/comp/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/link/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/opt/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/opt/dominator_tree/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/opt/loop_optimizations/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/stats/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/tools/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/tools/opt/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/util/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "test/val/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "examples/CMakeFiles/CMakeDirectoryInformation.cmake"
+  "examples/cpp-interface/CMakeFiles/CMakeDirectoryInformation.cmake"
+  )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+  "CMakeFiles/spirv-tools-shared-pkg-config.dir/DependInfo.cmake"
+  "CMakeFiles/spirv-tools-pkg-config.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-debuginfo.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-header-DebugInfo.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-build-version.dir/DependInfo.cmake"
+  "source/CMakeFiles/SPIRV-Tools.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/DependInfo.cmake"
+  "source/CMakeFiles/SPIRV-Tools-shared.dir/DependInfo.cmake"
+  "source/CMakeFiles/spirv-tools-vimsyntax.dir/DependInfo.cmake"
+  "source/opt/CMakeFiles/SPIRV-Tools-opt.dir/DependInfo.cmake"
+  "source/link/CMakeFiles/SPIRV-Tools-link.dir/DependInfo.cmake"
+  "tools/CMakeFiles/spirv-cfg.dir/DependInfo.cmake"
+  "tools/CMakeFiles/spirv-dis.dir/DependInfo.cmake"
+  "tools/CMakeFiles/spirv-as.dir/DependInfo.cmake"
+  "tools/CMakeFiles/spirv-val.dir/DependInfo.cmake"
+  "tools/CMakeFiles/spirv-link.dir/DependInfo.cmake"
+  "tools/CMakeFiles/spirv-opt.dir/DependInfo.cmake"
+  "tools/CMakeFiles/spirv-stats.dir/DependInfo.cmake"
+  "examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/DependInfo.cmake"
+  )

+ 1284 - 0
3rdparty/spirv-tools/build/CMakeFiles/Makefile2

@@ -0,0 +1,1284 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# The main recursive all target
+all:
+
+.PHONY : all
+
+# The main recursive preinstall target
+preinstall:
+
+.PHONY : preinstall
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+#=============================================================================
+# Target rules for target CMakeFiles/spirv-tools-shared-pkg-config.dir
+
+# All Build rule for target.
+CMakeFiles/spirv-tools-shared-pkg-config.dir/all:
+	$(MAKE) -f CMakeFiles/spirv-tools-shared-pkg-config.dir/build.make CMakeFiles/spirv-tools-shared-pkg-config.dir/depend
+	$(MAKE) -f CMakeFiles/spirv-tools-shared-pkg-config.dir/build.make CMakeFiles/spirv-tools-shared-pkg-config.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-shared-pkg-config"
+.PHONY : CMakeFiles/spirv-tools-shared-pkg-config.dir/all
+
+# Include target in all.
+all: CMakeFiles/spirv-tools-shared-pkg-config.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/spirv-tools-shared-pkg-config.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/spirv-tools-shared-pkg-config.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : CMakeFiles/spirv-tools-shared-pkg-config.dir/rule
+
+# Convenience name for target.
+spirv-tools-shared-pkg-config: CMakeFiles/spirv-tools-shared-pkg-config.dir/rule
+
+.PHONY : spirv-tools-shared-pkg-config
+
+# clean rule for target.
+CMakeFiles/spirv-tools-shared-pkg-config.dir/clean:
+	$(MAKE) -f CMakeFiles/spirv-tools-shared-pkg-config.dir/build.make CMakeFiles/spirv-tools-shared-pkg-config.dir/clean
+.PHONY : CMakeFiles/spirv-tools-shared-pkg-config.dir/clean
+
+# clean rule for target.
+clean: CMakeFiles/spirv-tools-shared-pkg-config.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/spirv-tools-pkg-config.dir
+
+# All Build rule for target.
+CMakeFiles/spirv-tools-pkg-config.dir/all:
+	$(MAKE) -f CMakeFiles/spirv-tools-pkg-config.dir/build.make CMakeFiles/spirv-tools-pkg-config.dir/depend
+	$(MAKE) -f CMakeFiles/spirv-tools-pkg-config.dir/build.make CMakeFiles/spirv-tools-pkg-config.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-pkg-config"
+.PHONY : CMakeFiles/spirv-tools-pkg-config.dir/all
+
+# Include target in all.
+all: CMakeFiles/spirv-tools-pkg-config.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/spirv-tools-pkg-config.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/spirv-tools-pkg-config.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : CMakeFiles/spirv-tools-pkg-config.dir/rule
+
+# Convenience name for target.
+spirv-tools-pkg-config: CMakeFiles/spirv-tools-pkg-config.dir/rule
+
+.PHONY : spirv-tools-pkg-config
+
+# clean rule for target.
+CMakeFiles/spirv-tools-pkg-config.dir/clean:
+	$(MAKE) -f CMakeFiles/spirv-tools-pkg-config.dir/build.make CMakeFiles/spirv-tools-pkg-config.dir/clean
+.PHONY : CMakeFiles/spirv-tools-pkg-config.dir/clean
+
+# clean rule for target.
+clean: CMakeFiles/spirv-tools-pkg-config.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Directory level rules for directory external
+
+# Convenience name for "all" pass in the directory.
+external/all:
+
+.PHONY : external/all
+
+# Convenience name for "clean" pass in the directory.
+external/clean:
+
+.PHONY : external/clean
+
+# Convenience name for "preinstall" pass in the directory.
+external/preinstall:
+
+.PHONY : external/preinstall
+
+#=============================================================================
+# Directory level rules for directory source
+
+# Convenience name for "all" pass in the directory.
+source/all: source/CMakeFiles/SPIRV-Tools.dir/all
+source/all: source/CMakeFiles/SPIRV-Tools-shared.dir/all
+source/all: source/comp/all
+source/all: source/opt/all
+source/all: source/link/all
+
+.PHONY : source/all
+
+# Convenience name for "clean" pass in the directory.
+source/clean: source/CMakeFiles/spirv-tools-debuginfo.dir/clean
+source/clean: source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/clean
+source/clean: source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/clean
+source/clean: source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/clean
+source/clean: source/CMakeFiles/spirv-tools-header-DebugInfo.dir/clean
+source/clean: source/CMakeFiles/spirv-tools-build-version.dir/clean
+source/clean: source/CMakeFiles/SPIRV-Tools.dir/clean
+source/clean: source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/clean
+source/clean: source/CMakeFiles/SPIRV-Tools-shared.dir/clean
+source/clean: source/CMakeFiles/spirv-tools-vimsyntax.dir/clean
+source/clean: source/comp/clean
+source/clean: source/opt/clean
+source/clean: source/link/clean
+
+.PHONY : source/clean
+
+# Convenience name for "preinstall" pass in the directory.
+source/preinstall: source/comp/preinstall
+source/preinstall: source/opt/preinstall
+source/preinstall: source/link/preinstall
+
+.PHONY : source/preinstall
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-debuginfo.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-debuginfo.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-debuginfo.dir/build.make source/CMakeFiles/spirv-tools-debuginfo.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-debuginfo.dir/build.make source/CMakeFiles/spirv-tools-debuginfo.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-debuginfo"
+.PHONY : source/CMakeFiles/spirv-tools-debuginfo.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-debuginfo.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-debuginfo.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-debuginfo.dir/rule
+
+# Convenience name for target.
+spirv-tools-debuginfo: source/CMakeFiles/spirv-tools-debuginfo.dir/rule
+
+.PHONY : spirv-tools-debuginfo
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-debuginfo.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-debuginfo.dir/build.make source/CMakeFiles/spirv-tools-debuginfo.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-debuginfo.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-debuginfo.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-spv-amd-shader-ballot"
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/rule
+
+# Convenience name for target.
+spirv-tools-spv-amd-shader-ballot: source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/rule
+
+.PHONY : spirv-tools-spv-amd-shader-ballot
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-spv-amd-shader-trinary-minmax"
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/rule
+
+# Convenience name for target.
+spirv-tools-spv-amd-shader-trinary-minmax: source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/rule
+
+.PHONY : spirv-tools-spv-amd-shader-trinary-minmax
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-spv-amd-gcn-shader"
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/rule
+
+# Convenience name for target.
+spirv-tools-spv-amd-gcn-shader: source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/rule
+
+.PHONY : spirv-tools-spv-amd-gcn-shader
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-header-DebugInfo.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-header-DebugInfo.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-header-DebugInfo.dir/build.make source/CMakeFiles/spirv-tools-header-DebugInfo.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-header-DebugInfo.dir/build.make source/CMakeFiles/spirv-tools-header-DebugInfo.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=97 "Built target spirv-tools-header-DebugInfo"
+.PHONY : source/CMakeFiles/spirv-tools-header-DebugInfo.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-header-DebugInfo.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-header-DebugInfo.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-header-DebugInfo.dir/rule
+
+# Convenience name for target.
+spirv-tools-header-DebugInfo: source/CMakeFiles/spirv-tools-header-DebugInfo.dir/rule
+
+.PHONY : spirv-tools-header-DebugInfo
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-header-DebugInfo.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-header-DebugInfo.dir/build.make source/CMakeFiles/spirv-tools-header-DebugInfo.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-header-DebugInfo.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-header-DebugInfo.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-build-version.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-build-version.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-build-version.dir/build.make source/CMakeFiles/spirv-tools-build-version.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-build-version.dir/build.make source/CMakeFiles/spirv-tools-build-version.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-build-version"
+.PHONY : source/CMakeFiles/spirv-tools-build-version.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-build-version.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-build-version.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-build-version.dir/rule
+
+# Convenience name for target.
+spirv-tools-build-version: source/CMakeFiles/spirv-tools-build-version.dir/rule
+
+.PHONY : spirv-tools-build-version
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-build-version.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-build-version.dir/build.make source/CMakeFiles/spirv-tools-build-version.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-build-version.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-build-version.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/SPIRV-Tools.dir
+
+# All Build rule for target.
+source/CMakeFiles/SPIRV-Tools.dir/all:
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools.dir/build.make source/CMakeFiles/SPIRV-Tools.dir/depend
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools.dir/build.make source/CMakeFiles/SPIRV-Tools.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 "Built target SPIRV-Tools"
+.PHONY : source/CMakeFiles/SPIRV-Tools.dir/all
+
+# Include target in all.
+all: source/CMakeFiles/SPIRV-Tools.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/SPIRV-Tools.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 28
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/SPIRV-Tools.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/SPIRV-Tools.dir/rule
+
+# Convenience name for target.
+SPIRV-Tools: source/CMakeFiles/SPIRV-Tools.dir/rule
+
+.PHONY : SPIRV-Tools
+
+# clean rule for target.
+source/CMakeFiles/SPIRV-Tools.dir/clean:
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools.dir/build.make source/CMakeFiles/SPIRV-Tools.dir/clean
+.PHONY : source/CMakeFiles/SPIRV-Tools.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/SPIRV-Tools.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=98 "Built target spirv-tools-spv-amd-shader-explicit-vertex-parameter"
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 1
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/rule
+
+# Convenience name for target.
+spirv-tools-spv-amd-shader-explicit-vertex-parameter: source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/rule
+
+.PHONY : spirv-tools-spv-amd-shader-explicit-vertex-parameter
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/SPIRV-Tools-shared.dir
+
+# All Build rule for target.
+source/CMakeFiles/SPIRV-Tools-shared.dir/all:
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/depend
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89 "Built target SPIRV-Tools-shared"
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/all
+
+# Include target in all.
+all: source/CMakeFiles/SPIRV-Tools-shared.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/SPIRV-Tools-shared.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 29
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/SPIRV-Tools-shared.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/rule
+
+# Convenience name for target.
+SPIRV-Tools-shared: source/CMakeFiles/SPIRV-Tools-shared.dir/rule
+
+.PHONY : SPIRV-Tools-shared
+
+# clean rule for target.
+source/CMakeFiles/SPIRV-Tools-shared.dir/clean:
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/clean
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/SPIRV-Tools-shared.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target source/CMakeFiles/spirv-tools-vimsyntax.dir
+
+# All Build rule for target.
+source/CMakeFiles/spirv-tools-vimsyntax.dir/all:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-vimsyntax.dir/build.make source/CMakeFiles/spirv-tools-vimsyntax.dir/depend
+	$(MAKE) -f source/CMakeFiles/spirv-tools-vimsyntax.dir/build.make source/CMakeFiles/spirv-tools-vimsyntax.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-tools-vimsyntax"
+.PHONY : source/CMakeFiles/spirv-tools-vimsyntax.dir/all
+
+# Build rule for subdir invocation for target.
+source/CMakeFiles/spirv-tools-vimsyntax.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+	$(MAKE) -f CMakeFiles/Makefile2 source/CMakeFiles/spirv-tools-vimsyntax.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/CMakeFiles/spirv-tools-vimsyntax.dir/rule
+
+# Convenience name for target.
+spirv-tools-vimsyntax: source/CMakeFiles/spirv-tools-vimsyntax.dir/rule
+
+.PHONY : spirv-tools-vimsyntax
+
+# clean rule for target.
+source/CMakeFiles/spirv-tools-vimsyntax.dir/clean:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-vimsyntax.dir/build.make source/CMakeFiles/spirv-tools-vimsyntax.dir/clean
+.PHONY : source/CMakeFiles/spirv-tools-vimsyntax.dir/clean
+
+# clean rule for target.
+clean: source/CMakeFiles/spirv-tools-vimsyntax.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Directory level rules for directory source/comp
+
+# Convenience name for "all" pass in the directory.
+source/comp/all:
+
+.PHONY : source/comp/all
+
+# Convenience name for "clean" pass in the directory.
+source/comp/clean:
+
+.PHONY : source/comp/clean
+
+# Convenience name for "preinstall" pass in the directory.
+source/comp/preinstall:
+
+.PHONY : source/comp/preinstall
+
+#=============================================================================
+# Directory level rules for directory source/opt
+
+# Convenience name for "all" pass in the directory.
+source/opt/all: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+
+.PHONY : source/opt/all
+
+# Convenience name for "clean" pass in the directory.
+source/opt/clean: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/clean
+
+.PHONY : source/opt/clean
+
+# Convenience name for "preinstall" pass in the directory.
+source/opt/preinstall:
+
+.PHONY : source/opt/preinstall
+
+#=============================================================================
+# Target rules for target source/opt/CMakeFiles/SPIRV-Tools-opt.dir
+
+# All Build rule for target.
+source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+	$(MAKE) -f source/opt/CMakeFiles/SPIRV-Tools-opt.dir/build.make source/opt/CMakeFiles/SPIRV-Tools-opt.dir/depend
+	$(MAKE) -f source/opt/CMakeFiles/SPIRV-Tools-opt.dir/build.make source/opt/CMakeFiles/SPIRV-Tools-opt.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60 "Built target SPIRV-Tools-opt"
+.PHONY : source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+
+# Include target in all.
+all: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+source/opt/CMakeFiles/SPIRV-Tools-opt.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 59
+	$(MAKE) -f CMakeFiles/Makefile2 source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/opt/CMakeFiles/SPIRV-Tools-opt.dir/rule
+
+# Convenience name for target.
+SPIRV-Tools-opt: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/rule
+
+.PHONY : SPIRV-Tools-opt
+
+# clean rule for target.
+source/opt/CMakeFiles/SPIRV-Tools-opt.dir/clean:
+	$(MAKE) -f source/opt/CMakeFiles/SPIRV-Tools-opt.dir/build.make source/opt/CMakeFiles/SPIRV-Tools-opt.dir/clean
+.PHONY : source/opt/CMakeFiles/SPIRV-Tools-opt.dir/clean
+
+# clean rule for target.
+clean: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Directory level rules for directory source/link
+
+# Convenience name for "all" pass in the directory.
+source/link/all: source/link/CMakeFiles/SPIRV-Tools-link.dir/all
+
+.PHONY : source/link/all
+
+# Convenience name for "clean" pass in the directory.
+source/link/clean: source/link/CMakeFiles/SPIRV-Tools-link.dir/clean
+
+.PHONY : source/link/clean
+
+# Convenience name for "preinstall" pass in the directory.
+source/link/preinstall:
+
+.PHONY : source/link/preinstall
+
+#=============================================================================
+# Target rules for target source/link/CMakeFiles/SPIRV-Tools-link.dir
+
+# All Build rule for target.
+source/link/CMakeFiles/SPIRV-Tools-link.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+source/link/CMakeFiles/SPIRV-Tools-link.dir/all: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+	$(MAKE) -f source/link/CMakeFiles/SPIRV-Tools-link.dir/build.make source/link/CMakeFiles/SPIRV-Tools-link.dir/depend
+	$(MAKE) -f source/link/CMakeFiles/SPIRV-Tools-link.dir/build.make source/link/CMakeFiles/SPIRV-Tools-link.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=29 "Built target SPIRV-Tools-link"
+.PHONY : source/link/CMakeFiles/SPIRV-Tools-link.dir/all
+
+# Include target in all.
+all: source/link/CMakeFiles/SPIRV-Tools-link.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+source/link/CMakeFiles/SPIRV-Tools-link.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 60
+	$(MAKE) -f CMakeFiles/Makefile2 source/link/CMakeFiles/SPIRV-Tools-link.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : source/link/CMakeFiles/SPIRV-Tools-link.dir/rule
+
+# Convenience name for target.
+SPIRV-Tools-link: source/link/CMakeFiles/SPIRV-Tools-link.dir/rule
+
+.PHONY : SPIRV-Tools-link
+
+# clean rule for target.
+source/link/CMakeFiles/SPIRV-Tools-link.dir/clean:
+	$(MAKE) -f source/link/CMakeFiles/SPIRV-Tools-link.dir/build.make source/link/CMakeFiles/SPIRV-Tools-link.dir/clean
+.PHONY : source/link/CMakeFiles/SPIRV-Tools-link.dir/clean
+
+# clean rule for target.
+clean: source/link/CMakeFiles/SPIRV-Tools-link.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Directory level rules for directory tools
+
+# Convenience name for "all" pass in the directory.
+tools/all: tools/CMakeFiles/spirv-cfg.dir/all
+tools/all: tools/CMakeFiles/spirv-dis.dir/all
+tools/all: tools/CMakeFiles/spirv-as.dir/all
+tools/all: tools/CMakeFiles/spirv-val.dir/all
+tools/all: tools/CMakeFiles/spirv-link.dir/all
+tools/all: tools/CMakeFiles/spirv-opt.dir/all
+tools/all: tools/CMakeFiles/spirv-stats.dir/all
+tools/all: tools/lesspipe/all
+tools/all: tools/emacs/all
+
+.PHONY : tools/all
+
+# Convenience name for "clean" pass in the directory.
+tools/clean: tools/CMakeFiles/spirv-cfg.dir/clean
+tools/clean: tools/CMakeFiles/spirv-dis.dir/clean
+tools/clean: tools/CMakeFiles/spirv-as.dir/clean
+tools/clean: tools/CMakeFiles/spirv-val.dir/clean
+tools/clean: tools/CMakeFiles/spirv-link.dir/clean
+tools/clean: tools/CMakeFiles/spirv-opt.dir/clean
+tools/clean: tools/CMakeFiles/spirv-stats.dir/clean
+tools/clean: tools/lesspipe/clean
+tools/clean: tools/emacs/clean
+
+.PHONY : tools/clean
+
+# Convenience name for "preinstall" pass in the directory.
+tools/preinstall: tools/lesspipe/preinstall
+tools/preinstall: tools/emacs/preinstall
+
+.PHONY : tools/preinstall
+
+#=============================================================================
+# Target rules for target tools/CMakeFiles/spirv-cfg.dir
+
+# All Build rule for target.
+tools/CMakeFiles/spirv-cfg.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+	$(MAKE) -f tools/CMakeFiles/spirv-cfg.dir/build.make tools/CMakeFiles/spirv-cfg.dir/depend
+	$(MAKE) -f tools/CMakeFiles/spirv-cfg.dir/build.make tools/CMakeFiles/spirv-cfg.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=90,91 "Built target spirv-cfg"
+.PHONY : tools/CMakeFiles/spirv-cfg.dir/all
+
+# Include target in all.
+all: tools/CMakeFiles/spirv-cfg.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+tools/CMakeFiles/spirv-cfg.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 30
+	$(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/spirv-cfg.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : tools/CMakeFiles/spirv-cfg.dir/rule
+
+# Convenience name for target.
+spirv-cfg: tools/CMakeFiles/spirv-cfg.dir/rule
+
+.PHONY : spirv-cfg
+
+# clean rule for target.
+tools/CMakeFiles/spirv-cfg.dir/clean:
+	$(MAKE) -f tools/CMakeFiles/spirv-cfg.dir/build.make tools/CMakeFiles/spirv-cfg.dir/clean
+.PHONY : tools/CMakeFiles/spirv-cfg.dir/clean
+
+# clean rule for target.
+clean: tools/CMakeFiles/spirv-cfg.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target tools/CMakeFiles/spirv-dis.dir
+
+# All Build rule for target.
+tools/CMakeFiles/spirv-dis.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+	$(MAKE) -f tools/CMakeFiles/spirv-dis.dir/build.make tools/CMakeFiles/spirv-dis.dir/depend
+	$(MAKE) -f tools/CMakeFiles/spirv-dis.dir/build.make tools/CMakeFiles/spirv-dis.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-dis"
+.PHONY : tools/CMakeFiles/spirv-dis.dir/all
+
+# Include target in all.
+all: tools/CMakeFiles/spirv-dis.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+tools/CMakeFiles/spirv-dis.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 28
+	$(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/spirv-dis.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : tools/CMakeFiles/spirv-dis.dir/rule
+
+# Convenience name for target.
+spirv-dis: tools/CMakeFiles/spirv-dis.dir/rule
+
+.PHONY : spirv-dis
+
+# clean rule for target.
+tools/CMakeFiles/spirv-dis.dir/clean:
+	$(MAKE) -f tools/CMakeFiles/spirv-dis.dir/build.make tools/CMakeFiles/spirv-dis.dir/clean
+.PHONY : tools/CMakeFiles/spirv-dis.dir/clean
+
+# clean rule for target.
+clean: tools/CMakeFiles/spirv-dis.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target tools/CMakeFiles/spirv-as.dir
+
+# All Build rule for target.
+tools/CMakeFiles/spirv-as.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+	$(MAKE) -f tools/CMakeFiles/spirv-as.dir/build.make tools/CMakeFiles/spirv-as.dir/depend
+	$(MAKE) -f tools/CMakeFiles/spirv-as.dir/build.make tools/CMakeFiles/spirv-as.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num= "Built target spirv-as"
+.PHONY : tools/CMakeFiles/spirv-as.dir/all
+
+# Include target in all.
+all: tools/CMakeFiles/spirv-as.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+tools/CMakeFiles/spirv-as.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 28
+	$(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/spirv-as.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : tools/CMakeFiles/spirv-as.dir/rule
+
+# Convenience name for target.
+spirv-as: tools/CMakeFiles/spirv-as.dir/rule
+
+.PHONY : spirv-as
+
+# clean rule for target.
+tools/CMakeFiles/spirv-as.dir/clean:
+	$(MAKE) -f tools/CMakeFiles/spirv-as.dir/build.make tools/CMakeFiles/spirv-as.dir/clean
+.PHONY : tools/CMakeFiles/spirv-as.dir/clean
+
+# clean rule for target.
+clean: tools/CMakeFiles/spirv-as.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target tools/CMakeFiles/spirv-val.dir
+
+# All Build rule for target.
+tools/CMakeFiles/spirv-val.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+	$(MAKE) -f tools/CMakeFiles/spirv-val.dir/build.make tools/CMakeFiles/spirv-val.dir/depend
+	$(MAKE) -f tools/CMakeFiles/spirv-val.dir/build.make tools/CMakeFiles/spirv-val.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=99,100 "Built target spirv-val"
+.PHONY : tools/CMakeFiles/spirv-val.dir/all
+
+# Include target in all.
+all: tools/CMakeFiles/spirv-val.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+tools/CMakeFiles/spirv-val.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 30
+	$(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/spirv-val.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : tools/CMakeFiles/spirv-val.dir/rule
+
+# Convenience name for target.
+spirv-val: tools/CMakeFiles/spirv-val.dir/rule
+
+.PHONY : spirv-val
+
+# clean rule for target.
+tools/CMakeFiles/spirv-val.dir/clean:
+	$(MAKE) -f tools/CMakeFiles/spirv-val.dir/build.make tools/CMakeFiles/spirv-val.dir/clean
+.PHONY : tools/CMakeFiles/spirv-val.dir/clean
+
+# clean rule for target.
+clean: tools/CMakeFiles/spirv-val.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target tools/CMakeFiles/spirv-link.dir
+
+# All Build rule for target.
+tools/CMakeFiles/spirv-link.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+tools/CMakeFiles/spirv-link.dir/all: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+tools/CMakeFiles/spirv-link.dir/all: source/link/CMakeFiles/SPIRV-Tools-link.dir/all
+	$(MAKE) -f tools/CMakeFiles/spirv-link.dir/build.make tools/CMakeFiles/spirv-link.dir/depend
+	$(MAKE) -f tools/CMakeFiles/spirv-link.dir/build.make tools/CMakeFiles/spirv-link.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=92 "Built target spirv-link"
+.PHONY : tools/CMakeFiles/spirv-link.dir/all
+
+# Include target in all.
+all: tools/CMakeFiles/spirv-link.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+tools/CMakeFiles/spirv-link.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 61
+	$(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/spirv-link.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : tools/CMakeFiles/spirv-link.dir/rule
+
+# Convenience name for target.
+spirv-link: tools/CMakeFiles/spirv-link.dir/rule
+
+.PHONY : spirv-link
+
+# clean rule for target.
+tools/CMakeFiles/spirv-link.dir/clean:
+	$(MAKE) -f tools/CMakeFiles/spirv-link.dir/build.make tools/CMakeFiles/spirv-link.dir/clean
+.PHONY : tools/CMakeFiles/spirv-link.dir/clean
+
+# clean rule for target.
+clean: tools/CMakeFiles/spirv-link.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target tools/CMakeFiles/spirv-opt.dir
+
+# All Build rule for target.
+tools/CMakeFiles/spirv-opt.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+tools/CMakeFiles/spirv-opt.dir/all: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+	$(MAKE) -f tools/CMakeFiles/spirv-opt.dir/build.make tools/CMakeFiles/spirv-opt.dir/depend
+	$(MAKE) -f tools/CMakeFiles/spirv-opt.dir/build.make tools/CMakeFiles/spirv-opt.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=93 "Built target spirv-opt"
+.PHONY : tools/CMakeFiles/spirv-opt.dir/all
+
+# Include target in all.
+all: tools/CMakeFiles/spirv-opt.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+tools/CMakeFiles/spirv-opt.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 60
+	$(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/spirv-opt.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : tools/CMakeFiles/spirv-opt.dir/rule
+
+# Convenience name for target.
+spirv-opt: tools/CMakeFiles/spirv-opt.dir/rule
+
+.PHONY : spirv-opt
+
+# clean rule for target.
+tools/CMakeFiles/spirv-opt.dir/clean:
+	$(MAKE) -f tools/CMakeFiles/spirv-opt.dir/build.make tools/CMakeFiles/spirv-opt.dir/clean
+.PHONY : tools/CMakeFiles/spirv-opt.dir/clean
+
+# clean rule for target.
+clean: tools/CMakeFiles/spirv-opt.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target tools/CMakeFiles/spirv-stats.dir
+
+# All Build rule for target.
+tools/CMakeFiles/spirv-stats.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+	$(MAKE) -f tools/CMakeFiles/spirv-stats.dir/build.make tools/CMakeFiles/spirv-stats.dir/depend
+	$(MAKE) -f tools/CMakeFiles/spirv-stats.dir/build.make tools/CMakeFiles/spirv-stats.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=94,95 "Built target spirv-stats"
+.PHONY : tools/CMakeFiles/spirv-stats.dir/all
+
+# Include target in all.
+all: tools/CMakeFiles/spirv-stats.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+tools/CMakeFiles/spirv-stats.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 30
+	$(MAKE) -f CMakeFiles/Makefile2 tools/CMakeFiles/spirv-stats.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : tools/CMakeFiles/spirv-stats.dir/rule
+
+# Convenience name for target.
+spirv-stats: tools/CMakeFiles/spirv-stats.dir/rule
+
+.PHONY : spirv-stats
+
+# clean rule for target.
+tools/CMakeFiles/spirv-stats.dir/clean:
+	$(MAKE) -f tools/CMakeFiles/spirv-stats.dir/build.make tools/CMakeFiles/spirv-stats.dir/clean
+.PHONY : tools/CMakeFiles/spirv-stats.dir/clean
+
+# clean rule for target.
+clean: tools/CMakeFiles/spirv-stats.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Directory level rules for directory tools/lesspipe
+
+# Convenience name for "all" pass in the directory.
+tools/lesspipe/all:
+
+.PHONY : tools/lesspipe/all
+
+# Convenience name for "clean" pass in the directory.
+tools/lesspipe/clean:
+
+.PHONY : tools/lesspipe/clean
+
+# Convenience name for "preinstall" pass in the directory.
+tools/lesspipe/preinstall:
+
+.PHONY : tools/lesspipe/preinstall
+
+#=============================================================================
+# Directory level rules for directory tools/emacs
+
+# Convenience name for "all" pass in the directory.
+tools/emacs/all:
+
+.PHONY : tools/emacs/all
+
+# Convenience name for "clean" pass in the directory.
+tools/emacs/clean:
+
+.PHONY : tools/emacs/clean
+
+# Convenience name for "preinstall" pass in the directory.
+tools/emacs/preinstall:
+
+.PHONY : tools/emacs/preinstall
+
+#=============================================================================
+# Directory level rules for directory test
+
+# Convenience name for "all" pass in the directory.
+test/all: test/comp/all
+test/all: test/link/all
+test/all: test/opt/all
+test/all: test/stats/all
+test/all: test/tools/all
+test/all: test/util/all
+test/all: test/val/all
+
+.PHONY : test/all
+
+# Convenience name for "clean" pass in the directory.
+test/clean: test/comp/clean
+test/clean: test/link/clean
+test/clean: test/opt/clean
+test/clean: test/stats/clean
+test/clean: test/tools/clean
+test/clean: test/util/clean
+test/clean: test/val/clean
+
+.PHONY : test/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/preinstall: test/comp/preinstall
+test/preinstall: test/link/preinstall
+test/preinstall: test/opt/preinstall
+test/preinstall: test/stats/preinstall
+test/preinstall: test/tools/preinstall
+test/preinstall: test/util/preinstall
+test/preinstall: test/val/preinstall
+
+.PHONY : test/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/comp
+
+# Convenience name for "all" pass in the directory.
+test/comp/all:
+
+.PHONY : test/comp/all
+
+# Convenience name for "clean" pass in the directory.
+test/comp/clean:
+
+.PHONY : test/comp/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/comp/preinstall:
+
+.PHONY : test/comp/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/link
+
+# Convenience name for "all" pass in the directory.
+test/link/all:
+
+.PHONY : test/link/all
+
+# Convenience name for "clean" pass in the directory.
+test/link/clean:
+
+.PHONY : test/link/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/link/preinstall:
+
+.PHONY : test/link/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/opt
+
+# Convenience name for "all" pass in the directory.
+test/opt/all: test/opt/dominator_tree/all
+test/opt/all: test/opt/loop_optimizations/all
+
+.PHONY : test/opt/all
+
+# Convenience name for "clean" pass in the directory.
+test/opt/clean: test/opt/dominator_tree/clean
+test/opt/clean: test/opt/loop_optimizations/clean
+
+.PHONY : test/opt/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/opt/preinstall: test/opt/dominator_tree/preinstall
+test/opt/preinstall: test/opt/loop_optimizations/preinstall
+
+.PHONY : test/opt/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/opt/dominator_tree
+
+# Convenience name for "all" pass in the directory.
+test/opt/dominator_tree/all:
+
+.PHONY : test/opt/dominator_tree/all
+
+# Convenience name for "clean" pass in the directory.
+test/opt/dominator_tree/clean:
+
+.PHONY : test/opt/dominator_tree/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/opt/dominator_tree/preinstall:
+
+.PHONY : test/opt/dominator_tree/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/opt/loop_optimizations
+
+# Convenience name for "all" pass in the directory.
+test/opt/loop_optimizations/all:
+
+.PHONY : test/opt/loop_optimizations/all
+
+# Convenience name for "clean" pass in the directory.
+test/opt/loop_optimizations/clean:
+
+.PHONY : test/opt/loop_optimizations/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/opt/loop_optimizations/preinstall:
+
+.PHONY : test/opt/loop_optimizations/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/stats
+
+# Convenience name for "all" pass in the directory.
+test/stats/all:
+
+.PHONY : test/stats/all
+
+# Convenience name for "clean" pass in the directory.
+test/stats/clean:
+
+.PHONY : test/stats/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/stats/preinstall:
+
+.PHONY : test/stats/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/tools
+
+# Convenience name for "all" pass in the directory.
+test/tools/all: test/tools/opt/all
+
+.PHONY : test/tools/all
+
+# Convenience name for "clean" pass in the directory.
+test/tools/clean: test/tools/opt/clean
+
+.PHONY : test/tools/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/tools/preinstall: test/tools/opt/preinstall
+
+.PHONY : test/tools/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/tools/opt
+
+# Convenience name for "all" pass in the directory.
+test/tools/opt/all:
+
+.PHONY : test/tools/opt/all
+
+# Convenience name for "clean" pass in the directory.
+test/tools/opt/clean:
+
+.PHONY : test/tools/opt/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/tools/opt/preinstall:
+
+.PHONY : test/tools/opt/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/util
+
+# Convenience name for "all" pass in the directory.
+test/util/all:
+
+.PHONY : test/util/all
+
+# Convenience name for "clean" pass in the directory.
+test/util/clean:
+
+.PHONY : test/util/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/util/preinstall:
+
+.PHONY : test/util/preinstall
+
+#=============================================================================
+# Directory level rules for directory test/val
+
+# Convenience name for "all" pass in the directory.
+test/val/all:
+
+.PHONY : test/val/all
+
+# Convenience name for "clean" pass in the directory.
+test/val/clean:
+
+.PHONY : test/val/clean
+
+# Convenience name for "preinstall" pass in the directory.
+test/val/preinstall:
+
+.PHONY : test/val/preinstall
+
+#=============================================================================
+# Directory level rules for directory examples
+
+# Convenience name for "all" pass in the directory.
+examples/all: examples/cpp-interface/all
+
+.PHONY : examples/all
+
+# Convenience name for "clean" pass in the directory.
+examples/clean: examples/cpp-interface/clean
+
+.PHONY : examples/clean
+
+# Convenience name for "preinstall" pass in the directory.
+examples/preinstall: examples/cpp-interface/preinstall
+
+.PHONY : examples/preinstall
+
+#=============================================================================
+# Directory level rules for directory examples/cpp-interface
+
+# Convenience name for "all" pass in the directory.
+examples/cpp-interface/all: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/all
+
+.PHONY : examples/cpp-interface/all
+
+# Convenience name for "clean" pass in the directory.
+examples/cpp-interface/clean: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/clean
+
+.PHONY : examples/cpp-interface/clean
+
+# Convenience name for "preinstall" pass in the directory.
+examples/cpp-interface/preinstall:
+
+.PHONY : examples/cpp-interface/preinstall
+
+#=============================================================================
+# Target rules for target examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir
+
+# All Build rule for target.
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/all: source/CMakeFiles/SPIRV-Tools.dir/all
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/all: source/opt/CMakeFiles/SPIRV-Tools-opt.dir/all
+	$(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/depend
+	$(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=96 "Built target spirv-tools-cpp-example"
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/all
+
+# Include target in all.
+all: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 60
+	$(MAKE) -f CMakeFiles/Makefile2 examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/rule
+
+# Convenience name for target.
+spirv-tools-cpp-example: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/rule
+
+.PHONY : spirv-tools-cpp-example
+
+# clean rule for target.
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/clean:
+	$(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/clean
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/clean
+
+# clean rule for target.
+clean: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/1

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/2

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/3

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/4

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/5

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/6

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/7

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/8

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/9

@@ -0,0 +1 @@
+empty

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/Progress/count.txt

@@ -0,0 +1 @@
+98

+ 176 - 0
3rdparty/spirv-tools/build/CMakeFiles/TargetDirectories.txt

@@ -0,0 +1,176 @@
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/spirv-tools-pkg-config.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-debuginfo.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-header-DebugInfo.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-build-version.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/spirv-tools-vimsyntax.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/comp/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/comp/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/comp/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/comp/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/comp/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/comp/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/comp/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/SPIRV-Tools-opt.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/SPIRV-Tools-link.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/link/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/spirv-cfg.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/spirv-dis.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/spirv-as.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/spirv-val.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/spirv-link.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/spirv-opt.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/CMakeFiles/spirv-stats.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/lesspipe/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/lesspipe/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/lesspipe/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/lesspipe/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/lesspipe/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/lesspipe/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/lesspipe/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/emacs/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/emacs/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/emacs/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/emacs/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/emacs/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/emacs/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/emacs/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/comp/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/comp/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/comp/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/comp/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/comp/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/comp/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/comp/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/link/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/link/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/link/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/link/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/link/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/link/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/link/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/dominator_tree/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/dominator_tree/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/dominator_tree/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/dominator_tree/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/dominator_tree/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/dominator_tree/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/dominator_tree/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/loop_optimizations/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/loop_optimizations/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/loop_optimizations/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/loop_optimizations/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/loop_optimizations/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/loop_optimizations/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/opt/loop_optimizations/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/stats/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/stats/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/stats/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/stats/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/stats/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/stats/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/stats/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/opt/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/opt/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/opt/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/opt/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/opt/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/opt/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/tools/opt/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/util/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/util/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/util/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/util/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/util/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/util/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/util/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/val/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/val/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/val/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/val/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/val/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/val/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/val/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/install/local.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/install.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/rebuild_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/install/strip.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/edit_cache.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/list_install_components.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/test.dir
+/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/install/local.dir

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/cmake.check_cache

@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file

BIN
3rdparty/spirv-tools/build/CMakeFiles/feature_tests.bin


+ 34 - 0
3rdparty/spirv-tools/build/CMakeFiles/feature_tests.c

@@ -0,0 +1,34 @@
+
+  const char features[] = {"\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404
+"1"
+#else
+"0"
+#endif
+"c_function_prototypes\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+"1"
+#else
+"0"
+#endif
+"c_restrict\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L
+"1"
+#else
+"0"
+#endif
+"c_static_assert\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+"1"
+#else
+"0"
+#endif
+"c_variadic_macros\n"
+
+};
+
+int main(int argc, char** argv) { (void)argv; return features[argc]; }

+ 405 - 0
3rdparty/spirv-tools/build/CMakeFiles/feature_tests.cxx

@@ -0,0 +1,405 @@
+
+  const char features[] = {"\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_aggregate_default_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alias_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alignas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alignof\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_attributes\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_attribute_deprecated\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_auto_type\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_binary_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_constexpr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_contextual_conversions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_decltype\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_decltype_auto\n"
+"CXX_FEATURE:"
+#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_decltype_incomplete_return_types\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_default_function_template_args\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_defaulted_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_defaulted_move_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_delegating_constructors\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_deleted_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_digit_separators\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_enum_forward_declarations\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_explicit_conversions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_extended_friend_declarations\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_extern_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_final\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_func_identifier\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_generalized_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_generic_lambdas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_inheriting_constructors\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_inline_namespaces\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_lambdas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_lambda_init_captures\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_local_type_template_args\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_long_long_type\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_noexcept\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_nonstatic_member_init\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_nullptr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_override\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_range_for\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_raw_string_literals\n"
+"CXX_FEATURE:"
+#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_reference_qualified_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_relaxed_constexpr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_return_type_deduction\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_right_angle_brackets\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_rvalue_references\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_sizeof_member\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_static_assert\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_strong_enums\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
+"1"
+#else
+"0"
+#endif
+"cxx_template_template_parameters\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_thread_local\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_trailing_return_types\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_unicode_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_uniform_initialization\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_unrestricted_unions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_user_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_variable_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_variadic_macros\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_variadic_templates\n"
+
+};
+
+int main(int argc, char** argv) { (void)argv; return features[argc]; }

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+98

+ 11 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/DependInfo.cmake

@@ -0,0 +1,11 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+# The set of files for implicit dependencies of each language:
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 78 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/build.make

@@ -0,0 +1,78 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+# Utility rule file for spirv-tools-pkg-config.
+
+# Include the progress variables for this target.
+include CMakeFiles/spirv-tools-pkg-config.dir/progress.make
+
+CMakeFiles/spirv-tools-pkg-config: ../CHANGES
+CMakeFiles/spirv-tools-pkg-config: ../cmake/SPIRV-Tools.pc.in
+CMakeFiles/spirv-tools-pkg-config: ../cmake/write_pkg_config.cmake
+	/usr/bin/cmake -DCHANGES_FILE=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/CHANGES -DTEMPLATE_FILE=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/cmake/SPIRV-Tools.pc.in -DOUT_FILE=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/SPIRV-Tools.pc -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_INCLUDEDIR=include -DSPIRV_LIBRARIES=-lSPIRV-Tools\ -lSPIRV-Tools-link\ -lSPIRV-Tools-opt -P /home/bkaradzic/Private/projects/_github/SPIRV-Tools/cmake/write_pkg_config.cmake
+
+spirv-tools-pkg-config: CMakeFiles/spirv-tools-pkg-config
+spirv-tools-pkg-config: CMakeFiles/spirv-tools-pkg-config.dir/build.make
+
+.PHONY : spirv-tools-pkg-config
+
+# Rule to build all files generated by this target.
+CMakeFiles/spirv-tools-pkg-config.dir/build: spirv-tools-pkg-config
+
+.PHONY : CMakeFiles/spirv-tools-pkg-config.dir/build
+
+CMakeFiles/spirv-tools-pkg-config.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/spirv-tools-pkg-config.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/spirv-tools-pkg-config.dir/clean
+
+CMakeFiles/spirv-tools-pkg-config.dir/depend:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/bkaradzic/Private/projects/_github/SPIRV-Tools /home/bkaradzic/Private/projects/_github/SPIRV-Tools /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/spirv-tools-pkg-config.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : CMakeFiles/spirv-tools-pkg-config.dir/depend
+

+ 8 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/cmake_clean.cmake

@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/spirv-tools-pkg-config"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/spirv-tools-pkg-config.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

+ 3 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/depend.internal

@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+

+ 3 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/depend.make

@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-pkg-config.dir/progress.make

@@ -0,0 +1 @@
+

+ 11 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/DependInfo.cmake

@@ -0,0 +1,11 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+# The set of files for implicit dependencies of each language:
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 78 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/build.make

@@ -0,0 +1,78 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+# Utility rule file for spirv-tools-shared-pkg-config.
+
+# Include the progress variables for this target.
+include CMakeFiles/spirv-tools-shared-pkg-config.dir/progress.make
+
+CMakeFiles/spirv-tools-shared-pkg-config: ../CHANGES
+CMakeFiles/spirv-tools-shared-pkg-config: ../cmake/SPIRV-Tools-shared.pc.in
+CMakeFiles/spirv-tools-shared-pkg-config: ../cmake/write_pkg_config.cmake
+	/usr/bin/cmake -DCHANGES_FILE=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/CHANGES -DTEMPLATE_FILE=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/cmake/SPIRV-Tools-shared.pc.in -DOUT_FILE=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/SPIRV-Tools-shared.pc -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_INCLUDEDIR=include -DSPIRV_SHARED_LIBRARIES=-lSPIRV-Tools-shared -P /home/bkaradzic/Private/projects/_github/SPIRV-Tools/cmake/write_pkg_config.cmake
+
+spirv-tools-shared-pkg-config: CMakeFiles/spirv-tools-shared-pkg-config
+spirv-tools-shared-pkg-config: CMakeFiles/spirv-tools-shared-pkg-config.dir/build.make
+
+.PHONY : spirv-tools-shared-pkg-config
+
+# Rule to build all files generated by this target.
+CMakeFiles/spirv-tools-shared-pkg-config.dir/build: spirv-tools-shared-pkg-config
+
+.PHONY : CMakeFiles/spirv-tools-shared-pkg-config.dir/build
+
+CMakeFiles/spirv-tools-shared-pkg-config.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/spirv-tools-shared-pkg-config.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/spirv-tools-shared-pkg-config.dir/clean
+
+CMakeFiles/spirv-tools-shared-pkg-config.dir/depend:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/bkaradzic/Private/projects/_github/SPIRV-Tools /home/bkaradzic/Private/projects/_github/SPIRV-Tools /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : CMakeFiles/spirv-tools-shared-pkg-config.dir/depend
+

+ 8 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/cmake_clean.cmake

@@ -0,0 +1,8 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/spirv-tools-shared-pkg-config"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/spirv-tools-shared-pkg-config.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

+ 3 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/depend.internal

@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+

+ 3 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/depend.make

@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+

+ 1 - 0
3rdparty/spirv-tools/build/CMakeFiles/spirv-tools-shared-pkg-config.dir/progress.make

@@ -0,0 +1 @@
+

+ 13 - 0
3rdparty/spirv-tools/build/CTestTestfile.cmake

@@ -0,0 +1,13 @@
+# CMake generated Testfile for 
+# Source directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+# Build directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+# 
+# This file includes the relevant testing commands required for 
+# testing this directory and lists subdirectories to be tested as well.
+add_test(spirv-tools-copyrights "/usr/bin/python" "utils/check_copyright.py")
+set_tests_properties(spirv-tools-copyrights PROPERTIES  WORKING_DIRECTORY "/home/bkaradzic/Private/projects/_github/SPIRV-Tools")
+subdirs(external)
+subdirs(source)
+subdirs(tools)
+subdirs(test)
+subdirs(examples)

+ 137 - 0
3rdparty/spirv-tools/build/DebugInfo.h

@@ -0,0 +1,137 @@
+// Copyright (c) 2017 The Khronos Group Inc.
+// 
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and/or associated documentation files (the "Materials"),
+// to deal in the Materials without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Materials, and to permit persons to whom the
+// Materials are furnished to do so, subject to the following conditions:
+// 
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Materials.
+// 
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
+// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
+// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
+// 
+// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
+// IN THE MATERIALS.
+
+#ifndef SPIRV_EXTINST_DebugInfo_H_
+#define SPIRV_EXTINST_DebugInfo_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum { DebugInfoVersion = 100, DebugInfoVersion_BitWidthPadding = 0x7fffffff };
+enum { DebugInfoRevision = 1, DebugInfoRevision_BitWidthPadding = 0x7fffffff };
+
+enum DebugInfoInstructions {
+    DebugInfoDebugInfoNone = 0,
+    DebugInfoDebugCompilationUnit = 1,
+    DebugInfoDebugTypeBasic = 2,
+    DebugInfoDebugTypePointer = 3,
+    DebugInfoDebugTypeQualifier = 4,
+    DebugInfoDebugTypeArray = 5,
+    DebugInfoDebugTypeVector = 6,
+    DebugInfoDebugTypedef = 7,
+    DebugInfoDebugTypeFunction = 8,
+    DebugInfoDebugTypeEnum = 9,
+    DebugInfoDebugTypeComposite = 10,
+    DebugInfoDebugTypeMember = 11,
+    DebugInfoDebugTypeInheritance = 12,
+    DebugInfoDebugTypePtrToMember = 13,
+    DebugInfoDebugTypeTemplate = 14,
+    DebugInfoDebugTypeTemplateParameter = 15,
+    DebugInfoDebugTypeTemplateTemplateParameter = 16,
+    DebugInfoDebugTypeTemplateParameterPack = 17,
+    DebugInfoDebugGlobalVariable = 18,
+    DebugInfoDebugFunctionDeclaration = 19,
+    DebugInfoDebugFunction = 20,
+    DebugInfoDebugLexicalBlock = 21,
+    DebugInfoDebugLexicalBlockDiscriminator = 22,
+    DebugInfoDebugScope = 23,
+    DebugInfoDebugNoScope = 24,
+    DebugInfoDebugInlinedAt = 25,
+    DebugInfoDebugLocalVariable = 26,
+    DebugInfoDebugInlinedVariable = 27,
+    DebugInfoDebugDeclare = 28,
+    DebugInfoDebugValue = 29,
+    DebugInfoDebugOperation = 30,
+    DebugInfoDebugExpression = 31,
+    DebugInfoDebugMacroDef = 32,
+    DebugInfoDebugMacroUndef = 33,
+    DebugInfoInstructionsMax = 0x7ffffff
+};
+
+
+enum DebugInfoDebugInfoFlags {
+    DebugInfoFlagIsProtected = 0x01,
+    DebugInfoFlagIsPrivate = 0x02,
+    DebugInfoFlagIsPublic = 0x03,
+    DebugInfoFlagIsLocal = 0x04,
+    DebugInfoFlagIsDefinition = 0x08,
+    DebugInfoFlagFwdDecl = 0x10,
+    DebugInfoFlagArtificial = 0x20,
+    DebugInfoFlagExplicit = 0x40,
+    DebugInfoFlagPrototyped = 0x80,
+    DebugInfoFlagObjectPointer = 0x100,
+    DebugInfoFlagStaticMember = 0x200,
+    DebugInfoFlagIndirectVariable = 0x400,
+    DebugInfoFlagLValueReference = 0x800,
+    DebugInfoFlagRValueReference = 0x1000,
+    DebugInfoFlagIsOptimized = 0x2000,
+    DebugInfoDebugInfoFlagsMax = 0x7ffffff
+};
+
+enum DebugInfoDebugBaseTypeAttributeEncoding {
+    DebugInfoUnspecified = 0,
+    DebugInfoAddress = 1,
+    DebugInfoBoolean = 2,
+    DebugInfoFloat = 4,
+    DebugInfoSigned = 5,
+    DebugInfoSignedChar = 6,
+    DebugInfoUnsigned = 7,
+    DebugInfoUnsignedChar = 8,
+    DebugInfoDebugBaseTypeAttributeEncodingMax = 0x7ffffff
+};
+
+enum DebugInfoDebugCompositeType {
+    DebugInfoClass = 0,
+    DebugInfoStructure = 1,
+    DebugInfoUnion = 2,
+    DebugInfoDebugCompositeTypeMax = 0x7ffffff
+};
+
+enum DebugInfoDebugTypeQualifier {
+    DebugInfoConstType = 0,
+    DebugInfoVolatileType = 1,
+    DebugInfoRestrictType = 2,
+    DebugInfoDebugTypeQualifierMax = 0x7ffffff
+};
+
+enum DebugInfoDebugOperation {
+    DebugInfoDeref = 0,
+    DebugInfoPlus = 1,
+    DebugInfoMinus = 2,
+    DebugInfoPlusUconst = 3,
+    DebugInfoBitPiece = 4,
+    DebugInfoSwap = 5,
+    DebugInfoXderef = 6,
+    DebugInfoStackValue = 7,
+    DebugInfoConstu = 8,
+    DebugInfoDebugOperationMax = 0x7ffffff
+};
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // SPIRV_EXTINST_DebugInfo_H_

+ 502 - 0
3rdparty/spirv-tools/build/Makefile

@@ -0,0 +1,502 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: install/local
+
+.PHONY : install/local/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: install/strip
+
+.PHONY : install/strip/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles/progress.marks
+	$(MAKE) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named spirv-tools-shared-pkg-config
+
+# Build rule for target.
+spirv-tools-shared-pkg-config: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-shared-pkg-config
+.PHONY : spirv-tools-shared-pkg-config
+
+# fast build rule for target.
+spirv-tools-shared-pkg-config/fast:
+	$(MAKE) -f CMakeFiles/spirv-tools-shared-pkg-config.dir/build.make CMakeFiles/spirv-tools-shared-pkg-config.dir/build
+.PHONY : spirv-tools-shared-pkg-config/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-pkg-config
+
+# Build rule for target.
+spirv-tools-pkg-config: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-pkg-config
+.PHONY : spirv-tools-pkg-config
+
+# fast build rule for target.
+spirv-tools-pkg-config/fast:
+	$(MAKE) -f CMakeFiles/spirv-tools-pkg-config.dir/build.make CMakeFiles/spirv-tools-pkg-config.dir/build
+.PHONY : spirv-tools-pkg-config/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-debuginfo
+
+# Build rule for target.
+spirv-tools-debuginfo: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-debuginfo
+.PHONY : spirv-tools-debuginfo
+
+# fast build rule for target.
+spirv-tools-debuginfo/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-debuginfo.dir/build.make source/CMakeFiles/spirv-tools-debuginfo.dir/build
+.PHONY : spirv-tools-debuginfo/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-spv-amd-shader-ballot
+
+# Build rule for target.
+spirv-tools-spv-amd-shader-ballot: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-spv-amd-shader-ballot
+.PHONY : spirv-tools-spv-amd-shader-ballot
+
+# fast build rule for target.
+spirv-tools-spv-amd-shader-ballot/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-ballot.dir/build
+.PHONY : spirv-tools-spv-amd-shader-ballot/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-spv-amd-shader-trinary-minmax
+
+# Build rule for target.
+spirv-tools-spv-amd-shader-trinary-minmax: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-spv-amd-shader-trinary-minmax
+.PHONY : spirv-tools-spv-amd-shader-trinary-minmax
+
+# fast build rule for target.
+spirv-tools-spv-amd-shader-trinary-minmax/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-trinary-minmax.dir/build
+.PHONY : spirv-tools-spv-amd-shader-trinary-minmax/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-spv-amd-gcn-shader
+
+# Build rule for target.
+spirv-tools-spv-amd-gcn-shader: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-spv-amd-gcn-shader
+.PHONY : spirv-tools-spv-amd-gcn-shader
+
+# fast build rule for target.
+spirv-tools-spv-amd-gcn-shader/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-gcn-shader.dir/build
+.PHONY : spirv-tools-spv-amd-gcn-shader/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-header-DebugInfo
+
+# Build rule for target.
+spirv-tools-header-DebugInfo: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-header-DebugInfo
+.PHONY : spirv-tools-header-DebugInfo
+
+# fast build rule for target.
+spirv-tools-header-DebugInfo/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-header-DebugInfo.dir/build.make source/CMakeFiles/spirv-tools-header-DebugInfo.dir/build
+.PHONY : spirv-tools-header-DebugInfo/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-build-version
+
+# Build rule for target.
+spirv-tools-build-version: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-build-version
+.PHONY : spirv-tools-build-version
+
+# fast build rule for target.
+spirv-tools-build-version/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-build-version.dir/build.make source/CMakeFiles/spirv-tools-build-version.dir/build
+.PHONY : spirv-tools-build-version/fast
+
+#=============================================================================
+# Target rules for targets named SPIRV-Tools
+
+# Build rule for target.
+SPIRV-Tools: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 SPIRV-Tools
+.PHONY : SPIRV-Tools
+
+# fast build rule for target.
+SPIRV-Tools/fast:
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools.dir/build.make source/CMakeFiles/SPIRV-Tools.dir/build
+.PHONY : SPIRV-Tools/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-spv-amd-shader-explicit-vertex-parameter
+
+# Build rule for target.
+spirv-tools-spv-amd-shader-explicit-vertex-parameter: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-spv-amd-shader-explicit-vertex-parameter
+.PHONY : spirv-tools-spv-amd-shader-explicit-vertex-parameter
+
+# fast build rule for target.
+spirv-tools-spv-amd-shader-explicit-vertex-parameter/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/build.make source/CMakeFiles/spirv-tools-spv-amd-shader-explicit-vertex-parameter.dir/build
+.PHONY : spirv-tools-spv-amd-shader-explicit-vertex-parameter/fast
+
+#=============================================================================
+# Target rules for targets named SPIRV-Tools-shared
+
+# Build rule for target.
+SPIRV-Tools-shared: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 SPIRV-Tools-shared
+.PHONY : SPIRV-Tools-shared
+
+# fast build rule for target.
+SPIRV-Tools-shared/fast:
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/build
+.PHONY : SPIRV-Tools-shared/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-vimsyntax
+
+# Build rule for target.
+spirv-tools-vimsyntax: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-vimsyntax
+.PHONY : spirv-tools-vimsyntax
+
+# fast build rule for target.
+spirv-tools-vimsyntax/fast:
+	$(MAKE) -f source/CMakeFiles/spirv-tools-vimsyntax.dir/build.make source/CMakeFiles/spirv-tools-vimsyntax.dir/build
+.PHONY : spirv-tools-vimsyntax/fast
+
+#=============================================================================
+# Target rules for targets named SPIRV-Tools-opt
+
+# Build rule for target.
+SPIRV-Tools-opt: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 SPIRV-Tools-opt
+.PHONY : SPIRV-Tools-opt
+
+# fast build rule for target.
+SPIRV-Tools-opt/fast:
+	$(MAKE) -f source/opt/CMakeFiles/SPIRV-Tools-opt.dir/build.make source/opt/CMakeFiles/SPIRV-Tools-opt.dir/build
+.PHONY : SPIRV-Tools-opt/fast
+
+#=============================================================================
+# Target rules for targets named SPIRV-Tools-link
+
+# Build rule for target.
+SPIRV-Tools-link: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 SPIRV-Tools-link
+.PHONY : SPIRV-Tools-link
+
+# fast build rule for target.
+SPIRV-Tools-link/fast:
+	$(MAKE) -f source/link/CMakeFiles/SPIRV-Tools-link.dir/build.make source/link/CMakeFiles/SPIRV-Tools-link.dir/build
+.PHONY : SPIRV-Tools-link/fast
+
+#=============================================================================
+# Target rules for targets named spirv-cfg
+
+# Build rule for target.
+spirv-cfg: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-cfg
+.PHONY : spirv-cfg
+
+# fast build rule for target.
+spirv-cfg/fast:
+	$(MAKE) -f tools/CMakeFiles/spirv-cfg.dir/build.make tools/CMakeFiles/spirv-cfg.dir/build
+.PHONY : spirv-cfg/fast
+
+#=============================================================================
+# Target rules for targets named spirv-dis
+
+# Build rule for target.
+spirv-dis: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-dis
+.PHONY : spirv-dis
+
+# fast build rule for target.
+spirv-dis/fast:
+	$(MAKE) -f tools/CMakeFiles/spirv-dis.dir/build.make tools/CMakeFiles/spirv-dis.dir/build
+.PHONY : spirv-dis/fast
+
+#=============================================================================
+# Target rules for targets named spirv-as
+
+# Build rule for target.
+spirv-as: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-as
+.PHONY : spirv-as
+
+# fast build rule for target.
+spirv-as/fast:
+	$(MAKE) -f tools/CMakeFiles/spirv-as.dir/build.make tools/CMakeFiles/spirv-as.dir/build
+.PHONY : spirv-as/fast
+
+#=============================================================================
+# Target rules for targets named spirv-val
+
+# Build rule for target.
+spirv-val: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-val
+.PHONY : spirv-val
+
+# fast build rule for target.
+spirv-val/fast:
+	$(MAKE) -f tools/CMakeFiles/spirv-val.dir/build.make tools/CMakeFiles/spirv-val.dir/build
+.PHONY : spirv-val/fast
+
+#=============================================================================
+# Target rules for targets named spirv-link
+
+# Build rule for target.
+spirv-link: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-link
+.PHONY : spirv-link
+
+# fast build rule for target.
+spirv-link/fast:
+	$(MAKE) -f tools/CMakeFiles/spirv-link.dir/build.make tools/CMakeFiles/spirv-link.dir/build
+.PHONY : spirv-link/fast
+
+#=============================================================================
+# Target rules for targets named spirv-opt
+
+# Build rule for target.
+spirv-opt: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-opt
+.PHONY : spirv-opt
+
+# fast build rule for target.
+spirv-opt/fast:
+	$(MAKE) -f tools/CMakeFiles/spirv-opt.dir/build.make tools/CMakeFiles/spirv-opt.dir/build
+.PHONY : spirv-opt/fast
+
+#=============================================================================
+# Target rules for targets named spirv-stats
+
+# Build rule for target.
+spirv-stats: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-stats
+.PHONY : spirv-stats
+
+# fast build rule for target.
+spirv-stats/fast:
+	$(MAKE) -f tools/CMakeFiles/spirv-stats.dir/build.make tools/CMakeFiles/spirv-stats.dir/build
+.PHONY : spirv-stats/fast
+
+#=============================================================================
+# Target rules for targets named spirv-tools-cpp-example
+
+# Build rule for target.
+spirv-tools-cpp-example: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 spirv-tools-cpp-example
+.PHONY : spirv-tools-cpp-example
+
+# fast build rule for target.
+spirv-tools-cpp-example/fast:
+	$(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build
+.PHONY : spirv-tools-cpp-example/fast
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install"
+	@echo "... rebuild_cache"
+	@echo "... spirv-tools-shared-pkg-config"
+	@echo "... edit_cache"
+	@echo "... spirv-tools-pkg-config"
+	@echo "... list_install_components"
+	@echo "... install/local"
+	@echo "... test"
+	@echo "... install/strip"
+	@echo "... spirv-tools-debuginfo"
+	@echo "... spirv-tools-spv-amd-shader-ballot"
+	@echo "... spirv-tools-spv-amd-shader-trinary-minmax"
+	@echo "... spirv-tools-spv-amd-gcn-shader"
+	@echo "... spirv-tools-header-DebugInfo"
+	@echo "... spirv-tools-build-version"
+	@echo "... SPIRV-Tools"
+	@echo "... spirv-tools-spv-amd-shader-explicit-vertex-parameter"
+	@echo "... SPIRV-Tools-shared"
+	@echo "... spirv-tools-vimsyntax"
+	@echo "... SPIRV-Tools-opt"
+	@echo "... SPIRV-Tools-link"
+	@echo "... spirv-cfg"
+	@echo "... spirv-dis"
+	@echo "... spirv-as"
+	@echo "... spirv-val"
+	@echo "... spirv-link"
+	@echo "... spirv-opt"
+	@echo "... spirv-stats"
+	@echo "... spirv-tools-cpp-example"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 12 - 0
3rdparty/spirv-tools/build/SPIRV-Tools-shared.pc

@@ -0,0 +1,12 @@
+prefix=/usr/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: SPIRV-Tools
+Description: Tools for SPIR-V
+Version: 2018.6.0
+URL: https://github.com/KhronosGroup/SPIRV-Tools
+
+Libs: -L${libdir} -lSPIRV-Tools-shared
+Cflags: -I${includedir}

+ 12 - 0
3rdparty/spirv-tools/build/SPIRV-Tools.pc

@@ -0,0 +1,12 @@
+prefix=/usr/local
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: SPIRV-Tools
+Description: Tools for SPIR-V
+Version: 2018.6.0
+URL: https://github.com/KhronosGroup/SPIRV-Tools
+
+Libs: -L${libdir} -lSPIRV-Tools -lSPIRV-Tools-link -lSPIRV-Tools-opt
+Cflags: -I${includedir}

+ 1 - 0
3rdparty/spirv-tools/build/build-version.inc

@@ -0,0 +1 @@
+"v2018.6-dev", "SPIRV-Tools v2018.6-dev v2018.5-62-g5bc3078"

+ 70 - 0
3rdparty/spirv-tools/build/cmake_install.cmake

@@ -0,0 +1,70 @@
+# Install script for directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "Debug")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+if(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/spirv-tools" TYPE FILE FILES
+    "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/include/spirv-tools/libspirv.h"
+    "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/include/spirv-tools/libspirv.hpp"
+    "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/include/spirv-tools/optimizer.hpp"
+    "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/include/spirv-tools/linker.hpp"
+    )
+endif()
+
+if(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" TYPE FILE FILES
+    "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/SPIRV-Tools.pc"
+    "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/SPIRV-Tools-shared.pc"
+    )
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for each subdirectory.
+  include("/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/cmake_install.cmake")
+  include("/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/cmake_install.cmake")
+  include("/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/tools/cmake_install.cmake")
+  include("/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/test/cmake_install.cmake")
+  include("/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cmake_install.cmake")
+
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+  set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+  set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+       "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/${CMAKE_INSTALL_MANIFEST}"
+     "${CMAKE_INSTALL_MANIFEST_CONTENT}")

+ 410 - 0
3rdparty/spirv-tools/build/core.insts-unified1.inc

@@ -0,0 +1,410 @@
+static const SpvCapability pygen_variable_caps_Addresses[] = {SpvCapabilityAddresses};
+static const SpvCapability pygen_variable_caps_AddressesVariablePointersVariablePointersStorageBuffer[] = {SpvCapabilityAddresses, SpvCapabilityVariablePointers, SpvCapabilityVariablePointersStorageBuffer};
+static const SpvCapability pygen_variable_caps_DerivativeControl[] = {SpvCapabilityDerivativeControl};
+static const SpvCapability pygen_variable_caps_DeviceEnqueue[] = {SpvCapabilityDeviceEnqueue};
+static const SpvCapability pygen_variable_caps_FragmentMaskAMD[] = {SpvCapabilityFragmentMaskAMD};
+static const SpvCapability pygen_variable_caps_Geometry[] = {SpvCapabilityGeometry};
+static const SpvCapability pygen_variable_caps_GeometryStreams[] = {SpvCapabilityGeometryStreams};
+static const SpvCapability pygen_variable_caps_GroupNonUniform[] = {SpvCapabilityGroupNonUniform};
+static const SpvCapability pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered[] = {SpvCapabilityGroupNonUniformArithmetic, SpvCapabilityGroupNonUniformClustered};
+static const SpvCapability pygen_variable_caps_GroupNonUniformBallot[] = {SpvCapabilityGroupNonUniformBallot};
+static const SpvCapability pygen_variable_caps_GroupNonUniformPartitionedNV[] = {SpvCapabilityGroupNonUniformPartitionedNV};
+static const SpvCapability pygen_variable_caps_GroupNonUniformQuad[] = {SpvCapabilityGroupNonUniformQuad};
+static const SpvCapability pygen_variable_caps_GroupNonUniformShuffle[] = {SpvCapabilityGroupNonUniformShuffle};
+static const SpvCapability pygen_variable_caps_GroupNonUniformShuffleRelative[] = {SpvCapabilityGroupNonUniformShuffleRelative};
+static const SpvCapability pygen_variable_caps_GroupNonUniformVote[] = {SpvCapabilityGroupNonUniformVote};
+static const SpvCapability pygen_variable_caps_Groups[] = {SpvCapabilityGroups};
+static const SpvCapability pygen_variable_caps_ImageQuery[] = {SpvCapabilityImageQuery};
+static const SpvCapability pygen_variable_caps_Kernel[] = {SpvCapabilityKernel};
+static const SpvCapability pygen_variable_caps_KernelImageQuery[] = {SpvCapabilityKernel, SpvCapabilityImageQuery};
+static const SpvCapability pygen_variable_caps_LiteralSampler[] = {SpvCapabilityLiteralSampler};
+static const SpvCapability pygen_variable_caps_Matrix[] = {SpvCapabilityMatrix};
+static const SpvCapability pygen_variable_caps_NamedBarrier[] = {SpvCapabilityNamedBarrier};
+static const SpvCapability pygen_variable_caps_PipeStorage[] = {SpvCapabilityPipeStorage};
+static const SpvCapability pygen_variable_caps_Pipes[] = {SpvCapabilityPipes};
+static const SpvCapability pygen_variable_caps_Shader[] = {SpvCapabilityShader};
+static const SpvCapability pygen_variable_caps_SparseResidency[] = {SpvCapabilitySparseResidency};
+static const SpvCapability pygen_variable_caps_SubgroupBallotKHR[] = {SpvCapabilitySubgroupBallotKHR};
+static const SpvCapability pygen_variable_caps_SubgroupBufferBlockIOINTEL[] = {SpvCapabilitySubgroupBufferBlockIOINTEL};
+static const SpvCapability pygen_variable_caps_SubgroupDispatch[] = {SpvCapabilitySubgroupDispatch};
+static const SpvCapability pygen_variable_caps_SubgroupImageBlockIOINTEL[] = {SpvCapabilitySubgroupImageBlockIOINTEL};
+static const SpvCapability pygen_variable_caps_SubgroupShuffleINTEL[] = {SpvCapabilitySubgroupShuffleINTEL};
+static const SpvCapability pygen_variable_caps_SubgroupVoteKHR[] = {SpvCapabilitySubgroupVoteKHR};
+
+static const spvtools::Extension pygen_variable_exts_SPV_AMD_shader_ballot[] = {spvtools::Extension::kSPV_AMD_shader_ballot};
+static const spvtools::Extension pygen_variable_exts_SPV_AMD_shader_fragment_mask[] = {spvtools::Extension::kSPV_AMD_shader_fragment_mask};
+static const spvtools::Extension pygen_variable_exts_SPV_GOOGLE_decorate_stringSPV_GOOGLE_hlsl_functionality1[] = {spvtools::Extension::kSPV_GOOGLE_decorate_string, spvtools::Extension::kSPV_GOOGLE_hlsl_functionality1};
+static const spvtools::Extension pygen_variable_exts_SPV_GOOGLE_hlsl_functionality1[] = {spvtools::Extension::kSPV_GOOGLE_hlsl_functionality1};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_shader_ballot[] = {spvtools::Extension::kSPV_KHR_shader_ballot};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_subgroup_vote[] = {spvtools::Extension::kSPV_KHR_subgroup_vote};
+static const spvtools::Extension pygen_variable_exts_SPV_NV_shader_subgroup_partitioned[] = {spvtools::Extension::kSPV_NV_shader_subgroup_partitioned};
+
+static const spv_opcode_desc_t kOpcodeTableEntries[] = {
+  {"Nop", SpvOpNop, 0, nullptr, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Undef", SpvOpUndef, 0, nullptr, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SourceContinued", SpvOpSourceContinued, 0, nullptr, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Source", SpvOpSource, 0, nullptr, 4, {SPV_OPERAND_TYPE_SOURCE_LANGUAGE, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_OPTIONAL_LITERAL_STRING}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SourceExtension", SpvOpSourceExtension, 0, nullptr, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Name", SpvOpName, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MemberName", SpvOpMemberName, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"String", SpvOpString, 0, nullptr, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Line", SpvOpLine, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Extension", SpvOpExtension, 0, nullptr, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ExtInstImport", SpvOpExtInstImport, 0, nullptr, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ExtInst", SpvOpExtInst, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXTENSION_INSTRUCTION_NUMBER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MemoryModel", SpvOpMemoryModel, 0, nullptr, 2, {SPV_OPERAND_TYPE_ADDRESSING_MODEL, SPV_OPERAND_TYPE_MEMORY_MODEL}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EntryPoint", SpvOpEntryPoint, 0, nullptr, 4, {SPV_OPERAND_TYPE_EXECUTION_MODEL, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_STRING, SPV_OPERAND_TYPE_VARIABLE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ExecutionMode", SpvOpExecutionMode, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXECUTION_MODE}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Capability", SpvOpCapability, 0, nullptr, 1, {SPV_OPERAND_TYPE_CAPABILITY}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeVoid", SpvOpTypeVoid, 0, nullptr, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeBool", SpvOpTypeBool, 0, nullptr, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeInt", SpvOpTypeInt, 0, nullptr, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeFloat", SpvOpTypeFloat, 0, nullptr, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeVector", SpvOpTypeVector, 0, nullptr, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeMatrix", SpvOpTypeMatrix, 1, pygen_variable_caps_Matrix, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeImage", SpvOpTypeImage, 0, nullptr, 9, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DIMENSIONALITY, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_SAMPLER_IMAGE_FORMAT, SPV_OPERAND_TYPE_OPTIONAL_ACCESS_QUALIFIER}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeSampler", SpvOpTypeSampler, 0, nullptr, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeSampledImage", SpvOpTypeSampledImage, 0, nullptr, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeArray", SpvOpTypeArray, 0, nullptr, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeRuntimeArray", SpvOpTypeRuntimeArray, 1, pygen_variable_caps_Shader, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeStruct", SpvOpTypeStruct, 0, nullptr, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeOpaque", SpvOpTypeOpaque, 1, pygen_variable_caps_Kernel, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypePointer", SpvOpTypePointer, 0, nullptr, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeFunction", SpvOpTypeFunction, 0, nullptr, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeEvent", SpvOpTypeEvent, 1, pygen_variable_caps_Kernel, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeDeviceEvent", SpvOpTypeDeviceEvent, 1, pygen_variable_caps_DeviceEnqueue, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeReserveId", SpvOpTypeReserveId, 1, pygen_variable_caps_Pipes, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeQueue", SpvOpTypeQueue, 1, pygen_variable_caps_DeviceEnqueue, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypePipe", SpvOpTypePipe, 1, pygen_variable_caps_Pipes, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ACCESS_QUALIFIER}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TypeForwardPointer", SpvOpTypeForwardPointer, 1, pygen_variable_caps_Addresses, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_STORAGE_CLASS}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConstantTrue", SpvOpConstantTrue, 0, nullptr, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConstantFalse", SpvOpConstantFalse, 0, nullptr, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Constant", SpvOpConstant, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConstantComposite", SpvOpConstantComposite, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConstantSampler", SpvOpConstantSampler, 1, pygen_variable_caps_LiteralSampler, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SAMPLER_ADDRESSING_MODE, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_SAMPLER_FILTER_MODE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConstantNull", SpvOpConstantNull, 0, nullptr, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpecConstantTrue", SpvOpSpecConstantTrue, 0, nullptr, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpecConstantFalse", SpvOpSpecConstantFalse, 0, nullptr, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpecConstant", SpvOpSpecConstant, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpecConstantComposite", SpvOpSpecConstantComposite, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpecConstantOp", SpvOpSpecConstantOp, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SPEC_CONSTANT_OP_NUMBER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Function", SpvOpFunction, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_FUNCTION_CONTROL, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FunctionParameter", SpvOpFunctionParameter, 0, nullptr, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FunctionEnd", SpvOpFunctionEnd, 0, nullptr, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FunctionCall", SpvOpFunctionCall, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Variable", SpvOpVariable, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageTexelPointer", SpvOpImageTexelPointer, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Load", SpvOpLoad, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Store", SpvOpStore, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CopyMemory", SpvOpCopyMemory, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CopyMemorySized", SpvOpCopyMemorySized, 1, pygen_variable_caps_Addresses, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AccessChain", SpvOpAccessChain, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InBoundsAccessChain", SpvOpInBoundsAccessChain, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PtrAccessChain", SpvOpPtrAccessChain, 3, pygen_variable_caps_AddressesVariablePointersVariablePointersStorageBuffer, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ArrayLength", SpvOpArrayLength, 1, pygen_variable_caps_Shader, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GenericPtrMemSemantics", SpvOpGenericPtrMemSemantics, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InBoundsPtrAccessChain", SpvOpInBoundsPtrAccessChain, 1, pygen_variable_caps_Addresses, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Decorate", SpvOpDecorate, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DECORATION}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MemberDecorate", SpvOpMemberDecorate, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_DECORATION}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DecorationGroup", SpvOpDecorationGroup, 0, nullptr, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupDecorate", SpvOpGroupDecorate, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupMemberDecorate", SpvOpGroupMemberDecorate, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID_LITERAL_INTEGER}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VectorExtractDynamic", SpvOpVectorExtractDynamic, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VectorInsertDynamic", SpvOpVectorInsertDynamic, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VectorShuffle", SpvOpVectorShuffle, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CompositeConstruct", SpvOpCompositeConstruct, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CompositeExtract", SpvOpCompositeExtract, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CompositeInsert", SpvOpCompositeInsert, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CopyObject", SpvOpCopyObject, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Transpose", SpvOpTranspose, 1, pygen_variable_caps_Matrix, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampledImage", SpvOpSampledImage, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleImplicitLod", SpvOpImageSampleImplicitLod, 1, pygen_variable_caps_Shader, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleExplicitLod", SpvOpImageSampleExplicitLod, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleDrefImplicitLod", SpvOpImageSampleDrefImplicitLod, 1, pygen_variable_caps_Shader, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleDrefExplicitLod", SpvOpImageSampleDrefExplicitLod, 1, pygen_variable_caps_Shader, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleProjImplicitLod", SpvOpImageSampleProjImplicitLod, 1, pygen_variable_caps_Shader, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleProjExplicitLod", SpvOpImageSampleProjExplicitLod, 1, pygen_variable_caps_Shader, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleProjDrefImplicitLod", SpvOpImageSampleProjDrefImplicitLod, 1, pygen_variable_caps_Shader, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSampleProjDrefExplicitLod", SpvOpImageSampleProjDrefExplicitLod, 1, pygen_variable_caps_Shader, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageFetch", SpvOpImageFetch, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageGather", SpvOpImageGather, 1, pygen_variable_caps_Shader, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageDrefGather", SpvOpImageDrefGather, 1, pygen_variable_caps_Shader, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageRead", SpvOpImageRead, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageWrite", SpvOpImageWrite, 0, nullptr, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Image", SpvOpImage, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQueryFormat", SpvOpImageQueryFormat, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQueryOrder", SpvOpImageQueryOrder, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQuerySizeLod", SpvOpImageQuerySizeLod, 2, pygen_variable_caps_KernelImageQuery, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQuerySize", SpvOpImageQuerySize, 2, pygen_variable_caps_KernelImageQuery, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQueryLod", SpvOpImageQueryLod, 1, pygen_variable_caps_ImageQuery, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQueryLevels", SpvOpImageQueryLevels, 2, pygen_variable_caps_KernelImageQuery, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQuerySamples", SpvOpImageQuerySamples, 2, pygen_variable_caps_KernelImageQuery, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConvertFToU", SpvOpConvertFToU, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConvertFToS", SpvOpConvertFToS, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConvertSToF", SpvOpConvertSToF, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConvertUToF", SpvOpConvertUToF, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UConvert", SpvOpUConvert, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SConvert", SpvOpSConvert, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FConvert", SpvOpFConvert, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"QuantizeToF16", SpvOpQuantizeToF16, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConvertPtrToU", SpvOpConvertPtrToU, 1, pygen_variable_caps_Addresses, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SatConvertSToU", SpvOpSatConvertSToU, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SatConvertUToS", SpvOpSatConvertUToS, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConvertUToPtr", SpvOpConvertUToPtr, 1, pygen_variable_caps_Addresses, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PtrCastToGeneric", SpvOpPtrCastToGeneric, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GenericCastToPtr", SpvOpGenericCastToPtr, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GenericCastToPtrExplicit", SpvOpGenericCastToPtrExplicit, 1, pygen_variable_caps_Kernel, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_STORAGE_CLASS}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Bitcast", SpvOpBitcast, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SNegate", SpvOpSNegate, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FNegate", SpvOpFNegate, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IAdd", SpvOpIAdd, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FAdd", SpvOpFAdd, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ISub", SpvOpISub, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FSub", SpvOpFSub, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IMul", SpvOpIMul, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FMul", SpvOpFMul, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UDiv", SpvOpUDiv, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SDiv", SpvOpSDiv, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FDiv", SpvOpFDiv, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UMod", SpvOpUMod, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SRem", SpvOpSRem, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SMod", SpvOpSMod, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FRem", SpvOpFRem, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FMod", SpvOpFMod, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VectorTimesScalar", SpvOpVectorTimesScalar, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MatrixTimesScalar", SpvOpMatrixTimesScalar, 1, pygen_variable_caps_Matrix, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VectorTimesMatrix", SpvOpVectorTimesMatrix, 1, pygen_variable_caps_Matrix, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MatrixTimesVector", SpvOpMatrixTimesVector, 1, pygen_variable_caps_Matrix, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MatrixTimesMatrix", SpvOpMatrixTimesMatrix, 1, pygen_variable_caps_Matrix, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OuterProduct", SpvOpOuterProduct, 1, pygen_variable_caps_Matrix, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Dot", SpvOpDot, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IAddCarry", SpvOpIAddCarry, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ISubBorrow", SpvOpISubBorrow, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UMulExtended", SpvOpUMulExtended, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SMulExtended", SpvOpSMulExtended, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Any", SpvOpAny, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"All", SpvOpAll, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IsNan", SpvOpIsNan, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IsInf", SpvOpIsInf, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IsFinite", SpvOpIsFinite, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IsNormal", SpvOpIsNormal, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SignBitSet", SpvOpSignBitSet, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LessOrGreater", SpvOpLessOrGreater, 1, pygen_variable_caps_Kernel, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Ordered", SpvOpOrdered, 1, pygen_variable_caps_Kernel, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Unordered", SpvOpUnordered, 1, pygen_variable_caps_Kernel, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LogicalEqual", SpvOpLogicalEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LogicalNotEqual", SpvOpLogicalNotEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LogicalOr", SpvOpLogicalOr, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LogicalAnd", SpvOpLogicalAnd, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LogicalNot", SpvOpLogicalNot, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Select", SpvOpSelect, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IEqual", SpvOpIEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"INotEqual", SpvOpINotEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UGreaterThan", SpvOpUGreaterThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SGreaterThan", SpvOpSGreaterThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UGreaterThanEqual", SpvOpUGreaterThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SGreaterThanEqual", SpvOpSGreaterThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ULessThan", SpvOpULessThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SLessThan", SpvOpSLessThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ULessThanEqual", SpvOpULessThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SLessThanEqual", SpvOpSLessThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FOrdEqual", SpvOpFOrdEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FUnordEqual", SpvOpFUnordEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FOrdNotEqual", SpvOpFOrdNotEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FUnordNotEqual", SpvOpFUnordNotEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FOrdLessThan", SpvOpFOrdLessThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FUnordLessThan", SpvOpFUnordLessThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FOrdGreaterThan", SpvOpFOrdGreaterThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FUnordGreaterThan", SpvOpFUnordGreaterThan, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FOrdLessThanEqual", SpvOpFOrdLessThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FUnordLessThanEqual", SpvOpFUnordLessThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FOrdGreaterThanEqual", SpvOpFOrdGreaterThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FUnordGreaterThanEqual", SpvOpFUnordGreaterThanEqual, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ShiftRightLogical", SpvOpShiftRightLogical, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ShiftRightArithmetic", SpvOpShiftRightArithmetic, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ShiftLeftLogical", SpvOpShiftLeftLogical, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitwiseOr", SpvOpBitwiseOr, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitwiseXor", SpvOpBitwiseXor, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitwiseAnd", SpvOpBitwiseAnd, 0, nullptr, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Not", SpvOpNot, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitFieldInsert", SpvOpBitFieldInsert, 1, pygen_variable_caps_Shader, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitFieldSExtract", SpvOpBitFieldSExtract, 1, pygen_variable_caps_Shader, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitFieldUExtract", SpvOpBitFieldUExtract, 1, pygen_variable_caps_Shader, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitReverse", SpvOpBitReverse, 1, pygen_variable_caps_Shader, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitCount", SpvOpBitCount, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DPdx", SpvOpDPdx, 1, pygen_variable_caps_Shader, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DPdy", SpvOpDPdy, 1, pygen_variable_caps_Shader, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Fwidth", SpvOpFwidth, 1, pygen_variable_caps_Shader, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DPdxFine", SpvOpDPdxFine, 1, pygen_variable_caps_DerivativeControl, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DPdyFine", SpvOpDPdyFine, 1, pygen_variable_caps_DerivativeControl, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FwidthFine", SpvOpFwidthFine, 1, pygen_variable_caps_DerivativeControl, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DPdxCoarse", SpvOpDPdxCoarse, 1, pygen_variable_caps_DerivativeControl, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DPdyCoarse", SpvOpDPdyCoarse, 1, pygen_variable_caps_DerivativeControl, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FwidthCoarse", SpvOpFwidthCoarse, 1, pygen_variable_caps_DerivativeControl, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EmitVertex", SpvOpEmitVertex, 1, pygen_variable_caps_Geometry, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EndPrimitive", SpvOpEndPrimitive, 1, pygen_variable_caps_Geometry, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EmitStreamVertex", SpvOpEmitStreamVertex, 1, pygen_variable_caps_GeometryStreams, 1, {SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EndStreamPrimitive", SpvOpEndStreamPrimitive, 1, pygen_variable_caps_GeometryStreams, 1, {SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ControlBarrier", SpvOpControlBarrier, 0, nullptr, 3, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MemoryBarrier", SpvOpMemoryBarrier, 0, nullptr, 2, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicLoad", SpvOpAtomicLoad, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicStore", SpvOpAtomicStore, 0, nullptr, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicExchange", SpvOpAtomicExchange, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicCompareExchange", SpvOpAtomicCompareExchange, 0, nullptr, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicCompareExchangeWeak", SpvOpAtomicCompareExchangeWeak, 1, pygen_variable_caps_Kernel, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicIIncrement", SpvOpAtomicIIncrement, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicIDecrement", SpvOpAtomicIDecrement, 0, nullptr, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicIAdd", SpvOpAtomicIAdd, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicISub", SpvOpAtomicISub, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicSMin", SpvOpAtomicSMin, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicUMin", SpvOpAtomicUMin, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicSMax", SpvOpAtomicSMax, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicUMax", SpvOpAtomicUMax, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicAnd", SpvOpAtomicAnd, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicOr", SpvOpAtomicOr, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicXor", SpvOpAtomicXor, 0, nullptr, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Phi", SpvOpPhi, 0, nullptr, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LoopMerge", SpvOpLoopMerge, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LOOP_CONTROL}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SelectionMerge", SpvOpSelectionMerge, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SELECTION_CONTROL}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Label", SpvOpLabel, 0, nullptr, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Branch", SpvOpBranch, 0, nullptr, 1, {SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BranchConditional", SpvOpBranchConditional, 0, nullptr, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Switch", SpvOpSwitch, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Kill", SpvOpKill, 1, pygen_variable_caps_Shader, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Return", SpvOpReturn, 0, nullptr, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReturnValue", SpvOpReturnValue, 0, nullptr, 1, {SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Unreachable", SpvOpUnreachable, 0, nullptr, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LifetimeStart", SpvOpLifetimeStart, 1, pygen_variable_caps_Kernel, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LifetimeStop", SpvOpLifetimeStop, 1, pygen_variable_caps_Kernel, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupAsyncCopy", SpvOpGroupAsyncCopy, 1, pygen_variable_caps_Kernel, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupWaitEvents", SpvOpGroupWaitEvents, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupAll", SpvOpGroupAll, 1, pygen_variable_caps_Groups, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupAny", SpvOpGroupAny, 1, pygen_variable_caps_Groups, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupBroadcast", SpvOpGroupBroadcast, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupIAdd", SpvOpGroupIAdd, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupFAdd", SpvOpGroupFAdd, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupFMin", SpvOpGroupFMin, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupUMin", SpvOpGroupUMin, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupSMin", SpvOpGroupSMin, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupFMax", SpvOpGroupFMax, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupUMax", SpvOpGroupUMax, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupSMax", SpvOpGroupSMax, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReadPipe", SpvOpReadPipe, 1, pygen_variable_caps_Pipes, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WritePipe", SpvOpWritePipe, 1, pygen_variable_caps_Pipes, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReservedReadPipe", SpvOpReservedReadPipe, 1, pygen_variable_caps_Pipes, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReservedWritePipe", SpvOpReservedWritePipe, 1, pygen_variable_caps_Pipes, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReserveReadPipePackets", SpvOpReserveReadPipePackets, 1, pygen_variable_caps_Pipes, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReserveWritePipePackets", SpvOpReserveWritePipePackets, 1, pygen_variable_caps_Pipes, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CommitReadPipe", SpvOpCommitReadPipe, 1, pygen_variable_caps_Pipes, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CommitWritePipe", SpvOpCommitWritePipe, 1, pygen_variable_caps_Pipes, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IsValidReserveId", SpvOpIsValidReserveId, 1, pygen_variable_caps_Pipes, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GetNumPipePackets", SpvOpGetNumPipePackets, 1, pygen_variable_caps_Pipes, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GetMaxPipePackets", SpvOpGetMaxPipePackets, 1, pygen_variable_caps_Pipes, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupReserveReadPipePackets", SpvOpGroupReserveReadPipePackets, 1, pygen_variable_caps_Pipes, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupReserveWritePipePackets", SpvOpGroupReserveWritePipePackets, 1, pygen_variable_caps_Pipes, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupCommitReadPipe", SpvOpGroupCommitReadPipe, 1, pygen_variable_caps_Pipes, 5, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GroupCommitWritePipe", SpvOpGroupCommitWritePipe, 1, pygen_variable_caps_Pipes, 5, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EnqueueMarker", SpvOpEnqueueMarker, 1, pygen_variable_caps_DeviceEnqueue, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EnqueueKernel", SpvOpEnqueueKernel, 1, pygen_variable_caps_DeviceEnqueue, 13, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GetKernelNDrangeSubGroupCount", SpvOpGetKernelNDrangeSubGroupCount, 1, pygen_variable_caps_DeviceEnqueue, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GetKernelNDrangeMaxSubGroupSize", SpvOpGetKernelNDrangeMaxSubGroupSize, 1, pygen_variable_caps_DeviceEnqueue, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GetKernelWorkGroupSize", SpvOpGetKernelWorkGroupSize, 1, pygen_variable_caps_DeviceEnqueue, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GetKernelPreferredWorkGroupSizeMultiple", SpvOpGetKernelPreferredWorkGroupSizeMultiple, 1, pygen_variable_caps_DeviceEnqueue, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RetainEvent", SpvOpRetainEvent, 1, pygen_variable_caps_DeviceEnqueue, 1, {SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReleaseEvent", SpvOpReleaseEvent, 1, pygen_variable_caps_DeviceEnqueue, 1, {SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CreateUserEvent", SpvOpCreateUserEvent, 1, pygen_variable_caps_DeviceEnqueue, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"IsValidEvent", SpvOpIsValidEvent, 1, pygen_variable_caps_DeviceEnqueue, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SetUserEventStatus", SpvOpSetUserEventStatus, 1, pygen_variable_caps_DeviceEnqueue, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CaptureEventProfilingInfo", SpvOpCaptureEventProfilingInfo, 1, pygen_variable_caps_DeviceEnqueue, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GetDefaultQueue", SpvOpGetDefaultQueue, 1, pygen_variable_caps_DeviceEnqueue, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BuildNDRange", SpvOpBuildNDRange, 1, pygen_variable_caps_DeviceEnqueue, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseSampleImplicitLod", SpvOpImageSparseSampleImplicitLod, 1, pygen_variable_caps_SparseResidency, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseSampleExplicitLod", SpvOpImageSparseSampleExplicitLod, 1, pygen_variable_caps_SparseResidency, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseSampleDrefImplicitLod", SpvOpImageSparseSampleDrefImplicitLod, 1, pygen_variable_caps_SparseResidency, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseSampleDrefExplicitLod", SpvOpImageSparseSampleDrefExplicitLod, 1, pygen_variable_caps_SparseResidency, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseSampleProjImplicitLod", SpvOpImageSparseSampleProjImplicitLod, 1, pygen_variable_caps_SparseResidency, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"ImageSparseSampleProjExplicitLod", SpvOpImageSparseSampleProjExplicitLod, 1, pygen_variable_caps_SparseResidency, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"ImageSparseSampleProjDrefImplicitLod", SpvOpImageSparseSampleProjDrefImplicitLod, 1, pygen_variable_caps_SparseResidency, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"ImageSparseSampleProjDrefExplicitLod", SpvOpImageSparseSampleProjDrefExplicitLod, 1, pygen_variable_caps_SparseResidency, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"ImageSparseFetch", SpvOpImageSparseFetch, 1, pygen_variable_caps_SparseResidency, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseGather", SpvOpImageSparseGather, 1, pygen_variable_caps_SparseResidency, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseDrefGather", SpvOpImageSparseDrefGather, 1, pygen_variable_caps_SparseResidency, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseTexelsResident", SpvOpImageSparseTexelsResident, 1, pygen_variable_caps_SparseResidency, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NoLine", SpvOpNoLine, 0, nullptr, 0, {}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicFlagTestAndSet", SpvOpAtomicFlagTestAndSet, 1, pygen_variable_caps_Kernel, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicFlagClear", SpvOpAtomicFlagClear, 1, pygen_variable_caps_Kernel, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageSparseRead", SpvOpImageSparseRead, 1, pygen_variable_caps_SparseResidency, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SizeOf", SpvOpSizeOf, 1, pygen_variable_caps_Addresses, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"TypePipeStorage", SpvOpTypePipeStorage, 1, pygen_variable_caps_PipeStorage, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"ConstantPipeStorage", SpvOpConstantPipeStorage, 1, pygen_variable_caps_PipeStorage, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"CreatePipeFromPipeStorage", SpvOpCreatePipeFromPipeStorage, 1, pygen_variable_caps_PipeStorage, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"GetKernelLocalSizeForSubgroupCount", SpvOpGetKernelLocalSizeForSubgroupCount, 1, pygen_variable_caps_SubgroupDispatch, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"GetKernelMaxNumSubgroups", SpvOpGetKernelMaxNumSubgroups, 1, pygen_variable_caps_SubgroupDispatch, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"TypeNamedBarrier", SpvOpTypeNamedBarrier, 1, pygen_variable_caps_NamedBarrier, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"NamedBarrierInitialize", SpvOpNamedBarrierInitialize, 1, pygen_variable_caps_NamedBarrier, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"MemoryNamedBarrier", SpvOpMemoryNamedBarrier, 1, pygen_variable_caps_NamedBarrier, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"ModuleProcessed", SpvOpModuleProcessed, 0, nullptr, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"ExecutionModeId", SpvOpExecutionModeId, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXECUTION_MODE}, 0, 0, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,2)},
+  {"DecorateId", SpvOpDecorateId, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DECORATION}, 0, 0, 1, pygen_variable_exts_SPV_GOOGLE_hlsl_functionality1, SPV_SPIRV_VERSION_WORD(1,2)},
+  {"GroupNonUniformElect", SpvOpGroupNonUniformElect, 1, pygen_variable_caps_GroupNonUniform, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformAll", SpvOpGroupNonUniformAll, 1, pygen_variable_caps_GroupNonUniformVote, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformAny", SpvOpGroupNonUniformAny, 1, pygen_variable_caps_GroupNonUniformVote, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformAllEqual", SpvOpGroupNonUniformAllEqual, 1, pygen_variable_caps_GroupNonUniformVote, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBroadcast", SpvOpGroupNonUniformBroadcast, 1, pygen_variable_caps_GroupNonUniformBallot, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBroadcastFirst", SpvOpGroupNonUniformBroadcastFirst, 1, pygen_variable_caps_GroupNonUniformBallot, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBallot", SpvOpGroupNonUniformBallot, 1, pygen_variable_caps_GroupNonUniformBallot, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformInverseBallot", SpvOpGroupNonUniformInverseBallot, 1, pygen_variable_caps_GroupNonUniformBallot, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBallotBitExtract", SpvOpGroupNonUniformBallotBitExtract, 1, pygen_variable_caps_GroupNonUniformBallot, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBallotBitCount", SpvOpGroupNonUniformBallotBitCount, 1, pygen_variable_caps_GroupNonUniformBallot, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBallotFindLSB", SpvOpGroupNonUniformBallotFindLSB, 1, pygen_variable_caps_GroupNonUniformBallot, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBallotFindMSB", SpvOpGroupNonUniformBallotFindMSB, 1, pygen_variable_caps_GroupNonUniformBallot, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformShuffle", SpvOpGroupNonUniformShuffle, 1, pygen_variable_caps_GroupNonUniformShuffle, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformShuffleXor", SpvOpGroupNonUniformShuffleXor, 1, pygen_variable_caps_GroupNonUniformShuffle, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformShuffleUp", SpvOpGroupNonUniformShuffleUp, 1, pygen_variable_caps_GroupNonUniformShuffleRelative, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformShuffleDown", SpvOpGroupNonUniformShuffleDown, 1, pygen_variable_caps_GroupNonUniformShuffleRelative, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformIAdd", SpvOpGroupNonUniformIAdd, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformFAdd", SpvOpGroupNonUniformFAdd, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformIMul", SpvOpGroupNonUniformIMul, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformFMul", SpvOpGroupNonUniformFMul, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformSMin", SpvOpGroupNonUniformSMin, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformUMin", SpvOpGroupNonUniformUMin, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformFMin", SpvOpGroupNonUniformFMin, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformSMax", SpvOpGroupNonUniformSMax, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformUMax", SpvOpGroupNonUniformUMax, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformFMax", SpvOpGroupNonUniformFMax, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBitwiseAnd", SpvOpGroupNonUniformBitwiseAnd, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBitwiseOr", SpvOpGroupNonUniformBitwiseOr, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBitwiseXor", SpvOpGroupNonUniformBitwiseXor, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformLogicalAnd", SpvOpGroupNonUniformLogicalAnd, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformLogicalOr", SpvOpGroupNonUniformLogicalOr, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformLogicalXor", SpvOpGroupNonUniformLogicalXor, 2, pygen_variable_caps_GroupNonUniformArithmeticGroupNonUniformClustered, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformQuadBroadcast", SpvOpGroupNonUniformQuadBroadcast, 1, pygen_variable_caps_GroupNonUniformQuad, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformQuadSwap", SpvOpGroupNonUniformQuadSwap, 1, pygen_variable_caps_GroupNonUniformQuad, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupBallotKHR", SpvOpSubgroupBallotKHR, 1, pygen_variable_caps_SubgroupBallotKHR, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_KHR_shader_ballot, 0xffffffffu},
+  {"SubgroupFirstInvocationKHR", SpvOpSubgroupFirstInvocationKHR, 1, pygen_variable_caps_SubgroupBallotKHR, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_KHR_shader_ballot, 0xffffffffu},
+  {"SubgroupAllKHR", SpvOpSubgroupAllKHR, 1, pygen_variable_caps_SubgroupVoteKHR, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_KHR_subgroup_vote, 0xffffffffu},
+  {"SubgroupAnyKHR", SpvOpSubgroupAnyKHR, 1, pygen_variable_caps_SubgroupVoteKHR, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_KHR_subgroup_vote, 0xffffffffu},
+  {"SubgroupAllEqualKHR", SpvOpSubgroupAllEqualKHR, 1, pygen_variable_caps_SubgroupVoteKHR, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_KHR_subgroup_vote, 0xffffffffu},
+  {"SubgroupReadInvocationKHR", SpvOpSubgroupReadInvocationKHR, 1, pygen_variable_caps_SubgroupBallotKHR, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_KHR_shader_ballot, 0xffffffffu},
+  {"GroupIAddNonUniformAMD", SpvOpGroupIAddNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"GroupFAddNonUniformAMD", SpvOpGroupFAddNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"GroupFMinNonUniformAMD", SpvOpGroupFMinNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"GroupUMinNonUniformAMD", SpvOpGroupUMinNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"GroupSMinNonUniformAMD", SpvOpGroupSMinNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"GroupFMaxNonUniformAMD", SpvOpGroupFMaxNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"GroupUMaxNonUniformAMD", SpvOpGroupUMaxNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"GroupSMaxNonUniformAMD", SpvOpGroupSMaxNonUniformAMD, 1, pygen_variable_caps_Groups, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_ballot, 0xffffffffu},
+  {"FragmentMaskFetchAMD", SpvOpFragmentMaskFetchAMD, 1, pygen_variable_caps_FragmentMaskAMD, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_fragment_mask, 0xffffffffu},
+  {"FragmentFetchAMD", SpvOpFragmentFetchAMD, 1, pygen_variable_caps_FragmentMaskAMD, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_AMD_shader_fragment_mask, 0xffffffffu},
+  {"GroupNonUniformPartitionNV", SpvOpGroupNonUniformPartitionNV, 1, pygen_variable_caps_GroupNonUniformPartitionedNV, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 1, pygen_variable_exts_SPV_NV_shader_subgroup_partitioned, 0xffffffffu},
+  {"SubgroupShuffleINTEL", SpvOpSubgroupShuffleINTEL, 1, pygen_variable_caps_SubgroupShuffleINTEL, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"SubgroupShuffleDownINTEL", SpvOpSubgroupShuffleDownINTEL, 1, pygen_variable_caps_SubgroupShuffleINTEL, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"SubgroupShuffleUpINTEL", SpvOpSubgroupShuffleUpINTEL, 1, pygen_variable_caps_SubgroupShuffleINTEL, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"SubgroupShuffleXorINTEL", SpvOpSubgroupShuffleXorINTEL, 1, pygen_variable_caps_SubgroupShuffleINTEL, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"SubgroupBlockReadINTEL", SpvOpSubgroupBlockReadINTEL, 1, pygen_variable_caps_SubgroupBufferBlockIOINTEL, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"SubgroupBlockWriteINTEL", SpvOpSubgroupBlockWriteINTEL, 1, pygen_variable_caps_SubgroupBufferBlockIOINTEL, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, 0xffffffffu},
+  {"SubgroupImageBlockReadINTEL", SpvOpSubgroupImageBlockReadINTEL, 1, pygen_variable_caps_SubgroupImageBlockIOINTEL, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1, 0, nullptr, 0xffffffffu},
+  {"SubgroupImageBlockWriteINTEL", SpvOpSubgroupImageBlockWriteINTEL, 1, pygen_variable_caps_SubgroupImageBlockIOINTEL, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0, 0, nullptr, 0xffffffffu},
+  {"DecorateStringGOOGLE", SpvOpDecorateStringGOOGLE, 0, nullptr, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DECORATION}, 0, 0, 2, pygen_variable_exts_SPV_GOOGLE_decorate_stringSPV_GOOGLE_hlsl_functionality1, 0xffffffffu},
+  {"MemberDecorateStringGOOGLE", SpvOpMemberDecorateStringGOOGLE, 0, nullptr, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_DECORATION}, 0, 0, 2, pygen_variable_exts_SPV_GOOGLE_decorate_stringSPV_GOOGLE_hlsl_functionality1, 0xffffffffu}
+};

+ 38 - 0
3rdparty/spirv-tools/build/debuginfo.insts.inc

@@ -0,0 +1,38 @@
+
+
+static const spv_ext_inst_desc_t debuginfo_entries[] = {
+  {"DebugInfoNone", 0, 0, nullptr, {SPV_OPERAND_TYPE_NONE}},
+  {"DebugCompilationUnit", 1, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeBasic", 2, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_BASE_TYPE_ATTRIBUTE_ENCODING, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypePointer", 3, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeQualifier", 4, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_TYPE_QUALIFIER, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeArray", 5, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeVector", 6, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypedef", 7, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeFunction", 8, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeEnum", 9, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeComposite", 10, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_COMPOSITE_TYPE, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeMember", 11, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeInheritance", 12, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypePtrToMember", 13, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeTemplate", 14, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeTemplateParameter", 15, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeTemplateTemplateParameter", 16, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"DebugTypeTemplateParameterPack", 17, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugGlobalVariable", 18, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugFunctionDeclaration", 19, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_NONE}},
+  {"DebugFunction", 20, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugLexicalBlock", 21, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugLexicalBlockDiscriminator", 22, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugScope", 23, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugNoScope", 24, 0, nullptr, {SPV_OPERAND_TYPE_NONE}},
+  {"DebugInlinedAt", 25, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugLocalVariable", 26, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"DebugInlinedVariable", 27, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugDeclare", 28, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugValue", 29, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugOperation", 30, 0, nullptr, {SPV_OPERAND_TYPE_DEBUG_OPERATION, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"DebugExpression", 31, 0, nullptr, {SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugMacroDef", 32, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_NONE}},
+  {"DebugMacroUndef", 33, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}}
+};

+ 325 - 0
3rdparty/spirv-tools/build/enum_string_mapping.inc

@@ -0,0 +1,325 @@
+const char* ExtensionToString(Extension extension) {
+  switch (extension) {
+    case Extension::kSPV_AMD_gcn_shader:
+      return "SPV_AMD_gcn_shader";
+    case Extension::kSPV_AMD_gpu_shader_half_float:
+      return "SPV_AMD_gpu_shader_half_float";
+    case Extension::kSPV_AMD_gpu_shader_half_float_fetch:
+      return "SPV_AMD_gpu_shader_half_float_fetch";
+    case Extension::kSPV_AMD_gpu_shader_int16:
+      return "SPV_AMD_gpu_shader_int16";
+    case Extension::kSPV_AMD_shader_ballot:
+      return "SPV_AMD_shader_ballot";
+    case Extension::kSPV_AMD_shader_explicit_vertex_parameter:
+      return "SPV_AMD_shader_explicit_vertex_parameter";
+    case Extension::kSPV_AMD_shader_fragment_mask:
+      return "SPV_AMD_shader_fragment_mask";
+    case Extension::kSPV_AMD_shader_image_load_store_lod:
+      return "SPV_AMD_shader_image_load_store_lod";
+    case Extension::kSPV_AMD_shader_trinary_minmax:
+      return "SPV_AMD_shader_trinary_minmax";
+    case Extension::kSPV_AMD_texture_gather_bias_lod:
+      return "SPV_AMD_texture_gather_bias_lod";
+    case Extension::kSPV_EXT_descriptor_indexing:
+      return "SPV_EXT_descriptor_indexing";
+    case Extension::kSPV_EXT_fragment_fully_covered:
+      return "SPV_EXT_fragment_fully_covered";
+    case Extension::kSPV_EXT_shader_stencil_export:
+      return "SPV_EXT_shader_stencil_export";
+    case Extension::kSPV_EXT_shader_viewport_index_layer:
+      return "SPV_EXT_shader_viewport_index_layer";
+    case Extension::kSPV_GOOGLE_decorate_string:
+      return "SPV_GOOGLE_decorate_string";
+    case Extension::kSPV_GOOGLE_hlsl_functionality1:
+      return "SPV_GOOGLE_hlsl_functionality1";
+    case Extension::kSPV_INTEL_subgroups:
+      return "SPV_INTEL_subgroups";
+    case Extension::kSPV_KHR_16bit_storage:
+      return "SPV_KHR_16bit_storage";
+    case Extension::kSPV_KHR_8bit_storage:
+      return "SPV_KHR_8bit_storage";
+    case Extension::kSPV_KHR_device_group:
+      return "SPV_KHR_device_group";
+    case Extension::kSPV_KHR_multiview:
+      return "SPV_KHR_multiview";
+    case Extension::kSPV_KHR_post_depth_coverage:
+      return "SPV_KHR_post_depth_coverage";
+    case Extension::kSPV_KHR_shader_atomic_counter_ops:
+      return "SPV_KHR_shader_atomic_counter_ops";
+    case Extension::kSPV_KHR_shader_ballot:
+      return "SPV_KHR_shader_ballot";
+    case Extension::kSPV_KHR_shader_draw_parameters:
+      return "SPV_KHR_shader_draw_parameters";
+    case Extension::kSPV_KHR_storage_buffer_storage_class:
+      return "SPV_KHR_storage_buffer_storage_class";
+    case Extension::kSPV_KHR_subgroup_vote:
+      return "SPV_KHR_subgroup_vote";
+    case Extension::kSPV_KHR_variable_pointers:
+      return "SPV_KHR_variable_pointers";
+    case Extension::kSPV_NVX_multiview_per_view_attributes:
+      return "SPV_NVX_multiview_per_view_attributes";
+    case Extension::kSPV_NV_geometry_shader_passthrough:
+      return "SPV_NV_geometry_shader_passthrough";
+    case Extension::kSPV_NV_sample_mask_override_coverage:
+      return "SPV_NV_sample_mask_override_coverage";
+    case Extension::kSPV_NV_shader_subgroup_partitioned:
+      return "SPV_NV_shader_subgroup_partitioned";
+    case Extension::kSPV_NV_stereo_view_rendering:
+      return "SPV_NV_stereo_view_rendering";
+    case Extension::kSPV_NV_viewport_array2:
+      return "SPV_NV_viewport_array2";
+    case Extension::kSPV_VALIDATOR_ignore_type_decl_unique:
+      return "SPV_VALIDATOR_ignore_type_decl_unique";
+  };
+
+  return "";
+}
+
+
+    bool GetExtensionFromString(const char* str, Extension* extension) {
+        static const char* known_ext_strs[] = { "SPV_AMD_gcn_shader", "SPV_AMD_gpu_shader_half_float", "SPV_AMD_gpu_shader_half_float_fetch", "SPV_AMD_gpu_shader_int16", "SPV_AMD_shader_ballot", "SPV_AMD_shader_explicit_vertex_parameter", "SPV_AMD_shader_fragment_mask", "SPV_AMD_shader_image_load_store_lod", "SPV_AMD_shader_trinary_minmax", "SPV_AMD_texture_gather_bias_lod", "SPV_EXT_descriptor_indexing", "SPV_EXT_fragment_fully_covered", "SPV_EXT_shader_stencil_export", "SPV_EXT_shader_viewport_index_layer", "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1", "SPV_INTEL_subgroups", "SPV_KHR_16bit_storage", "SPV_KHR_8bit_storage", "SPV_KHR_device_group", "SPV_KHR_multiview", "SPV_KHR_post_depth_coverage", "SPV_KHR_shader_atomic_counter_ops", "SPV_KHR_shader_ballot", "SPV_KHR_shader_draw_parameters", "SPV_KHR_storage_buffer_storage_class", "SPV_KHR_subgroup_vote", "SPV_KHR_variable_pointers", "SPV_NVX_multiview_per_view_attributes", "SPV_NV_geometry_shader_passthrough", "SPV_NV_sample_mask_override_coverage", "SPV_NV_shader_subgroup_partitioned", "SPV_NV_stereo_view_rendering", "SPV_NV_viewport_array2", "SPV_VALIDATOR_ignore_type_decl_unique" };
+        static const Extension known_ext_ids[] = { Extension::kSPV_AMD_gcn_shader, Extension::kSPV_AMD_gpu_shader_half_float, Extension::kSPV_AMD_gpu_shader_half_float_fetch, Extension::kSPV_AMD_gpu_shader_int16, Extension::kSPV_AMD_shader_ballot, Extension::kSPV_AMD_shader_explicit_vertex_parameter, Extension::kSPV_AMD_shader_fragment_mask, Extension::kSPV_AMD_shader_image_load_store_lod, Extension::kSPV_AMD_shader_trinary_minmax, Extension::kSPV_AMD_texture_gather_bias_lod, Extension::kSPV_EXT_descriptor_indexing, Extension::kSPV_EXT_fragment_fully_covered, Extension::kSPV_EXT_shader_stencil_export, Extension::kSPV_EXT_shader_viewport_index_layer, Extension::kSPV_GOOGLE_decorate_string, Extension::kSPV_GOOGLE_hlsl_functionality1, Extension::kSPV_INTEL_subgroups, Extension::kSPV_KHR_16bit_storage, Extension::kSPV_KHR_8bit_storage, Extension::kSPV_KHR_device_group, Extension::kSPV_KHR_multiview, Extension::kSPV_KHR_post_depth_coverage, Extension::kSPV_KHR_shader_atomic_counter_ops, Extension::kSPV_KHR_shader_ballot, Extension::kSPV_KHR_shader_draw_parameters, Extension::kSPV_KHR_storage_buffer_storage_class, Extension::kSPV_KHR_subgroup_vote, Extension::kSPV_KHR_variable_pointers, Extension::kSPV_NVX_multiview_per_view_attributes, Extension::kSPV_NV_geometry_shader_passthrough, Extension::kSPV_NV_sample_mask_override_coverage, Extension::kSPV_NV_shader_subgroup_partitioned, Extension::kSPV_NV_stereo_view_rendering, Extension::kSPV_NV_viewport_array2, Extension::kSPV_VALIDATOR_ignore_type_decl_unique };
+        const auto b = std::begin(known_ext_strs);
+        const auto e = std::end(known_ext_strs);
+        const auto found = std::equal_range(
+            b, e, str, [](const char* str1, const char* str2) {
+                return std::strcmp(str1, str2) < 0;
+            });
+        if (found.first == e || found.first == found.second) return false;
+
+        *extension = known_ext_ids[found.first - b];
+        return true;
+    }
+    
+
+const char* CapabilityToString(SpvCapability capability) {
+  switch (capability) {
+    case SpvCapabilityMatrix:
+      return "Matrix";
+    case SpvCapabilityShader:
+      return "Shader";
+    case SpvCapabilityGeometry:
+      return "Geometry";
+    case SpvCapabilityTessellation:
+      return "Tessellation";
+    case SpvCapabilityAddresses:
+      return "Addresses";
+    case SpvCapabilityLinkage:
+      return "Linkage";
+    case SpvCapabilityKernel:
+      return "Kernel";
+    case SpvCapabilityVector16:
+      return "Vector16";
+    case SpvCapabilityFloat16Buffer:
+      return "Float16Buffer";
+    case SpvCapabilityFloat16:
+      return "Float16";
+    case SpvCapabilityFloat64:
+      return "Float64";
+    case SpvCapabilityInt64:
+      return "Int64";
+    case SpvCapabilityInt64Atomics:
+      return "Int64Atomics";
+    case SpvCapabilityImageBasic:
+      return "ImageBasic";
+    case SpvCapabilityImageReadWrite:
+      return "ImageReadWrite";
+    case SpvCapabilityImageMipmap:
+      return "ImageMipmap";
+    case SpvCapabilityPipes:
+      return "Pipes";
+    case SpvCapabilityGroups:
+      return "Groups";
+    case SpvCapabilityDeviceEnqueue:
+      return "DeviceEnqueue";
+    case SpvCapabilityLiteralSampler:
+      return "LiteralSampler";
+    case SpvCapabilityAtomicStorage:
+      return "AtomicStorage";
+    case SpvCapabilityInt16:
+      return "Int16";
+    case SpvCapabilityTessellationPointSize:
+      return "TessellationPointSize";
+    case SpvCapabilityGeometryPointSize:
+      return "GeometryPointSize";
+    case SpvCapabilityImageGatherExtended:
+      return "ImageGatherExtended";
+    case SpvCapabilityStorageImageMultisample:
+      return "StorageImageMultisample";
+    case SpvCapabilityUniformBufferArrayDynamicIndexing:
+      return "UniformBufferArrayDynamicIndexing";
+    case SpvCapabilitySampledImageArrayDynamicIndexing:
+      return "SampledImageArrayDynamicIndexing";
+    case SpvCapabilityStorageBufferArrayDynamicIndexing:
+      return "StorageBufferArrayDynamicIndexing";
+    case SpvCapabilityStorageImageArrayDynamicIndexing:
+      return "StorageImageArrayDynamicIndexing";
+    case SpvCapabilityClipDistance:
+      return "ClipDistance";
+    case SpvCapabilityCullDistance:
+      return "CullDistance";
+    case SpvCapabilityImageCubeArray:
+      return "ImageCubeArray";
+    case SpvCapabilitySampleRateShading:
+      return "SampleRateShading";
+    case SpvCapabilityImageRect:
+      return "ImageRect";
+    case SpvCapabilitySampledRect:
+      return "SampledRect";
+    case SpvCapabilityGenericPointer:
+      return "GenericPointer";
+    case SpvCapabilityInt8:
+      return "Int8";
+    case SpvCapabilityInputAttachment:
+      return "InputAttachment";
+    case SpvCapabilitySparseResidency:
+      return "SparseResidency";
+    case SpvCapabilityMinLod:
+      return "MinLod";
+    case SpvCapabilitySampled1D:
+      return "Sampled1D";
+    case SpvCapabilityImage1D:
+      return "Image1D";
+    case SpvCapabilitySampledCubeArray:
+      return "SampledCubeArray";
+    case SpvCapabilitySampledBuffer:
+      return "SampledBuffer";
+    case SpvCapabilityImageBuffer:
+      return "ImageBuffer";
+    case SpvCapabilityImageMSArray:
+      return "ImageMSArray";
+    case SpvCapabilityStorageImageExtendedFormats:
+      return "StorageImageExtendedFormats";
+    case SpvCapabilityImageQuery:
+      return "ImageQuery";
+    case SpvCapabilityDerivativeControl:
+      return "DerivativeControl";
+    case SpvCapabilityInterpolationFunction:
+      return "InterpolationFunction";
+    case SpvCapabilityTransformFeedback:
+      return "TransformFeedback";
+    case SpvCapabilityGeometryStreams:
+      return "GeometryStreams";
+    case SpvCapabilityStorageImageReadWithoutFormat:
+      return "StorageImageReadWithoutFormat";
+    case SpvCapabilityStorageImageWriteWithoutFormat:
+      return "StorageImageWriteWithoutFormat";
+    case SpvCapabilityMultiViewport:
+      return "MultiViewport";
+    case SpvCapabilitySubgroupDispatch:
+      return "SubgroupDispatch";
+    case SpvCapabilityNamedBarrier:
+      return "NamedBarrier";
+    case SpvCapabilityPipeStorage:
+      return "PipeStorage";
+    case SpvCapabilityGroupNonUniform:
+      return "GroupNonUniform";
+    case SpvCapabilityGroupNonUniformVote:
+      return "GroupNonUniformVote";
+    case SpvCapabilityGroupNonUniformArithmetic:
+      return "GroupNonUniformArithmetic";
+    case SpvCapabilityGroupNonUniformBallot:
+      return "GroupNonUniformBallot";
+    case SpvCapabilityGroupNonUniformShuffle:
+      return "GroupNonUniformShuffle";
+    case SpvCapabilityGroupNonUniformShuffleRelative:
+      return "GroupNonUniformShuffleRelative";
+    case SpvCapabilityGroupNonUniformClustered:
+      return "GroupNonUniformClustered";
+    case SpvCapabilityGroupNonUniformQuad:
+      return "GroupNonUniformQuad";
+    case SpvCapabilitySubgroupBallotKHR:
+      return "SubgroupBallotKHR";
+    case SpvCapabilityDrawParameters:
+      return "DrawParameters";
+    case SpvCapabilitySubgroupVoteKHR:
+      return "SubgroupVoteKHR";
+    case SpvCapabilityStorageBuffer16BitAccess:
+      return "StorageBuffer16BitAccess";
+    case SpvCapabilityUniformAndStorageBuffer16BitAccess:
+      return "UniformAndStorageBuffer16BitAccess";
+    case SpvCapabilityStoragePushConstant16:
+      return "StoragePushConstant16";
+    case SpvCapabilityStorageInputOutput16:
+      return "StorageInputOutput16";
+    case SpvCapabilityDeviceGroup:
+      return "DeviceGroup";
+    case SpvCapabilityMultiView:
+      return "MultiView";
+    case SpvCapabilityVariablePointersStorageBuffer:
+      return "VariablePointersStorageBuffer";
+    case SpvCapabilityVariablePointers:
+      return "VariablePointers";
+    case SpvCapabilityAtomicStorageOps:
+      return "AtomicStorageOps";
+    case SpvCapabilitySampleMaskPostDepthCoverage:
+      return "SampleMaskPostDepthCoverage";
+    case SpvCapabilityStorageBuffer8BitAccess:
+      return "StorageBuffer8BitAccess";
+    case SpvCapabilityUniformAndStorageBuffer8BitAccess:
+      return "UniformAndStorageBuffer8BitAccess";
+    case SpvCapabilityStoragePushConstant8:
+      return "StoragePushConstant8";
+    case SpvCapabilityFloat16ImageAMD:
+      return "Float16ImageAMD";
+    case SpvCapabilityImageGatherBiasLodAMD:
+      return "ImageGatherBiasLodAMD";
+    case SpvCapabilityFragmentMaskAMD:
+      return "FragmentMaskAMD";
+    case SpvCapabilityStencilExportEXT:
+      return "StencilExportEXT";
+    case SpvCapabilityImageReadWriteLodAMD:
+      return "ImageReadWriteLodAMD";
+    case SpvCapabilitySampleMaskOverrideCoverageNV:
+      return "SampleMaskOverrideCoverageNV";
+    case SpvCapabilityGeometryShaderPassthroughNV:
+      return "GeometryShaderPassthroughNV";
+    case SpvCapabilityShaderViewportIndexLayerEXT:
+      return "ShaderViewportIndexLayerEXT";
+    case SpvCapabilityShaderViewportMaskNV:
+      return "ShaderViewportMaskNV";
+    case SpvCapabilityShaderStereoViewNV:
+      return "ShaderStereoViewNV";
+    case SpvCapabilityPerViewAttributesNV:
+      return "PerViewAttributesNV";
+    case SpvCapabilityFragmentFullyCoveredEXT:
+      return "FragmentFullyCoveredEXT";
+    case SpvCapabilityShaderNonUniformEXT:
+      return "ShaderNonUniformEXT";
+    case SpvCapabilityRuntimeDescriptorArrayEXT:
+      return "RuntimeDescriptorArrayEXT";
+    case SpvCapabilityInputAttachmentArrayDynamicIndexingEXT:
+      return "InputAttachmentArrayDynamicIndexingEXT";
+    case SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT:
+      return "UniformTexelBufferArrayDynamicIndexingEXT";
+    case SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT:
+      return "StorageTexelBufferArrayDynamicIndexingEXT";
+    case SpvCapabilityUniformBufferArrayNonUniformIndexingEXT:
+      return "UniformBufferArrayNonUniformIndexingEXT";
+    case SpvCapabilitySampledImageArrayNonUniformIndexingEXT:
+      return "SampledImageArrayNonUniformIndexingEXT";
+    case SpvCapabilityStorageBufferArrayNonUniformIndexingEXT:
+      return "StorageBufferArrayNonUniformIndexingEXT";
+    case SpvCapabilityStorageImageArrayNonUniformIndexingEXT:
+      return "StorageImageArrayNonUniformIndexingEXT";
+    case SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT:
+      return "InputAttachmentArrayNonUniformIndexingEXT";
+    case SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT:
+      return "UniformTexelBufferArrayNonUniformIndexingEXT";
+    case SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT:
+      return "StorageTexelBufferArrayNonUniformIndexingEXT";
+    case SpvCapabilitySubgroupShuffleINTEL:
+      return "SubgroupShuffleINTEL";
+    case SpvCapabilitySubgroupBufferBlockIOINTEL:
+      return "SubgroupBufferBlockIOINTEL";
+    case SpvCapabilitySubgroupImageBlockIOINTEL:
+      return "SubgroupImageBlockIOINTEL";
+    case SpvCapabilityGroupNonUniformPartitionedNV:
+      return "GroupNonUniformPartitionedNV";
+    case SpvCapabilityMax:
+      assert(0 && "Attempting to convert SpvCapabilityMax to string");
+      return "";
+  };
+
+  return "";
+}

+ 16 - 0
3rdparty/spirv-tools/build/examples/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/bkaradzic/Private/projects/_github/SPIRV-Tools")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 1 - 0
3rdparty/spirv-tools/build/examples/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+60

+ 7 - 0
3rdparty/spirv-tools/build/examples/CTestTestfile.cmake

@@ -0,0 +1,7 @@
+# CMake generated Testfile for 
+# Source directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples
+# Build directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples
+# 
+# This file includes the relevant testing commands required for 
+# testing this directory and lists subdirectories to be tested as well.
+subdirs(cpp-interface)

+ 194 - 0
3rdparty/spirv-tools/build/examples/Makefile

@@ -0,0 +1,194 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: install/strip
+
+.PHONY : install/strip/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: install/local
+
+.PHONY : install/local/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/CMakeFiles/progress.marks
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install"
+	@echo "... edit_cache"
+	@echo "... install/strip"
+	@echo "... list_install_components"
+	@echo "... test"
+	@echo "... install/local"
+	@echo "... rebuild_cache"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 40 - 0
3rdparty/spirv-tools/build/examples/cmake_install.cmake

@@ -0,0 +1,40 @@
+# Install script for directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "Debug")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+  # Include the install script for each subdirectory.
+  include("/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/cmake_install.cmake")
+
+endif()
+

+ 16 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/bkaradzic/Private/projects/_github/SPIRV-Tools")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 1 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+60

+ 33 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/DependInfo.cmake

@@ -0,0 +1,33 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "CXX"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_CXX
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples/cpp-interface/main.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o"
+  )
+set(CMAKE_CXX_COMPILER_ID "GNU")
+
+# Preprocessor definitions for this target.
+set(CMAKE_TARGET_DEFINITIONS_CXX
+  "SPIRV_CHECK_CONTEXT"
+  "SPIRV_COLOR_TERMINAL"
+  "SPIRV_LINUX"
+  "SPIRV_TIMER_ENABLED"
+  )
+
+# The include file search paths:
+set(CMAKE_CXX_TARGET_INCLUDE_PATH
+  "../"
+  "../include"
+  "../external/SPIRV-Headers/include"
+  )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/opt/CMakeFiles/SPIRV-Tools-opt.dir/DependInfo.cmake"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools.dir/DependInfo.cmake"
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 115 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make

@@ -0,0 +1,115 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+# Include any dependencies generated for this target.
+include examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/depend.make
+
+# Include the progress variables for this target.
+include examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/flags.make
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/flags.make
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o: ../examples/cpp-interface/main.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples/cpp-interface/main.cpp
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples/cpp-interface/main.cpp > CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.i
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples/cpp-interface/main.cpp -o CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.s
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.requires:
+
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.requires
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.provides: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.requires
+	$(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.provides.build
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.provides
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.provides.build: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o
+
+
+# Object files for target spirv-tools-cpp-example
+spirv__tools__cpp__example_OBJECTS = \
+"CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o"
+
+# External object files for target spirv-tools-cpp-example
+spirv__tools__cpp__example_EXTERNAL_OBJECTS =
+
+examples/cpp-interface/spirv-tools-cpp-example: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o
+examples/cpp-interface/spirv-tools-cpp-example: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make
+examples/cpp-interface/spirv-tools-cpp-example: source/opt/libSPIRV-Tools-opt.a
+examples/cpp-interface/spirv-tools-cpp-example: source/libSPIRV-Tools.a
+examples/cpp-interface/spirv-tools-cpp-example: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable spirv-tools-cpp-example"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/spirv-tools-cpp-example.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build: examples/cpp-interface/spirv-tools-cpp-example
+
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/requires: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o.requires
+
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/requires
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/clean:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface && $(CMAKE_COMMAND) -P CMakeFiles/spirv-tools-cpp-example.dir/cmake_clean.cmake
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/clean
+
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/depend:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/bkaradzic/Private/projects/_github/SPIRV-Tools /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples/cpp-interface /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/depend
+

+ 10 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/cmake_clean.cmake

@@ -0,0 +1,10 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o"
+  "spirv-tools-cpp-example.pdb"
+  "spirv-tools-cpp-example"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/spirv-tools-cpp-example.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

+ 2 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/depend.make

@@ -0,0 +1,2 @@
+# Empty dependencies file for spirv-tools-cpp-example.
+# This may be replaced when dependencies are built.

+ 10 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/flags.make

@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# compile CXX with /usr/bin/c++
+CXX_FLAGS = -g -fPIE   -Wall -Wextra -Wnon-virtual-dtor -Wno-missing-field-initializers -Werror -std=c++11 -fno-exceptions -fno-rtti -Wno-long-long -Wshadow -Wundef -Wconversion -Wno-sign-conversion -std=gnu++11
+
+CXX_DEFINES = -DSPIRV_CHECK_CONTEXT -DSPIRV_COLOR_TERMINAL -DSPIRV_LINUX -DSPIRV_TIMER_ENABLED
+
+CXX_INCLUDES = -I/home/bkaradzic/Private/projects/_github/SPIRV-Tools -I/home/bkaradzic/Private/projects/_github/SPIRV-Tools/include -I/home/bkaradzic/Private/projects/_github/SPIRV-Tools/external/SPIRV-Headers/include 
+

+ 1 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/link.txt

@@ -0,0 +1 @@
+/usr/bin/c++   -g   CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o  -o spirv-tools-cpp-example -rdynamic ../../source/opt/libSPIRV-Tools-opt.a ../../source/libSPIRV-Tools.a 

+ 3 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/progress.make

@@ -0,0 +1,3 @@
+CMAKE_PROGRESS_1 = 
+CMAKE_PROGRESS_2 = 96
+

+ 6 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/CTestTestfile.cmake

@@ -0,0 +1,6 @@
+# CMake generated Testfile for 
+# Source directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples/cpp-interface
+# Build directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface
+# 
+# This file includes the relevant testing commands required for 
+# testing this directory and lists subdirectories to be tested as well.

+ 240 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/Makefile

@@ -0,0 +1,240 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: install/strip
+
+.PHONY : install/strip/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: install/local
+
+.PHONY : install/local/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/examples/cpp-interface/CMakeFiles/progress.marks
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/cpp-interface/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/cpp-interface/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/cpp-interface/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/cpp-interface/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/rule:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/rule
+.PHONY : examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/rule
+
+# Convenience name for target.
+spirv-tools-cpp-example: examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/rule
+
+.PHONY : spirv-tools-cpp-example
+
+# fast build rule for target.
+spirv-tools-cpp-example/fast:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build
+.PHONY : spirv-tools-cpp-example/fast
+
+main.o: main.cpp.o
+
+.PHONY : main.o
+
+# target to build an object file
+main.cpp.o:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.o
+.PHONY : main.cpp.o
+
+main.i: main.cpp.i
+
+.PHONY : main.i
+
+# target to preprocess a source file
+main.cpp.i:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.i
+.PHONY : main.cpp.i
+
+main.s: main.cpp.s
+
+.PHONY : main.s
+
+# target to generate assembly for a file
+main.cpp.s:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/build.make examples/cpp-interface/CMakeFiles/spirv-tools-cpp-example.dir/main.cpp.s
+.PHONY : main.cpp.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install"
+	@echo "... rebuild_cache"
+	@echo "... install/strip"
+	@echo "... spirv-tools-cpp-example"
+	@echo "... edit_cache"
+	@echo "... list_install_components"
+	@echo "... test"
+	@echo "... install/local"
+	@echo "... main.o"
+	@echo "... main.i"
+	@echo "... main.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 34 - 0
3rdparty/spirv-tools/build/examples/cpp-interface/cmake_install.cmake

@@ -0,0 +1,34 @@
+# Install script for directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/examples/cpp-interface
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "Debug")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+

+ 35 - 0
3rdparty/spirv-tools/build/extension_enum.inc

@@ -0,0 +1,35 @@
+kSPV_AMD_gcn_shader,
+kSPV_AMD_gpu_shader_half_float,
+kSPV_AMD_gpu_shader_half_float_fetch,
+kSPV_AMD_gpu_shader_int16,
+kSPV_AMD_shader_ballot,
+kSPV_AMD_shader_explicit_vertex_parameter,
+kSPV_AMD_shader_fragment_mask,
+kSPV_AMD_shader_image_load_store_lod,
+kSPV_AMD_shader_trinary_minmax,
+kSPV_AMD_texture_gather_bias_lod,
+kSPV_EXT_descriptor_indexing,
+kSPV_EXT_fragment_fully_covered,
+kSPV_EXT_shader_stencil_export,
+kSPV_EXT_shader_viewport_index_layer,
+kSPV_GOOGLE_decorate_string,
+kSPV_GOOGLE_hlsl_functionality1,
+kSPV_INTEL_subgroups,
+kSPV_KHR_16bit_storage,
+kSPV_KHR_8bit_storage,
+kSPV_KHR_device_group,
+kSPV_KHR_multiview,
+kSPV_KHR_post_depth_coverage,
+kSPV_KHR_shader_atomic_counter_ops,
+kSPV_KHR_shader_ballot,
+kSPV_KHR_shader_draw_parameters,
+kSPV_KHR_storage_buffer_storage_class,
+kSPV_KHR_subgroup_vote,
+kSPV_KHR_variable_pointers,
+kSPV_NVX_multiview_per_view_attributes,
+kSPV_NV_geometry_shader_passthrough,
+kSPV_NV_sample_mask_override_coverage,
+kSPV_NV_shader_subgroup_partitioned,
+kSPV_NV_stereo_view_rendering,
+kSPV_NV_viewport_array2,
+kSPV_VALIDATOR_ignore_type_decl_unique

+ 16 - 0
3rdparty/spirv-tools/build/external/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/bkaradzic/Private/projects/_github/SPIRV-Tools")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 1 - 0
3rdparty/spirv-tools/build/external/CMakeFiles/progress.marks

@@ -0,0 +1 @@
+0

+ 6 - 0
3rdparty/spirv-tools/build/external/CTestTestfile.cmake

@@ -0,0 +1,6 @@
+# CMake generated Testfile for 
+# Source directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/external
+# Build directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external
+# 
+# This file includes the relevant testing commands required for 
+# testing this directory and lists subdirectories to be tested as well.

+ 194 - 0
3rdparty/spirv-tools/build/external/Makefile

@@ -0,0 +1,194 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target install
+install: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+	/usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+	/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: install/strip
+
+.PHONY : install/strip/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+
+.PHONY : list_install_components/fast
+
+# Special rule for the target test
+test:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
+	/usr/bin/ctest --force-new-ctest-process $(ARGS)
+.PHONY : test
+
+# Special rule for the target test
+test/fast: test
+
+.PHONY : test/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+	/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: install/local
+
+.PHONY : install/local/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/external/CMakeFiles/progress.marks
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 external/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 external/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 external/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(MAKE) -f CMakeFiles/Makefile2 external/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... install"
+	@echo "... edit_cache"
+	@echo "... install/strip"
+	@echo "... list_install_components"
+	@echo "... test"
+	@echo "... install/local"
+	@echo "... rebuild_cache"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+

+ 34 - 0
3rdparty/spirv-tools/build/external/cmake_install.cmake

@@ -0,0 +1,34 @@
+# Install script for directory: /home/bkaradzic/Private/projects/_github/SPIRV-Tools/external
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "Debug")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+

+ 20 - 0
3rdparty/spirv-tools/build/generators.inc

@@ -0,0 +1,20 @@
+{0, "Khronos", "", "Khronos"},
+{1, "LunarG", "", "LunarG"},
+{2, "Valve", "", "Valve"},
+{3, "Codeplay", "", "Codeplay"},
+{4, "NVIDIA", "", "NVIDIA"},
+{5, "ARM", "", "ARM"},
+{6, "Khronos", "LLVM/SPIR-V Translator", "Khronos LLVM/SPIR-V Translator"},
+{7, "Khronos", "SPIR-V Tools Assembler", "Khronos SPIR-V Tools Assembler"},
+{8, "Khronos", "Glslang Reference Front End", "Khronos Glslang Reference Front End"},
+{9, "Qualcomm", "", "Qualcomm"},
+{10, "AMD", "", "AMD"},
+{11, "Intel", "", "Intel"},
+{12, "Imagination", "", "Imagination"},
+{13, "Google", "Shaderc over Glslang", "Google Shaderc over Glslang"},
+{14, "Google", "spiregg", "Google spiregg"},
+{15, "Google", "rspirv", "Google rspirv"},
+{16, "X-LEGEND", "Mesa-IR/SPIR-V Translator", "X-LEGEND Mesa-IR/SPIR-V Translator"},
+{17, "Khronos", "SPIR-V Tools Linker", "Khronos SPIR-V Tools Linker"},
+{18, "Wine", "VKD3D Shader Compiler", "Wine VKD3D Shader Compiler"},
+{19, "Clay", "Clay Shader Compiler", "Clay Clay Shader Compiler"},

+ 86 - 0
3rdparty/spirv-tools/build/glsl.std.450.insts.inc

@@ -0,0 +1,86 @@
+static const SpvCapability pygen_variable_caps_Float64[] = {SpvCapabilityFloat64};
+static const SpvCapability pygen_variable_caps_InterpolationFunction[] = {SpvCapabilityInterpolationFunction};
+
+static const spv_ext_inst_desc_t glsl_entries[] = {
+  {"Round", 1, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"RoundEven", 2, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Trunc", 3, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FAbs", 4, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"SAbs", 5, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FSign", 6, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"SSign", 7, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Floor", 8, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Ceil", 9, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Fract", 10, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Radians", 11, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Degrees", 12, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Sin", 13, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Cos", 14, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Tan", 15, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Asin", 16, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Acos", 17, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Atan", 18, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Sinh", 19, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Cosh", 20, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Tanh", 21, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Asinh", 22, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Acosh", 23, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Atanh", 24, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Atan2", 25, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Pow", 26, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Exp", 27, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Log", 28, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Exp2", 29, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Log2", 30, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Sqrt", 31, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"InverseSqrt", 32, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Determinant", 33, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"MatrixInverse", 34, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Modf", 35, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"ModfStruct", 36, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FMin", 37, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UMin", 38, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"SMin", 39, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FMax", 40, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UMax", 41, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"SMax", 42, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FClamp", 43, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UClamp", 44, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"SClamp", 45, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FMix", 46, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"IMix", 47, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Step", 48, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"SmoothStep", 49, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Fma", 50, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Frexp", 51, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FrexpStruct", 52, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Ldexp", 53, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"PackSnorm4x8", 54, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"PackUnorm4x8", 55, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"PackSnorm2x16", 56, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"PackUnorm2x16", 57, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"PackHalf2x16", 58, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"PackDouble2x32", 59, 1, pygen_variable_caps_Float64, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UnpackSnorm2x16", 60, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UnpackUnorm2x16", 61, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UnpackHalf2x16", 62, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UnpackSnorm4x8", 63, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UnpackUnorm4x8", 64, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"UnpackDouble2x32", 65, 1, pygen_variable_caps_Float64, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Length", 66, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Distance", 67, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Cross", 68, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Normalize", 69, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FaceForward", 70, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Reflect", 71, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"Refract", 72, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FindILsb", 73, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FindSMsb", 74, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"FindUMsb", 75, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"InterpolateAtCentroid", 76, 1, pygen_variable_caps_InterpolationFunction, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"InterpolateAtSample", 77, 1, pygen_variable_caps_InterpolationFunction, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"InterpolateAtOffset", 78, 1, pygen_variable_caps_InterpolationFunction, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"NMin", 79, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"NMax", 80, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"NClamp", 81, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}}
+};

+ 166 - 0
3rdparty/spirv-tools/build/opencl.std.insts.inc

@@ -0,0 +1,166 @@
+
+
+static const spv_ext_inst_desc_t opencl_entries[] = {
+  {"acos", 0, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"acosh", 1, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"acospi", 2, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"asin", 3, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"asinh", 4, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"asinpi", 5, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"atan", 6, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"atan2", 7, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"atanh", 8, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"atanpi", 9, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"atan2pi", 10, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"cbrt", 11, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"ceil", 12, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"copysign", 13, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"cos", 14, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"cosh", 15, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"cospi", 16, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"erfc", 17, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"erf", 18, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"exp", 19, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"exp2", 20, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"exp10", 21, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"expm1", 22, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fabs", 23, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fdim", 24, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"floor", 25, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fma", 26, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fmax", 27, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fmin", 28, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fmod", 29, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fract", 30, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"frexp", 31, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"hypot", 32, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"ilogb", 33, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"ldexp", 34, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"lgamma", 35, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"lgamma_r", 36, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"log", 37, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"log2", 38, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"log10", 39, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"log1p", 40, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"logb", 41, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"mad", 42, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"maxmag", 43, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"minmag", 44, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"modf", 45, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"nan", 46, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"nextafter", 47, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"pow", 48, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"pown", 49, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"powr", 50, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"remainder", 51, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"remquo", 52, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"rint", 53, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"rootn", 54, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"round", 55, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"rsqrt", 56, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"sin", 57, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"sincos", 58, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"sinh", 59, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"sinpi", 60, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"sqrt", 61, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"tan", 62, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"tanh", 63, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"tanpi", 64, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"tgamma", 65, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"trunc", 66, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_cos", 67, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_divide", 68, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_exp", 69, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_exp2", 70, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_exp10", 71, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_log", 72, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_log2", 73, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_log10", 74, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_powr", 75, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_recip", 76, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_rsqrt", 77, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_sin", 78, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_sqrt", 79, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"half_tan", 80, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_cos", 81, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_divide", 82, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_exp", 83, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_exp2", 84, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_exp10", 85, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_log", 86, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_log2", 87, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_log10", 88, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_powr", 89, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_recip", 90, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_rsqrt", 91, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_sin", 92, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_sqrt", 93, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"native_tan", 94, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fclamp", 95, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"degrees", 96, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fmax_common", 97, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fmin_common", 98, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"mix", 99, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"radians", 100, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"step", 101, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"smoothstep", 102, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"sign", 103, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"cross", 104, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"distance", 105, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"length", 106, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"normalize", 107, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fast_distance", 108, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fast_length", 109, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"fast_normalize", 110, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_abs", 141, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_abs_diff", 142, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_add_sat", 143, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_add_sat", 144, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_hadd", 145, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_hadd", 146, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_rhadd", 147, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_rhadd", 148, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_clamp", 149, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_clamp", 150, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"clz", 151, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"ctz", 152, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_mad_hi", 153, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_mad_sat", 154, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_mad_sat", 155, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_max", 156, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_max", 157, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_min", 158, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_min", 159, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_mul_hi", 160, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"rotate", 161, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_sub_sat", 162, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_sub_sat", 163, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_upsample", 164, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_upsample", 165, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"popcount", 166, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_mad24", 167, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_mad24", 168, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"s_mul24", 169, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_mul24", 170, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"vloadn", 171, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"vstoren", 172, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"vload_half", 173, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"vload_halfn", 174, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"vstore_half", 175, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"vstore_half_r", 176, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_NONE}},
+  {"vstore_halfn", 177, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"vstore_halfn_r", 178, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_NONE}},
+  {"vloada_halfn", 179, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
+  {"vstorea_halfn", 180, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"vstorea_halfn_r", 181, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_NONE}},
+  {"shuffle", 182, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"shuffle2", 183, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"printf", 184, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"prefetch", 185, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"bitselect", 186, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"select", 187, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_abs", 201, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_abs_diff", 202, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_mul_hi", 203, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
+  {"u_mad_hi", 204, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}}
+};

+ 749 - 0
3rdparty/spirv-tools/build/operand.kinds-unified1.inc

@@ -0,0 +1,749 @@
+static const SpvCapability pygen_variable_caps_Addresses[] = {SpvCapabilityAddresses};
+static const SpvCapability pygen_variable_caps_AtomicStorage[] = {SpvCapabilityAtomicStorage};
+static const SpvCapability pygen_variable_caps_ClipDistance[] = {SpvCapabilityClipDistance};
+static const SpvCapability pygen_variable_caps_CullDistance[] = {SpvCapabilityCullDistance};
+static const SpvCapability pygen_variable_caps_DeviceEnqueue[] = {SpvCapabilityDeviceEnqueue};
+static const SpvCapability pygen_variable_caps_DeviceGroup[] = {SpvCapabilityDeviceGroup};
+static const SpvCapability pygen_variable_caps_DrawParameters[] = {SpvCapabilityDrawParameters};
+static const SpvCapability pygen_variable_caps_FragmentFullyCoveredEXT[] = {SpvCapabilityFragmentFullyCoveredEXT};
+static const SpvCapability pygen_variable_caps_GenericPointer[] = {SpvCapabilityGenericPointer};
+static const SpvCapability pygen_variable_caps_Geometry[] = {SpvCapabilityGeometry};
+static const SpvCapability pygen_variable_caps_GeometryTessellation[] = {SpvCapabilityGeometry, SpvCapabilityTessellation};
+static const SpvCapability pygen_variable_caps_GeometryShaderPassthroughNV[] = {SpvCapabilityGeometryShaderPassthroughNV};
+static const SpvCapability pygen_variable_caps_GeometryStreams[] = {SpvCapabilityGeometryStreams};
+static const SpvCapability pygen_variable_caps_GroupNonUniform[] = {SpvCapabilityGroupNonUniform};
+static const SpvCapability pygen_variable_caps_GroupNonUniformClustered[] = {SpvCapabilityGroupNonUniformClustered};
+static const SpvCapability pygen_variable_caps_GroupNonUniformPartitionedNV[] = {SpvCapabilityGroupNonUniformPartitionedNV};
+static const SpvCapability pygen_variable_caps_ImageBasic[] = {SpvCapabilityImageBasic};
+static const SpvCapability pygen_variable_caps_ImageBuffer[] = {SpvCapabilityImageBuffer};
+static const SpvCapability pygen_variable_caps_ImageBufferShaderNonUniformEXT[] = {SpvCapabilityImageBuffer, SpvCapabilityShaderNonUniformEXT};
+static const SpvCapability pygen_variable_caps_ImageGatherExtended[] = {SpvCapabilityImageGatherExtended};
+static const SpvCapability pygen_variable_caps_InputAttachment[] = {SpvCapabilityInputAttachment};
+static const SpvCapability pygen_variable_caps_InputAttachmentShaderNonUniformEXT[] = {SpvCapabilityInputAttachment, SpvCapabilityShaderNonUniformEXT};
+static const SpvCapability pygen_variable_caps_Int64[] = {SpvCapabilityInt64};
+static const SpvCapability pygen_variable_caps_Kernel[] = {SpvCapabilityKernel};
+static const SpvCapability pygen_variable_caps_KernelGroupNonUniform[] = {SpvCapabilityKernel, SpvCapabilityGroupNonUniform};
+static const SpvCapability pygen_variable_caps_KernelGroupNonUniformSubgroupBallotKHR[] = {SpvCapabilityKernel, SpvCapabilityGroupNonUniform, SpvCapabilitySubgroupBallotKHR};
+static const SpvCapability pygen_variable_caps_KernelGroupNonUniformArithmeticGroupNonUniformBallot[] = {SpvCapabilityKernel, SpvCapabilityGroupNonUniformArithmetic, SpvCapabilityGroupNonUniformBallot};
+static const SpvCapability pygen_variable_caps_Linkage[] = {SpvCapabilityLinkage};
+static const SpvCapability pygen_variable_caps_Matrix[] = {SpvCapabilityMatrix};
+static const SpvCapability pygen_variable_caps_MinLod[] = {SpvCapabilityMinLod};
+static const SpvCapability pygen_variable_caps_MultiView[] = {SpvCapabilityMultiView};
+static const SpvCapability pygen_variable_caps_MultiViewport[] = {SpvCapabilityMultiViewport};
+static const SpvCapability pygen_variable_caps_PerViewAttributesNV[] = {SpvCapabilityPerViewAttributesNV};
+static const SpvCapability pygen_variable_caps_Pipes[] = {SpvCapabilityPipes};
+static const SpvCapability pygen_variable_caps_SampleMaskOverrideCoverageNV[] = {SpvCapabilitySampleMaskOverrideCoverageNV};
+static const SpvCapability pygen_variable_caps_SampleMaskPostDepthCoverage[] = {SpvCapabilitySampleMaskPostDepthCoverage};
+static const SpvCapability pygen_variable_caps_SampleRateShading[] = {SpvCapabilitySampleRateShading};
+static const SpvCapability pygen_variable_caps_Sampled1D[] = {SpvCapabilitySampled1D};
+static const SpvCapability pygen_variable_caps_SampledBuffer[] = {SpvCapabilitySampledBuffer};
+static const SpvCapability pygen_variable_caps_SampledBufferShaderNonUniformEXT[] = {SpvCapabilitySampledBuffer, SpvCapabilityShaderNonUniformEXT};
+static const SpvCapability pygen_variable_caps_SampledCubeArray[] = {SpvCapabilitySampledCubeArray};
+static const SpvCapability pygen_variable_caps_SampledRect[] = {SpvCapabilitySampledRect};
+static const SpvCapability pygen_variable_caps_Shader[] = {SpvCapabilityShader};
+static const SpvCapability pygen_variable_caps_ShaderKernel[] = {SpvCapabilityShader, SpvCapabilityKernel};
+static const SpvCapability pygen_variable_caps_ShaderNonUniformEXT[] = {SpvCapabilityShaderNonUniformEXT};
+static const SpvCapability pygen_variable_caps_ShaderStereoViewNV[] = {SpvCapabilityShaderStereoViewNV};
+static const SpvCapability pygen_variable_caps_ShaderViewportIndexLayerNV[] = {SpvCapabilityShaderViewportIndexLayerNV};
+static const SpvCapability pygen_variable_caps_ShaderViewportMaskNV[] = {SpvCapabilityShaderViewportMaskNV};
+static const SpvCapability pygen_variable_caps_StencilExportEXT[] = {SpvCapabilityStencilExportEXT};
+static const SpvCapability pygen_variable_caps_StorageBuffer16BitAccessStorageUniformBufferBlock16[] = {SpvCapabilityStorageBuffer16BitAccess, SpvCapabilityStorageUniformBufferBlock16};
+static const SpvCapability pygen_variable_caps_StorageBuffer8BitAccess[] = {SpvCapabilityStorageBuffer8BitAccess};
+static const SpvCapability pygen_variable_caps_StorageImageExtendedFormats[] = {SpvCapabilityStorageImageExtendedFormats};
+static const SpvCapability pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot[] = {SpvCapabilitySubgroupBallotKHR, SpvCapabilityGroupNonUniformBallot};
+static const SpvCapability pygen_variable_caps_SubgroupDispatch[] = {SpvCapabilitySubgroupDispatch};
+static const SpvCapability pygen_variable_caps_Tessellation[] = {SpvCapabilityTessellation};
+static const SpvCapability pygen_variable_caps_TransformFeedback[] = {SpvCapabilityTransformFeedback};
+static const SpvCapability pygen_variable_caps_VariablePointersStorageBuffer[] = {SpvCapabilityVariablePointersStorageBuffer};
+
+static const spvtools::Extension pygen_variable_exts_SPV_AMD_gpu_shader_half_float_fetch[] = {spvtools::Extension::kSPV_AMD_gpu_shader_half_float_fetch};
+static const spvtools::Extension pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter[] = {spvtools::Extension::kSPV_AMD_shader_explicit_vertex_parameter};
+static const spvtools::Extension pygen_variable_exts_SPV_AMD_shader_fragment_mask[] = {spvtools::Extension::kSPV_AMD_shader_fragment_mask};
+static const spvtools::Extension pygen_variable_exts_SPV_AMD_shader_image_load_store_lod[] = {spvtools::Extension::kSPV_AMD_shader_image_load_store_lod};
+static const spvtools::Extension pygen_variable_exts_SPV_AMD_texture_gather_bias_lod[] = {spvtools::Extension::kSPV_AMD_texture_gather_bias_lod};
+static const spvtools::Extension pygen_variable_exts_SPV_EXT_descriptor_indexing[] = {spvtools::Extension::kSPV_EXT_descriptor_indexing};
+static const spvtools::Extension pygen_variable_exts_SPV_EXT_fragment_fully_covered[] = {spvtools::Extension::kSPV_EXT_fragment_fully_covered};
+static const spvtools::Extension pygen_variable_exts_SPV_EXT_shader_stencil_export[] = {spvtools::Extension::kSPV_EXT_shader_stencil_export};
+static const spvtools::Extension pygen_variable_exts_SPV_EXT_shader_viewport_index_layer[] = {spvtools::Extension::kSPV_EXT_shader_viewport_index_layer};
+static const spvtools::Extension pygen_variable_exts_SPV_GOOGLE_hlsl_functionality1[] = {spvtools::Extension::kSPV_GOOGLE_hlsl_functionality1};
+static const spvtools::Extension pygen_variable_exts_SPV_INTEL_subgroups[] = {spvtools::Extension::kSPV_INTEL_subgroups};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_16bit_storage[] = {spvtools::Extension::kSPV_KHR_16bit_storage};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_8bit_storage[] = {spvtools::Extension::kSPV_KHR_8bit_storage};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_device_group[] = {spvtools::Extension::kSPV_KHR_device_group};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_multiview[] = {spvtools::Extension::kSPV_KHR_multiview};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_post_depth_coverage[] = {spvtools::Extension::kSPV_KHR_post_depth_coverage};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_shader_atomic_counter_ops[] = {spvtools::Extension::kSPV_KHR_shader_atomic_counter_ops};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_shader_ballot[] = {spvtools::Extension::kSPV_KHR_shader_ballot};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_shader_draw_parameters[] = {spvtools::Extension::kSPV_KHR_shader_draw_parameters};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_storage_buffer_storage_classSPV_KHR_variable_pointers[] = {spvtools::Extension::kSPV_KHR_storage_buffer_storage_class, spvtools::Extension::kSPV_KHR_variable_pointers};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_subgroup_vote[] = {spvtools::Extension::kSPV_KHR_subgroup_vote};
+static const spvtools::Extension pygen_variable_exts_SPV_KHR_variable_pointers[] = {spvtools::Extension::kSPV_KHR_variable_pointers};
+static const spvtools::Extension pygen_variable_exts_SPV_NVX_multiview_per_view_attributes[] = {spvtools::Extension::kSPV_NVX_multiview_per_view_attributes};
+static const spvtools::Extension pygen_variable_exts_SPV_NV_geometry_shader_passthrough[] = {spvtools::Extension::kSPV_NV_geometry_shader_passthrough};
+static const spvtools::Extension pygen_variable_exts_SPV_NV_sample_mask_override_coverage[] = {spvtools::Extension::kSPV_NV_sample_mask_override_coverage};
+static const spvtools::Extension pygen_variable_exts_SPV_NV_shader_subgroup_partitioned[] = {spvtools::Extension::kSPV_NV_shader_subgroup_partitioned};
+static const spvtools::Extension pygen_variable_exts_SPV_NV_stereo_view_rendering[] = {spvtools::Extension::kSPV_NV_stereo_view_rendering};
+static const spvtools::Extension pygen_variable_exts_SPV_NV_viewport_array2[] = {spvtools::Extension::kSPV_NV_viewport_array2};
+
+static const spv_operand_desc_t pygen_variable_ImageOperandsEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Bias", 0x0001, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Lod", 0x0002, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Grad", 0x0004, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConstOffset", 0x0008, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Offset", 0x0010, 1, pygen_variable_caps_ImageGatherExtended, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ConstOffsets", 0x0020, 1, pygen_variable_caps_ImageGatherExtended, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Sample", 0x0040, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MinLod", 0x0080, 1, pygen_variable_caps_MinLod, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_FPFastMathModeEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NotNaN", 0x0001, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NotInf", 0x0002, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NSZ", 0x0004, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AllowRecip", 0x0008, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Fast", 0x0010, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_SelectionControlEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Flatten", 0x0001, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DontFlatten", 0x0002, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_LoopControlEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Unroll", 0x0001, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DontUnroll", 0x0002, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DependencyInfinite", 0x0004, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"DependencyLength", 0x0008, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1,1)}
+};
+
+static const spv_operand_desc_t pygen_variable_FunctionControlEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Inline", 0x0001, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DontInline", 0x0002, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Pure", 0x0004, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Const", 0x0008, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_MemorySemanticsEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Relaxed", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Acquire", 0x0002, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Release", 0x0004, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AcquireRelease", 0x0008, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SequentiallyConsistent", 0x0010, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UniformMemory", 0x0040, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubgroupMemory", 0x0080, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WorkgroupMemory", 0x0100, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CrossWorkgroupMemory", 0x0200, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicCounterMemory", 0x0400, 1, pygen_variable_caps_AtomicStorage, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageMemory", 0x0800, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_MemoryAccessEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Volatile", 0x0001, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Aligned", 0x0002, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Nontemporal", 0x0004, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_KernelProfilingInfoEntries[] = {
+  {"None", 0x0000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CmdExecTime", 0x0001, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_SourceLanguageEntries[] = {
+  {"Unknown", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ESSL", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GLSL", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OpenCL_C", 3, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OpenCL_CPP", 4, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"HLSL", 5, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_ExecutionModelEntries[] = {
+  {"Vertex", 0, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TessellationControl", 1, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TessellationEvaluation", 2, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Geometry", 3, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Fragment", 4, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GLCompute", 5, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Kernel", 6, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_AddressingModelEntries[] = {
+  {"Logical", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Physical32", 1, 1, pygen_variable_caps_Addresses, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Physical64", 2, 1, pygen_variable_caps_Addresses, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_MemoryModelEntries[] = {
+  {"Simple", 0, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GLSL450", 1, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OpenCL", 2, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_ExecutionModeEntries[] = {
+  {"Invocations", 0, 1, pygen_variable_caps_Geometry, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpacingEqual", 1, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpacingFractionalEven", 2, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpacingFractionalOdd", 3, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VertexOrderCw", 4, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VertexOrderCcw", 5, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PixelCenterInteger", 6, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OriginUpperLeft", 7, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OriginLowerLeft", 8, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EarlyFragmentTests", 9, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PointMode", 10, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Xfb", 11, 1, pygen_variable_caps_TransformFeedback, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DepthReplacing", 12, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DepthGreater", 14, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DepthLess", 15, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DepthUnchanged", 16, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LocalSize", 17, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LocalSizeHint", 18, 1, pygen_variable_caps_Kernel, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InputPoints", 19, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InputLines", 20, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InputLinesAdjacency", 21, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Triangles", 22, 2, pygen_variable_caps_GeometryTessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InputTrianglesAdjacency", 23, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Quads", 24, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Isolines", 25, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OutputVertices", 26, 2, pygen_variable_caps_GeometryTessellation, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OutputPoints", 27, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OutputLineStrip", 28, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"OutputTriangleStrip", 29, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VecTypeHint", 30, 1, pygen_variable_caps_Kernel, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ContractionOff", 31, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Initializer", 33, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"Finalizer", 34, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"SubgroupSize", 35, 1, pygen_variable_caps_SubgroupDispatch, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"SubgroupsPerWorkgroup", 36, 1, pygen_variable_caps_SubgroupDispatch, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"SubgroupsPerWorkgroupId", 37, 1, pygen_variable_caps_SubgroupDispatch, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1,2)},
+  {"LocalSizeId", 38, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1,2)},
+  {"LocalSizeHintId", 39, 1, pygen_variable_caps_Kernel, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1,2)},
+  {"PostDepthCoverage", 4446, 1, pygen_variable_caps_SampleMaskPostDepthCoverage, 1, pygen_variable_exts_SPV_KHR_post_depth_coverage, {}, 0xffffffffu},
+  {"StencilRefReplacingEXT", 5027, 1, pygen_variable_caps_StencilExportEXT, 1, pygen_variable_exts_SPV_EXT_shader_stencil_export, {}, 0xffffffffu}
+};
+
+static const spv_operand_desc_t pygen_variable_StorageClassEntries[] = {
+  {"UniformConstant", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Input", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Uniform", 2, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Output", 3, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Workgroup", 4, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CrossWorkgroup", 5, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Private", 6, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Function", 7, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Generic", 8, 1, pygen_variable_caps_GenericPointer, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PushConstant", 9, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicCounter", 10, 1, pygen_variable_caps_AtomicStorage, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Image", 11, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StorageBuffer", 12, 1, pygen_variable_caps_Shader, 2, pygen_variable_exts_SPV_KHR_storage_buffer_storage_classSPV_KHR_variable_pointers, {}, SPV_SPIRV_VERSION_WORD(1,3)}
+};
+
+static const spv_operand_desc_t pygen_variable_DimEntries[] = {
+  {"1D", 0, 1, pygen_variable_caps_Sampled1D, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"2D", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"3D", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Cube", 3, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rect", 4, 1, pygen_variable_caps_SampledRect, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Buffer", 5, 1, pygen_variable_caps_SampledBuffer, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubpassData", 6, 1, pygen_variable_caps_InputAttachment, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_SamplerAddressingModeEntries[] = {
+  {"None", 0, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ClampToEdge", 1, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Clamp", 2, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Repeat", 3, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RepeatMirrored", 4, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_SamplerFilterModeEntries[] = {
+  {"Nearest", 0, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Linear", 1, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_ImageFormatEntries[] = {
+  {"Unknown", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba32f", 1, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba16f", 2, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R32f", 3, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba8", 4, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba8Snorm", 5, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg32f", 6, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg16f", 7, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R11fG11fB10f", 8, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R16f", 9, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba16", 10, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgb10A2", 11, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg16", 12, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg8", 13, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R16", 14, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R8", 15, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba16Snorm", 16, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg16Snorm", 17, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg8Snorm", 18, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R16Snorm", 19, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R8Snorm", 20, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba32i", 21, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba16i", 22, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba8i", 23, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R32i", 24, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg32i", 25, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg16i", 26, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg8i", 27, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R16i", 28, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R8i", 29, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba32ui", 30, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba16ui", 31, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgba8ui", 32, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R32ui", 33, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rgb10a2ui", 34, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg32ui", 35, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg16ui", 36, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rg8ui", 37, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R16ui", 38, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"R8ui", 39, 1, pygen_variable_caps_StorageImageExtendedFormats, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_ImageChannelOrderEntries[] = {
+  {"R", 0, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"A", 1, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RG", 2, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RA", 3, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RGB", 4, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RGBA", 5, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BGRA", 6, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ARGB", 7, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Intensity", 8, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Luminance", 9, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Rx", 10, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RGx", 11, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RGBx", 12, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Depth", 13, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DepthStencil", 14, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"sRGB", 15, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"sRGBx", 16, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"sRGBA", 17, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"sBGRA", 18, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ABGR", 19, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_ImageChannelDataTypeEntries[] = {
+  {"SnormInt8", 0, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SnormInt16", 1, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnormInt8", 2, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnormInt16", 3, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnormShort565", 4, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnormShort555", 5, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnormInt101010", 6, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SignedInt8", 7, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SignedInt16", 8, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SignedInt32", 9, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnsignedInt8", 10, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnsignedInt16", 11, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnsignedInt32", 12, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"HalfFloat", 13, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Float", 14, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnormInt24", 15, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnormInt101010_2", 16, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_FPRoundingModeEntries[] = {
+  {"RTE", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RTZ", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RTP", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RTN", 3, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_LinkageTypeEntries[] = {
+  {"Export", 0, 1, pygen_variable_caps_Linkage, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Import", 1, 1, pygen_variable_caps_Linkage, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_AccessQualifierEntries[] = {
+  {"ReadOnly", 0, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WriteOnly", 1, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ReadWrite", 2, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_FunctionParameterAttributeEntries[] = {
+  {"Zext", 0, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Sext", 1, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ByVal", 2, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Sret", 3, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NoAlias", 4, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NoCapture", 5, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NoWrite", 6, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NoReadWrite", 7, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_DecorationEntries[] = {
+  {"RelaxedPrecision", 0, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SpecId", 1, 2, pygen_variable_caps_ShaderKernel, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Block", 2, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BufferBlock", 3, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RowMajor", 4, 1, pygen_variable_caps_Matrix, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ColMajor", 5, 1, pygen_variable_caps_Matrix, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ArrayStride", 6, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MatrixStride", 7, 1, pygen_variable_caps_Matrix, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GLSLShared", 8, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GLSLPacked", 9, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CPacked", 10, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BuiltIn", 11, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_BUILT_IN}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NoPerspective", 13, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Flat", 14, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Patch", 15, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Centroid", 16, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Sample", 17, 1, pygen_variable_caps_SampleRateShading, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Invariant", 18, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Restrict", 19, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Aliased", 20, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Volatile", 21, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Constant", 22, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Coherent", 23, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NonWritable", 24, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NonReadable", 25, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Uniform", 26, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SaturatedConversion", 28, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Stream", 29, 1, pygen_variable_caps_GeometryStreams, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Location", 30, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Component", 31, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Index", 32, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Binding", 33, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DescriptorSet", 34, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Offset", 35, 1, pygen_variable_caps_Shader, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"XfbBuffer", 36, 1, pygen_variable_caps_TransformFeedback, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"XfbStride", 37, 1, pygen_variable_caps_TransformFeedback, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FuncParamAttr", 38, 1, pygen_variable_caps_Kernel, 0, nullptr, {SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FPRoundingMode", 39, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_FP_ROUNDING_MODE}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FPFastMathMode", 40, 1, pygen_variable_caps_Kernel, 0, nullptr, {SPV_OPERAND_TYPE_FP_FAST_MATH_MODE}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LinkageAttributes", 41, 1, pygen_variable_caps_Linkage, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_STRING, SPV_OPERAND_TYPE_LINKAGE_TYPE}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NoContraction", 42, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InputAttachmentIndex", 43, 1, pygen_variable_caps_InputAttachment, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Alignment", 44, 1, pygen_variable_caps_Kernel, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MaxByteOffset", 45, 1, pygen_variable_caps_Addresses, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"AlignmentId", 46, 1, pygen_variable_caps_Kernel, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1,2)},
+  {"MaxByteOffsetId", 47, 1, pygen_variable_caps_Addresses, 0, nullptr, {SPV_OPERAND_TYPE_ID}, SPV_SPIRV_VERSION_WORD(1,2)},
+  {"ExplicitInterpAMD", 4999, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"OverrideCoverageNV", 5248, 1, pygen_variable_caps_SampleMaskOverrideCoverageNV, 1, pygen_variable_exts_SPV_NV_sample_mask_override_coverage, {}, 0xffffffffu},
+  {"PassthroughNV", 5250, 1, pygen_variable_caps_GeometryShaderPassthroughNV, 1, pygen_variable_exts_SPV_NV_geometry_shader_passthrough, {}, 0xffffffffu},
+  {"ViewportRelativeNV", 5252, 1, pygen_variable_caps_ShaderViewportMaskNV, 0, nullptr, {}, 0xffffffffu},
+  {"SecondaryViewportRelativeNV", 5256, 1, pygen_variable_caps_ShaderStereoViewNV, 1, pygen_variable_exts_SPV_NV_stereo_view_rendering, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0xffffffffu},
+  {"NonUniformEXT", 5300, 1, pygen_variable_caps_ShaderNonUniformEXT, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"HlslCounterBufferGOOGLE", 5634, 0, nullptr, 1, pygen_variable_exts_SPV_GOOGLE_hlsl_functionality1, {SPV_OPERAND_TYPE_ID}, 0xffffffffu},
+  {"HlslSemanticGOOGLE", 5635, 0, nullptr, 1, pygen_variable_exts_SPV_GOOGLE_hlsl_functionality1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0xffffffffu}
+};
+
+static const spv_operand_desc_t pygen_variable_BuiltInEntries[] = {
+  {"Position", 0, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PointSize", 1, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ClipDistance", 3, 1, pygen_variable_caps_ClipDistance, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CullDistance", 4, 1, pygen_variable_caps_CullDistance, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VertexId", 5, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InstanceId", 6, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PrimitiveId", 7, 2, pygen_variable_caps_GeometryTessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InvocationId", 8, 2, pygen_variable_caps_GeometryTessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Layer", 9, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ViewportIndex", 10, 1, pygen_variable_caps_MultiViewport, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TessLevelOuter", 11, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TessLevelInner", 12, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TessCoord", 13, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PatchVertices", 14, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FragCoord", 15, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PointCoord", 16, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FrontFacing", 17, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampleId", 18, 1, pygen_variable_caps_SampleRateShading, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SamplePosition", 19, 1, pygen_variable_caps_SampleRateShading, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampleMask", 20, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FragDepth", 22, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"HelperInvocation", 23, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NumWorkgroups", 24, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WorkgroupSize", 25, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WorkgroupId", 26, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LocalInvocationId", 27, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GlobalInvocationId", 28, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LocalInvocationIndex", 29, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WorkDim", 30, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GlobalSize", 31, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"EnqueuedWorkgroupSize", 32, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GlobalOffset", 33, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GlobalLinearId", 34, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubgroupSize", 36, 3, pygen_variable_caps_KernelGroupNonUniformSubgroupBallotKHR, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubgroupMaxSize", 37, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NumSubgroups", 38, 2, pygen_variable_caps_KernelGroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"NumEnqueuedSubgroups", 39, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubgroupId", 40, 2, pygen_variable_caps_KernelGroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubgroupLocalInvocationId", 41, 3, pygen_variable_caps_KernelGroupNonUniformSubgroupBallotKHR, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VertexIndex", 42, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InstanceIndex", 43, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubgroupEqMask", 4416, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupEqMaskKHR", 4416, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 1, pygen_variable_exts_SPV_KHR_shader_ballot, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupGeMask", 4417, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupGeMaskKHR", 4417, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 1, pygen_variable_exts_SPV_KHR_shader_ballot, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupGtMask", 4418, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupGtMaskKHR", 4418, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 1, pygen_variable_exts_SPV_KHR_shader_ballot, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupLeMask", 4419, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupLeMaskKHR", 4419, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 1, pygen_variable_exts_SPV_KHR_shader_ballot, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupLtMask", 4420, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupLtMaskKHR", 4420, 2, pygen_variable_caps_SubgroupBallotKHRGroupNonUniformBallot, 1, pygen_variable_exts_SPV_KHR_shader_ballot, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"BaseVertex", 4424, 1, pygen_variable_caps_DrawParameters, 1, pygen_variable_exts_SPV_KHR_shader_draw_parameters, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"BaseInstance", 4425, 1, pygen_variable_caps_DrawParameters, 1, pygen_variable_exts_SPV_KHR_shader_draw_parameters, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"DrawIndex", 4426, 1, pygen_variable_caps_DrawParameters, 1, pygen_variable_exts_SPV_KHR_shader_draw_parameters, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"DeviceIndex", 4438, 1, pygen_variable_caps_DeviceGroup, 1, pygen_variable_exts_SPV_KHR_device_group, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"ViewIndex", 4440, 1, pygen_variable_caps_MultiView, 1, pygen_variable_exts_SPV_KHR_multiview, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"BaryCoordNoPerspAMD", 4992, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"BaryCoordNoPerspCentroidAMD", 4993, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"BaryCoordNoPerspSampleAMD", 4994, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"BaryCoordSmoothAMD", 4995, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"BaryCoordSmoothCentroidAMD", 4996, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"BaryCoordSmoothSampleAMD", 4997, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"BaryCoordPullModelAMD", 4998, 0, nullptr, 1, pygen_variable_exts_SPV_AMD_shader_explicit_vertex_parameter, {}, 0xffffffffu},
+  {"FragStencilRefEXT", 5014, 1, pygen_variable_caps_StencilExportEXT, 1, pygen_variable_exts_SPV_EXT_shader_stencil_export, {}, 0xffffffffu},
+  {"ViewportMaskNV", 5253, 1, pygen_variable_caps_ShaderViewportMaskNV, 0, nullptr, {}, 0xffffffffu},
+  {"SecondaryPositionNV", 5257, 1, pygen_variable_caps_ShaderStereoViewNV, 1, pygen_variable_exts_SPV_NV_stereo_view_rendering, {}, 0xffffffffu},
+  {"SecondaryViewportMaskNV", 5258, 1, pygen_variable_caps_ShaderStereoViewNV, 1, pygen_variable_exts_SPV_NV_stereo_view_rendering, {}, 0xffffffffu},
+  {"PositionPerViewNV", 5261, 1, pygen_variable_caps_PerViewAttributesNV, 0, nullptr, {}, 0xffffffffu},
+  {"ViewportMaskPerViewNV", 5262, 1, pygen_variable_caps_PerViewAttributesNV, 0, nullptr, {}, 0xffffffffu},
+  {"FullyCoveredEXT", 5264, 1, pygen_variable_caps_FragmentFullyCoveredEXT, 1, pygen_variable_exts_SPV_EXT_fragment_fully_covered, {}, 0xffffffffu}
+};
+
+static const spv_operand_desc_t pygen_variable_ScopeEntries[] = {
+  {"CrossDevice", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Device", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Workgroup", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Subgroup", 3, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Invocation", 4, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_GroupOperationEntries[] = {
+  {"Reduce", 0, 3, pygen_variable_caps_KernelGroupNonUniformArithmeticGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InclusiveScan", 1, 3, pygen_variable_caps_KernelGroupNonUniformArithmeticGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ExclusiveScan", 2, 3, pygen_variable_caps_KernelGroupNonUniformArithmeticGroupNonUniformBallot, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ClusteredReduce", 3, 1, pygen_variable_caps_GroupNonUniformClustered, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"PartitionedReduceNV", 6, 1, pygen_variable_caps_GroupNonUniformPartitionedNV, 1, pygen_variable_exts_SPV_NV_shader_subgroup_partitioned, {}, 0xffffffffu},
+  {"PartitionedInclusiveScanNV", 7, 1, pygen_variable_caps_GroupNonUniformPartitionedNV, 1, pygen_variable_exts_SPV_NV_shader_subgroup_partitioned, {}, 0xffffffffu},
+  {"PartitionedExclusiveScanNV", 8, 1, pygen_variable_caps_GroupNonUniformPartitionedNV, 1, pygen_variable_exts_SPV_NV_shader_subgroup_partitioned, {}, 0xffffffffu}
+};
+
+static const spv_operand_desc_t pygen_variable_KernelEnqueueFlagsEntries[] = {
+  {"NoWait", 0, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WaitKernel", 1, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"WaitWorkGroup", 2, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_CapabilityEntries[] = {
+  {"Matrix", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Shader", 1, 1, pygen_variable_caps_Matrix, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Geometry", 2, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Tessellation", 3, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Addresses", 4, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Linkage", 5, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Kernel", 6, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Vector16", 7, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Float16Buffer", 8, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Float16", 9, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Float64", 10, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Int64", 11, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Int64Atomics", 12, 1, pygen_variable_caps_Int64, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageBasic", 13, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageReadWrite", 14, 1, pygen_variable_caps_ImageBasic, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageMipmap", 15, 1, pygen_variable_caps_ImageBasic, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Pipes", 17, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Groups", 18, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DeviceEnqueue", 19, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"LiteralSampler", 20, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"AtomicStorage", 21, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Int16", 22, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TessellationPointSize", 23, 1, pygen_variable_caps_Tessellation, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GeometryPointSize", 24, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageGatherExtended", 25, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StorageImageMultisample", 27, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UniformBufferArrayDynamicIndexing", 28, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampledImageArrayDynamicIndexing", 29, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StorageBufferArrayDynamicIndexing", 30, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StorageImageArrayDynamicIndexing", 31, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ClipDistance", 32, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"CullDistance", 33, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageCubeArray", 34, 1, pygen_variable_caps_SampledCubeArray, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampleRateShading", 35, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageRect", 36, 1, pygen_variable_caps_SampledRect, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampledRect", 37, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GenericPointer", 38, 1, pygen_variable_caps_Addresses, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Int8", 39, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InputAttachment", 40, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SparseResidency", 41, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MinLod", 42, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Sampled1D", 43, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Image1D", 44, 1, pygen_variable_caps_Sampled1D, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampledCubeArray", 45, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SampledBuffer", 46, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageBuffer", 47, 1, pygen_variable_caps_SampledBuffer, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageMSArray", 48, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StorageImageExtendedFormats", 49, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"ImageQuery", 50, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"DerivativeControl", 51, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"InterpolationFunction", 52, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"TransformFeedback", 53, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"GeometryStreams", 54, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StorageImageReadWithoutFormat", 55, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StorageImageWriteWithoutFormat", 56, 1, pygen_variable_caps_Shader, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"MultiViewport", 57, 1, pygen_variable_caps_Geometry, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SubgroupDispatch", 58, 1, pygen_variable_caps_DeviceEnqueue, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"NamedBarrier", 59, 1, pygen_variable_caps_Kernel, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"PipeStorage", 60, 1, pygen_variable_caps_Pipes, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,1)},
+  {"GroupNonUniform", 61, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformVote", 62, 1, pygen_variable_caps_GroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformArithmetic", 63, 1, pygen_variable_caps_GroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformBallot", 64, 1, pygen_variable_caps_GroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformShuffle", 65, 1, pygen_variable_caps_GroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformShuffleRelative", 66, 1, pygen_variable_caps_GroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformClustered", 67, 1, pygen_variable_caps_GroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"GroupNonUniformQuad", 68, 1, pygen_variable_caps_GroupNonUniform, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupBallotKHR", 4423, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_shader_ballot, {}, 0xffffffffu},
+  {"DrawParameters", 4427, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_KHR_shader_draw_parameters, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"SubgroupVoteKHR", 4431, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_subgroup_vote, {}, 0xffffffffu},
+  {"StorageBuffer16BitAccess", 4433, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_16bit_storage, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"StorageUniformBufferBlock16", 4433, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_16bit_storage, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"StorageUniform16", 4434, 2, pygen_variable_caps_StorageBuffer16BitAccessStorageUniformBufferBlock16, 1, pygen_variable_exts_SPV_KHR_16bit_storage, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"UniformAndStorageBuffer16BitAccess", 4434, 2, pygen_variable_caps_StorageBuffer16BitAccessStorageUniformBufferBlock16, 1, pygen_variable_exts_SPV_KHR_16bit_storage, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"StoragePushConstant16", 4435, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_16bit_storage, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"StorageInputOutput16", 4436, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_16bit_storage, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"DeviceGroup", 4437, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_device_group, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"MultiView", 4439, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_KHR_multiview, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"VariablePointersStorageBuffer", 4441, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_KHR_variable_pointers, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"VariablePointers", 4442, 1, pygen_variable_caps_VariablePointersStorageBuffer, 1, pygen_variable_exts_SPV_KHR_variable_pointers, {}, SPV_SPIRV_VERSION_WORD(1,3)},
+  {"AtomicStorageOps", 4445, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_shader_atomic_counter_ops, {}, 0xffffffffu},
+  {"SampleMaskPostDepthCoverage", 4447, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_post_depth_coverage, {}, 0xffffffffu},
+  {"StorageBuffer8BitAccess", 4448, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_8bit_storage, {}, 0xffffffffu},
+  {"UniformAndStorageBuffer8BitAccess", 4449, 1, pygen_variable_caps_StorageBuffer8BitAccess, 1, pygen_variable_exts_SPV_KHR_8bit_storage, {}, 0xffffffffu},
+  {"StoragePushConstant8", 4450, 0, nullptr, 1, pygen_variable_exts_SPV_KHR_8bit_storage, {}, 0xffffffffu},
+  {"Float16ImageAMD", 5008, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_AMD_gpu_shader_half_float_fetch, {}, 0xffffffffu},
+  {"ImageGatherBiasLodAMD", 5009, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_AMD_texture_gather_bias_lod, {}, 0xffffffffu},
+  {"FragmentMaskAMD", 5010, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_AMD_shader_fragment_mask, {}, 0xffffffffu},
+  {"StencilExportEXT", 5013, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_EXT_shader_stencil_export, {}, 0xffffffffu},
+  {"ImageReadWriteLodAMD", 5015, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_AMD_shader_image_load_store_lod, {}, 0xffffffffu},
+  {"SampleMaskOverrideCoverageNV", 5249, 1, pygen_variable_caps_SampleRateShading, 1, pygen_variable_exts_SPV_NV_sample_mask_override_coverage, {}, 0xffffffffu},
+  {"GeometryShaderPassthroughNV", 5251, 1, pygen_variable_caps_Geometry, 1, pygen_variable_exts_SPV_NV_geometry_shader_passthrough, {}, 0xffffffffu},
+  {"ShaderViewportIndexLayerEXT", 5254, 1, pygen_variable_caps_MultiViewport, 1, pygen_variable_exts_SPV_EXT_shader_viewport_index_layer, {}, 0xffffffffu},
+  {"ShaderViewportIndexLayerNV", 5254, 1, pygen_variable_caps_MultiViewport, 1, pygen_variable_exts_SPV_NV_viewport_array2, {}, 0xffffffffu},
+  {"ShaderViewportMaskNV", 5255, 1, pygen_variable_caps_ShaderViewportIndexLayerNV, 1, pygen_variable_exts_SPV_NV_viewport_array2, {}, 0xffffffffu},
+  {"ShaderStereoViewNV", 5259, 1, pygen_variable_caps_ShaderViewportMaskNV, 1, pygen_variable_exts_SPV_NV_stereo_view_rendering, {}, 0xffffffffu},
+  {"PerViewAttributesNV", 5260, 1, pygen_variable_caps_MultiView, 1, pygen_variable_exts_SPV_NVX_multiview_per_view_attributes, {}, 0xffffffffu},
+  {"FragmentFullyCoveredEXT", 5265, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_EXT_fragment_fully_covered, {}, 0xffffffffu},
+  {"GroupNonUniformPartitionedNV", 5297, 0, nullptr, 1, pygen_variable_exts_SPV_NV_shader_subgroup_partitioned, {}, 0xffffffffu},
+  {"ShaderNonUniformEXT", 5301, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"RuntimeDescriptorArrayEXT", 5302, 1, pygen_variable_caps_Shader, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"InputAttachmentArrayDynamicIndexingEXT", 5303, 1, pygen_variable_caps_InputAttachment, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"UniformTexelBufferArrayDynamicIndexingEXT", 5304, 1, pygen_variable_caps_SampledBuffer, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"StorageTexelBufferArrayDynamicIndexingEXT", 5305, 1, pygen_variable_caps_ImageBuffer, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"UniformBufferArrayNonUniformIndexingEXT", 5306, 1, pygen_variable_caps_ShaderNonUniformEXT, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"SampledImageArrayNonUniformIndexingEXT", 5307, 1, pygen_variable_caps_ShaderNonUniformEXT, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"StorageBufferArrayNonUniformIndexingEXT", 5308, 1, pygen_variable_caps_ShaderNonUniformEXT, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"StorageImageArrayNonUniformIndexingEXT", 5309, 1, pygen_variable_caps_ShaderNonUniformEXT, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"InputAttachmentArrayNonUniformIndexingEXT", 5310, 2, pygen_variable_caps_InputAttachmentShaderNonUniformEXT, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"UniformTexelBufferArrayNonUniformIndexingEXT", 5311, 2, pygen_variable_caps_SampledBufferShaderNonUniformEXT, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"StorageTexelBufferArrayNonUniformIndexingEXT", 5312, 2, pygen_variable_caps_ImageBufferShaderNonUniformEXT, 1, pygen_variable_exts_SPV_EXT_descriptor_indexing, {}, 0xffffffffu},
+  {"SubgroupShuffleINTEL", 5568, 0, nullptr, 1, pygen_variable_exts_SPV_INTEL_subgroups, {}, 0xffffffffu},
+  {"SubgroupBufferBlockIOINTEL", 5569, 0, nullptr, 1, pygen_variable_exts_SPV_INTEL_subgroups, {}, 0xffffffffu},
+  {"SubgroupImageBlockIOINTEL", 5570, 0, nullptr, 1, pygen_variable_exts_SPV_INTEL_subgroups, {}, 0xffffffffu}
+};
+
+static const spv_operand_desc_t pygen_variable_DebugInfoFlagsEntries[] = {
+  {"FlagIsProtected", 0x01, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagIsPrivate", 0x02, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagIsPublic", 0x03, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagIsLocal", 0x04, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagIsDefinition", 0x08, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagFwdDecl", 0x10, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagArtificial", 0x20, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagExplicit", 0x40, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagPrototyped", 0x80, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagObjectPointer", 0x100, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagStaticMember", 0x200, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagIndirectVariable", 0x400, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagLValueReference", 0x800, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagRValueReference", 0x1000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"FlagIsOptimized", 0x2000, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_DebugBaseTypeAttributeEncodingEntries[] = {
+  {"Unspecified", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Address", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Boolean", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Float", 4, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Signed", 5, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"SignedChar", 6, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Unsigned", 7, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"UnsignedChar", 8, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_DebugCompositeTypeEntries[] = {
+  {"Class", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Structure", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Union", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_DebugTypeQualifierEntries[] = {
+  {"ConstType", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"VolatileType", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"RestrictType", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_t pygen_variable_DebugOperationEntries[] = {
+  {"Deref", 0, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Plus", 1, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Minus", 2, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"PlusUconst", 3, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"BitPiece", 4, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Swap", 5, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Xderef", 6, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"StackValue", 7, 0, nullptr, 0, nullptr, {}, SPV_SPIRV_VERSION_WORD(1, 0)},
+  {"Constu", 8, 0, nullptr, 0, nullptr, {SPV_OPERAND_TYPE_LITERAL_INTEGER}, SPV_SPIRV_VERSION_WORD(1, 0)}
+};
+
+static const spv_operand_desc_group_t pygen_variable_OperandInfoTable[] = {
+  {SPV_OPERAND_TYPE_IMAGE, ARRAY_SIZE(pygen_variable_ImageOperandsEntries), pygen_variable_ImageOperandsEntries},
+  {SPV_OPERAND_TYPE_FP_FAST_MATH_MODE, ARRAY_SIZE(pygen_variable_FPFastMathModeEntries), pygen_variable_FPFastMathModeEntries},
+  {SPV_OPERAND_TYPE_SELECTION_CONTROL, ARRAY_SIZE(pygen_variable_SelectionControlEntries), pygen_variable_SelectionControlEntries},
+  {SPV_OPERAND_TYPE_LOOP_CONTROL, ARRAY_SIZE(pygen_variable_LoopControlEntries), pygen_variable_LoopControlEntries},
+  {SPV_OPERAND_TYPE_FUNCTION_CONTROL, ARRAY_SIZE(pygen_variable_FunctionControlEntries), pygen_variable_FunctionControlEntries},
+  {SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, ARRAY_SIZE(pygen_variable_MemorySemanticsEntries), pygen_variable_MemorySemanticsEntries},
+  {SPV_OPERAND_TYPE_MEMORY_ACCESS, ARRAY_SIZE(pygen_variable_MemoryAccessEntries), pygen_variable_MemoryAccessEntries},
+  {SPV_OPERAND_TYPE_KERNEL_PROFILING_INFO, ARRAY_SIZE(pygen_variable_KernelProfilingInfoEntries), pygen_variable_KernelProfilingInfoEntries},
+  {SPV_OPERAND_TYPE_SOURCE_LANGUAGE, ARRAY_SIZE(pygen_variable_SourceLanguageEntries), pygen_variable_SourceLanguageEntries},
+  {SPV_OPERAND_TYPE_EXECUTION_MODEL, ARRAY_SIZE(pygen_variable_ExecutionModelEntries), pygen_variable_ExecutionModelEntries},
+  {SPV_OPERAND_TYPE_ADDRESSING_MODEL, ARRAY_SIZE(pygen_variable_AddressingModelEntries), pygen_variable_AddressingModelEntries},
+  {SPV_OPERAND_TYPE_MEMORY_MODEL, ARRAY_SIZE(pygen_variable_MemoryModelEntries), pygen_variable_MemoryModelEntries},
+  {SPV_OPERAND_TYPE_EXECUTION_MODE, ARRAY_SIZE(pygen_variable_ExecutionModeEntries), pygen_variable_ExecutionModeEntries},
+  {SPV_OPERAND_TYPE_STORAGE_CLASS, ARRAY_SIZE(pygen_variable_StorageClassEntries), pygen_variable_StorageClassEntries},
+  {SPV_OPERAND_TYPE_DIMENSIONALITY, ARRAY_SIZE(pygen_variable_DimEntries), pygen_variable_DimEntries},
+  {SPV_OPERAND_TYPE_SAMPLER_ADDRESSING_MODE, ARRAY_SIZE(pygen_variable_SamplerAddressingModeEntries), pygen_variable_SamplerAddressingModeEntries},
+  {SPV_OPERAND_TYPE_SAMPLER_FILTER_MODE, ARRAY_SIZE(pygen_variable_SamplerFilterModeEntries), pygen_variable_SamplerFilterModeEntries},
+  {SPV_OPERAND_TYPE_SAMPLER_IMAGE_FORMAT, ARRAY_SIZE(pygen_variable_ImageFormatEntries), pygen_variable_ImageFormatEntries},
+  {SPV_OPERAND_TYPE_IMAGE_CHANNEL_ORDER, ARRAY_SIZE(pygen_variable_ImageChannelOrderEntries), pygen_variable_ImageChannelOrderEntries},
+  {SPV_OPERAND_TYPE_IMAGE_CHANNEL_DATA_TYPE, ARRAY_SIZE(pygen_variable_ImageChannelDataTypeEntries), pygen_variable_ImageChannelDataTypeEntries},
+  {SPV_OPERAND_TYPE_FP_ROUNDING_MODE, ARRAY_SIZE(pygen_variable_FPRoundingModeEntries), pygen_variable_FPRoundingModeEntries},
+  {SPV_OPERAND_TYPE_LINKAGE_TYPE, ARRAY_SIZE(pygen_variable_LinkageTypeEntries), pygen_variable_LinkageTypeEntries},
+  {SPV_OPERAND_TYPE_ACCESS_QUALIFIER, ARRAY_SIZE(pygen_variable_AccessQualifierEntries), pygen_variable_AccessQualifierEntries},
+  {SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE, ARRAY_SIZE(pygen_variable_FunctionParameterAttributeEntries), pygen_variable_FunctionParameterAttributeEntries},
+  {SPV_OPERAND_TYPE_DECORATION, ARRAY_SIZE(pygen_variable_DecorationEntries), pygen_variable_DecorationEntries},
+  {SPV_OPERAND_TYPE_BUILT_IN, ARRAY_SIZE(pygen_variable_BuiltInEntries), pygen_variable_BuiltInEntries},
+  {SPV_OPERAND_TYPE_SCOPE_ID, ARRAY_SIZE(pygen_variable_ScopeEntries), pygen_variable_ScopeEntries},
+  {SPV_OPERAND_TYPE_GROUP_OPERATION, ARRAY_SIZE(pygen_variable_GroupOperationEntries), pygen_variable_GroupOperationEntries},
+  {SPV_OPERAND_TYPE_KERNEL_ENQ_FLAGS, ARRAY_SIZE(pygen_variable_KernelEnqueueFlagsEntries), pygen_variable_KernelEnqueueFlagsEntries},
+  {SPV_OPERAND_TYPE_CAPABILITY, ARRAY_SIZE(pygen_variable_CapabilityEntries), pygen_variable_CapabilityEntries},
+  {SPV_OPERAND_TYPE_DEBUG_INFO_FLAGS, ARRAY_SIZE(pygen_variable_DebugInfoFlagsEntries), pygen_variable_DebugInfoFlagsEntries},
+  {SPV_OPERAND_TYPE_DEBUG_BASE_TYPE_ATTRIBUTE_ENCODING, ARRAY_SIZE(pygen_variable_DebugBaseTypeAttributeEncodingEntries), pygen_variable_DebugBaseTypeAttributeEncodingEntries},
+  {SPV_OPERAND_TYPE_DEBUG_COMPOSITE_TYPE, ARRAY_SIZE(pygen_variable_DebugCompositeTypeEntries), pygen_variable_DebugCompositeTypeEntries},
+  {SPV_OPERAND_TYPE_DEBUG_TYPE_QUALIFIER, ARRAY_SIZE(pygen_variable_DebugTypeQualifierEntries), pygen_variable_DebugTypeQualifierEntries},
+  {SPV_OPERAND_TYPE_DEBUG_OPERATION, ARRAY_SIZE(pygen_variable_DebugOperationEntries), pygen_variable_DebugOperationEntries},
+  {SPV_OPERAND_TYPE_OPTIONAL_IMAGE, ARRAY_SIZE(pygen_variable_ImageOperandsEntries), pygen_variable_ImageOperandsEntries},
+  {SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS, ARRAY_SIZE(pygen_variable_MemoryAccessEntries), pygen_variable_MemoryAccessEntries},
+  {SPV_OPERAND_TYPE_OPTIONAL_ACCESS_QUALIFIER, ARRAY_SIZE(pygen_variable_AccessQualifierEntries), pygen_variable_AccessQualifierEntries}
+};

+ 16 - 0
3rdparty/spirv-tools/build/source/CMakeFiles/CMakeDirectoryInformation.cmake

@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/bkaradzic/Private/projects/_github/SPIRV-Tools")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

+ 103 - 0
3rdparty/spirv-tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/DependInfo.cmake

@@ -0,0 +1,103 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "CXX"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_CXX
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/assembly_grammar.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/binary.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/diagnostic.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/disassemble.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/enum_string_mapping.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/ext_inst.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extensions.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/id_descriptor.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/libspirv.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/name_mapper.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/opcode.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/operand.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/parsed_operand.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/print.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/software_version.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_endian.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_optimizer_options.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_target_env.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_validator_options.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/table.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text_handler.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/bit_vector.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/parse_number.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/string_utils.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/timer.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/basic_block.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/construct.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/function.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/instruction.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_adjacency.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_annotation.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_arithmetics.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_atomics.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_barriers.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_bitwise.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_builtins.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_capability.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_cfg.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_composites.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_constants.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_conversion.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_datarules.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_debug.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_decorations.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_derivatives.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_execution_limitations.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_ext_inst.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_function.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_id.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_image.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_instruction.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_interfaces.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_layout.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_literals.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_logicals.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_memory.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_mode_setting.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_non_uniform.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_primitives.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_type.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validation_state.cpp" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o"
+  )
+set(CMAKE_CXX_COMPILER_ID "GNU")
+
+# Preprocessor definitions for this target.
+set(CMAKE_TARGET_DEFINITIONS_CXX
+  "SPIRV_CHECK_CONTEXT"
+  "SPIRV_COLOR_TERMINAL"
+  "SPIRV_LINUX"
+  "SPIRV_TIMER_ENABLED"
+  "SPIRV_TOOLS_IMPLEMENTATION"
+  "SPIRV_TOOLS_SHAREDLIB"
+  )
+
+# The include file search paths:
+set(CMAKE_CXX_TARGET_INCLUDE_PATH
+  "../"
+  "../include"
+  "."
+  "../external/SPIRV-Headers/include"
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/enum_string_mapping.inc" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/extension_enum.inc"
+  "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/operand.kinds-unified1.inc" "/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/core.insts-unified1.inc"
+  )
+
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")

+ 1883 - 0
3rdparty/spirv-tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/build.make

@@ -0,0 +1,1883 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.5
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build
+
+# Include any dependencies generated for this target.
+include source/CMakeFiles/SPIRV-Tools-shared.dir/depend.make
+
+# Include the progress variables for this target.
+include source/CMakeFiles/SPIRV-Tools-shared.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+
+extension_enum.inc: ../utils/generate_grammar_tables.py
+extension_enum.inc: ../external/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json
+extension_enum.inc: ../source/extinst.debuginfo.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generate enum-string mapping for SPIR-V vunified1."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --spirv-core-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/external/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json --extinst-debuginfo-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.debuginfo.grammar.json --extension-enum-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/extension_enum.inc --enum-string-mapping-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/enum_string_mapping.inc
+
+enum_string_mapping.inc: extension_enum.inc
+	@$(CMAKE_COMMAND) -E touch_nocreate enum_string_mapping.inc
+
+opencl.std.insts.inc: ../utils/generate_grammar_tables.py
+opencl.std.insts.inc: ../external/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json
+opencl.std.insts.inc: ../external/SPIRV-Headers/include/spirv/unified1/extinst.opencl.std.100.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generate info tables for OpenCL extended instructions and operands vunified1."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --extinst-opencl-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/external/SPIRV-Headers/include/spirv/unified1/extinst.opencl.std.100.grammar.json --opencl-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/opencl.std.insts.inc
+
+glsl.std.450.insts.inc: ../utils/generate_grammar_tables.py
+glsl.std.450.insts.inc: ../external/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json
+glsl.std.450.insts.inc: ../external/SPIRV-Headers/include/spirv/unified1/extinst.glsl.std.450.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generate info tables for GLSL extended instructions and operands vunified1."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --extinst-glsl-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/external/SPIRV-Headers/include/spirv/unified1/extinst.glsl.std.450.grammar.json --glsl-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/glsl.std.450.insts.inc
+
+spv-amd-shader-explicit-vertex-parameter.insts.inc: ../utils/generate_grammar_tables.py
+spv-amd-shader-explicit-vertex-parameter.insts.inc: ../source/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generate extended instruction tables for spv-amd-shader-explicit-vertex-parameter."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json --vendor-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/spv-amd-shader-explicit-vertex-parameter.insts.inc
+
+spv-amd-shader-trinary-minmax.insts.inc: ../utils/generate_grammar_tables.py
+spv-amd-shader-trinary-minmax.insts.inc: ../source/extinst.spv-amd-shader-trinary-minmax.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Generate extended instruction tables for spv-amd-shader-trinary-minmax."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.spv-amd-shader-trinary-minmax.grammar.json --vendor-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/spv-amd-shader-trinary-minmax.insts.inc
+
+spv-amd-gcn-shader.insts.inc: ../utils/generate_grammar_tables.py
+spv-amd-gcn-shader.insts.inc: ../source/extinst.spv-amd-gcn-shader.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Generate extended instruction tables for spv-amd-gcn-shader."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.spv-amd-gcn-shader.grammar.json --vendor-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/spv-amd-gcn-shader.insts.inc
+
+spv-amd-shader-ballot.insts.inc: ../utils/generate_grammar_tables.py
+spv-amd-shader-ballot.insts.inc: ../source/extinst.spv-amd-shader-ballot.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Generate extended instruction tables for spv-amd-shader-ballot."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.spv-amd-shader-ballot.grammar.json --vendor-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/spv-amd-shader-ballot.insts.inc
+
+debuginfo.insts.inc: ../utils/generate_grammar_tables.py
+debuginfo.insts.inc: ../source/extinst.debuginfo.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Generate extended instruction tables for debuginfo."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --extinst-vendor-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.debuginfo.grammar.json --vendor-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/debuginfo.insts.inc
+
+DebugInfo.h: ../utils/generate_language_headers.py
+DebugInfo.h: ../source/extinst.debuginfo.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Generate language specific header for DebugInfo."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_language_headers.py --extinst-name=DebugInfo --extinst-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.debuginfo.grammar.json --extinst-output-base=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/DebugInfo
+
+core.insts-unified1.inc: ../utils/generate_grammar_tables.py
+core.insts-unified1.inc: ../external/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json
+core.insts-unified1.inc: ../source/extinst.debuginfo.grammar.json
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Generate info tables for SPIR-V vunified1 core instructions and operands."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_grammar_tables.py --spirv-core-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/external/SPIRV-Headers/include/spirv/unified1/spirv.core.grammar.json --extinst-debuginfo-grammar=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extinst.debuginfo.grammar.json --core-insts-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/core.insts-unified1.inc --operand-kinds-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/operand.kinds-unified1.inc
+
+operand.kinds-unified1.inc: core.insts-unified1.inc
+	@$(CMAKE_COMMAND) -E touch_nocreate operand.kinds-unified1.inc
+
+generators.inc: ../utils/generate_registry_tables.py
+generators.inc: ../external/SPIRV-Headers/include/spirv/spir-v.xml
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Generate tables based on the SPIR-V XML registry."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/generate_registry_tables.py --xml=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/external/SPIRV-Headers/include/spirv/spir-v.xml --generator-output=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/generators.inc
+
+build-version.inc: ../utils/update_build_version.py
+build-version.inc: ../CHANGES
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Update build-version.inc in the SPIRV-Tools build directory (if necessary)."
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/python /home/bkaradzic/Private/projects/_github/SPIRV-Tools/utils/update_build_version.py /home/bkaradzic/Private/projects/_github/SPIRV-Tools /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/build-version.inc
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o: ../source/util/bit_vector.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/bit_vector.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/bit_vector.cpp > CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/bit_vector.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o: ../source/util/parse_number.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/parse_number.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/parse_number.cpp > CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/parse_number.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o: ../source/util/string_utils.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/string_utils.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/string_utils.cpp > CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/string_utils.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o: ../source/assembly_grammar.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/assembly_grammar.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/assembly_grammar.cpp > CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/assembly_grammar.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o: ../source/binary.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/binary.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/binary.cpp > CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/binary.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o: ../source/diagnostic.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/diagnostic.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/diagnostic.cpp > CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/diagnostic.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o: ../source/disassemble.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/disassemble.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/disassemble.cpp > CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/disassemble.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o: ../source/enum_string_mapping.cpp
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o: enum_string_mapping.inc
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/enum_string_mapping.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/enum_string_mapping.cpp > CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/enum_string_mapping.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: ../source/ext_inst.cpp
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: opencl.std.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: glsl.std.450.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: spv-amd-shader-explicit-vertex-parameter.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: spv-amd-shader-trinary-minmax.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: spv-amd-gcn-shader.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: spv-amd-shader-ballot.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: debuginfo.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o: DebugInfo.h
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/ext_inst.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/ext_inst.cpp > CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/ext_inst.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o: ../source/extensions.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_22) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extensions.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extensions.cpp > CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/extensions.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o: ../source/id_descriptor.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_23) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/id_descriptor.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/id_descriptor.cpp > CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/id_descriptor.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o: ../source/libspirv.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_24) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/libspirv.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/libspirv.cpp > CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/libspirv.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o: ../source/name_mapper.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_25) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/name_mapper.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/name_mapper.cpp > CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/name_mapper.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o: ../source/opcode.cpp
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o: core.insts-unified1.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o: generators.inc
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_26) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/opcode.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/opcode.cpp > CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/opcode.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o: ../source/operand.cpp
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o: operand.kinds-unified1.inc
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_27) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/operand.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/operand.cpp > CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/operand.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o: ../source/parsed_operand.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_28) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/parsed_operand.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/parsed_operand.cpp > CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/parsed_operand.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o: ../source/print.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_29) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/print.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/print.cpp > CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/print.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o: ../source/software_version.cpp
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o: build-version.inc
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_30) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/software_version.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/software_version.cpp > CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/software_version.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o: ../source/spirv_endian.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_31) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_endian.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_endian.cpp > CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_endian.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o: ../source/spirv_optimizer_options.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_32) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_optimizer_options.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_optimizer_options.cpp > CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_optimizer_options.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o: ../source/spirv_target_env.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_33) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_target_env.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_target_env.cpp > CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_target_env.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o: ../source/spirv_validator_options.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_34) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_validator_options.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_validator_options.cpp > CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/spirv_validator_options.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o: ../source/table.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_35) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/table.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/table.cpp > CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/table.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o: ../source/text.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_36) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text.cpp > CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o: ../source/text_handler.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_37) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text_handler.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text_handler.cpp > CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/text_handler.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o: ../source/val/validate.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_38) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o: ../source/val/validate_adjacency.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_39) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_adjacency.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_adjacency.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_adjacency.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o: ../source/val/validate_annotation.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_40) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_annotation.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_annotation.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_annotation.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o: ../source/val/validate_arithmetics.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_41) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_arithmetics.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_arithmetics.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_arithmetics.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o: ../source/val/validate_atomics.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_42) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_atomics.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_atomics.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_atomics.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o: ../source/val/validate_barriers.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_43) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_barriers.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_barriers.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_barriers.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o: ../source/val/validate_bitwise.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_44) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_bitwise.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_bitwise.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_bitwise.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o: ../source/val/validate_builtins.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_45) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_builtins.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_builtins.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_builtins.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o: ../source/val/validate_capability.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_46) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_capability.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_capability.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_capability.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o: ../source/val/validate_cfg.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_47) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_cfg.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_cfg.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_cfg.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o: ../source/val/validate_composites.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_48) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_composites.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_composites.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_composites.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o: ../source/val/validate_constants.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_49) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_constants.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_constants.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_constants.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o: ../source/val/validate_conversion.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_50) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_conversion.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_conversion.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_conversion.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o: ../source/val/validate_datarules.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_51) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_datarules.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_datarules.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_datarules.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o: ../source/val/validate_debug.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_52) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_debug.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_debug.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_debug.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o: ../source/val/validate_decorations.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_53) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_decorations.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_decorations.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_decorations.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o: ../source/val/validate_derivatives.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_54) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_derivatives.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_derivatives.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_derivatives.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o: ../source/val/validate_ext_inst.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_55) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_ext_inst.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_ext_inst.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_ext_inst.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o: ../source/val/validate_execution_limitations.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_56) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_execution_limitations.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_execution_limitations.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_execution_limitations.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o: ../source/val/validate_function.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_57) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_function.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_function.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_function.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o: ../source/val/validate_id.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_58) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_id.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_id.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_id.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o: ../source/val/validate_image.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_59) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_image.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_image.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_image.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o: ../source/val/validate_interfaces.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_60) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_interfaces.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_interfaces.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_interfaces.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o: ../source/val/validate_instruction.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_61) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_instruction.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_instruction.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_instruction.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o: ../source/val/validate_layout.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_62) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_layout.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_layout.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_layout.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o: ../source/val/validate_literals.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_63) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_literals.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_literals.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_literals.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o: ../source/val/validate_logicals.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_64) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_logicals.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_logicals.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_logicals.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o: ../source/val/validate_memory.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_65) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_memory.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_memory.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_memory.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o: ../source/val/validate_mode_setting.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_66) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_mode_setting.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_mode_setting.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_mode_setting.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o: ../source/val/validate_non_uniform.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_67) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_non_uniform.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_non_uniform.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_non_uniform.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o: ../source/val/validate_primitives.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_68) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_primitives.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_primitives.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_primitives.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o: ../source/val/validate_type.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_69) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_type.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_type.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validate_type.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o: ../source/val/basic_block.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_70) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/basic_block.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/basic_block.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/basic_block.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o: ../source/val/construct.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_71) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/construct.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/construct.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/construct.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o: ../source/val/function.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_72) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/function.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/function.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/function.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o: ../source/val/instruction.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_73) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/instruction.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/instruction.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/instruction.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o: ../source/val/validation_state.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_74) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validation_state.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validation_state.cpp > CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/val/validation_state.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o
+
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o: source/CMakeFiles/SPIRV-Tools-shared.dir/flags.make
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o: ../source/util/timer.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_75) "Building CXX object source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++   $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o -c /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/timer.cpp
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.i"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/timer.cpp > CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.i
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.s"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && /usr/bin/c++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source/util/timer.cpp -o CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.s
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.requires:
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.provides: source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.requires
+	$(MAKE) -f source/CMakeFiles/SPIRV-Tools-shared.dir/build.make source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.provides.build
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.provides
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.provides.build: source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o
+
+
+# Object files for target SPIRV-Tools-shared
+SPIRV__Tools__shared_OBJECTS = \
+"CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o" \
+"CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o"
+
+# External object files for target SPIRV-Tools-shared
+SPIRV__Tools__shared_EXTERNAL_OBJECTS =
+
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/build.make
+source/libSPIRV-Tools-shared.so: source/CMakeFiles/SPIRV-Tools-shared.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_76) "Linking CXX shared library libSPIRV-Tools-shared.so"
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/SPIRV-Tools-shared.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+source/CMakeFiles/SPIRV-Tools-shared.dir/build: source/libSPIRV-Tools-shared.so
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/build
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o.requires
+source/CMakeFiles/SPIRV-Tools-shared.dir/requires: source/CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o.requires
+
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/requires
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/clean:
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source && $(CMAKE_COMMAND) -P CMakeFiles/SPIRV-Tools-shared.dir/cmake_clean.cmake
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/clean
+
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: extension_enum.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: enum_string_mapping.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: opencl.std.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: glsl.std.450.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: spv-amd-shader-explicit-vertex-parameter.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: spv-amd-shader-trinary-minmax.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: spv-amd-gcn-shader.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: spv-amd-shader-ballot.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: debuginfo.insts.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: DebugInfo.h
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: core.insts-unified1.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: operand.kinds-unified1.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: generators.inc
+source/CMakeFiles/SPIRV-Tools-shared.dir/depend: build-version.inc
+	cd /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/bkaradzic/Private/projects/_github/SPIRV-Tools /home/bkaradzic/Private/projects/_github/SPIRV-Tools/source /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source /home/bkaradzic/Private/projects/_github/SPIRV-Tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : source/CMakeFiles/SPIRV-Tools-shared.dir/depend
+

+ 86 - 0
3rdparty/spirv-tools/build/source/CMakeFiles/SPIRV-Tools-shared.dir/cmake_clean.cmake

@@ -0,0 +1,86 @@
+file(REMOVE_RECURSE
+  "../extension_enum.inc"
+  "../enum_string_mapping.inc"
+  "../opencl.std.insts.inc"
+  "../glsl.std.450.insts.inc"
+  "../spv-amd-shader-explicit-vertex-parameter.insts.inc"
+  "../spv-amd-shader-trinary-minmax.insts.inc"
+  "../spv-amd-gcn-shader.insts.inc"
+  "../spv-amd-shader-ballot.insts.inc"
+  "../debuginfo.insts.inc"
+  "../DebugInfo.h"
+  "../core.insts-unified1.inc"
+  "../operand.kinds-unified1.inc"
+  "../generators.inc"
+  "../build-version.inc"
+  "CMakeFiles/SPIRV-Tools-shared.dir/util/bit_vector.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/util/parse_number.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/util/string_utils.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/assembly_grammar.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/binary.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/diagnostic.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/disassemble.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/enum_string_mapping.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/ext_inst.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/extensions.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/id_descriptor.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/libspirv.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/name_mapper.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/opcode.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/operand.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/parsed_operand.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/print.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/software_version.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/spirv_endian.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/spirv_optimizer_options.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/spirv_target_env.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/spirv_validator_options.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/table.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/text.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/text_handler.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_adjacency.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_annotation.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_arithmetics.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_atomics.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_barriers.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_bitwise.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_builtins.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_capability.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_cfg.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_composites.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_constants.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_conversion.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_datarules.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_debug.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_decorations.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_derivatives.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_ext_inst.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_execution_limitations.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_function.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_id.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_image.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_interfaces.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_instruction.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_layout.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_literals.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_logicals.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_memory.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_mode_setting.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_non_uniform.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_primitives.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validate_type.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/basic_block.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/construct.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/function.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/instruction.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/val/validation_state.cpp.o"
+  "CMakeFiles/SPIRV-Tools-shared.dir/util/timer.cpp.o"
+  "libSPIRV-Tools-shared.pdb"
+  "libSPIRV-Tools-shared.so"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/SPIRV-Tools-shared.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác