Update to newest SPIRV-Tools. It checks the Vulkan rule that all resources must have a set and binding decoration, which many tests fail. So add code to set a default value of zero. Also disable PCH for Ninja builds.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7dc35b0..5dc9c66 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,12 +46,8 @@
 
 # Precompiled header macro. Parameters are source file list and filename for pch cpp file.
 macro(glslang_pch SRCS PCHCPP)
-  if(MSVC)
-    if (CMAKE_GENERATOR MATCHES "^Visual Studio")
-      set(PCH_NAME "$(IntDir)\\pch.pch")
-    else()
-      set(PCH_NAME "${CMAKE_CURRENT_BINARY_DIR}/pch.pch")
-    endif()
+  if(MSVC AND CMAKE_GENERATOR MATCHES "^Visual Studio")
+    set(PCH_NAME "$(IntDir)\\pch.pch")
     # make source files use/depend on PCH_NAME
     set_source_files_properties(${${SRCS}} PROPERTIES COMPILE_FLAGS "/Yupch.h /FIpch.h /Fp${PCH_NAME} /Zm300" OBJECT_DEPENDS "${PCH_NAME}")
     # make PCHCPP file compile and generate PCH_NAME
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index b72f7ae..ef3e9de 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -7165,6 +7165,10 @@
     }
     if (symbol->getQualifier().hasBinding())
         builder.addDecoration(id, spv::DecorationBinding, symbol->getQualifier().layoutBinding);
+    else if (IsDescriptorResource(symbol->getType())) {
+        // default to 0
+        builder.addDecoration(id, spv::DecorationBinding, 0);
+    }
     if (symbol->getQualifier().hasAttachment())
         builder.addDecoration(id, spv::DecorationInputAttachmentIndex, symbol->getQualifier().layoutAttachment);
     if (glslangIntermediate->getXfbMode()) {
diff --git a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
index e65ee7b..2e58bdd 100644
--- a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
+++ b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
@@ -14,7 +14,9 @@
                               Name 51  "gtex"
                               Name 62  "@entryPointOutput"
                               Decorate 47(gss) DescriptorSet 0
+                              Decorate 47(gss) Binding 0
                               Decorate 51(gtex) DescriptorSet 0
+                              Decorate 51(gtex) Binding 0
                               Decorate 62(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
index cf3fbab..d334b7e 100644
--- a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
+++ b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
@@ -16,9 +16,13 @@
                               Name 100  "s2.tex"
                               Name 120  "@entryPointOutput"
                               Decorate 38(tex) DescriptorSet 0
+                              Decorate 38(tex) Binding 0
                               Decorate 82(s.s2D) DescriptorSet 0
+                              Decorate 82(s.s2D) Binding 0
                               Decorate 97(s2.s2D) DescriptorSet 0
+                              Decorate 97(s2.s2D) Binding 0
                               Decorate 100(s2.tex) DescriptorSet 0
+                              Decorate 100(s2.tex) Binding 0
                               Decorate 120(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
index bec5aa2..921cb96 100644
--- a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
+++ b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
@@ -13,7 +13,9 @@
                               Name 47  "g_tInputTexture"
                               Name 80  "@entryPointOutput"
                               Decorate 43(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 43(g_tInputTexture_sampler) Binding 0
                               Decorate 47(g_tInputTexture) DescriptorSet 0
+                              Decorate 47(g_tInputTexture) Binding 0
                               Decorate 80(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
index 14d0cd3..39770f4 100644
--- a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
+++ b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
@@ -13,7 +13,9 @@
                               Name 47  "g_tInputTexture"
                               Name 57  "@entryPointOutput"
                               Decorate 44(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 44(g_tInputTexture_sampler) Binding 0
                               Decorate 47(g_tInputTexture) DescriptorSet 0
+                              Decorate 47(g_tInputTexture) Binding 0
                               Decorate 57(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
index 143c96c..4628479 100644
--- a/Test/baseLegalResults/hlsl.flattenSubset.frag.out
+++ b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
@@ -15,7 +15,9 @@
                               Name 47  "vpos"
                               Name 50  "@entryPointOutput"
                               Decorate 21(samp) DescriptorSet 0
+                              Decorate 21(samp) Binding 0
                               Decorate 33(tex) DescriptorSet 0
+                              Decorate 33(tex) Binding 0
                               Decorate 47(vpos) Location 0
                               Decorate 50(@entryPointOutput) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out
index 9928278..63d29fa 100644
--- a/Test/baseResults/hlsl.aliasOpaque.frag.out
+++ b/Test/baseResults/hlsl.aliasOpaque.frag.out
@@ -167,8 +167,11 @@
                               Name 56  "param"
                               Name 62  "@entryPointOutput"
                               Decorate 44(gss2) DescriptorSet 0
+                              Decorate 44(gss2) Binding 0
                               Decorate 47(gss) DescriptorSet 0
+                              Decorate 47(gss) Binding 0
                               Decorate 51(gtex) DescriptorSet 0
+                              Decorate 51(gtex) Binding 0
                               Decorate 62(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out
index fa4ad03..e273abe 100644
--- a/Test/baseResults/hlsl.amend.frag.out
+++ b/Test/baseResults/hlsl.amend.frag.out
@@ -189,6 +189,7 @@
                               MemberDecorate 20($Global) 4 Offset 48
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
               14:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out
index 4c8609c..80d5153 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -393,11 +393,17 @@
                               Name 141  "g_samp_explicit[1]"
                               Name 142  "g_samp_explicit[2]"
                               Decorate 42(g_tex[1]) DescriptorSet 0
+                              Decorate 42(g_tex[1]) Binding 0
                               Decorate 45(g_samp[1]) DescriptorSet 0
+                              Decorate 45(g_samp[1]) Binding 0
                               Decorate 65(g_samp[0]) DescriptorSet 0
+                              Decorate 65(g_samp[0]) Binding 0
                               Decorate 70(g_samp[2]) DescriptorSet 0
+                              Decorate 70(g_samp[2]) Binding 0
                               Decorate 74(g_tex[0]) DescriptorSet 0
+                              Decorate 74(g_tex[0]) Binding 0
                               Decorate 79(g_tex[2]) DescriptorSet 0
+                              Decorate 79(g_tex[2]) Binding 0
                               Decorate 88 ArrayStride 48
                               Decorate 89 ArrayStride 48
                               Decorate 90 ArrayStride 16
@@ -410,6 +416,7 @@
                               MemberDecorate 91($Global) 2 Offset 384
                               Decorate 91($Global) Block
                               Decorate 93 DescriptorSet 0
+                              Decorate 93 Binding 0
                               Decorate 134(ps_output.color) Location 0
                               Decorate 137(g_tex_explicit[0]) DescriptorSet 0
                               Decorate 137(g_tex_explicit[0]) Binding 1
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
index 0f68e7c..2e706d7 100644
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -334,6 +334,7 @@
                               MemberDecorate 60($Global) 3 Offset 1312
                               Decorate 60($Global) Block
                               Decorate 62 DescriptorSet 0
+                              Decorate 62 Binding 0
                               Decorate 112(i) Flat
                               Decorate 112(i) Location 0
                               Decorate 116(input) Location 1
diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out
index 59f64c0..9462999 100644
--- a/Test/baseResults/hlsl.array.multidim.frag.out
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -160,6 +160,7 @@
                               MemberDecorate 27($Global) 0 Offset 0
                               Decorate 27($Global) Block
                               Decorate 29 DescriptorSet 0
+                              Decorate 29 Binding 0
                               Decorate 54(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out
index 4bef5e7..1b3ffdb 100644
--- a/Test/baseResults/hlsl.attribute.expression.comp.out
+++ b/Test/baseResults/hlsl.attribute.expression.comp.out
@@ -101,6 +101,7 @@
                               MemberDecorate 21($Global) 0 Offset 0
                               Decorate 21($Global) Block
                               Decorate 23 DescriptorSet 0
+                              Decorate 23 Binding 0
                               Decorate 37(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.attributeC11.frag.out b/Test/baseResults/hlsl.attributeC11.frag.out
index 927ea57..47dd96a 100644
--- a/Test/baseResults/hlsl.attributeC11.frag.out
+++ b/Test/baseResults/hlsl.attributeC11.frag.out
@@ -123,6 +123,7 @@
                               MemberName 48(pcBuf) 0  "a"
                               Name 50  ""
                               Decorate 16(attach) DescriptorSet 0
+                              Decorate 16(attach) Binding 0
                               Decorate 16(attach) InputAttachmentIndex 4
                               Decorate 33(input) Location 8
                               Decorate 36(@entryPointOutput) Location 7
diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out
index 1b7e03f..25a7963 100644
--- a/Test/baseResults/hlsl.buffer.frag.out
+++ b/Test/baseResults/hlsl.buffer.frag.out
@@ -197,17 +197,21 @@
                               MemberDecorate 24(cbufName2) 0 Offset 0
                               Decorate 24(cbufName2) Block
                               Decorate 26 DescriptorSet 0
+                              Decorate 26 Binding 0
                               MemberDecorate 31(buf1) 0 Offset 0
                               Decorate 31(buf1) Block
                               Decorate 33 DescriptorSet 0
+                              Decorate 33 Binding 0
                               MemberDecorate 37(buf2) 0 NonWritable
                               MemberDecorate 37(buf2) 0 Offset 0
                               Decorate 37(buf2) BufferBlock
                               Decorate 39 DescriptorSet 0
+                              Decorate 39 Binding 0
                               MemberDecorate 43(cbufName) 0 Offset 0
                               MemberDecorate 43(cbufName) 1 Offset 20
                               Decorate 43(cbufName) Block
                               Decorate 45 DescriptorSet 0
+                              Decorate 45 Binding 0
                               MemberDecorate 50(tbufName) 0 NonWritable
                               MemberDecorate 50(tbufName) 0 Offset 16
                               MemberDecorate 50(tbufName) 1 NonWritable
diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
index 46b4eea..f327883 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -405,13 +405,21 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 33(g_tTex1di4a) DescriptorSet 0
+                              Decorate 33(g_tTex1di4a) Binding 0
                               Decorate 45(g_tTex1du4a) DescriptorSet 0
+                              Decorate 45(g_tTex1du4a) Binding 0
                               Decorate 56(g_tTex2df4a) DescriptorSet 0
+                              Decorate 56(g_tTex2df4a) Binding 0
                               Decorate 67(g_tTex2di4a) DescriptorSet 0
+                              Decorate 67(g_tTex2di4a) Binding 0
                               Decorate 79(g_tTex2du4a) DescriptorSet 0
+                              Decorate 79(g_tTex2du4a) Binding 0
                               Decorate 92(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 92(g_tTexcdf4a) Binding 0
                               Decorate 104(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 104(g_tTexcdi4a) Binding 0
                               Decorate 115(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 115(g_tTexcdu4a) Binding 0
                               Decorate 140(@entryPointOutput.Color) Location 0
                               Decorate 144(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 147(g_tTex1df4) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
index ef5aabe..85dafcc 100644
--- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
@@ -405,13 +405,21 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 33(g_tTex1di4a) DescriptorSet 0
+                              Decorate 33(g_tTex1di4a) Binding 0
                               Decorate 45(g_tTex1du4a) DescriptorSet 0
+                              Decorate 45(g_tTex1du4a) Binding 0
                               Decorate 56(g_tTex2df4a) DescriptorSet 0
+                              Decorate 56(g_tTex2df4a) Binding 0
                               Decorate 67(g_tTex2di4a) DescriptorSet 0
+                              Decorate 67(g_tTex2di4a) Binding 0
                               Decorate 79(g_tTex2du4a) DescriptorSet 0
+                              Decorate 79(g_tTex2du4a) Binding 0
                               Decorate 92(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 92(g_tTexcdf4a) Binding 0
                               Decorate 104(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 104(g_tTexcdi4a) Binding 0
                               Decorate 115(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 115(g_tTexcdu4a) Binding 0
                               Decorate 140(@entryPointOutput.Color) Location 0
                               Decorate 144(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 147(g_tTex1df4) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out
index c7e4ed5..ff73e17 100644
--- a/Test/baseResults/hlsl.comparison.vec.frag.out
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -300,6 +300,7 @@
                               MemberDecorate 93($Global) 0 Offset 0
                               Decorate 93($Global) Block
                               Decorate 95 DescriptorSet 0
+                              Decorate 95 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out
index 90d9f79..7df88e7 100644
--- a/Test/baseResults/hlsl.conditional.frag.out
+++ b/Test/baseResults/hlsl.conditional.frag.out
@@ -569,6 +569,7 @@
                               MemberDecorate 29($Global) 4 Offset 52
                               Decorate 29($Global) Block
                               Decorate 31 DescriptorSet 0
+                              Decorate 31 Binding 0
                               Decorate 199(input) Location 0
                               Decorate 202(@entryPointOutput) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.constantbuffer.frag.out b/Test/baseResults/hlsl.constantbuffer.frag.out
index 8c561dc..fa8881d 100644
--- a/Test/baseResults/hlsl.constantbuffer.frag.out
+++ b/Test/baseResults/hlsl.constantbuffer.frag.out
@@ -160,14 +160,17 @@
                               MemberDecorate 12(cb3) 1 Offset 4
                               Decorate 12(cb3) Block
                               Decorate 18(cb3) DescriptorSet 0
+                              Decorate 18(cb3) Binding 0
                               MemberDecorate 31(cb1) 0 Offset 0
                               Decorate 31(cb1) Block
                               Decorate 33(cb1) DescriptorSet 0
                               Decorate 33(cb1) Binding 12
                               Decorate 40(cb2) DescriptorSet 0
+                              Decorate 40(cb2) Binding 0
                               MemberDecorate 46(cbuff) 0 Offset 0
                               Decorate 46(cbuff) Block
                               Decorate 48 DescriptorSet 0
+                              Decorate 48 Binding 0
                               Decorate 64(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.dashI.vert.out b/Test/baseResults/hlsl.dashI.vert.out
index 400502b..eb9406b 100644
--- a/Test/baseResults/hlsl.dashI.vert.out
+++ b/Test/baseResults/hlsl.dashI.vert.out
@@ -25,6 +25,7 @@
                               MemberDecorate 11($Global) 4 Offset 64
                               Decorate 11($Global) Block
                               Decorate 13 DescriptorSet 0
+                              Decorate 13 Binding 0
                               Decorate 38(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.entry.rename.frag.out b/Test/baseResults/hlsl.entry.rename.frag.out
index 898eb4b..9e23396 100644
--- a/Test/baseResults/hlsl.entry.rename.frag.out
+++ b/Test/baseResults/hlsl.entry.rename.frag.out
@@ -95,6 +95,7 @@
                               MemberDecorate 29($Global) 0 Offset 0
                               Decorate 29($Global) Block
                               Decorate 31 DescriptorSet 0
+                              Decorate 31 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                8:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
index b5f3440..61367d6 100644
--- a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
+++ b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
@@ -31,7 +31,9 @@
                               MemberDecorate 25($Global) 0 Offset 0
                               Decorate 25($Global) Block
                               Decorate 27 DescriptorSet 3
+                              Decorate 27 Binding 0
                               Decorate 30(floatbuff) DescriptorSet 3
+                              Decorate 30(floatbuff) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
index 8ab296f..9bc2f01 100644
--- a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
+++ b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
@@ -31,7 +31,9 @@
                               MemberDecorate 25($Global) 0 Offset 0
                               Decorate 25($Global) Block
                               Decorate 27 DescriptorSet 4
+                              Decorate 27 Binding 0
                               Decorate 30(floatbuff) DescriptorSet 4
+                              Decorate 30(floatbuff) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out
index eb47c3f..94d02f4 100644
--- a/Test/baseResults/hlsl.flattenOpaque.frag.out
+++ b/Test/baseResults/hlsl.flattenOpaque.frag.out
@@ -337,9 +337,13 @@
                               Name 114  "param"
                               Name 120  "@entryPointOutput"
                               Decorate 38(tex) DescriptorSet 0
+                              Decorate 38(tex) Binding 0
                               Decorate 82(s.s2D) DescriptorSet 0
+                              Decorate 82(s.s2D) Binding 0
                               Decorate 97(s2.s2D) DescriptorSet 0
+                              Decorate 97(s2.s2D) Binding 0
                               Decorate 100(s2.tex) DescriptorSet 0
+                              Decorate 100(s2.tex) Binding 0
                               Decorate 120(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
index 29da844..a5a5944 100644
--- a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
@@ -193,7 +193,9 @@
                               Name 71  "param"
                               Name 80  "@entryPointOutput"
                               Decorate 43(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 43(g_tInputTexture_sampler) Binding 0
                               Decorate 47(g_tInputTexture) DescriptorSet 0
+                              Decorate 47(g_tInputTexture) Binding 0
                               Decorate 80(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
index bf95980..5a2aa2a 100644
--- a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
@@ -129,7 +129,9 @@
                               Name 51  "param"
                               Name 57  "@entryPointOutput"
                               Decorate 44(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 44(g_tInputTexture_sampler) Binding 0
                               Decorate 47(g_tInputTexture) DescriptorSet 0
+                              Decorate 47(g_tInputTexture) Binding 0
                               Decorate 57(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.flattenSubset.frag.out b/Test/baseResults/hlsl.flattenSubset.frag.out
index 92e2a96..262a29d 100644
--- a/Test/baseResults/hlsl.flattenSubset.frag.out
+++ b/Test/baseResults/hlsl.flattenSubset.frag.out
@@ -152,7 +152,9 @@
                               Name 50  "@entryPointOutput"
                               Name 51  "param"
                               Decorate 21(samp) DescriptorSet 0
+                              Decorate 21(samp) Binding 0
                               Decorate 33(tex) DescriptorSet 0
+                              Decorate 33(tex) Binding 0
                               Decorate 47(vpos) Location 0
                               Decorate 50(@entryPointOutput) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out
index b22734a..77dc4cd 100644
--- a/Test/baseResults/hlsl.flattenSubset2.frag.out
+++ b/Test/baseResults/hlsl.flattenSubset2.frag.out
@@ -180,6 +180,7 @@
                               Name 52  "@entryPointOutput"
                               Name 53  "param"
                               Decorate 36(someTex) DescriptorSet 0
+                              Decorate 36(someTex) Binding 0
                               Decorate 49(vpos) Location 0
                               Decorate 52(@entryPointOutput) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out
index cd741ed..8dc3307 100644
--- a/Test/baseResults/hlsl.float4.frag.out
+++ b/Test/baseResults/hlsl.float4.frag.out
@@ -68,6 +68,7 @@
                               MemberDecorate 15($Global) 4 Offset 48
                               Decorate 15($Global) Block
                               Decorate 17 DescriptorSet 0
+                              Decorate 17 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out
index be4606a..32d27ab 100644
--- a/Test/baseResults/hlsl.gather.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out
@@ -301,13 +301,19 @@
                               Name 120  "g_tTex1di4a"
                               Name 123  "g_tTex1du4a"
                               Decorate 16(g_tTex2df4a) DescriptorSet 0
+                              Decorate 16(g_tTex2df4a) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 37(g_tTex2di4a) DescriptorSet 0
+                              Decorate 37(g_tTex2di4a) Binding 0
                               Decorate 52(g_tTex2du4a) DescriptorSet 0
+                              Decorate 52(g_tTex2du4a) Binding 0
                               Decorate 64(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 64(g_tTexcdf4a) Binding 0
                               Decorate 74(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 74(g_tTexcdi4a) Binding 0
                               Decorate 84(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 84(g_tTexcdu4a) Binding 0
                               Decorate 107(@entryPointOutput.Color) Location 0
                               Decorate 111(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 116(g_tTex1df4a) DescriptorSet 0
@@ -315,7 +321,9 @@
                               Decorate 117(g_tTex1df4) DescriptorSet 0
                               Decorate 117(g_tTex1df4) Binding 0
                               Decorate 120(g_tTex1di4a) DescriptorSet 0
+                              Decorate 120(g_tTex1di4a) Binding 0
                               Decorate 123(g_tTex1du4a) DescriptorSet 0
+                              Decorate 123(g_tTex1du4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
index 8182dde..57e4499 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
@@ -300,25 +300,37 @@
                               Name 131  "g_tTex3di4"
                               Name 134  "g_tTex3du4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
+                              Decorate 16(g_tTex2df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 36(g_tTex2di4) DescriptorSet 0
+                              Decorate 36(g_tTex2di4) Binding 0
                               Decorate 51(g_tTex2du4) DescriptorSet 0
+                              Decorate 51(g_tTex2du4) Binding 0
                               Decorate 63(g_tTexcdf4) DescriptorSet 0
+                              Decorate 63(g_tTexcdf4) Binding 0
                               Decorate 74(g_tTexcdi4) DescriptorSet 0
+                              Decorate 74(g_tTexcdi4) Binding 0
                               Decorate 84(g_tTexcdu4) DescriptorSet 0
+                              Decorate 84(g_tTexcdu4) Binding 0
                               Decorate 108(@entryPointOutput.Color) Location 0
                               Decorate 112(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 115(g_sSamp2d) DescriptorSet 0
+                              Decorate 115(g_sSamp2d) Binding 0
                               Decorate 118(g_tTex1df4a) DescriptorSet 0
                               Decorate 118(g_tTex1df4a) Binding 1
                               Decorate 119(g_tTex1df4) DescriptorSet 0
                               Decorate 119(g_tTex1df4) Binding 0
                               Decorate 122(g_tTex1di4) DescriptorSet 0
+                              Decorate 122(g_tTex1di4) Binding 0
                               Decorate 125(g_tTex1du4) DescriptorSet 0
+                              Decorate 125(g_tTex1du4) Binding 0
                               Decorate 128(g_tTex3df4) DescriptorSet 0
+                              Decorate 128(g_tTex3df4) Binding 0
                               Decorate 131(g_tTex3di4) DescriptorSet 0
+                              Decorate 131(g_tTex3di4) Binding 0
                               Decorate 134(g_tTex3du4) DescriptorSet 0
+                              Decorate 134(g_tTex3du4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
index fe56114..a0c8d15 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
@@ -257,24 +257,36 @@
                               Name 122  "g_tTex3di4"
                               Name 125  "g_tTex3du4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
+                              Decorate 16(g_tTex2df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 36(g_tTex2di4) DescriptorSet 0
+                              Decorate 36(g_tTex2di4) Binding 0
                               Decorate 51(g_tTex2du4) DescriptorSet 0
+                              Decorate 51(g_tTex2du4) Binding 0
                               Decorate 63(g_tTexcdf4) DescriptorSet 0
+                              Decorate 63(g_tTexcdf4) Binding 0
                               Decorate 74(g_tTexcdi4) DescriptorSet 0
+                              Decorate 74(g_tTexcdi4) Binding 0
                               Decorate 84(g_tTexcdu4) DescriptorSet 0
+                              Decorate 84(g_tTexcdu4) Binding 0
                               Decorate 103(@entryPointOutput.Pos) BuiltIn Position
                               Decorate 106(g_sSamp2d) DescriptorSet 0
+                              Decorate 106(g_sSamp2d) Binding 0
                               Decorate 109(g_tTex1df4a) DescriptorSet 0
                               Decorate 109(g_tTex1df4a) Binding 1
                               Decorate 110(g_tTex1df4) DescriptorSet 0
                               Decorate 110(g_tTex1df4) Binding 0
                               Decorate 113(g_tTex1di4) DescriptorSet 0
+                              Decorate 113(g_tTex1di4) Binding 0
                               Decorate 116(g_tTex1du4) DescriptorSet 0
+                              Decorate 116(g_tTex1du4) Binding 0
                               Decorate 119(g_tTex3df4) DescriptorSet 0
+                              Decorate 119(g_tTex3df4) Binding 0
                               Decorate 122(g_tTex3di4) DescriptorSet 0
+                              Decorate 122(g_tTex3di4) Binding 0
                               Decorate 125(g_tTex3du4) DescriptorSet 0
+                              Decorate 125(g_tTex3du4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
index ae816dd..85ba294 100644
--- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
@@ -246,10 +246,13 @@
                               Name 110  "g_tTexcdi4"
                               Name 113  "g_tTexcdu4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
+                              Decorate 16(g_tTex2df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 39(g_tTex2di4) DescriptorSet 0
+                              Decorate 39(g_tTex2di4) Binding 0
                               Decorate 55(g_tTex2du4) DescriptorSet 0
+                              Decorate 55(g_tTex2du4) Binding 0
                               Decorate 79(@entryPointOutput.Color) Location 0
                               Decorate 83(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 88(g_tTex1df4a) DescriptorSet 0
@@ -257,13 +260,21 @@
                               Decorate 89(g_tTex1df4) DescriptorSet 0
                               Decorate 89(g_tTex1df4) Binding 0
                               Decorate 92(g_tTex1di4) DescriptorSet 0
+                              Decorate 92(g_tTex1di4) Binding 0
                               Decorate 95(g_tTex1du4) DescriptorSet 0
+                              Decorate 95(g_tTex1du4) Binding 0
                               Decorate 98(g_tTex3df4) DescriptorSet 0
+                              Decorate 98(g_tTex3df4) Binding 0
                               Decorate 101(g_tTex3di4) DescriptorSet 0
+                              Decorate 101(g_tTex3di4) Binding 0
                               Decorate 104(g_tTex3du4) DescriptorSet 0
+                              Decorate 104(g_tTex3du4) Binding 0
                               Decorate 107(g_tTexcdf4) DescriptorSet 0
+                              Decorate 107(g_tTexcdf4) Binding 0
                               Decorate 110(g_tTexcdi4) DescriptorSet 0
+                              Decorate 110(g_tTexcdi4) Binding 0
                               Decorate 113(g_tTexcdu4) DescriptorSet 0
+                              Decorate 113(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
index 8805232..c73547e 100644
--- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
@@ -234,10 +234,13 @@
                               Name 93  "g_tTex1di4"
                               Name 96  "g_tTex1du4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
+                              Decorate 16(g_tTex2df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 40(g_tTex2di4) DescriptorSet 0
+                              Decorate 40(g_tTex2di4) Binding 0
                               Decorate 55(g_tTex2du4) DescriptorSet 0
+                              Decorate 55(g_tTex2du4) Binding 0
                               Decorate 80(@entryPointOutput.Color) Location 0
                               Decorate 84(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 89(g_tTex1df4a) DescriptorSet 0
@@ -245,7 +248,9 @@
                               Decorate 90(g_tTex1df4) DescriptorSet 0
                               Decorate 90(g_tTex1df4) Binding 0
                               Decorate 93(g_tTex1di4) DescriptorSet 0
+                              Decorate 93(g_tTex1di4) Binding 0
                               Decorate 96(g_tTex1du4) DescriptorSet 0
+                              Decorate 96(g_tTex1du4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
index 35b0a00..ac6c817 100644
--- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
@@ -813,6 +813,7 @@
                               Name 251  "g_tTex1di4a"
                               Name 254  "g_tTex1du4a"
                               Decorate 16(g_tTex2df4a) DescriptorSet 0
+                              Decorate 16(g_tTex2df4a) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               MemberDecorate 26($Global) 0 Offset 0
@@ -821,18 +822,27 @@
                               MemberDecorate 26($Global) 3 Offset 32
                               Decorate 26($Global) Block
                               Decorate 28 DescriptorSet 0
+                              Decorate 28 Binding 0
                               Decorate 41(g_tTex2di4a) DescriptorSet 0
+                              Decorate 41(g_tTex2di4a) Binding 0
                               Decorate 55(g_tTex2du4a) DescriptorSet 0
+                              Decorate 55(g_tTex2du4a) Binding 0
                               Decorate 131(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 131(g_tTexcdf4a) Binding 0
                               Decorate 143(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 143(g_tTexcdi4a) Binding 0
                               Decorate 154(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 154(g_tTexcdu4a) Binding 0
                               Decorate 238(@entryPointOutput.Color) Location 0
                               Decorate 242(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 245(g_sSamp2d) DescriptorSet 0
+                              Decorate 245(g_sSamp2d) Binding 0
                               Decorate 248(g_tTex1df4a) DescriptorSet 0
                               Decorate 248(g_tTex1df4a) Binding 0
                               Decorate 251(g_tTex1di4a) DescriptorSet 0
+                              Decorate 251(g_tTex1di4a) Binding 0
                               Decorate 254(g_tTex1du4a) DescriptorSet 0
+                              Decorate 254(g_tTex1du4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
index d0be6d5..8617d70 100644
--- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
@@ -824,6 +824,7 @@
                               Name 261  "g_tTex3di4"
                               Name 264  "g_tTex3du4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
+                              Decorate 16(g_tTex2df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               MemberDecorate 26($Global) 0 Offset 0
@@ -832,23 +833,35 @@
                               MemberDecorate 26($Global) 3 Offset 32
                               Decorate 26($Global) Block
                               Decorate 28 DescriptorSet 0
+                              Decorate 28 Binding 0
                               Decorate 41(g_tTex2di4) DescriptorSet 0
+                              Decorate 41(g_tTex2di4) Binding 0
                               Decorate 55(g_tTex2du4) DescriptorSet 0
+                              Decorate 55(g_tTex2du4) Binding 0
                               Decorate 131(g_tTexcdf4) DescriptorSet 0
+                              Decorate 131(g_tTexcdf4) Binding 0
                               Decorate 143(g_tTexcdi4) DescriptorSet 0
+                              Decorate 143(g_tTexcdi4) Binding 0
                               Decorate 154(g_tTexcdu4) DescriptorSet 0
+                              Decorate 154(g_tTexcdu4) Binding 0
                               Decorate 238(@entryPointOutput.Color) Location 0
                               Decorate 242(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 245(g_sSamp2d) DescriptorSet 0
+                              Decorate 245(g_sSamp2d) Binding 0
                               Decorate 248(g_tTex1df4a) DescriptorSet 0
                               Decorate 248(g_tTex1df4a) Binding 1
                               Decorate 249(g_tTex1df4) DescriptorSet 0
                               Decorate 249(g_tTex1df4) Binding 0
                               Decorate 252(g_tTex1di4) DescriptorSet 0
+                              Decorate 252(g_tTex1di4) Binding 0
                               Decorate 255(g_tTex1du4) DescriptorSet 0
+                              Decorate 255(g_tTex1du4) Binding 0
                               Decorate 258(g_tTex3df4) DescriptorSet 0
+                              Decorate 258(g_tTex3df4) Binding 0
                               Decorate 261(g_tTex3di4) DescriptorSet 0
+                              Decorate 261(g_tTex3di4) Binding 0
                               Decorate 264(g_tTex3du4) DescriptorSet 0
+                              Decorate 264(g_tTex3du4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
index 8921455..4a0d77a 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -1334,6 +1334,7 @@
                               Name 395  "g_tTexcdi4"
                               Name 398  "g_tTexcdu4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
+                              Decorate 16(g_tTex2df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               MemberDecorate 30($Global) 0 Offset 0
@@ -1346,23 +1347,35 @@
                               MemberDecorate 30($Global) 7 Offset 80
                               Decorate 30($Global) Block
                               Decorate 32 DescriptorSet 0
+                              Decorate 32 Binding 0
                               Decorate 47(g_tTex2di4) DescriptorSet 0
+                              Decorate 47(g_tTex2di4) Binding 0
                               Decorate 63(g_tTex2du4) DescriptorSet 0
+                              Decorate 63(g_tTex2du4) Binding 0
                               Decorate 363(@entryPointOutput.Color) Location 0
                               Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 370(g_sSamp2d) DescriptorSet 0
+                              Decorate 370(g_sSamp2d) Binding 0
                               Decorate 373(g_tTex1df4a) DescriptorSet 0
                               Decorate 373(g_tTex1df4a) Binding 1
                               Decorate 374(g_tTex1df4) DescriptorSet 0
                               Decorate 374(g_tTex1df4) Binding 0
                               Decorate 377(g_tTex1di4) DescriptorSet 0
+                              Decorate 377(g_tTex1di4) Binding 0
                               Decorate 380(g_tTex1du4) DescriptorSet 0
+                              Decorate 380(g_tTex1du4) Binding 0
                               Decorate 383(g_tTex3df4) DescriptorSet 0
+                              Decorate 383(g_tTex3df4) Binding 0
                               Decorate 386(g_tTex3di4) DescriptorSet 0
+                              Decorate 386(g_tTex3di4) Binding 0
                               Decorate 389(g_tTex3du4) DescriptorSet 0
+                              Decorate 389(g_tTex3du4) Binding 0
                               Decorate 392(g_tTexcdf4) DescriptorSet 0
+                              Decorate 392(g_tTexcdf4) Binding 0
                               Decorate 395(g_tTexcdi4) DescriptorSet 0
+                              Decorate 395(g_tTexcdi4) Binding 0
                               Decorate 398(g_tTexcdu4) DescriptorSet 0
+                              Decorate 398(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
index 8520bd6..c9740b0 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -1323,6 +1323,7 @@
                               Name 385  "g_tTexcdi4a"
                               Name 388  "g_tTexcdu4a"
                               Decorate 16(g_tTex2df4a) DescriptorSet 0
+                              Decorate 16(g_tTex2df4a) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               MemberDecorate 30($Global) 0 Offset 0
@@ -1335,18 +1336,27 @@
                               MemberDecorate 30($Global) 7 Offset 80
                               Decorate 30($Global) Block
                               Decorate 32 DescriptorSet 0
+                              Decorate 32 Binding 0
                               Decorate 47(g_tTex2di4a) DescriptorSet 0
+                              Decorate 47(g_tTex2di4a) Binding 0
                               Decorate 63(g_tTex2du4a) DescriptorSet 0
+                              Decorate 63(g_tTex2du4a) Binding 0
                               Decorate 363(@entryPointOutput.Color) Location 0
                               Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 370(g_sSamp2d) DescriptorSet 0
+                              Decorate 370(g_sSamp2d) Binding 0
                               Decorate 373(g_tTex1df4a) DescriptorSet 0
                               Decorate 373(g_tTex1df4a) Binding 0
                               Decorate 376(g_tTex1di4a) DescriptorSet 0
+                              Decorate 376(g_tTex1di4a) Binding 0
                               Decorate 379(g_tTex1du4a) DescriptorSet 0
+                              Decorate 379(g_tTex1du4a) Binding 0
                               Decorate 382(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 382(g_tTexcdf4a) Binding 0
                               Decorate 385(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 385(g_tTexcdi4a) Binding 0
                               Decorate 388(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 388(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
index fe99df5..5e2d422 100644
--- a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
@@ -507,6 +507,7 @@
                               Name 160  "g_tTexcdi4"
                               Name 163  "g_tTexcdu4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
+                              Decorate 16(g_tTex2df4) Binding 0
                               Decorate 20(g_sSampCmp) DescriptorSet 0
                               Decorate 20(g_sSampCmp) Binding 0
                               MemberDecorate 26($Global) 0 Offset 0
@@ -515,8 +516,11 @@
                               MemberDecorate 26($Global) 3 Offset 32
                               Decorate 26($Global) Block
                               Decorate 28 DescriptorSet 0
+                              Decorate 28 Binding 0
                               Decorate 44(g_tTex2di4) DescriptorSet 0
+                              Decorate 44(g_tTex2di4) Binding 0
                               Decorate 60(g_tTex2du4) DescriptorSet 0
+                              Decorate 60(g_tTex2du4) Binding 0
                               Decorate 129(@entryPointOutput.Color) Location 0
                               Decorate 133(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 138(g_tTex1df4a) DescriptorSet 0
@@ -524,13 +528,21 @@
                               Decorate 139(g_tTex1df4) DescriptorSet 0
                               Decorate 139(g_tTex1df4) Binding 0
                               Decorate 142(g_tTex1di4) DescriptorSet 0
+                              Decorate 142(g_tTex1di4) Binding 0
                               Decorate 145(g_tTex1du4) DescriptorSet 0
+                              Decorate 145(g_tTex1du4) Binding 0
                               Decorate 148(g_tTex3df4) DescriptorSet 0
+                              Decorate 148(g_tTex3df4) Binding 0
                               Decorate 151(g_tTex3di4) DescriptorSet 0
+                              Decorate 151(g_tTex3di4) Binding 0
                               Decorate 154(g_tTex3du4) DescriptorSet 0
+                              Decorate 154(g_tTex3du4) Binding 0
                               Decorate 157(g_tTexcdf4) DescriptorSet 0
+                              Decorate 157(g_tTexcdf4) Binding 0
                               Decorate 160(g_tTexcdi4) DescriptorSet 0
+                              Decorate 160(g_tTexcdi4) Binding 0
                               Decorate 163(g_tTexcdu4) DescriptorSet 0
+                              Decorate 163(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
index 599c659..eb92fbb 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
@@ -2425,31 +2425,57 @@
                               Decorate 17(g_tTex1df4) DescriptorSet 0
                               Decorate 17(g_tTex1df4) Binding 0
                               Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) Binding 0
                               Decorate 48(g_tTex1du4) DescriptorSet 0
+                              Decorate 48(g_tTex1du4) Binding 0
                               Decorate 63(g_tTex1df4a) DescriptorSet 0
+                              Decorate 63(g_tTex1df4a) Binding 0
                               Decorate 85(g_tTex1di4a) DescriptorSet 0
+                              Decorate 85(g_tTex1di4a) Binding 0
                               Decorate 104(g_tTex1du4a) DescriptorSet 0
+                              Decorate 104(g_tTex1du4a) Binding 0
                               Decorate 123(g_tTex2df4) DescriptorSet 0
+                              Decorate 123(g_tTex2df4) Binding 0
                               Decorate 143(g_tTex2di4) DescriptorSet 0
+                              Decorate 143(g_tTex2di4) Binding 0
                               Decorate 162(g_tTex2du4) DescriptorSet 0
+                              Decorate 162(g_tTex2du4) Binding 0
                               Decorate 183(g_tTex2df4a) DescriptorSet 0
+                              Decorate 183(g_tTex2df4a) Binding 0
                               Decorate 207(g_tTex2di4a) DescriptorSet 0
+                              Decorate 207(g_tTex2di4a) Binding 0
                               Decorate 230(g_tTex2du4a) DescriptorSet 0
+                              Decorate 230(g_tTex2du4a) Binding 0
                               Decorate 253(g_tTex3df4) DescriptorSet 0
+                              Decorate 253(g_tTex3df4) Binding 0
                               Decorate 277(g_tTex3di4) DescriptorSet 0
+                              Decorate 277(g_tTex3di4) Binding 0
                               Decorate 300(g_tTex3du4) DescriptorSet 0
+                              Decorate 300(g_tTex3du4) Binding 0
                               Decorate 323(g_tTexcdf4) DescriptorSet 0
+                              Decorate 323(g_tTexcdf4) Binding 0
                               Decorate 342(g_tTexcdi4) DescriptorSet 0
+                              Decorate 342(g_tTexcdi4) Binding 0
                               Decorate 361(g_tTexcdu4) DescriptorSet 0
+                              Decorate 361(g_tTexcdu4) Binding 0
                               Decorate 380(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 380(g_tTexcdf4a) Binding 0
                               Decorate 403(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 403(g_tTexcdi4a) Binding 0
                               Decorate 426(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 426(g_tTexcdu4a) Binding 0
                               Decorate 449(g_tTex2dmsf4) DescriptorSet 0
+                              Decorate 449(g_tTex2dmsf4) Binding 0
                               Decorate 462(g_tTex2dmsi4) DescriptorSet 0
+                              Decorate 462(g_tTex2dmsi4) Binding 0
                               Decorate 474(g_tTex2dmsu4) DescriptorSet 0
+                              Decorate 474(g_tTex2dmsu4) Binding 0
                               Decorate 486(g_tTex2dmsf4a) DescriptorSet 0
+                              Decorate 486(g_tTex2dmsf4a) Binding 0
                               Decorate 500(g_tTex2dmsi4a) DescriptorSet 0
+                              Decorate 500(g_tTex2dmsi4a) Binding 0
                               Decorate 514(g_tTex2dmsu4a) DescriptorSet 0
+                              Decorate 514(g_tTex2dmsu4a) Binding 0
                               Decorate 540(@entryPointOutput.Color) Location 0
                               Decorate 544(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 549(g_sSamp) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
index 0b9a674..d8675a2 100644
--- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
@@ -794,22 +794,39 @@
                               Decorate 17(g_tTex1df4) DescriptorSet 0
                               Decorate 17(g_tTex1df4) Binding 0
                               Decorate 26(g_tTex1di4) DescriptorSet 0
+                              Decorate 26(g_tTex1di4) Binding 0
                               Decorate 33(g_tTex1du4) DescriptorSet 0
+                              Decorate 33(g_tTex1du4) Binding 0
                               Decorate 40(g_tBuffF) DescriptorSet 0
+                              Decorate 40(g_tBuffF) Binding 0
                               Decorate 47(g_tBuffI) DescriptorSet 0
+                              Decorate 47(g_tBuffI) Binding 0
                               Decorate 54(g_tBuffU) DescriptorSet 0
+                              Decorate 54(g_tBuffU) Binding 0
                               Decorate 63(g_tTex1df4a) DescriptorSet 0
+                              Decorate 63(g_tTex1df4a) Binding 0
                               Decorate 76(g_tTex1di4a) DescriptorSet 0
+                              Decorate 76(g_tTex1di4a) Binding 0
                               Decorate 86(g_tTex1du4a) DescriptorSet 0
+                              Decorate 86(g_tTex1du4a) Binding 0
                               Decorate 96(g_tTex2df4) DescriptorSet 0
+                              Decorate 96(g_tTex2df4) Binding 0
                               Decorate 107(g_tTex2di4) DescriptorSet 0
+                              Decorate 107(g_tTex2di4) Binding 0
                               Decorate 117(g_tTex2du4) DescriptorSet 0
+                              Decorate 117(g_tTex2du4) Binding 0
                               Decorate 129(g_tTex2df4a) DescriptorSet 0
+                              Decorate 129(g_tTex2df4a) Binding 0
                               Decorate 142(g_tTex2di4a) DescriptorSet 0
+                              Decorate 142(g_tTex2di4a) Binding 0
                               Decorate 154(g_tTex2du4a) DescriptorSet 0
+                              Decorate 154(g_tTex2du4a) Binding 0
                               Decorate 166(g_tTex3df4) DescriptorSet 0
+                              Decorate 166(g_tTex3df4) Binding 0
                               Decorate 179(g_tTex3di4) DescriptorSet 0
+                              Decorate 179(g_tTex3di4) Binding 0
                               Decorate 191(g_tTex3du4) DescriptorSet 0
+                              Decorate 191(g_tTex3du4) Binding 0
                               Decorate 216(@entryPointOutput.Color) Location 0
                               Decorate 220(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 225(g_sSamp) DescriptorSet 0
@@ -824,6 +841,7 @@
                               MemberDecorate 229($Global) 7 Offset 80
                               Decorate 229($Global) Block
                               Decorate 231 DescriptorSet 0
+                              Decorate 231 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
index 51bd076..d1e2844 100644
--- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
+++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
@@ -620,7 +620,9 @@
                               Name 192  "@entryPointOutput.Depth"
                               Name 197  "g_sSamp"
                               Decorate 23(g_tTex2dmsf4) DescriptorSet 0
+                              Decorate 23(g_tTex2dmsf4) Binding 0
                               Decorate 131(g_tTex2dmsf4a) DescriptorSet 0
+                              Decorate 131(g_tTex2dmsf4a) Binding 0
                               Decorate 181(sample) Flat
                               Decorate 181(sample) Location 0
                               Decorate 188(@entryPointOutput.Color) Location 0
diff --git a/Test/baseResults/hlsl.global-const-init.frag.out b/Test/baseResults/hlsl.global-const-init.frag.out
index 940f3be..a1aa55b 100644
--- a/Test/baseResults/hlsl.global-const-init.frag.out
+++ b/Test/baseResults/hlsl.global-const-init.frag.out
@@ -122,6 +122,7 @@
                               MemberDecorate 13(CB) 0 Offset 0
                               Decorate 13(CB) Block
                               Decorate 15 DescriptorSet 0
+                              Decorate 15 Binding 0
                               Decorate 41(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.groupid.comp.out b/Test/baseResults/hlsl.groupid.comp.out
index 386a3e9..a76db50 100644
--- a/Test/baseResults/hlsl.groupid.comp.out
+++ b/Test/baseResults/hlsl.groupid.comp.out
@@ -100,6 +100,7 @@
                               Name 29  "vGroupId"
                               Name 34  "param"
                               Decorate 22(OutputTexture) DescriptorSet 0
+                              Decorate 22(OutputTexture) Binding 0
                               Decorate 29(vGroupId) BuiltIn WorkgroupId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.hlslOffset.vert.out b/Test/baseResults/hlsl.hlslOffset.vert.out
index 8393d83..b0c0467 100644
--- a/Test/baseResults/hlsl.hlslOffset.vert.out
+++ b/Test/baseResults/hlsl.hlslOffset.vert.out
@@ -63,6 +63,7 @@
                               MemberDecorate 15(b) 10 Offset 96
                               Decorate 15(b) Block
                               Decorate 17 DescriptorSet 0
+                              Decorate 17 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                9:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.implicitBool.frag.out b/Test/baseResults/hlsl.implicitBool.frag.out
index 72894f2..c616125 100644
--- a/Test/baseResults/hlsl.implicitBool.frag.out
+++ b/Test/baseResults/hlsl.implicitBool.frag.out
@@ -360,6 +360,7 @@
                               MemberDecorate 16($Global) 3 Offset 12
                               Decorate 16($Global) Block
                               Decorate 18 DescriptorSet 0
+                              Decorate 18 Binding 0
                               Decorate 137(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.include.vert.out b/Test/baseResults/hlsl.include.vert.out
index 020879d..88ee8e7 100644
--- a/Test/baseResults/hlsl.include.vert.out
+++ b/Test/baseResults/hlsl.include.vert.out
@@ -27,6 +27,7 @@
                               MemberDecorate 11($Global) 5 Offset 80
                               Decorate 11($Global) Block
                               Decorate 13 DescriptorSet 0
+                              Decorate 13 Binding 0
                               Decorate 42(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out
index 9fc816c..1d9a5ef 100644
--- a/Test/baseResults/hlsl.init.frag.out
+++ b/Test/baseResults/hlsl.init.frag.out
@@ -397,6 +397,7 @@
                               MemberDecorate 107(Constants) 2 Offset 8
                               Decorate 107(Constants) Block
                               Decorate 109 DescriptorSet 0
+                              Decorate 109 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
index 970691c..f2216de 100644
--- a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
@@ -92,6 +92,7 @@
                               MemberDecorate 14($Global) 0 Offset 0
                               Decorate 14($Global) Block
                               Decorate 16 DescriptorSet 0
+                              Decorate 16 Binding 0
                               Decorate 27(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
index a561dfe..84ea6f4 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
@@ -141,6 +141,7 @@
                               MemberDecorate 19($Global) 7 Offset 40
                               Decorate 19($Global) Block
                               Decorate 21 DescriptorSet 0
+                              Decorate 21 Binding 0
                               Decorate 47(@entryPointOutput.color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.intrinsics.promote.frag.out b/Test/baseResults/hlsl.intrinsics.promote.frag.out
index b064295..988432e 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.frag.out
@@ -964,8 +964,11 @@
                               MemberDecorate 19($Global) 9 Offset 52
                               Decorate 19($Global) Block
                               Decorate 21 DescriptorSet 0
+                              Decorate 21 Binding 0
                               Decorate 258(g_tTexbfs) DescriptorSet 0
+                              Decorate 258(g_tTexbfs) Binding 0
                               Decorate 277(g_tTex1df4) DescriptorSet 0
+                              Decorate 277(g_tTex1df4) Binding 0
                               Decorate 319(@entryPointOutput.color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
index 57dfafc..9f8ecf2 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
@@ -256,9 +256,12 @@
                               MemberDecorate 17($Global) 9 Offset 52
                               Decorate 17($Global) Block
                               Decorate 19 DescriptorSet 0
+                              Decorate 19 Binding 0
                               Decorate 31(g_tTex1df4) DescriptorSet 0
+                              Decorate 31(g_tTex1df4) Binding 0
                               Decorate 74(@entryPointOutput.color) Location 0
                               Decorate 79(g_tTexbfs) DescriptorSet 0
+                              Decorate 79(g_tTexbfs) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.isfinite.frag.out b/Test/baseResults/hlsl.isfinite.frag.out
index 6fee951..7b8287f 100644
--- a/Test/baseResults/hlsl.isfinite.frag.out
+++ b/Test/baseResults/hlsl.isfinite.frag.out
@@ -200,6 +200,7 @@
                               MemberDecorate 35($Global) 2 Offset 16
                               Decorate 35($Global) Block
                               Decorate 37 DescriptorSet 0
+                              Decorate 37 Binding 0
                               Decorate 83(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out
index 010c2ec..6a3eb04 100644
--- a/Test/baseResults/hlsl.layout.frag.out
+++ b/Test/baseResults/hlsl.layout.frag.out
@@ -86,6 +86,7 @@
 0:?       10 (const int)
 0:?     'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
 
+Validation failed
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 44
diff --git a/Test/baseResults/hlsl.layoutOverride.vert.out b/Test/baseResults/hlsl.layoutOverride.vert.out
index 0db2011..31593aa 100644
--- a/Test/baseResults/hlsl.layoutOverride.vert.out
+++ b/Test/baseResults/hlsl.layoutOverride.vert.out
@@ -68,6 +68,7 @@
                               Decorate 13(tex) DescriptorSet 2
                               Decorate 13(tex) Binding 0
                               Decorate 17(samp) DescriptorSet 0
+                              Decorate 17(samp) Binding 0
                               Decorate 30(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
index 2acf3d4..8d7f70f 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -396,6 +396,7 @@
                               Name 124  "@entryPointOutput.Depth"
                               Name 129  "g_sSamp"
                               Decorate 14(g_tTex2dmsf4) DescriptorSet 0
+                              Decorate 14(g_tTex2dmsf4) Binding 0
                               MemberDecorate 20($Global) 0 Offset 0
                               MemberDecorate 20($Global) 1 Offset 8
                               MemberDecorate 20($Global) 2 Offset 16
@@ -406,11 +407,17 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 31(g_tTex2dmsi4) DescriptorSet 0
+                              Decorate 31(g_tTex2dmsi4) Binding 0
                               Decorate 39(g_tTex2dmsu4) DescriptorSet 0
+                              Decorate 39(g_tTex2dmsu4) Binding 0
                               Decorate 66(g_tTex2dmsf4a) DescriptorSet 0
+                              Decorate 66(g_tTex2dmsf4a) Binding 0
                               Decorate 75(g_tTex2dmsi4a) DescriptorSet 0
+                              Decorate 75(g_tTex2dmsi4a) Binding 0
                               Decorate 82(g_tTex2dmsu4a) DescriptorSet 0
+                              Decorate 82(g_tTex2dmsu4a) Binding 0
                               Decorate 120(@entryPointOutput.Color) Location 0
                               Decorate 124(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 129(g_sSamp) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out
index dd665ed..e5c0f6e 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -442,6 +442,7 @@
                               Name 155  "g_tTexcdi4a"
                               Name 158  "g_tTexcdu4a"
                               Decorate 14(g_tTex1df4a) DescriptorSet 0
+                              Decorate 14(g_tTex1df4a) Binding 0
                               MemberDecorate 20($Global) 0 Offset 0
                               MemberDecorate 20($Global) 1 Offset 8
                               MemberDecorate 20($Global) 2 Offset 16
@@ -452,11 +453,17 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 36(g_tTex1di4a) DescriptorSet 0
+                              Decorate 36(g_tTex1di4a) Binding 0
                               Decorate 46(g_tTex1du4a) DescriptorSet 0
+                              Decorate 46(g_tTex1du4a) Binding 0
                               Decorate 57(g_tTex2df4a) DescriptorSet 0
+                              Decorate 57(g_tTex2df4a) Binding 0
                               Decorate 70(g_tTex2di4a) DescriptorSet 0
+                              Decorate 70(g_tTex2di4a) Binding 0
                               Decorate 80(g_tTex2du4a) DescriptorSet 0
+                              Decorate 80(g_tTex2du4a) Binding 0
                               Decorate 104(@entryPointOutput.Color) Location 0
                               Decorate 108(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 113(g_sSamp) DescriptorSet 0
@@ -464,19 +471,33 @@
                               Decorate 116(g_tTex1df4) DescriptorSet 0
                               Decorate 116(g_tTex1df4) Binding 0
                               Decorate 119(g_tTex1di4) DescriptorSet 0
+                              Decorate 119(g_tTex1di4) Binding 0
                               Decorate 122(g_tTex1du4) DescriptorSet 0
+                              Decorate 122(g_tTex1du4) Binding 0
                               Decorate 125(g_tTex2df4) DescriptorSet 0
+                              Decorate 125(g_tTex2df4) Binding 0
                               Decorate 128(g_tTex2di4) DescriptorSet 0
+                              Decorate 128(g_tTex2di4) Binding 0
                               Decorate 131(g_tTex2du4) DescriptorSet 0
+                              Decorate 131(g_tTex2du4) Binding 0
                               Decorate 134(g_tTex3df4) DescriptorSet 0
+                              Decorate 134(g_tTex3df4) Binding 0
                               Decorate 137(g_tTex3di4) DescriptorSet 0
+                              Decorate 137(g_tTex3di4) Binding 0
                               Decorate 140(g_tTex3du4) DescriptorSet 0
+                              Decorate 140(g_tTex3du4) Binding 0
                               Decorate 143(g_tTexcdf4) DescriptorSet 0
+                              Decorate 143(g_tTexcdf4) Binding 0
                               Decorate 146(g_tTexcdi4) DescriptorSet 0
+                              Decorate 146(g_tTexcdi4) Binding 0
                               Decorate 149(g_tTexcdu4) DescriptorSet 0
+                              Decorate 149(g_tTexcdu4) Binding 0
                               Decorate 152(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 152(g_tTexcdf4a) Binding 0
                               Decorate 155(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 155(g_tTexcdi4a) Binding 0
                               Decorate 158(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 158(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out
index bcfb977..b47e037 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -555,30 +555,51 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) Binding 0
                               Decorate 44(g_tTex1du4) DescriptorSet 0
+                              Decorate 44(g_tTex1du4) Binding 0
                               Decorate 54(g_tTex2df4) DescriptorSet 0
+                              Decorate 54(g_tTex2df4) Binding 0
                               Decorate 67(g_tTex2di4) DescriptorSet 0
+                              Decorate 67(g_tTex2di4) Binding 0
                               Decorate 77(g_tTex2du4) DescriptorSet 0
+                              Decorate 77(g_tTex2du4) Binding 0
                               Decorate 87(g_tTex3df4) DescriptorSet 0
+                              Decorate 87(g_tTex3df4) Binding 0
                               Decorate 100(g_tTex3di4) DescriptorSet 0
+                              Decorate 100(g_tTex3di4) Binding 0
                               Decorate 110(g_tTex3du4) DescriptorSet 0
+                              Decorate 110(g_tTex3du4) Binding 0
                               Decorate 133(@entryPointOutput.Color) Location 0
                               Decorate 137(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 142(g_sSamp) DescriptorSet 0
                               Decorate 142(g_sSamp) Binding 0
                               Decorate 145(g_tTexcdf4) DescriptorSet 0
+                              Decorate 145(g_tTexcdf4) Binding 0
                               Decorate 148(g_tTexcdi4) DescriptorSet 0
+                              Decorate 148(g_tTexcdi4) Binding 0
                               Decorate 151(g_tTexcdu4) DescriptorSet 0
+                              Decorate 151(g_tTexcdu4) Binding 0
                               Decorate 154(g_tTex1df4a) DescriptorSet 0
+                              Decorate 154(g_tTex1df4a) Binding 0
                               Decorate 157(g_tTex1di4a) DescriptorSet 0
+                              Decorate 157(g_tTex1di4a) Binding 0
                               Decorate 160(g_tTex1du4a) DescriptorSet 0
+                              Decorate 160(g_tTex1du4a) Binding 0
                               Decorate 163(g_tTex2df4a) DescriptorSet 0
+                              Decorate 163(g_tTex2df4a) Binding 0
                               Decorate 166(g_tTex2di4a) DescriptorSet 0
+                              Decorate 166(g_tTex2di4a) Binding 0
                               Decorate 169(g_tTex2du4a) DescriptorSet 0
+                              Decorate 169(g_tTex2du4a) Binding 0
                               Decorate 172(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 172(g_tTexcdf4a) Binding 0
                               Decorate 175(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 175(g_tTexcdi4a) Binding 0
                               Decorate 178(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 178(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index 1638991..99f3667 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -512,29 +512,50 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) Binding 0
                               Decorate 44(g_tTex1du4) DescriptorSet 0
+                              Decorate 44(g_tTex1du4) Binding 0
                               Decorate 54(g_tTex2df4) DescriptorSet 0
+                              Decorate 54(g_tTex2df4) Binding 0
                               Decorate 67(g_tTex2di4) DescriptorSet 0
+                              Decorate 67(g_tTex2di4) Binding 0
                               Decorate 77(g_tTex2du4) DescriptorSet 0
+                              Decorate 77(g_tTex2du4) Binding 0
                               Decorate 87(g_tTex3df4) DescriptorSet 0
+                              Decorate 87(g_tTex3df4) Binding 0
                               Decorate 100(g_tTex3di4) DescriptorSet 0
+                              Decorate 100(g_tTex3di4) Binding 0
                               Decorate 110(g_tTex3du4) DescriptorSet 0
+                              Decorate 110(g_tTex3du4) Binding 0
                               Decorate 129(@entryPointOutput.Pos) BuiltIn Position
                               Decorate 134(g_sSamp) DescriptorSet 0
                               Decorate 134(g_sSamp) Binding 0
                               Decorate 137(g_tTexcdf4) DescriptorSet 0
+                              Decorate 137(g_tTexcdf4) Binding 0
                               Decorate 140(g_tTexcdi4) DescriptorSet 0
+                              Decorate 140(g_tTexcdi4) Binding 0
                               Decorate 143(g_tTexcdu4) DescriptorSet 0
+                              Decorate 143(g_tTexcdu4) Binding 0
                               Decorate 146(g_tTex1df4a) DescriptorSet 0
+                              Decorate 146(g_tTex1df4a) Binding 0
                               Decorate 149(g_tTex1di4a) DescriptorSet 0
+                              Decorate 149(g_tTex1di4a) Binding 0
                               Decorate 152(g_tTex1du4a) DescriptorSet 0
+                              Decorate 152(g_tTex1du4a) Binding 0
                               Decorate 155(g_tTex2df4a) DescriptorSet 0
+                              Decorate 155(g_tTex2df4a) Binding 0
                               Decorate 158(g_tTex2di4a) DescriptorSet 0
+                              Decorate 158(g_tTex2di4a) Binding 0
                               Decorate 161(g_tTex2du4a) DescriptorSet 0
+                              Decorate 161(g_tTex2du4a) Binding 0
                               Decorate 164(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 164(g_tTexcdf4a) Binding 0
                               Decorate 167(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 167(g_tTexcdi4a) Binding 0
                               Decorate 170(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 170(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
index 21e5d30..969a99f 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -204,6 +204,7 @@
                               Name 68  "@entryPointOutput.Depth"
                               Name 71  "g_tTexbf4_test"
                               Decorate 16(g_tTexbf4) DescriptorSet 0
+                              Decorate 16(g_tTexbf4) Binding 0
                               MemberDecorate 22($Global) 0 Offset 0
                               MemberDecorate 22($Global) 1 Offset 8
                               MemberDecorate 22($Global) 2 Offset 16
@@ -214,8 +215,11 @@
                               MemberDecorate 22($Global) 7 Offset 80
                               Decorate 22($Global) Block
                               Decorate 24 DescriptorSet 0
+                              Decorate 24 Binding 0
                               Decorate 34(g_tTexbi4) DescriptorSet 0
+                              Decorate 34(g_tTexbi4) Binding 0
                               Decorate 45(g_tTexbu4) DescriptorSet 0
+                              Decorate 45(g_tTexbu4) Binding 0
                               Decorate 64(@entryPointOutput.Color) Location 0
                               Decorate 68(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 71(g_tTexbf4_test) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
index d951d09..d404b27 100644
--- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
@@ -210,6 +210,7 @@
                               Name 71  "@entryPointOutput.Depth"
                               Name 74  "g_tTexbfs_test"
                               Decorate 16(g_tTexbfs) DescriptorSet 0
+                              Decorate 16(g_tTexbfs) Binding 0
                               MemberDecorate 22($Global) 0 Offset 0
                               MemberDecorate 22($Global) 1 Offset 8
                               MemberDecorate 22($Global) 2 Offset 16
@@ -220,8 +221,11 @@
                               MemberDecorate 22($Global) 7 Offset 80
                               Decorate 22($Global) Block
                               Decorate 24 DescriptorSet 0
+                              Decorate 24 Binding 0
                               Decorate 35(g_tTexbis) DescriptorSet 0
+                              Decorate 35(g_tTexbis) Binding 0
                               Decorate 46(g_tTexbus) DescriptorSet 0
+                              Decorate 46(g_tTexbus) Binding 0
                               Decorate 67(@entryPointOutput.Color) Location 0
                               Decorate 71(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 74(g_tTexbfs_test) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out
index d59ff6f..089329e 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -628,30 +628,51 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 38(g_tTex1di4) DescriptorSet 0
+                              Decorate 38(g_tTex1di4) Binding 0
                               Decorate 49(g_tTex1du4) DescriptorSet 0
+                              Decorate 49(g_tTex1du4) Binding 0
                               Decorate 61(g_tTex2df4) DescriptorSet 0
+                              Decorate 61(g_tTex2df4) Binding 0
                               Decorate 78(g_tTex2di4) DescriptorSet 0
+                              Decorate 78(g_tTex2di4) Binding 0
                               Decorate 90(g_tTex2du4) DescriptorSet 0
+                              Decorate 90(g_tTex2du4) Binding 0
                               Decorate 102(g_tTex3df4) DescriptorSet 0
+                              Decorate 102(g_tTex3df4) Binding 0
                               Decorate 118(g_tTex3di4) DescriptorSet 0
+                              Decorate 118(g_tTex3di4) Binding 0
                               Decorate 130(g_tTex3du4) DescriptorSet 0
+                              Decorate 130(g_tTex3du4) Binding 0
                               Decorate 155(@entryPointOutput.Color) Location 0
                               Decorate 159(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 164(g_sSamp) DescriptorSet 0
                               Decorate 164(g_sSamp) Binding 0
                               Decorate 167(g_tTexcdf4) DescriptorSet 0
+                              Decorate 167(g_tTexcdf4) Binding 0
                               Decorate 170(g_tTexcdi4) DescriptorSet 0
+                              Decorate 170(g_tTexcdi4) Binding 0
                               Decorate 173(g_tTexcdu4) DescriptorSet 0
+                              Decorate 173(g_tTexcdu4) Binding 0
                               Decorate 176(g_tTex1df4a) DescriptorSet 0
+                              Decorate 176(g_tTex1df4a) Binding 0
                               Decorate 179(g_tTex1di4a) DescriptorSet 0
+                              Decorate 179(g_tTex1di4a) Binding 0
                               Decorate 182(g_tTex1du4a) DescriptorSet 0
+                              Decorate 182(g_tTex1du4a) Binding 0
                               Decorate 185(g_tTex2df4a) DescriptorSet 0
+                              Decorate 185(g_tTex2df4a) Binding 0
                               Decorate 188(g_tTex2di4a) DescriptorSet 0
+                              Decorate 188(g_tTex2di4a) Binding 0
                               Decorate 191(g_tTex2du4a) DescriptorSet 0
+                              Decorate 191(g_tTex2du4a) Binding 0
                               Decorate 194(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 194(g_tTexcdf4a) Binding 0
                               Decorate 197(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 197(g_tTexcdi4a) Binding 0
                               Decorate 200(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 200(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
index b472462..7df846b 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -491,6 +491,7 @@
                               Name 170  "g_tTexcdi4a"
                               Name 173  "g_tTexcdu4a"
                               Decorate 14(g_tTex1df4a) DescriptorSet 0
+                              Decorate 14(g_tTex1df4a) Binding 0
                               MemberDecorate 20($Global) 0 Offset 0
                               MemberDecorate 20($Global) 1 Offset 8
                               MemberDecorate 20($Global) 2 Offset 16
@@ -501,11 +502,17 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 39(g_tTex1di4a) DescriptorSet 0
+                              Decorate 39(g_tTex1di4a) Binding 0
                               Decorate 51(g_tTex1du4a) DescriptorSet 0
+                              Decorate 51(g_tTex1du4a) Binding 0
                               Decorate 64(g_tTex2df4a) DescriptorSet 0
+                              Decorate 64(g_tTex2df4a) Binding 0
                               Decorate 81(g_tTex2di4a) DescriptorSet 0
+                              Decorate 81(g_tTex2di4a) Binding 0
                               Decorate 93(g_tTex2du4a) DescriptorSet 0
+                              Decorate 93(g_tTex2du4a) Binding 0
                               Decorate 119(@entryPointOutput.Color) Location 0
                               Decorate 123(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 128(g_sSamp) DescriptorSet 0
@@ -513,19 +520,33 @@
                               Decorate 131(g_tTex1df4) DescriptorSet 0
                               Decorate 131(g_tTex1df4) Binding 0
                               Decorate 134(g_tTex1di4) DescriptorSet 0
+                              Decorate 134(g_tTex1di4) Binding 0
                               Decorate 137(g_tTex1du4) DescriptorSet 0
+                              Decorate 137(g_tTex1du4) Binding 0
                               Decorate 140(g_tTex2df4) DescriptorSet 0
+                              Decorate 140(g_tTex2df4) Binding 0
                               Decorate 143(g_tTex2di4) DescriptorSet 0
+                              Decorate 143(g_tTex2di4) Binding 0
                               Decorate 146(g_tTex2du4) DescriptorSet 0
+                              Decorate 146(g_tTex2du4) Binding 0
                               Decorate 149(g_tTex3df4) DescriptorSet 0
+                              Decorate 149(g_tTex3df4) Binding 0
                               Decorate 152(g_tTex3di4) DescriptorSet 0
+                              Decorate 152(g_tTex3di4) Binding 0
                               Decorate 155(g_tTex3du4) DescriptorSet 0
+                              Decorate 155(g_tTex3du4) Binding 0
                               Decorate 158(g_tTexcdf4) DescriptorSet 0
+                              Decorate 158(g_tTexcdf4) Binding 0
                               Decorate 161(g_tTexcdi4) DescriptorSet 0
+                              Decorate 161(g_tTexcdi4) Binding 0
                               Decorate 164(g_tTexcdu4) DescriptorSet 0
+                              Decorate 164(g_tTexcdu4) Binding 0
                               Decorate 167(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 167(g_tTexcdf4a) Binding 0
                               Decorate 170(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 170(g_tTexcdi4a) Binding 0
                               Decorate 173(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 173(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
index f134901..62009e1 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -140,6 +140,7 @@
                               Name 45  "psout"
                               Name 54  "@entryPointOutput.Color"
                               Decorate 14(g_tBuffF) DescriptorSet 0
+                              Decorate 14(g_tBuffF) Binding 0
                               MemberDecorate 20($Global) 0 Offset 0
                               MemberDecorate 20($Global) 1 Offset 8
                               MemberDecorate 20($Global) 2 Offset 16
@@ -150,8 +151,11 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 31(g_tBuffU) DescriptorSet 0
+                              Decorate 31(g_tBuffU) Binding 0
                               Decorate 39(g_tBuffI) DescriptorSet 0
+                              Decorate 39(g_tBuffI) Binding 0
                               Decorate 54(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
index de31ee0..f05b335 100644
--- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
@@ -255,6 +255,7 @@
                               Name 115  "g_tTex3di4"
                               Name 118  "g_tTex3du4"
                               Decorate 14(g_tTex1df4a) DescriptorSet 0
+                              Decorate 14(g_tTex1df4a) Binding 0
                               MemberDecorate 20($Global) 0 Offset 0
                               MemberDecorate 20($Global) 1 Offset 8
                               MemberDecorate 20($Global) 2 Offset 16
@@ -265,11 +266,17 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 30(g_tTex1di4a) DescriptorSet 0
+                              Decorate 30(g_tTex1di4a) Binding 0
                               Decorate 38(g_tTex1du4a) DescriptorSet 0
+                              Decorate 38(g_tTex1du4a) Binding 0
                               Decorate 46(g_tTex2df4a) DescriptorSet 0
+                              Decorate 46(g_tTex2df4a) Binding 0
                               Decorate 55(g_tTex2di4a) DescriptorSet 0
+                              Decorate 55(g_tTex2di4a) Binding 0
                               Decorate 62(g_tTex2du4a) DescriptorSet 0
+                              Decorate 62(g_tTex2du4a) Binding 0
                               Decorate 82(@entryPointOutput.Color) Location 0
                               Decorate 86(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 91(g_sSamp) DescriptorSet 0
@@ -277,13 +284,21 @@
                               Decorate 94(g_tTex1df4) DescriptorSet 0
                               Decorate 94(g_tTex1df4) Binding 0
                               Decorate 97(g_tTex1di4) DescriptorSet 0
+                              Decorate 97(g_tTex1di4) Binding 0
                               Decorate 100(g_tTex1du4) DescriptorSet 0
+                              Decorate 100(g_tTex1du4) Binding 0
                               Decorate 103(g_tTex2df4) DescriptorSet 0
+                              Decorate 103(g_tTex2df4) Binding 0
                               Decorate 106(g_tTex2di4) DescriptorSet 0
+                              Decorate 106(g_tTex2di4) Binding 0
                               Decorate 109(g_tTex2du4) DescriptorSet 0
+                              Decorate 109(g_tTex2du4) Binding 0
                               Decorate 112(g_tTex3df4) DescriptorSet 0
+                              Decorate 112(g_tTex3df4) Binding 0
                               Decorate 115(g_tTex3di4) DescriptorSet 0
+                              Decorate 115(g_tTex3di4) Binding 0
                               Decorate 118(g_tTex3du4) DescriptorSet 0
+                              Decorate 118(g_tTex3du4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
index 68044aa..c6e00ff 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -302,24 +302,39 @@
                               MemberDecorate 20($Global) 7 Offset 80
                               Decorate 20($Global) Block
                               Decorate 22 DescriptorSet 0
+                              Decorate 22 Binding 0
                               Decorate 30(g_tTex1di4) DescriptorSet 0
+                              Decorate 30(g_tTex1di4) Binding 0
                               Decorate 38(g_tTex1du4) DescriptorSet 0
+                              Decorate 38(g_tTex1du4) Binding 0
                               Decorate 46(g_tTex2df4) DescriptorSet 0
+                              Decorate 46(g_tTex2df4) Binding 0
                               Decorate 55(g_tTex2di4) DescriptorSet 0
+                              Decorate 55(g_tTex2di4) Binding 0
                               Decorate 62(g_tTex2du4) DescriptorSet 0
+                              Decorate 62(g_tTex2du4) Binding 0
                               Decorate 69(g_tTex3df4) DescriptorSet 0
+                              Decorate 69(g_tTex3df4) Binding 0
                               Decorate 78(g_tTex3di4) DescriptorSet 0
+                              Decorate 78(g_tTex3di4) Binding 0
                               Decorate 85(g_tTex3du4) DescriptorSet 0
+                              Decorate 85(g_tTex3du4) Binding 0
                               Decorate 104(@entryPointOutput.Color) Location 0
                               Decorate 108(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 113(g_sSamp) DescriptorSet 0
                               Decorate 113(g_sSamp) Binding 0
                               Decorate 116(g_tTex1df4a) DescriptorSet 0
+                              Decorate 116(g_tTex1df4a) Binding 0
                               Decorate 119(g_tTex1di4a) DescriptorSet 0
+                              Decorate 119(g_tTex1di4a) Binding 0
                               Decorate 122(g_tTex1du4a) DescriptorSet 0
+                              Decorate 122(g_tTex1du4a) Binding 0
                               Decorate 125(g_tTex2df4a) DescriptorSet 0
+                              Decorate 125(g_tTex2df4a) Binding 0
                               Decorate 128(g_tTex2di4a) DescriptorSet 0
+                              Decorate 128(g_tTex2di4a) Binding 0
                               Decorate 131(g_tTex2du4a) DescriptorSet 0
+                              Decorate 131(g_tTex2du4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out
index b90811b..5b23a62 100644
--- a/Test/baseResults/hlsl.logical.binary.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.frag.out
@@ -151,6 +151,7 @@
                               MemberDecorate 14($Global) 3 Offset 48
                               Decorate 14($Global) Block
                               Decorate 16 DescriptorSet 0
+                              Decorate 16 Binding 0
                               Decorate 53(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out
index 32753e5..0e4f852 100644
--- a/Test/baseResults/hlsl.logical.binary.vec.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out
@@ -288,6 +288,7 @@
                               MemberDecorate 18($Global) 3 Offset 36
                               Decorate 18($Global) Block
                               Decorate 20 DescriptorSet 0
+                              Decorate 20 Binding 0
                               Decorate 112(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out
index 25dbc2a..b342c34 100644
--- a/Test/baseResults/hlsl.logical.unary.frag.out
+++ b/Test/baseResults/hlsl.logical.unary.frag.out
@@ -211,6 +211,7 @@
                               MemberDecorate 14($Global) 3 Offset 48
                               Decorate 14($Global) Block
                               Decorate 16 DescriptorSet 0
+                              Decorate 16 Binding 0
                               Decorate 81(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out
index d3b391b..80bb216 100644
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -72,6 +72,7 @@
                               MemberDecorate 27($Global) 5 MatrixStride 16
                               Decorate 27($Global) Block
                               Decorate 29 DescriptorSet 0
+                              Decorate 29 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.matpack-1.frag.out b/Test/baseResults/hlsl.matpack-1.frag.out
index b92f79d..c022587 100644
--- a/Test/baseResults/hlsl.matpack-1.frag.out
+++ b/Test/baseResults/hlsl.matpack-1.frag.out
@@ -144,6 +144,7 @@
                               MemberDecorate 14(Example) 2 MatrixStride 16
                               Decorate 14(Example) Block
                               Decorate 16 DescriptorSet 0
+                              Decorate 16 Binding 0
                               Decorate 37(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.matpack-pragma.frag.out b/Test/baseResults/hlsl.matpack-pragma.frag.out
index 2750d76..86e945e 100644
--- a/Test/baseResults/hlsl.matpack-pragma.frag.out
+++ b/Test/baseResults/hlsl.matpack-pragma.frag.out
@@ -220,6 +220,7 @@
                               MemberDecorate 14(Example) 2 MatrixStride 16
                               Decorate 14(Example) Block
                               Decorate 16 DescriptorSet 0
+                              Decorate 16 Binding 0
                               Decorate 42(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out
index 63e5614..63ddc4d 100644
--- a/Test/baseResults/hlsl.matrixindex.frag.out
+++ b/Test/baseResults/hlsl.matrixindex.frag.out
@@ -315,6 +315,7 @@
                               MemberDecorate 52($Global) 1 MatrixStride 16
                               Decorate 52($Global) Block
                               Decorate 54 DescriptorSet 0
+                              Decorate 54 Binding 0
                               Decorate 80(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out
index 8722cf2..4824bcb 100644
--- a/Test/baseResults/hlsl.mintypes.frag.out
+++ b/Test/baseResults/hlsl.mintypes.frag.out
@@ -164,6 +164,7 @@
                               MemberDecorate 67($Global) 1 Offset 4
                               Decorate 67($Global) Block
                               Decorate 69 DescriptorSet 0
+                              Decorate 69 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.mip.operator.frag.out b/Test/baseResults/hlsl.mip.operator.frag.out
index eb884da..478e808 100644
--- a/Test/baseResults/hlsl.mip.operator.frag.out
+++ b/Test/baseResults/hlsl.mip.operator.frag.out
@@ -143,7 +143,9 @@
                               Name 25  "g_tTex2df4a"
                               Name 59  "@entryPointOutput"
                               Decorate 13(g_tTex2df4) DescriptorSet 0
+                              Decorate 13(g_tTex2df4) Binding 0
                               Decorate 25(g_tTex2df4a) DescriptorSet 0
+                              Decorate 25(g_tTex2df4a) Binding 0
                               Decorate 59(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.mul-truncate.frag.out b/Test/baseResults/hlsl.mul-truncate.frag.out
index 1973fad..a7de28c 100644
--- a/Test/baseResults/hlsl.mul-truncate.frag.out
+++ b/Test/baseResults/hlsl.mul-truncate.frag.out
@@ -439,6 +439,7 @@
                               MemberDecorate 21(Matrix) 8 Offset 352
                               Decorate 21(Matrix) Block
                               Decorate 23 DescriptorSet 0
+                              Decorate 23 Binding 0
                               Decorate 188(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out
index 1c77118..c051591 100644
--- a/Test/baseResults/hlsl.multiEntry.vert.out
+++ b/Test/baseResults/hlsl.multiEntry.vert.out
@@ -91,6 +91,7 @@
                               Name 37  "@entryPointOutput"
                               Name 38  "param"
                               Decorate 19(Position) DescriptorSet 0
+                              Decorate 19(Position) Binding 0
                               Decorate 34(Index) BuiltIn VertexIndex
                               Decorate 37(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.multiReturn.frag.out b/Test/baseResults/hlsl.multiReturn.frag.out
index 695a52c..6c41c77 100644
--- a/Test/baseResults/hlsl.multiReturn.frag.out
+++ b/Test/baseResults/hlsl.multiReturn.frag.out
@@ -79,6 +79,7 @@
                               MemberDecorate 16(bufName) 0 Offset 0
                               Decorate 16(bufName) Block
                               Decorate 18 DescriptorSet 0
+                              Decorate 18 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out
index f00fe74..3ede90e 100644
--- a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out
+++ b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out
@@ -26,6 +26,7 @@
                               MemberDecorate 17(Buf@count) 0 Offset 0
                               Decorate 17(Buf@count) BufferBlock
                               Decorate 19(Buf@count) DescriptorSet 0
+                              Decorate 19(Buf@count) Binding 0
                               DecorateId 13(Buf) DecorationHlslCounterBufferGOOGLE 19(Buf@count)
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out
index c98e0c6..d1ecfa6 100644
--- a/Test/baseResults/hlsl.params.default.frag.out
+++ b/Test/baseResults/hlsl.params.default.frag.out
@@ -440,6 +440,7 @@
                               MemberDecorate 108($Global) 0 Offset 0
                               Decorate 108($Global) Block
                               Decorate 110 DescriptorSet 0
+                              Decorate 110 Binding 0
                               Decorate 175(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
index 9524118..46df206 100644
--- a/Test/baseResults/hlsl.partialFlattenLocal.vert.out
+++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
@@ -263,6 +263,7 @@
                               Name 86  "@entryPointOutput"
                               Name 87  "param"
                               Decorate 27(tex) DescriptorSet 0
+                              Decorate 27(tex) Binding 0
                               Decorate 83(pos) Location 0
                               Decorate 86(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.partialFlattenMixed.vert.out b/Test/baseResults/hlsl.partialFlattenMixed.vert.out
index 51e4c93..da832b4 100644
--- a/Test/baseResults/hlsl.partialFlattenMixed.vert.out
+++ b/Test/baseResults/hlsl.partialFlattenMixed.vert.out
@@ -114,7 +114,9 @@
                               Name 39  "@entryPointOutput"
                               Name 40  "param"
                               Decorate 24(tex[0]) DescriptorSet 0
+                              Decorate 24(tex[0]) Binding 0
                               Decorate 28(tex[1]) DescriptorSet 0
+                              Decorate 28(tex[1]) Binding 0
                               Decorate 36(pos) Location 0
                               Decorate 39(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.pp.line2.frag.out b/Test/baseResults/hlsl.pp.line2.frag.out
index 478440a..10bbf6a 100644
--- a/Test/baseResults/hlsl.pp.line2.frag.out
+++ b/Test/baseResults/hlsl.pp.line2.frag.out
@@ -86,7 +86,9 @@
                               MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8
                               Decorate 19(PerViewConstantBuffer_t) Block
                               Decorate 49(g_tColor) DescriptorSet 0
+                              Decorate 49(g_tColor) Binding 0
                               Decorate 56(g_sAniso) DescriptorSet 0
+                              Decorate 56(g_sAniso) Binding 0
                               Decorate 71(i.vTextureCoords) Location 0
                               Decorate 75(@entryPointOutput.vColor) Location 0
                3:             TypeVoid
diff --git a/Test/baseResults/hlsl.pp.line3.frag.out b/Test/baseResults/hlsl.pp.line3.frag.out
index 5aa2699..de77c1d 100644
--- a/Test/baseResults/hlsl.pp.line3.frag.out
+++ b/Test/baseResults/hlsl.pp.line3.frag.out
@@ -75,7 +75,9 @@
                               MemberDecorate 18(PerViewConstantBuffer_t) 2 Offset 8
                               Decorate 18(PerViewConstantBuffer_t) Block
                               Decorate 47(g_tColor) DescriptorSet 0
+                              Decorate 47(g_tColor) Binding 0
                               Decorate 54(g_sAniso) DescriptorSet 0
+                              Decorate 54(g_sAniso) Binding 0
                               Decorate 69(i.vTextureCoords) Location 0
                               Decorate 73(@entryPointOutput.vColor) Location 0
                3:             TypeVoid
diff --git a/Test/baseResults/hlsl.pp.vert.out b/Test/baseResults/hlsl.pp.vert.out
index 817b647..24ddfd1 100644
--- a/Test/baseResults/hlsl.pp.vert.out
+++ b/Test/baseResults/hlsl.pp.vert.out
@@ -44,6 +44,7 @@
                               MemberDecorate 10($Global) 1 Offset 4
                               Decorate 10($Global) Block
                               Decorate 12 DescriptorSet 0
+                              Decorate 12 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                9:             TypeInt 32 1
diff --git a/Test/baseResults/hlsl.preprocessor.frag.out b/Test/baseResults/hlsl.preprocessor.frag.out
index c78de3d..3c36530 100644
--- a/Test/baseResults/hlsl.preprocessor.frag.out
+++ b/Test/baseResults/hlsl.preprocessor.frag.out
@@ -114,7 +114,9 @@
                               Name 36  "@entryPointOutput"
                               Name 37  "param"
                               Decorate 16(test_texture) DescriptorSet 0
+                              Decorate 16(test_texture) Binding 0
                               Decorate 20(test_texture_ss) DescriptorSet 0
+                              Decorate 20(test_texture_ss) Binding 0
                               Decorate 33(input) Location 0
                               Decorate 36(@entryPointOutput) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.promote.atomic.frag.out b/Test/baseResults/hlsl.promote.atomic.frag.out
index ecc188b..bd781bd 100644
--- a/Test/baseResults/hlsl.promote.atomic.frag.out
+++ b/Test/baseResults/hlsl.promote.atomic.frag.out
@@ -82,6 +82,7 @@
                               Name 20  "Inc"
                               Name 34  "@entryPointOutput"
                               Decorate 17(s_uintbuff) DescriptorSet 0
+                              Decorate 17(s_uintbuff) Binding 0
                               Decorate 34(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out
index e1931af..624a506 100644
--- a/Test/baseResults/hlsl.promote.binary.frag.out
+++ b/Test/baseResults/hlsl.promote.binary.frag.out
@@ -204,6 +204,7 @@
                               MemberDecorate 16($Global) 5 Offset 80
                               Decorate 16($Global) Block
                               Decorate 18 DescriptorSet 0
+                              Decorate 18 Binding 0
                               Decorate 80(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index 9c08948..cb79983 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -1695,6 +1695,7 @@
                               MemberDecorate 111($Global) 9 Offset 104
                               Decorate 111($Global) Block
                               Decorate 113 DescriptorSet 0
+                              Decorate 113 Binding 0
                               Decorate 593(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out
index c874cd2..02aa00c 100644
--- a/Test/baseResults/hlsl.rw.atomics.frag.out
+++ b/Test/baseResults/hlsl.rw.atomics.frag.out
@@ -3997,6 +3997,7 @@
                               Name 1143  "g_tTex2du1a"
                               Name 1146  "g_tBuffF"
                               Decorate 15(g_tTex1di1) DescriptorSet 0
+                              Decorate 15(g_tTex1di1) Binding 0
                               MemberDecorate 21($Global) 0 Offset 0
                               MemberDecorate 21($Global) 1 Offset 8
                               MemberDecorate 21($Global) 2 Offset 16
@@ -4009,25 +4010,44 @@
                               MemberDecorate 21($Global) 9 Offset 64
                               Decorate 21($Global) Block
                               Decorate 23 DescriptorSet 0
+                              Decorate 23 Binding 0
                               Decorate 121(g_tTex1du1) DescriptorSet 0
+                              Decorate 121(g_tTex1du1) Binding 0
                               Decorate 217(g_tTex2di1) DescriptorSet 0
+                              Decorate 217(g_tTex2di1) Binding 0
                               Decorate 308(g_tTex2du1) DescriptorSet 0
+                              Decorate 308(g_tTex2du1) Binding 0
                               Decorate 399(g_tTex3di1) DescriptorSet 0
+                              Decorate 399(g_tTex3di1) Binding 0
                               Decorate 490(g_tTex3du1) DescriptorSet 0
+                              Decorate 490(g_tTex3du1) Binding 0
                               Decorate 581(g_tTex1di1a) DescriptorSet 0
+                              Decorate 581(g_tTex1di1a) Binding 0
                               Decorate 670(g_tTex1du1a) DescriptorSet 0
+                              Decorate 670(g_tTex1du1a) Binding 0
                               Decorate 931(g_tBuffI) DescriptorSet 0
+                              Decorate 931(g_tBuffI) Binding 0
                               Decorate 1020(g_tBuffU) DescriptorSet 0
+                              Decorate 1020(g_tBuffU) Binding 0
                               Decorate 1117(@entryPointOutput.Color) Location 0
                               Decorate 1122(g_sSamp) DescriptorSet 0
+                              Decorate 1122(g_sSamp) Binding 0
                               Decorate 1125(g_tTex1df1) DescriptorSet 0
+                              Decorate 1125(g_tTex1df1) Binding 0
                               Decorate 1128(g_tTex2df1) DescriptorSet 0
+                              Decorate 1128(g_tTex2df1) Binding 0
                               Decorate 1131(g_tTex3df1) DescriptorSet 0
+                              Decorate 1131(g_tTex3df1) Binding 0
                               Decorate 1134(g_tTex1df1a) DescriptorSet 0
+                              Decorate 1134(g_tTex1df1a) Binding 0
                               Decorate 1137(g_tTex2df1a) DescriptorSet 0
+                              Decorate 1137(g_tTex2df1a) Binding 0
                               Decorate 1140(g_tTex2di1a) DescriptorSet 0
+                              Decorate 1140(g_tTex2di1a) Binding 0
                               Decorate 1143(g_tTex2du1a) DescriptorSet 0
+                              Decorate 1143(g_tTex2du1a) Binding 0
                               Decorate 1146(g_tBuffF) DescriptorSet 0
+                              Decorate 1146(g_tBuffF) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
index d829a7b..dc60a29 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -1893,25 +1893,40 @@
                               MemberDecorate 63($Global) 10 Offset 128
                               Decorate 63($Global) Block
                               Decorate 65 DescriptorSet 0
+                              Decorate 65 Binding 0
                               Decorate 75(g_tTex1df4) DescriptorSet 0
                               Decorate 75(g_tTex1df4) Binding 0
                               Decorate 89(g_tTex1di4) DescriptorSet 0
+                              Decorate 89(g_tTex1di4) Binding 0
                               Decorate 97(g_tTex1du4) DescriptorSet 0
+                              Decorate 97(g_tTex1du4) Binding 0
                               Decorate 105(g_tTex2df4) DescriptorSet 0
+                              Decorate 105(g_tTex2df4) Binding 0
                               Decorate 115(g_tTex2di4) DescriptorSet 0
+                              Decorate 115(g_tTex2di4) Binding 0
                               Decorate 123(g_tTex2du4) DescriptorSet 0
+                              Decorate 123(g_tTex2du4) Binding 0
                               Decorate 131(g_tTex3df4) DescriptorSet 0
+                              Decorate 131(g_tTex3df4) Binding 0
                               Decorate 141(g_tTex3di4) DescriptorSet 0
+                              Decorate 141(g_tTex3di4) Binding 0
                               Decorate 149(g_tTex3du4) DescriptorSet 0
+                              Decorate 149(g_tTex3du4) Binding 0
                               Decorate 583(@entryPointOutput.Color) Location 0
                               Decorate 588(g_sSamp) DescriptorSet 0
                               Decorate 588(g_sSamp) Binding 0
                               Decorate 591(g_tTex1df4a) DescriptorSet 0
+                              Decorate 591(g_tTex1df4a) Binding 0
                               Decorate 594(g_tTex1di4a) DescriptorSet 0
+                              Decorate 594(g_tTex1di4a) Binding 0
                               Decorate 597(g_tTex1du4a) DescriptorSet 0
+                              Decorate 597(g_tTex1du4a) Binding 0
                               Decorate 600(g_tTex2df4a) DescriptorSet 0
+                              Decorate 600(g_tTex2df4a) Binding 0
                               Decorate 603(g_tTex2di4a) DescriptorSet 0
+                              Decorate 603(g_tTex2di4a) Binding 0
                               Decorate 606(g_tTex2du4a) DescriptorSet 0
+                              Decorate 606(g_tTex2du4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index 7fc26cc..aabee59 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -1839,24 +1839,40 @@
                               MemberDecorate 59($Global) 10 Offset 104
                               Decorate 59($Global) Block
                               Decorate 61 DescriptorSet 0
+                              Decorate 61 Binding 0
                               Decorate 70(g_tTex1df1) DescriptorSet 0
+                              Decorate 70(g_tTex1df1) Binding 0
                               Decorate 83(g_tTex1di1) DescriptorSet 0
+                              Decorate 83(g_tTex1di1) Binding 0
                               Decorate 91(g_tTex1du1) DescriptorSet 0
+                              Decorate 91(g_tTex1du1) Binding 0
                               Decorate 99(g_tTex2df1) DescriptorSet 0
+                              Decorate 99(g_tTex2df1) Binding 0
                               Decorate 109(g_tTex2di1) DescriptorSet 0
+                              Decorate 109(g_tTex2di1) Binding 0
                               Decorate 117(g_tTex2du1) DescriptorSet 0
+                              Decorate 117(g_tTex2du1) Binding 0
                               Decorate 125(g_tTex3df1) DescriptorSet 0
+                              Decorate 125(g_tTex3df1) Binding 0
                               Decorate 135(g_tTex3di1) DescriptorSet 0
+                              Decorate 135(g_tTex3di1) Binding 0
                               Decorate 143(g_tTex3du1) DescriptorSet 0
+                              Decorate 143(g_tTex3du1) Binding 0
                               Decorate 547(@entryPointOutput.Color) Location 0
                               Decorate 552(g_sSamp) DescriptorSet 0
                               Decorate 552(g_sSamp) Binding 0
                               Decorate 555(g_tTex1df1a) DescriptorSet 0
+                              Decorate 555(g_tTex1df1a) Binding 0
                               Decorate 558(g_tTex1di1a) DescriptorSet 0
+                              Decorate 558(g_tTex1di1a) Binding 0
                               Decorate 561(g_tTex1du1a) DescriptorSet 0
+                              Decorate 561(g_tTex1du1a) Binding 0
                               Decorate 564(g_tTex2df1a) DescriptorSet 0
+                              Decorate 564(g_tTex2df1a) Binding 0
                               Decorate 567(g_tTex2di1a) DescriptorSet 0
+                              Decorate 567(g_tTex2di1a) Binding 0
                               Decorate 570(g_tTex2du1a) DescriptorSet 0
+                              Decorate 570(g_tTex2du1a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/hlsl.rw.swizzle.frag.out b/Test/baseResults/hlsl.rw.swizzle.frag.out
index 8fcbb4b..089c603 100644
--- a/Test/baseResults/hlsl.rw.swizzle.frag.out
+++ b/Test/baseResults/hlsl.rw.swizzle.frag.out
@@ -224,8 +224,10 @@
                               Name 58  "@entryPointOutput"
                               Name 62  "buf"
                               Decorate 35(rwtx) DescriptorSet 0
+                              Decorate 35(rwtx) Binding 0
                               Decorate 58(@entryPointOutput) Location 0
                               Decorate 62(buf) DescriptorSet 0
+                              Decorate 62(buf) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index bf1fe08..a3b5237 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -1858,24 +1858,40 @@
                               MemberDecorate 64($Global) 10 Offset 112
                               Decorate 64($Global) Block
                               Decorate 66 DescriptorSet 0
+                              Decorate 66 Binding 0
                               Decorate 76(g_tTex1df2) DescriptorSet 0
+                              Decorate 76(g_tTex1df2) Binding 0
                               Decorate 90(g_tTex1di2) DescriptorSet 0
+                              Decorate 90(g_tTex1di2) Binding 0
                               Decorate 98(g_tTex1du2) DescriptorSet 0
+                              Decorate 98(g_tTex1du2) Binding 0
                               Decorate 106(g_tTex2df2) DescriptorSet 0
+                              Decorate 106(g_tTex2df2) Binding 0
                               Decorate 114(g_tTex2di2) DescriptorSet 0
+                              Decorate 114(g_tTex2di2) Binding 0
                               Decorate 122(g_tTex2du2) DescriptorSet 0
+                              Decorate 122(g_tTex2du2) Binding 0
                               Decorate 130(g_tTex3df2) DescriptorSet 0
+                              Decorate 130(g_tTex3df2) Binding 0
                               Decorate 140(g_tTex3di2) DescriptorSet 0
+                              Decorate 140(g_tTex3di2) Binding 0
                               Decorate 148(g_tTex3du2) DescriptorSet 0
+                              Decorate 148(g_tTex3du2) Binding 0
                               Decorate 581(@entryPointOutput.Color) Location 0
                               Decorate 586(g_sSamp) DescriptorSet 0
                               Decorate 586(g_sSamp) Binding 0
                               Decorate 589(g_tTex1df2a) DescriptorSet 0
+                              Decorate 589(g_tTex1df2a) Binding 0
                               Decorate 592(g_tTex1di2a) DescriptorSet 0
+                              Decorate 592(g_tTex1di2a) Binding 0
                               Decorate 595(g_tTex1du2a) DescriptorSet 0
+                              Decorate 595(g_tTex1du2a) Binding 0
                               Decorate 598(g_tTex2df2a) DescriptorSet 0
+                              Decorate 598(g_tTex2df2a) Binding 0
                               Decorate 601(g_tTex2di2a) DescriptorSet 0
+                              Decorate 601(g_tTex2di2a) Binding 0
                               Decorate 604(g_tTex2du2a) DescriptorSet 0
+                              Decorate 604(g_tTex2du2a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out
index 92e3dd8..9066a1d 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -368,13 +368,21 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) Binding 0
                               Decorate 49(g_tTex1du4) DescriptorSet 0
+                              Decorate 49(g_tTex1du4) Binding 0
                               Decorate 60(g_tTex2df4) DescriptorSet 0
+                              Decorate 60(g_tTex2df4) Binding 0
                               Decorate 71(g_tTex2di4) DescriptorSet 0
+                              Decorate 71(g_tTex2di4) Binding 0
                               Decorate 82(g_tTex2du4) DescriptorSet 0
+                              Decorate 82(g_tTex2du4) Binding 0
                               Decorate 94(g_tTexcdf4) DescriptorSet 0
+                              Decorate 94(g_tTexcdf4) Binding 0
                               Decorate 104(g_tTexcdi4) DescriptorSet 0
+                              Decorate 104(g_tTexcdi4) Binding 0
                               Decorate 114(g_tTexcdu4) DescriptorSet 0
+                              Decorate 114(g_tTexcdu4) Binding 0
                               Decorate 138(@entryPointOutput.Color) Location 0
                               Decorate 142(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 145(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
index b6915b6..0940e10 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -617,20 +617,33 @@
                               Decorate 49(g_sSamp) DescriptorSet 0
                               Decorate 49(g_sSamp) Binding 0
                               Decorate 60(g_tTex1di4) DescriptorSet 0
+                              Decorate 60(g_tTex1di4) Binding 0
                               Decorate 73(g_tTex1du4) DescriptorSet 0
+                              Decorate 73(g_tTex1du4) Binding 0
                               Decorate 83(g_tTex2df4) DescriptorSet 0
+                              Decorate 83(g_tTex2df4) Binding 0
                               Decorate 94(g_tTex2di4) DescriptorSet 0
+                              Decorate 94(g_tTex2di4) Binding 0
                               Decorate 105(g_tTex2du4) DescriptorSet 0
+                              Decorate 105(g_tTex2du4) Binding 0
                               Decorate 117(g_tTex3df4) DescriptorSet 0
+                              Decorate 117(g_tTex3df4) Binding 0
                               Decorate 128(g_tTex3di4) DescriptorSet 0
+                              Decorate 128(g_tTex3di4) Binding 0
                               Decorate 138(g_tTex3du4) DescriptorSet 0
+                              Decorate 138(g_tTex3du4) Binding 0
                               Decorate 151(g_tTexcdf4) DescriptorSet 0
+                              Decorate 151(g_tTexcdf4) Binding 0
                               Decorate 160(g_tTexcdi4) DescriptorSet 0
+                              Decorate 160(g_tTexcdi4) Binding 0
                               Decorate 169(g_tTexcdu4) DescriptorSet 0
+                              Decorate 169(g_tTexcdu4) Binding 0
                               Decorate 188(@entryPointOutput.Color) Location 0
                               Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 195(g_sSamp2d) DescriptorSet 0
+                              Decorate 195(g_sSamp2d) Binding 0
                               Decorate 196(g_sSamp2D_b) DescriptorSet 0
+                              Decorate 196(g_sSamp2D_b) Binding 0
                               Decorate 197(g_tTex1df4a) DescriptorSet 0
                               Decorate 197(g_tTex1df4a) Binding 1
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
index bd199a3..5eadb4a 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -412,20 +412,31 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 33(g_tTex1di4) DescriptorSet 0
+                              Decorate 33(g_tTex1di4) Binding 0
                               Decorate 46(g_tTex1du4) DescriptorSet 0
+                              Decorate 46(g_tTex1du4) Binding 0
                               Decorate 56(g_tTex2df4) DescriptorSet 0
+                              Decorate 56(g_tTex2df4) Binding 0
                               Decorate 70(g_tTex2di4) DescriptorSet 0
+                              Decorate 70(g_tTex2di4) Binding 0
                               Decorate 82(g_tTex2du4) DescriptorSet 0
+                              Decorate 82(g_tTex2du4) Binding 0
                               Decorate 96(g_tTex3df4) DescriptorSet 0
+                              Decorate 96(g_tTex3df4) Binding 0
                               Decorate 109(g_tTex3di4) DescriptorSet 0
+                              Decorate 109(g_tTex3di4) Binding 0
                               Decorate 120(g_tTex3du4) DescriptorSet 0
+                              Decorate 120(g_tTex3du4) Binding 0
                               Decorate 144(@entryPointOutput.Color) Location 0
                               Decorate 148(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 151(g_tTex1df4a) DescriptorSet 0
                               Decorate 151(g_tTex1df4a) Binding 1
                               Decorate 154(g_tTexcdf4) DescriptorSet 0
+                              Decorate 154(g_tTexcdf4) Binding 0
                               Decorate 157(g_tTexcdi4) DescriptorSet 0
+                              Decorate 157(g_tTexcdi4) Binding 0
                               Decorate 160(g_tTexcdu4) DescriptorSet 0
+                              Decorate 160(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
index 065cef0..edc5d31 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -313,10 +313,15 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 36(g_tTex1di4) DescriptorSet 0
+                              Decorate 36(g_tTex1di4) Binding 0
                               Decorate 51(g_tTex1du4) DescriptorSet 0
+                              Decorate 51(g_tTex1du4) Binding 0
                               Decorate 63(g_tTex2df4) DescriptorSet 0
+                              Decorate 63(g_tTex2df4) Binding 0
                               Decorate 76(g_tTex2di4) DescriptorSet 0
+                              Decorate 76(g_tTex2di4) Binding 0
                               Decorate 87(g_tTex2du4) DescriptorSet 0
+                              Decorate 87(g_tTex2du4) Binding 0
                               Decorate 110(@entryPointOutput.Color) Location 0
                               Decorate 114(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 117(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
index f24415a..cc44567 100644
--- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
@@ -180,11 +180,15 @@
                               Name 59  "psout"
                               Name 69  "@entryPointOutput.Color"
                               Decorate 16(g_tTex1df1) DescriptorSet 0
+                              Decorate 16(g_tTex1df1) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 30(g_tTex1df2) DescriptorSet 0
+                              Decorate 30(g_tTex1df2) Binding 0
                               Decorate 42(g_tTex1df3) DescriptorSet 0
+                              Decorate 42(g_tTex1df3) Binding 0
                               Decorate 53(g_tTex1df4) DescriptorSet 0
+                              Decorate 53(g_tTex1df4) Binding 0
                               Decorate 69(@entryPointOutput.Color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
index a6fc0a5..c229502 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -404,13 +404,21 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 36(g_tTex1di4) DescriptorSet 0
+                              Decorate 36(g_tTex1di4) Binding 0
                               Decorate 50(g_tTex1du4) DescriptorSet 0
+                              Decorate 50(g_tTex1du4) Binding 0
                               Decorate 61(g_tTex2df4) DescriptorSet 0
+                              Decorate 61(g_tTex2df4) Binding 0
                               Decorate 72(g_tTex2di4) DescriptorSet 0
+                              Decorate 72(g_tTex2di4) Binding 0
                               Decorate 82(g_tTex2du4) DescriptorSet 0
+                              Decorate 82(g_tTex2du4) Binding 0
                               Decorate 94(g_tTexcdf4) DescriptorSet 0
+                              Decorate 94(g_tTexcdf4) Binding 0
                               Decorate 104(g_tTexcdi4) DescriptorSet 0
+                              Decorate 104(g_tTexcdi4) Binding 0
                               Decorate 114(g_tTexcdu4) DescriptorSet 0
+                              Decorate 114(g_tTexcdu4) Binding 0
                               Decorate 138(@entryPointOutput.Color) Location 0
                               Decorate 142(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 145(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
index 21794f9..c840fa4 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -475,16 +475,27 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 33(g_tTex1di4) DescriptorSet 0
+                              Decorate 33(g_tTex1di4) Binding 0
                               Decorate 46(g_tTex1du4) DescriptorSet 0
+                              Decorate 46(g_tTex1du4) Binding 0
                               Decorate 56(g_tTex2df4) DescriptorSet 0
+                              Decorate 56(g_tTex2df4) Binding 0
                               Decorate 67(g_tTex2di4) DescriptorSet 0
+                              Decorate 67(g_tTex2di4) Binding 0
                               Decorate 78(g_tTex2du4) DescriptorSet 0
+                              Decorate 78(g_tTex2du4) Binding 0
                               Decorate 89(g_tTex3df4) DescriptorSet 0
+                              Decorate 89(g_tTex3df4) Binding 0
                               Decorate 100(g_tTex3di4) DescriptorSet 0
+                              Decorate 100(g_tTex3di4) Binding 0
                               Decorate 110(g_tTex3du4) DescriptorSet 0
+                              Decorate 110(g_tTex3du4) Binding 0
                               Decorate 123(g_tTexcdf4) DescriptorSet 0
+                              Decorate 123(g_tTexcdf4) Binding 0
                               Decorate 132(g_tTexcdi4) DescriptorSet 0
+                              Decorate 132(g_tTexcdi4) Binding 0
                               Decorate 141(g_tTexcdu4) DescriptorSet 0
+                              Decorate 141(g_tTexcdu4) Binding 0
                               Decorate 162(@entryPointOutput.Color) Location 0
                               Decorate 166(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 169(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 5d0b862..be4b4f8 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -449,20 +449,31 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 34(g_tTex1di4) DescriptorSet 0
+                              Decorate 34(g_tTex1di4) Binding 0
                               Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) Binding 0
                               Decorate 57(g_tTex2df4) DescriptorSet 0
+                              Decorate 57(g_tTex2df4) Binding 0
                               Decorate 71(g_tTex2di4) DescriptorSet 0
+                              Decorate 71(g_tTex2di4) Binding 0
                               Decorate 83(g_tTex2du4) DescriptorSet 0
+                              Decorate 83(g_tTex2du4) Binding 0
                               Decorate 96(g_tTex3df4) DescriptorSet 0
+                              Decorate 96(g_tTex3df4) Binding 0
                               Decorate 109(g_tTex3di4) DescriptorSet 0
+                              Decorate 109(g_tTex3di4) Binding 0
                               Decorate 120(g_tTex3du4) DescriptorSet 0
+                              Decorate 120(g_tTex3du4) Binding 0
                               Decorate 144(@entryPointOutput.Color) Location 0
                               Decorate 148(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 151(g_tTex1df4a) DescriptorSet 0
                               Decorate 151(g_tTex1df4a) Binding 1
                               Decorate 154(g_tTexcdf4) DescriptorSet 0
+                              Decorate 154(g_tTexcdf4) Binding 0
                               Decorate 157(g_tTexcdi4) DescriptorSet 0
+                              Decorate 157(g_tTexcdi4) Binding 0
                               Decorate 160(g_tTexcdu4) DescriptorSet 0
+                              Decorate 160(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index 21112f8..ae33f40 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -338,10 +338,15 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 37(g_tTex1di4) DescriptorSet 0
+                              Decorate 37(g_tTex1di4) Binding 0
                               Decorate 52(g_tTex1du4) DescriptorSet 0
+                              Decorate 52(g_tTex1du4) Binding 0
                               Decorate 64(g_tTex2df4) DescriptorSet 0
+                              Decorate 64(g_tTex2df4) Binding 0
                               Decorate 77(g_tTex2di4) DescriptorSet 0
+                              Decorate 77(g_tTex2di4) Binding 0
                               Decorate 87(g_tTex2du4) DescriptorSet 0
+                              Decorate 87(g_tTex2du4) Binding 0
                               Decorate 110(@entryPointOutput.Color) Location 0
                               Decorate 114(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 117(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
index 11803c1..54cbc04 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -452,31 +452,51 @@
                               Name 205  "g_tTexcdi4"
                               Name 208  "g_tTexcdu4"
                               Decorate 16(g_tTex1df4a) DescriptorSet 0
+                              Decorate 16(g_tTex1df4a) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 39(g_tTex1di4a) DescriptorSet 0
+                              Decorate 39(g_tTex1di4a) Binding 0
                               Decorate 53(g_tTex1du4a) DescriptorSet 0
+                              Decorate 53(g_tTex1du4a) Binding 0
                               Decorate 66(g_tTex2df4a) DescriptorSet 0
+                              Decorate 66(g_tTex2df4a) Binding 0
                               Decorate 82(g_tTex2di4a) DescriptorSet 0
+                              Decorate 82(g_tTex2di4a) Binding 0
                               Decorate 96(g_tTex2du4a) DescriptorSet 0
+                              Decorate 96(g_tTex2du4a) Binding 0
                               Decorate 110(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 110(g_tTexcdf4a) Binding 0
                               Decorate 126(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 126(g_tTexcdi4a) Binding 0
                               Decorate 140(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 140(g_tTexcdu4a) Binding 0
                               Decorate 166(@entryPointOutput.Color) Location 0
                               Decorate 170(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 175(g_tTex1df4) DescriptorSet 0
                               Decorate 175(g_tTex1df4) Binding 0
                               Decorate 178(g_tTex1di4) DescriptorSet 0
+                              Decorate 178(g_tTex1di4) Binding 0
                               Decorate 181(g_tTex1du4) DescriptorSet 0
+                              Decorate 181(g_tTex1du4) Binding 0
                               Decorate 184(g_tTex2df4) DescriptorSet 0
+                              Decorate 184(g_tTex2df4) Binding 0
                               Decorate 187(g_tTex2di4) DescriptorSet 0
+                              Decorate 187(g_tTex2di4) Binding 0
                               Decorate 190(g_tTex2du4) DescriptorSet 0
+                              Decorate 190(g_tTex2du4) Binding 0
                               Decorate 193(g_tTex3df4) DescriptorSet 0
+                              Decorate 193(g_tTex3df4) Binding 0
                               Decorate 196(g_tTex3di4) DescriptorSet 0
+                              Decorate 196(g_tTex3di4) Binding 0
                               Decorate 199(g_tTex3du4) DescriptorSet 0
+                              Decorate 199(g_tTex3du4) Binding 0
                               Decorate 202(g_tTexcdf4) DescriptorSet 0
+                              Decorate 202(g_tTexcdf4) Binding 0
                               Decorate 205(g_tTexcdi4) DescriptorSet 0
+                              Decorate 205(g_tTexcdi4) Binding 0
                               Decorate 208(g_tTexcdu4) DescriptorSet 0
+                              Decorate 208(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
index b79b3bf..90e1173 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -438,27 +438,47 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 34(g_tTex1di4) DescriptorSet 0
+                              Decorate 34(g_tTex1di4) Binding 0
                               Decorate 46(g_tTex1du4) DescriptorSet 0
+                              Decorate 46(g_tTex1du4) Binding 0
                               Decorate 57(g_tTex2df4) DescriptorSet 0
+                              Decorate 57(g_tTex2df4) Binding 0
                               Decorate 73(g_tTex2di4) DescriptorSet 0
+                              Decorate 73(g_tTex2di4) Binding 0
                               Decorate 86(g_tTex2du4) DescriptorSet 0
+                              Decorate 86(g_tTex2du4) Binding 0
                               Decorate 99(g_tTexcdf4) DescriptorSet 0
+                              Decorate 99(g_tTexcdf4) Binding 0
                               Decorate 115(g_tTexcdi4) DescriptorSet 0
+                              Decorate 115(g_tTexcdi4) Binding 0
                               Decorate 129(g_tTexcdu4) DescriptorSet 0
+                              Decorate 129(g_tTexcdu4) Binding 0
                               Decorate 155(@entryPointOutput.Color) Location 0
                               Decorate 159(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 164(g_tTex3df4) DescriptorSet 0
+                              Decorate 164(g_tTex3df4) Binding 0
                               Decorate 167(g_tTex3di4) DescriptorSet 0
+                              Decorate 167(g_tTex3di4) Binding 0
                               Decorate 170(g_tTex3du4) DescriptorSet 0
+                              Decorate 170(g_tTex3du4) Binding 0
                               Decorate 173(g_tTex1df4a) DescriptorSet 0
+                              Decorate 173(g_tTex1df4a) Binding 0
                               Decorate 176(g_tTex1di4a) DescriptorSet 0
+                              Decorate 176(g_tTex1di4a) Binding 0
                               Decorate 179(g_tTex1du4a) DescriptorSet 0
+                              Decorate 179(g_tTex1du4a) Binding 0
                               Decorate 182(g_tTex2df4a) DescriptorSet 0
+                              Decorate 182(g_tTex2df4a) Binding 0
                               Decorate 185(g_tTex2di4a) DescriptorSet 0
+                              Decorate 185(g_tTex2di4a) Binding 0
                               Decorate 188(g_tTex2du4a) DescriptorSet 0
+                              Decorate 188(g_tTex2du4a) Binding 0
                               Decorate 191(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 191(g_tTexcdf4a) Binding 0
                               Decorate 194(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 194(g_tTexcdi4a) Binding 0
                               Decorate 197(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 197(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
index 1577614..29d02da 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -381,27 +381,47 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) Binding 0
                               Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) Binding 0
                               Decorate 58(g_tTex2df4) DescriptorSet 0
+                              Decorate 58(g_tTex2df4) Binding 0
                               Decorate 77(g_tTex2di4) DescriptorSet 0
+                              Decorate 77(g_tTex2di4) Binding 0
                               Decorate 90(g_tTex2du4) DescriptorSet 0
+                              Decorate 90(g_tTex2du4) Binding 0
                               Decorate 115(@entryPointOutput.Color) Location 0
                               Decorate 119(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 124(g_tTex3df4) DescriptorSet 0
+                              Decorate 124(g_tTex3df4) Binding 0
                               Decorate 127(g_tTex3di4) DescriptorSet 0
+                              Decorate 127(g_tTex3di4) Binding 0
                               Decorate 130(g_tTex3du4) DescriptorSet 0
+                              Decorate 130(g_tTex3du4) Binding 0
                               Decorate 133(g_tTexcdf4) DescriptorSet 0
+                              Decorate 133(g_tTexcdf4) Binding 0
                               Decorate 136(g_tTexcdi4) DescriptorSet 0
+                              Decorate 136(g_tTexcdi4) Binding 0
                               Decorate 139(g_tTexcdu4) DescriptorSet 0
+                              Decorate 139(g_tTexcdu4) Binding 0
                               Decorate 142(g_tTex1df4a) DescriptorSet 0
+                              Decorate 142(g_tTex1df4a) Binding 0
                               Decorate 145(g_tTex1di4a) DescriptorSet 0
+                              Decorate 145(g_tTex1di4a) Binding 0
                               Decorate 148(g_tTex1du4a) DescriptorSet 0
+                              Decorate 148(g_tTex1du4a) Binding 0
                               Decorate 151(g_tTex2df4a) DescriptorSet 0
+                              Decorate 151(g_tTex2df4a) Binding 0
                               Decorate 154(g_tTex2di4a) DescriptorSet 0
+                              Decorate 154(g_tTex2di4a) Binding 0
                               Decorate 157(g_tTex2du4a) DescriptorSet 0
+                              Decorate 157(g_tTex2du4a) Binding 0
                               Decorate 160(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 160(g_tTexcdf4a) Binding 0
                               Decorate 163(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 163(g_tTexcdi4a) Binding 0
                               Decorate 166(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 166(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
index 9d60e46..bf7b6f0 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -389,31 +389,51 @@
                               Name 174  "g_tTexcdi4a"
                               Name 177  "g_tTexcdu4a"
                               Decorate 16(g_tTex1df4a) DescriptorSet 0
+                              Decorate 16(g_tTex1df4a) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 40(g_tTex1di4a) DescriptorSet 0
+                              Decorate 40(g_tTex1di4a) Binding 0
                               Decorate 54(g_tTex1du4a) DescriptorSet 0
+                              Decorate 54(g_tTex1du4a) Binding 0
                               Decorate 67(g_tTex2df4a) DescriptorSet 0
+                              Decorate 67(g_tTex2df4a) Binding 0
                               Decorate 86(g_tTex2di4a) DescriptorSet 0
+                              Decorate 86(g_tTex2di4a) Binding 0
                               Decorate 100(g_tTex2du4a) DescriptorSet 0
+                              Decorate 100(g_tTex2du4a) Binding 0
                               Decorate 126(@entryPointOutput.Color) Location 0
                               Decorate 130(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 135(g_tTex1df4) DescriptorSet 0
                               Decorate 135(g_tTex1df4) Binding 0
                               Decorate 138(g_tTex1di4) DescriptorSet 0
+                              Decorate 138(g_tTex1di4) Binding 0
                               Decorate 141(g_tTex1du4) DescriptorSet 0
+                              Decorate 141(g_tTex1du4) Binding 0
                               Decorate 144(g_tTex2df4) DescriptorSet 0
+                              Decorate 144(g_tTex2df4) Binding 0
                               Decorate 147(g_tTex2di4) DescriptorSet 0
+                              Decorate 147(g_tTex2di4) Binding 0
                               Decorate 150(g_tTex2du4) DescriptorSet 0
+                              Decorate 150(g_tTex2du4) Binding 0
                               Decorate 153(g_tTex3df4) DescriptorSet 0
+                              Decorate 153(g_tTex3df4) Binding 0
                               Decorate 156(g_tTex3di4) DescriptorSet 0
+                              Decorate 156(g_tTex3di4) Binding 0
                               Decorate 159(g_tTex3du4) DescriptorSet 0
+                              Decorate 159(g_tTex3du4) Binding 0
                               Decorate 162(g_tTexcdf4) DescriptorSet 0
+                              Decorate 162(g_tTexcdf4) Binding 0
                               Decorate 165(g_tTexcdi4) DescriptorSet 0
+                              Decorate 165(g_tTexcdi4) Binding 0
                               Decorate 168(g_tTexcdu4) DescriptorSet 0
+                              Decorate 168(g_tTexcdu4) Binding 0
                               Decorate 171(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 171(g_tTexcdf4a) Binding 0
                               Decorate 174(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 174(g_tTexcdi4a) Binding 0
                               Decorate 177(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 177(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
index 0b5190b..5b21f70 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -488,31 +488,51 @@
                               Name 206  "g_tTexcdi4"
                               Name 209  "g_tTexcdu4"
                               Decorate 16(g_tTex1df4a) DescriptorSet 0
+                              Decorate 16(g_tTex1df4a) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 40(g_tTex1di4a) DescriptorSet 0
+                              Decorate 40(g_tTex1di4a) Binding 0
                               Decorate 54(g_tTex1du4a) DescriptorSet 0
+                              Decorate 54(g_tTex1du4a) Binding 0
                               Decorate 67(g_tTex2df4a) DescriptorSet 0
+                              Decorate 67(g_tTex2df4a) Binding 0
                               Decorate 83(g_tTex2di4a) DescriptorSet 0
+                              Decorate 83(g_tTex2di4a) Binding 0
                               Decorate 97(g_tTex2du4a) DescriptorSet 0
+                              Decorate 97(g_tTex2du4a) Binding 0
                               Decorate 111(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 111(g_tTexcdf4a) Binding 0
                               Decorate 127(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 127(g_tTexcdi4a) Binding 0
                               Decorate 141(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 141(g_tTexcdu4a) Binding 0
                               Decorate 167(@entryPointOutput.Color) Location 0
                               Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 176(g_tTex1df4) DescriptorSet 0
                               Decorate 176(g_tTex1df4) Binding 0
                               Decorate 179(g_tTex1di4) DescriptorSet 0
+                              Decorate 179(g_tTex1di4) Binding 0
                               Decorate 182(g_tTex1du4) DescriptorSet 0
+                              Decorate 182(g_tTex1du4) Binding 0
                               Decorate 185(g_tTex2df4) DescriptorSet 0
+                              Decorate 185(g_tTex2df4) Binding 0
                               Decorate 188(g_tTex2di4) DescriptorSet 0
+                              Decorate 188(g_tTex2di4) Binding 0
                               Decorate 191(g_tTex2du4) DescriptorSet 0
+                              Decorate 191(g_tTex2du4) Binding 0
                               Decorate 194(g_tTex3df4) DescriptorSet 0
+                              Decorate 194(g_tTex3df4) Binding 0
                               Decorate 197(g_tTex3di4) DescriptorSet 0
+                              Decorate 197(g_tTex3di4) Binding 0
                               Decorate 200(g_tTex3du4) DescriptorSet 0
+                              Decorate 200(g_tTex3du4) Binding 0
                               Decorate 203(g_tTexcdf4) DescriptorSet 0
+                              Decorate 203(g_tTexcdf4) Binding 0
                               Decorate 206(g_tTexcdi4) DescriptorSet 0
+                              Decorate 206(g_tTexcdi4) Binding 0
                               Decorate 209(g_tTexcdu4) DescriptorSet 0
+                              Decorate 209(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
index 9e9a85c..fae6899 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -474,27 +474,47 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) Binding 0
                               Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) Binding 0
                               Decorate 58(g_tTex2df4) DescriptorSet 0
+                              Decorate 58(g_tTex2df4) Binding 0
                               Decorate 74(g_tTex2di4) DescriptorSet 0
+                              Decorate 74(g_tTex2di4) Binding 0
                               Decorate 87(g_tTex2du4) DescriptorSet 0
+                              Decorate 87(g_tTex2du4) Binding 0
                               Decorate 100(g_tTexcdf4) DescriptorSet 0
+                              Decorate 100(g_tTexcdf4) Binding 0
                               Decorate 116(g_tTexcdi4) DescriptorSet 0
+                              Decorate 116(g_tTexcdi4) Binding 0
                               Decorate 130(g_tTexcdu4) DescriptorSet 0
+                              Decorate 130(g_tTexcdu4) Binding 0
                               Decorate 156(@entryPointOutput.Color) Location 0
                               Decorate 160(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 165(g_tTex3df4) DescriptorSet 0
+                              Decorate 165(g_tTex3df4) Binding 0
                               Decorate 168(g_tTex3di4) DescriptorSet 0
+                              Decorate 168(g_tTex3di4) Binding 0
                               Decorate 171(g_tTex3du4) DescriptorSet 0
+                              Decorate 171(g_tTex3du4) Binding 0
                               Decorate 174(g_tTex1df4a) DescriptorSet 0
+                              Decorate 174(g_tTex1df4a) Binding 0
                               Decorate 177(g_tTex1di4a) DescriptorSet 0
+                              Decorate 177(g_tTex1di4a) Binding 0
                               Decorate 180(g_tTex1du4a) DescriptorSet 0
+                              Decorate 180(g_tTex1du4a) Binding 0
                               Decorate 183(g_tTex2df4a) DescriptorSet 0
+                              Decorate 183(g_tTex2df4a) Binding 0
                               Decorate 186(g_tTex2di4a) DescriptorSet 0
+                              Decorate 186(g_tTex2di4a) Binding 0
                               Decorate 189(g_tTex2du4a) DescriptorSet 0
+                              Decorate 189(g_tTex2du4a) Binding 0
                               Decorate 192(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 192(g_tTexcdf4a) Binding 0
                               Decorate 195(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 195(g_tTexcdi4a) Binding 0
                               Decorate 198(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 198(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
index 6bdb87e..0987ea8 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -405,27 +405,47 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 36(g_tTex1di4) DescriptorSet 0
+                              Decorate 36(g_tTex1di4) Binding 0
                               Decorate 48(g_tTex1du4) DescriptorSet 0
+                              Decorate 48(g_tTex1du4) Binding 0
                               Decorate 59(g_tTex2df4) DescriptorSet 0
+                              Decorate 59(g_tTex2df4) Binding 0
                               Decorate 78(g_tTex2di4) DescriptorSet 0
+                              Decorate 78(g_tTex2di4) Binding 0
                               Decorate 91(g_tTex2du4) DescriptorSet 0
+                              Decorate 91(g_tTex2du4) Binding 0
                               Decorate 116(@entryPointOutput.Color) Location 0
                               Decorate 120(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 125(g_tTex3df4) DescriptorSet 0
+                              Decorate 125(g_tTex3df4) Binding 0
                               Decorate 128(g_tTex3di4) DescriptorSet 0
+                              Decorate 128(g_tTex3di4) Binding 0
                               Decorate 131(g_tTex3du4) DescriptorSet 0
+                              Decorate 131(g_tTex3du4) Binding 0
                               Decorate 134(g_tTexcdf4) DescriptorSet 0
+                              Decorate 134(g_tTexcdf4) Binding 0
                               Decorate 137(g_tTexcdi4) DescriptorSet 0
+                              Decorate 137(g_tTexcdi4) Binding 0
                               Decorate 140(g_tTexcdu4) DescriptorSet 0
+                              Decorate 140(g_tTexcdu4) Binding 0
                               Decorate 143(g_tTex1df4a) DescriptorSet 0
+                              Decorate 143(g_tTex1df4a) Binding 0
                               Decorate 146(g_tTex1di4a) DescriptorSet 0
+                              Decorate 146(g_tTex1di4a) Binding 0
                               Decorate 149(g_tTex1du4a) DescriptorSet 0
+                              Decorate 149(g_tTex1du4a) Binding 0
                               Decorate 152(g_tTex2df4a) DescriptorSet 0
+                              Decorate 152(g_tTex2df4a) Binding 0
                               Decorate 155(g_tTex2di4a) DescriptorSet 0
+                              Decorate 155(g_tTex2di4a) Binding 0
                               Decorate 158(g_tTex2du4a) DescriptorSet 0
+                              Decorate 158(g_tTex2du4a) Binding 0
                               Decorate 161(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 161(g_tTexcdf4a) Binding 0
                               Decorate 164(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 164(g_tTexcdi4a) Binding 0
                               Decorate 167(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 167(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
index 8231c11..7434514 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -413,31 +413,51 @@
                               Name 175  "g_tTexcdi4a"
                               Name 178  "g_tTexcdu4a"
                               Decorate 16(g_tTex1df4a) DescriptorSet 0
+                              Decorate 16(g_tTex1df4a) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 41(g_tTex1di4a) DescriptorSet 0
+                              Decorate 41(g_tTex1di4a) Binding 0
                               Decorate 55(g_tTex1du4a) DescriptorSet 0
+                              Decorate 55(g_tTex1du4a) Binding 0
                               Decorate 68(g_tTex2df4a) DescriptorSet 0
+                              Decorate 68(g_tTex2df4a) Binding 0
                               Decorate 87(g_tTex2di4a) DescriptorSet 0
+                              Decorate 87(g_tTex2di4a) Binding 0
                               Decorate 101(g_tTex2du4a) DescriptorSet 0
+                              Decorate 101(g_tTex2du4a) Binding 0
                               Decorate 127(@entryPointOutput.Color) Location 0
                               Decorate 131(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 136(g_tTex1df4) DescriptorSet 0
                               Decorate 136(g_tTex1df4) Binding 0
                               Decorate 139(g_tTex1di4) DescriptorSet 0
+                              Decorate 139(g_tTex1di4) Binding 0
                               Decorate 142(g_tTex1du4) DescriptorSet 0
+                              Decorate 142(g_tTex1du4) Binding 0
                               Decorate 145(g_tTex2df4) DescriptorSet 0
+                              Decorate 145(g_tTex2df4) Binding 0
                               Decorate 148(g_tTex2di4) DescriptorSet 0
+                              Decorate 148(g_tTex2di4) Binding 0
                               Decorate 151(g_tTex2du4) DescriptorSet 0
+                              Decorate 151(g_tTex2du4) Binding 0
                               Decorate 154(g_tTex3df4) DescriptorSet 0
+                              Decorate 154(g_tTex3df4) Binding 0
                               Decorate 157(g_tTex3di4) DescriptorSet 0
+                              Decorate 157(g_tTex3di4) Binding 0
                               Decorate 160(g_tTex3du4) DescriptorSet 0
+                              Decorate 160(g_tTex3du4) Binding 0
                               Decorate 163(g_tTexcdf4) DescriptorSet 0
+                              Decorate 163(g_tTexcdf4) Binding 0
                               Decorate 166(g_tTexcdi4) DescriptorSet 0
+                              Decorate 166(g_tTexcdi4) Binding 0
                               Decorate 169(g_tTexcdu4) DescriptorSet 0
+                              Decorate 169(g_tTexcdu4) Binding 0
                               Decorate 172(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 172(g_tTexcdf4a) Binding 0
                               Decorate 175(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 175(g_tTexcdi4a) Binding 0
                               Decorate 178(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 178(g_tTexcdu4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
index 81a92a2..67b5692 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -476,13 +476,21 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 37(g_tTex1di4) DescriptorSet 0
+                              Decorate 37(g_tTex1di4) Binding 0
                               Decorate 49(g_tTex1du4) DescriptorSet 0
+                              Decorate 49(g_tTex1du4) Binding 0
                               Decorate 58(g_tTex2df4) DescriptorSet 0
+                              Decorate 58(g_tTex2df4) Binding 0
                               Decorate 71(g_tTex2di4) DescriptorSet 0
+                              Decorate 71(g_tTex2di4) Binding 0
                               Decorate 80(g_tTex2du4) DescriptorSet 0
+                              Decorate 80(g_tTex2du4) Binding 0
                               Decorate 89(g_tTexcdf4) DescriptorSet 0
+                              Decorate 89(g_tTexcdf4) Binding 0
                               Decorate 102(g_tTexcdi4) DescriptorSet 0
+                              Decorate 102(g_tTexcdi4) Binding 0
                               Decorate 111(g_tTexcdu4) DescriptorSet 0
+                              Decorate 111(g_tTexcdu4) Binding 0
                               Decorate 132(@entryPointOutput.Color) Location 0
                               Decorate 136(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 139(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
index 3acd9af..7edb8da 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -583,16 +583,27 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 34(g_tTex1di4) DescriptorSet 0
+                              Decorate 34(g_tTex1di4) Binding 0
                               Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) Binding 0
                               Decorate 57(g_tTex2df4) DescriptorSet 0
+                              Decorate 57(g_tTex2df4) Binding 0
                               Decorate 69(g_tTex2di4) DescriptorSet 0
+                              Decorate 69(g_tTex2di4) Binding 0
                               Decorate 80(g_tTex2du4) DescriptorSet 0
+                              Decorate 80(g_tTex2du4) Binding 0
                               Decorate 92(g_tTex3df4) DescriptorSet 0
+                              Decorate 92(g_tTex3df4) Binding 0
                               Decorate 105(g_tTex3di4) DescriptorSet 0
+                              Decorate 105(g_tTex3di4) Binding 0
                               Decorate 115(g_tTex3du4) DescriptorSet 0
+                              Decorate 115(g_tTex3du4) Binding 0
                               Decorate 128(g_tTexcdf4) DescriptorSet 0
+                              Decorate 128(g_tTexcdf4) Binding 0
                               Decorate 137(g_tTexcdi4) DescriptorSet 0
+                              Decorate 137(g_tTexcdi4) Binding 0
                               Decorate 146(g_tTexcdu4) DescriptorSet 0
+                              Decorate 146(g_tTexcdu4) Binding 0
                               Decorate 167(@entryPointOutput.Color) Location 0
                               Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 174(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
index d787939..979d48f 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -540,16 +540,27 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 34(g_tTex1di4) DescriptorSet 0
+                              Decorate 34(g_tTex1di4) Binding 0
                               Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) Binding 0
                               Decorate 57(g_tTex2df4) DescriptorSet 0
+                              Decorate 57(g_tTex2df4) Binding 0
                               Decorate 69(g_tTex2di4) DescriptorSet 0
+                              Decorate 69(g_tTex2di4) Binding 0
                               Decorate 80(g_tTex2du4) DescriptorSet 0
+                              Decorate 80(g_tTex2du4) Binding 0
                               Decorate 92(g_tTex3df4) DescriptorSet 0
+                              Decorate 92(g_tTex3df4) Binding 0
                               Decorate 105(g_tTex3di4) DescriptorSet 0
+                              Decorate 105(g_tTex3di4) Binding 0
                               Decorate 115(g_tTex3du4) DescriptorSet 0
+                              Decorate 115(g_tTex3du4) Binding 0
                               Decorate 128(g_tTexcdf4) DescriptorSet 0
+                              Decorate 128(g_tTexcdf4) Binding 0
                               Decorate 137(g_tTexcdi4) DescriptorSet 0
+                              Decorate 137(g_tTexcdi4) Binding 0
                               Decorate 146(g_tTexcdu4) DescriptorSet 0
+                              Decorate 146(g_tTexcdu4) Binding 0
                               Decorate 162(@entryPointOutput.Pos) BuiltIn Position
                               Decorate 165(g_tTex1df4a) DescriptorSet 0
                               Decorate 165(g_tTex1df4a) Binding 1
diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
index b5a8549..2620a67 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -520,20 +520,31 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) Binding 0
                               Decorate 48(g_tTex1du4) DescriptorSet 0
+                              Decorate 48(g_tTex1du4) Binding 0
                               Decorate 58(g_tTex2df4) DescriptorSet 0
+                              Decorate 58(g_tTex2df4) Binding 0
                               Decorate 73(g_tTex2di4) DescriptorSet 0
+                              Decorate 73(g_tTex2di4) Binding 0
                               Decorate 85(g_tTex2du4) DescriptorSet 0
+                              Decorate 85(g_tTex2du4) Binding 0
                               Decorate 99(g_tTex3df4) DescriptorSet 0
+                              Decorate 99(g_tTex3df4) Binding 0
                               Decorate 114(g_tTex3di4) DescriptorSet 0
+                              Decorate 114(g_tTex3di4) Binding 0
                               Decorate 125(g_tTex3du4) DescriptorSet 0
+                              Decorate 125(g_tTex3du4) Binding 0
                               Decorate 149(@entryPointOutput.Color) Location 0
                               Decorate 153(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 156(g_tTex1df4a) DescriptorSet 0
                               Decorate 156(g_tTex1df4a) Binding 1
                               Decorate 159(g_tTexcdf4) DescriptorSet 0
+                              Decorate 159(g_tTexcdf4) Binding 0
                               Decorate 162(g_tTexcdi4) DescriptorSet 0
+                              Decorate 162(g_tTexcdi4) Binding 0
                               Decorate 165(g_tTexcdu4) DescriptorSet 0
+                              Decorate 165(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
index 39a2838..87ad78b 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -383,17 +383,25 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 38(g_tTex1di4) DescriptorSet 0
+                              Decorate 38(g_tTex1di4) Binding 0
                               Decorate 50(g_tTex1du4) DescriptorSet 0
+                              Decorate 50(g_tTex1du4) Binding 0
                               Decorate 59(g_tTex2df4) DescriptorSet 0
+                              Decorate 59(g_tTex2df4) Binding 0
                               Decorate 75(g_tTex2di4) DescriptorSet 0
+                              Decorate 75(g_tTex2di4) Binding 0
                               Decorate 84(g_tTex2du4) DescriptorSet 0
+                              Decorate 84(g_tTex2du4) Binding 0
                               Decorate 103(@entryPointOutput.Color) Location 0
                               Decorate 107(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 110(g_tTex1df4a) DescriptorSet 0
                               Decorate 110(g_tTex1df4a) Binding 1
                               Decorate 113(g_tTexcdf4) DescriptorSet 0
+                              Decorate 113(g_tTexcdf4) Binding 0
                               Decorate 116(g_tTexcdi4) DescriptorSet 0
+                              Decorate 116(g_tTexcdi4) Binding 0
                               Decorate 119(g_tTexcdu4) DescriptorSet 0
+                              Decorate 119(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
index 0151cdd..4f07950 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -404,13 +404,21 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 36(g_tTex1di4a) DescriptorSet 0
+                              Decorate 36(g_tTex1di4a) Binding 0
                               Decorate 50(g_tTex1du4a) DescriptorSet 0
+                              Decorate 50(g_tTex1du4a) Binding 0
                               Decorate 61(g_tTex2df4a) DescriptorSet 0
+                              Decorate 61(g_tTex2df4a) Binding 0
                               Decorate 72(g_tTex2di4a) DescriptorSet 0
+                              Decorate 72(g_tTex2di4a) Binding 0
                               Decorate 83(g_tTex2du4a) DescriptorSet 0
+                              Decorate 83(g_tTex2du4a) Binding 0
                               Decorate 95(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 95(g_tTexcdf4a) Binding 0
                               Decorate 105(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 105(g_tTexcdi4a) Binding 0
                               Decorate 115(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 115(g_tTexcdu4a) Binding 0
                               Decorate 139(@entryPointOutput.Color) Location 0
                               Decorate 143(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 146(g_tTex1df4) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
index 9327b84..ee982cc 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -478,19 +478,31 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 33(g_tTex1di4) DescriptorSet 0
+                              Decorate 33(g_tTex1di4) Binding 0
                               Decorate 46(g_tTex1du4) DescriptorSet 0
+                              Decorate 46(g_tTex1du4) Binding 0
                               Decorate 56(g_tTex2df4) DescriptorSet 0
+                              Decorate 56(g_tTex2df4) Binding 0
                               Decorate 67(g_tTex2di4) DescriptorSet 0
+                              Decorate 67(g_tTex2di4) Binding 0
                               Decorate 78(g_tTex2du4) DescriptorSet 0
+                              Decorate 78(g_tTex2du4) Binding 0
                               Decorate 90(g_tTex3df4) DescriptorSet 0
+                              Decorate 90(g_tTex3df4) Binding 0
                               Decorate 101(g_tTex3di4) DescriptorSet 0
+                              Decorate 101(g_tTex3di4) Binding 0
                               Decorate 111(g_tTex3du4) DescriptorSet 0
+                              Decorate 111(g_tTex3du4) Binding 0
                               Decorate 124(g_tTexcdf4) DescriptorSet 0
+                              Decorate 124(g_tTexcdf4) Binding 0
                               Decorate 133(g_tTexcdi4) DescriptorSet 0
+                              Decorate 133(g_tTexcdi4) Binding 0
                               Decorate 142(g_tTexcdu4) DescriptorSet 0
+                              Decorate 142(g_tTexcdu4) Binding 0
                               Decorate 163(@entryPointOutput.Color) Location 0
                               Decorate 167(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 170(g_sSamp2d) DescriptorSet 0
+                              Decorate 170(g_sSamp2d) Binding 0
                               Decorate 171(g_tTex1df4a) DescriptorSet 0
                               Decorate 171(g_tTex1df4a) Binding 1
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
index d2bd1b8..0a8ae49 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -432,16 +432,27 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 33(g_tTex1di4) DescriptorSet 0
+                              Decorate 33(g_tTex1di4) Binding 0
                               Decorate 46(g_tTex1du4) DescriptorSet 0
+                              Decorate 46(g_tTex1du4) Binding 0
                               Decorate 56(g_tTex2df4) DescriptorSet 0
+                              Decorate 56(g_tTex2df4) Binding 0
                               Decorate 67(g_tTex2di4) DescriptorSet 0
+                              Decorate 67(g_tTex2di4) Binding 0
                               Decorate 78(g_tTex2du4) DescriptorSet 0
+                              Decorate 78(g_tTex2du4) Binding 0
                               Decorate 90(g_tTex3df4) DescriptorSet 0
+                              Decorate 90(g_tTex3df4) Binding 0
                               Decorate 101(g_tTex3di4) DescriptorSet 0
+                              Decorate 101(g_tTex3di4) Binding 0
                               Decorate 111(g_tTex3du4) DescriptorSet 0
+                              Decorate 111(g_tTex3du4) Binding 0
                               Decorate 124(g_tTexcdf4) DescriptorSet 0
+                              Decorate 124(g_tTexcdf4) Binding 0
                               Decorate 133(g_tTexcdi4) DescriptorSet 0
+                              Decorate 133(g_tTexcdi4) Binding 0
                               Decorate 142(g_tTexcdu4) DescriptorSet 0
+                              Decorate 142(g_tTexcdu4) Binding 0
                               Decorate 158(@entryPointOutput.Pos) BuiltIn Position
                               Decorate 161(g_tTex1df4a) DescriptorSet 0
                               Decorate 161(g_tTex1df4a) Binding 1
diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
index 36c932c..b007ee1 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -448,20 +448,31 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 34(g_tTex1di4) DescriptorSet 0
+                              Decorate 34(g_tTex1di4) Binding 0
                               Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) Binding 0
                               Decorate 57(g_tTex2df4) DescriptorSet 0
+                              Decorate 57(g_tTex2df4) Binding 0
                               Decorate 71(g_tTex2di4) DescriptorSet 0
+                              Decorate 71(g_tTex2di4) Binding 0
                               Decorate 83(g_tTex2du4) DescriptorSet 0
+                              Decorate 83(g_tTex2du4) Binding 0
                               Decorate 97(g_tTex3df4) DescriptorSet 0
+                              Decorate 97(g_tTex3df4) Binding 0
                               Decorate 110(g_tTex3di4) DescriptorSet 0
+                              Decorate 110(g_tTex3di4) Binding 0
                               Decorate 121(g_tTex3du4) DescriptorSet 0
+                              Decorate 121(g_tTex3du4) Binding 0
                               Decorate 145(@entryPointOutput.Color) Location 0
                               Decorate 149(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 152(g_tTex1df4a) DescriptorSet 0
                               Decorate 152(g_tTex1df4a) Binding 1
                               Decorate 155(g_tTexcdf4) DescriptorSet 0
+                              Decorate 155(g_tTexcdf4) Binding 0
                               Decorate 158(g_tTexcdi4) DescriptorSet 0
+                              Decorate 158(g_tTexcdi4) Binding 0
                               Decorate 161(g_tTexcdu4) DescriptorSet 0
+                              Decorate 161(g_tTexcdu4) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
index bc6fd6b..302bc81 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -337,10 +337,15 @@
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
                               Decorate 37(g_tTex1di4) DescriptorSet 0
+                              Decorate 37(g_tTex1di4) Binding 0
                               Decorate 52(g_tTex1du4) DescriptorSet 0
+                              Decorate 52(g_tTex1du4) Binding 0
                               Decorate 64(g_tTex2df4) DescriptorSet 0
+                              Decorate 64(g_tTex2df4) Binding 0
                               Decorate 77(g_tTex2di4) DescriptorSet 0
+                              Decorate 77(g_tTex2di4) Binding 0
                               Decorate 88(g_tTex2du4) DescriptorSet 0
+                              Decorate 88(g_tTex2du4) Binding 0
                               Decorate 111(@entryPointOutput.Color) Location 0
                               Decorate 115(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 118(g_tTex1df4a) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.snorm.uav.comp.out b/Test/baseResults/hlsl.snorm.uav.comp.out
index 2d6dae7..4c5e603 100644
--- a/Test/baseResults/hlsl.snorm.uav.comp.out
+++ b/Test/baseResults/hlsl.snorm.uav.comp.out
@@ -141,6 +141,7 @@
                               MemberDecorate 25($Global) 0 Offset 0
                               Decorate 25($Global) Block
                               Decorate 27 DescriptorSet 0
+                              Decorate 27 Binding 0
                               Decorate 34(ResultOutS) DescriptorSet 0
                               Decorate 34(ResultOutS) Binding 1
                               Decorate 39(ResultInU) DescriptorSet 0
diff --git a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
index 6436db7..29a14c4 100644
--- a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
+++ b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out
@@ -119,6 +119,7 @@
                               MemberDecorate 28(buffer) 0 Offset 0
                               Decorate 28(buffer) BufferBlock
                               Decorate 30(buffer) DescriptorSet 0
+                              Decorate 30(buffer) Binding 0
                               Decorate 37(dispatchThreadID) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out
index 82033cf..15263c5 100644
--- a/Test/baseResults/hlsl.stringtoken.frag.out
+++ b/Test/baseResults/hlsl.stringtoken.frag.out
@@ -91,9 +91,11 @@
                               Name 33  ""
                               Decorate 25(@entryPointOutput.Color) Location 0
                               Decorate 30(TestTexture) DescriptorSet 0
+                              Decorate 30(TestTexture) Binding 0
                               MemberDecorate 31($Global) 0 Offset 0
                               Decorate 31($Global) Block
                               Decorate 33 DescriptorSet 0
+                              Decorate 33 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
index 4f5fb6f..192041f 100644
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -296,6 +296,7 @@
                               MemberDecorate 99($Global) 2 Offset 1636
                               Decorate 99($Global) Block
                               Decorate 101 DescriptorSet 0
+                              Decorate 101 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.structIoFourWay.frag.out b/Test/baseResults/hlsl.structIoFourWay.frag.out
index f60c80b..32ac68f 100644
--- a/Test/baseResults/hlsl.structIoFourWay.frag.out
+++ b/Test/baseResults/hlsl.structIoFourWay.frag.out
@@ -220,9 +220,11 @@
                               MemberDecorate 59($Global) 0 Offset 0
                               Decorate 59($Global) Block
                               Decorate 61 DescriptorSet 0
+                              Decorate 61 Binding 0
                               MemberDecorate 62(buff) 0 Offset 96
                               Decorate 62(buff) Block
                               Decorate 64 DescriptorSet 0
+                              Decorate 64 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.structarray.flatten.frag.out b/Test/baseResults/hlsl.structarray.flatten.frag.out
index e657c46..5d34aec 100644
--- a/Test/baseResults/hlsl.structarray.flatten.frag.out
+++ b/Test/baseResults/hlsl.structarray.flatten.frag.out
@@ -199,22 +199,38 @@
                               Name 78  "g_texdata_array2[2].tex"
                               Name 79  "g_texdata_array2[2].nonopaque_thing"
                               Decorate 18(g_texdata.tex) DescriptorSet 0
+                              Decorate 18(g_texdata.tex) Binding 0
                               Decorate 22(g_texdata.samp) DescriptorSet 0
+                              Decorate 22(g_texdata.samp) Binding 0
                               Decorate 28(g_texdata_array[1].tex) DescriptorSet 0
+                              Decorate 28(g_texdata_array[1].tex) Binding 0
                               Decorate 30(g_texdata_array[1].samp) DescriptorSet 0
+                              Decorate 30(g_texdata_array[1].samp) Binding 0
                               Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0
+                              Decorate 40(g_texdata_array2[1].tex) Binding 0
                               Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0
+                              Decorate 45(g_texdata_array2[1].samp) Binding 0
                               Decorate 59(ps_output.color) Location 0
                               Decorate 62(g_samp) DescriptorSet 0
+                              Decorate 62(g_samp) Binding 0
                               Decorate 63(g_tex) DescriptorSet 0
+                              Decorate 63(g_tex) Binding 0
                               Decorate 66(g_texdata_array[0].samp) DescriptorSet 0
+                              Decorate 66(g_texdata_array[0].samp) Binding 0
                               Decorate 67(g_texdata_array[0].tex) DescriptorSet 0
+                              Decorate 67(g_texdata_array[0].tex) Binding 0
                               Decorate 70(g_texdata_array[2].samp) DescriptorSet 0
+                              Decorate 70(g_texdata_array[2].samp) Binding 0
                               Decorate 71(g_texdata_array[2].tex) DescriptorSet 0
+                              Decorate 71(g_texdata_array[2].tex) Binding 0
                               Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0
+                              Decorate 73(g_texdata_array2[0].samp) Binding 0
                               Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0
+                              Decorate 74(g_texdata_array2[0].tex) Binding 0
                               Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0
+                              Decorate 77(g_texdata_array2[2].samp) Binding 0
                               Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0
+                              Decorate 78(g_texdata_array2[2].tex) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
index c850c10..36050fb 100644
--- a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
@@ -190,17 +190,24 @@
                               Decorate 9 BufferBlock
                               Decorate 12 BufferBlock
                               Decorate 49(sbuf_a) DescriptorSet 0
+                              Decorate 49(sbuf_a) Binding 0
                               Decorate 50(sbuf_a@count) DescriptorSet 0
+                              Decorate 50(sbuf_a@count) Binding 0
                               Decorate 51(sbuf_c) DescriptorSet 0
+                              Decorate 51(sbuf_c) Binding 0
                               Decorate 52(sbuf_c@count) DescriptorSet 0
+                              Decorate 52(sbuf_c@count) Binding 0
                               Decorate 58(pos) Flat
                               Decorate 58(pos) Location 0
                               Decorate 61(@entryPointOutput) Location 0
                               MemberDecorate 65(sbuf_a@count) 0 Offset 0
                               Decorate 65(sbuf_a@count) BufferBlock
                               Decorate 67(sbuf_a@count) DescriptorSet 0
+                              Decorate 67(sbuf_a@count) Binding 0
                               Decorate 68(sbuf_c@count) DescriptorSet 0
+                              Decorate 68(sbuf_c@count) Binding 0
                               Decorate 69(sbuf_unused) DescriptorSet 0
+                              Decorate 69(sbuf_unused) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/hlsl.structbuffer.append.frag.out b/Test/baseResults/hlsl.structbuffer.append.frag.out
index dff47f8..2e5c564 100644
--- a/Test/baseResults/hlsl.structbuffer.append.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.append.frag.out
@@ -153,15 +153,20 @@
                               MemberDecorate 15(sbuf_a) 0 Offset 0
                               Decorate 15(sbuf_a) BufferBlock
                               Decorate 17(sbuf_a) DescriptorSet 0
+                              Decorate 17(sbuf_a) Binding 0
                               MemberDecorate 20(sbuf_a@count) 0 Offset 0
                               Decorate 20(sbuf_a@count) BufferBlock
                               Decorate 22(sbuf_a@count) DescriptorSet 0
+                              Decorate 22(sbuf_a@count) Binding 0
                               Decorate 35(sbuf_c) DescriptorSet 0
+                              Decorate 35(sbuf_c) Binding 0
                               Decorate 36(sbuf_c@count) DescriptorSet 0
+                              Decorate 36(sbuf_c@count) Binding 0
                               Decorate 48(pos) Flat
                               Decorate 48(pos) Location 0
                               Decorate 51(@entryPointOutput) Location 0
                               Decorate 55(sbuf_unused) DescriptorSet 0
+                              Decorate 55(sbuf_unused) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
diff --git a/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
index 603bc0f..e242cf6 100644
--- a/Test/baseResults/hlsl.structbuffer.atomics.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
@@ -499,6 +499,7 @@
                               MemberDecorate 15(sbuf) 0 Offset 0
                               Decorate 15(sbuf) BufferBlock
                               Decorate 17(sbuf) DescriptorSet 0
+                              Decorate 17(sbuf) Binding 0
                               Decorate 80(pos) Flat
                               Decorate 80(pos) Location 0
                               Decorate 83(@entryPointOutput) Location 0
diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out
index a23ccd2..26c7a06 100644
--- a/Test/baseResults/hlsl.structbuffer.byte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out
@@ -352,6 +352,7 @@
                               MemberDecorate 16(sbuf) 0 Offset 0
                               Decorate 16(sbuf) BufferBlock
                               Decorate 18(sbuf) DescriptorSet 0
+                              Decorate 18(sbuf) Binding 0
                               Decorate 107(pos) Flat
                               Decorate 107(pos) Location 0
                               Decorate 110(@entryPointOutput) Location 0
diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
index 738e13d..b33b44d 100644
--- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
@@ -208,6 +208,7 @@
                               MemberDecorate 15(sbuf2) 0 Offset 0
                               Decorate 15(sbuf2) BufferBlock
                               Decorate 17(sbuf2) DescriptorSet 0
+                              Decorate 17(sbuf2) Binding 0
                               MemberDecorate 28(sb_t) 0 Offset 0
                               MemberDecorate 28(sb_t) 1 Offset 12
                               Decorate 29 ArrayStride 16
@@ -215,6 +216,7 @@
                               MemberDecorate 30(sbuf) 0 Offset 0
                               Decorate 30(sbuf) BufferBlock
                               Decorate 32(sbuf) DescriptorSet 0
+                              Decorate 32(sbuf) Binding 0
                               Decorate 71(pos) Flat
                               Decorate 71(pos) Location 0
                               Decorate 74(@entryPointOutput) Location 0
diff --git a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
index 82e307b..fbb07c2 100644
--- a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
+++ b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
@@ -224,11 +224,14 @@
                               MemberDecorate 26(csb@count) 0 Offset 0
                               Decorate 26(csb@count) BufferBlock
                               Decorate 28(csb@count) DescriptorSet 0
+                              Decorate 28(csb@count) Binding 0
                               Decorate 58(outtx) DescriptorSet 0
+                              Decorate 58(outtx) Binding 0
                               Decorate 63 ArrayStride 16
                               MemberDecorate 64(rwsb) 0 Offset 0
                               Decorate 64(rwsb) BufferBlock
                               Decorate 66(rwsb) DescriptorSet 0
+                              Decorate 66(rwsb) Binding 0
                               Decorate 80(nThreadId) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.structbuffer.fn.frag.out b/Test/baseResults/hlsl.structbuffer.fn.frag.out
index 1dcd571..085d9dd 100644
--- a/Test/baseResults/hlsl.structbuffer.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.fn.frag.out
@@ -191,7 +191,9 @@
                               Decorate 18 BufferBlock
                               Decorate 20 BufferBlock
                               Decorate 47(sbuf2) DescriptorSet 0
+                              Decorate 47(sbuf2) Binding 0
                               Decorate 48(sbuf2@count) DescriptorSet 0
+                              Decorate 48(sbuf2@count) Binding 0
                               Decorate 50(sbuf) DescriptorSet 0
                               Decorate 50(sbuf) Binding 10
                               Decorate 63(pos) Flat
@@ -200,6 +202,7 @@
                               MemberDecorate 70(sbuf2@count) 0 Offset 0
                               Decorate 70(sbuf2@count) BufferBlock
                               Decorate 72(sbuf2@count) DescriptorSet 0
+                              Decorate 72(sbuf2@count) Binding 0
                               Decorate 74 ArrayStride 16
                               MemberDecorate 75(sbuf3) 0 NonWritable
                               MemberDecorate 75(sbuf3) 0 Offset 0
diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out
index af76bfb..9a67fd7 100644
--- a/Test/baseResults/hlsl.structbuffer.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.frag.out
@@ -235,6 +235,7 @@
                               MemberDecorate 59(sbuf2) 0 Offset 0
                               Decorate 59(sbuf2) BufferBlock
                               Decorate 61(sbuf2) DescriptorSet 0
+                              Decorate 61(sbuf2) Binding 0
                               Decorate 89(pos) Flat
                               Decorate 89(pos) Location 0
                               Decorate 92(@entryPointOutput) Location 0
diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out
index 8b84a73..5c73619 100644
--- a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out
+++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out
@@ -33,12 +33,17 @@
                               MemberDecorate 20(sbuf_rw_i) 0 Offset 0
                               Decorate 20(sbuf_rw_i) BufferBlock
                               Decorate 22(sbuf_rw_i) DescriptorSet 0
+                              Decorate 22(sbuf_rw_i) Binding 0
                               Decorate 26(sbuf_rw_d) DescriptorSet 0
+                              Decorate 26(sbuf_rw_d) Binding 0
                               Decorate 27(sbuf_rw_nocounter) DescriptorSet 0
+                              Decorate 27(sbuf_rw_nocounter) Binding 0
                               MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0
                               Decorate 34(sbuf_rw_i@count) BufferBlock
                               Decorate 36(sbuf_rw_i@count) DescriptorSet 0
+                              Decorate 36(sbuf_rw_i@count) Binding 0
                               Decorate 42(sbuf_rw_d@count) DescriptorSet 0
+                              Decorate 42(sbuf_rw_d@count) Binding 0
                               Decorate 63(pos) Flat
                               Decorate 63(pos) Location 0
                               DecorateStringGOOGLE 63(pos) DecorationHlslSemanticGOOGLE  "FOO"
diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.out
index 5c8afd9..452e9ee 100644
--- a/Test/baseResults/hlsl.structbuffer.incdec.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.out
@@ -236,12 +236,17 @@
                               MemberDecorate 20(sbuf_rw_i) 0 Offset 0
                               Decorate 20(sbuf_rw_i) BufferBlock
                               Decorate 22(sbuf_rw_i) DescriptorSet 0
+                              Decorate 22(sbuf_rw_i) Binding 0
                               Decorate 26(sbuf_rw_d) DescriptorSet 0
+                              Decorate 26(sbuf_rw_d) Binding 0
                               Decorate 27(sbuf_rw_nocounter) DescriptorSet 0
+                              Decorate 27(sbuf_rw_nocounter) Binding 0
                               MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0
                               Decorate 34(sbuf_rw_i@count) BufferBlock
                               Decorate 36(sbuf_rw_i@count) DescriptorSet 0
+                              Decorate 36(sbuf_rw_i@count) Binding 0
                               Decorate 42(sbuf_rw_d@count) DescriptorSet 0
+                              Decorate 42(sbuf_rw_d@count) Binding 0
                               Decorate 63(pos) Flat
                               Decorate 63(pos) Location 0
                               Decorate 66(@entryPointOutput) Location 0
diff --git a/Test/baseResults/hlsl.structbuffer.rw.frag.out b/Test/baseResults/hlsl.structbuffer.rw.frag.out
index 13a5956..ceccd5b 100644
--- a/Test/baseResults/hlsl.structbuffer.rw.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rw.frag.out
@@ -207,12 +207,14 @@
                               MemberDecorate 15(sbuf2) 0 Offset 0
                               Decorate 15(sbuf2) BufferBlock
                               Decorate 17(sbuf2) DescriptorSet 0
+                              Decorate 17(sbuf2) Binding 0
                               MemberDecorate 28(sb_t) 0 Offset 0
                               MemberDecorate 28(sb_t) 1 Offset 12
                               Decorate 29 ArrayStride 16
                               MemberDecorate 30(sbuf) 0 Offset 0
                               Decorate 30(sbuf) BufferBlock
                               Decorate 32(sbuf) DescriptorSet 0
+                              Decorate 32(sbuf) Binding 0
                               Decorate 71(pos) Flat
                               Decorate 71(pos) Location 0
                               Decorate 74(@entryPointOutput) Location 0
diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
index 690a0da..00a055e 100644
--- a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
@@ -1035,6 +1035,7 @@
                               MemberDecorate 16(sbuf) 0 Offset 0
                               Decorate 16(sbuf) BufferBlock
                               Decorate 18(sbuf) DescriptorSet 0
+                              Decorate 18(sbuf) Binding 0
                               Decorate 232(pos) Flat
                               Decorate 232(pos) Location 0
                               Decorate 235(@entryPointOutput) Location 0
diff --git a/Test/baseResults/hlsl.subpass.frag.out b/Test/baseResults/hlsl.subpass.frag.out
index 99aeb96..ad5a013 100644
--- a/Test/baseResults/hlsl.subpass.frag.out
+++ b/Test/baseResults/hlsl.subpass.frag.out
@@ -497,52 +497,76 @@
                               Decorate 15(subpass_f4) Binding 1
                               Decorate 15(subpass_f4) InputAttachmentIndex 1
                               Decorate 27(subpass_i4) DescriptorSet 0
+                              Decorate 27(subpass_i4) Binding 0
                               Decorate 27(subpass_i4) InputAttachmentIndex 2
                               Decorate 36(subpass_u4) DescriptorSet 0
+                              Decorate 36(subpass_u4) Binding 0
                               Decorate 36(subpass_u4) InputAttachmentIndex 3
                               Decorate 42(subpass_ms_f4) DescriptorSet 0
+                              Decorate 42(subpass_ms_f4) Binding 0
                               Decorate 42(subpass_ms_f4) InputAttachmentIndex 4
                               Decorate 49(subpass_ms_i4) DescriptorSet 0
+                              Decorate 49(subpass_ms_i4) Binding 0
                               Decorate 49(subpass_ms_i4) InputAttachmentIndex 5
                               Decorate 55(subpass_ms_u4) DescriptorSet 0
+                              Decorate 55(subpass_ms_u4) Binding 0
                               Decorate 55(subpass_ms_u4) InputAttachmentIndex 6
                               Decorate 61(subpass_f3) DescriptorSet 0
+                              Decorate 61(subpass_f3) Binding 0
                               Decorate 61(subpass_f3) InputAttachmentIndex 1
                               Decorate 71(subpass_i3) DescriptorSet 0
+                              Decorate 71(subpass_i3) Binding 0
                               Decorate 71(subpass_i3) InputAttachmentIndex 2
                               Decorate 81(subpass_u3) DescriptorSet 0
+                              Decorate 81(subpass_u3) Binding 0
                               Decorate 81(subpass_u3) InputAttachmentIndex 3
                               Decorate 89(subpass_ms_f3) DescriptorSet 0
+                              Decorate 89(subpass_ms_f3) Binding 0
                               Decorate 89(subpass_ms_f3) InputAttachmentIndex 4
                               Decorate 97(subpass_ms_i3) DescriptorSet 0
+                              Decorate 97(subpass_ms_i3) Binding 0
                               Decorate 97(subpass_ms_i3) InputAttachmentIndex 5
                               Decorate 105(subpass_ms_u3) DescriptorSet 0
+                              Decorate 105(subpass_ms_u3) Binding 0
                               Decorate 105(subpass_ms_u3) InputAttachmentIndex 6
                               Decorate 115(subpass_f2) DescriptorSet 0
+                              Decorate 115(subpass_f2) Binding 0
                               Decorate 115(subpass_f2) InputAttachmentIndex 1
                               Decorate 123(subpass_i2) DescriptorSet 0
+                              Decorate 123(subpass_i2) Binding 0
                               Decorate 123(subpass_i2) InputAttachmentIndex 2
                               Decorate 132(subpass_u2) DescriptorSet 0
+                              Decorate 132(subpass_u2) Binding 0
                               Decorate 132(subpass_u2) InputAttachmentIndex 3
                               Decorate 139(subpass_ms_f2) DescriptorSet 0
+                              Decorate 139(subpass_ms_f2) Binding 0
                               Decorate 139(subpass_ms_f2) InputAttachmentIndex 4
                               Decorate 147(subpass_ms_i2) DescriptorSet 0
+                              Decorate 147(subpass_ms_i2) Binding 0
                               Decorate 147(subpass_ms_i2) InputAttachmentIndex 5
                               Decorate 154(subpass_ms_u2) DescriptorSet 0
+                              Decorate 154(subpass_ms_u2) Binding 0
                               Decorate 154(subpass_ms_u2) InputAttachmentIndex 6
                               Decorate 162(subpass_f) DescriptorSet 0
+                              Decorate 162(subpass_f) Binding 0
                               Decorate 162(subpass_f) InputAttachmentIndex 1
                               Decorate 168(subpass_i) DescriptorSet 0
+                              Decorate 168(subpass_i) Binding 0
                               Decorate 168(subpass_i) InputAttachmentIndex 2
                               Decorate 174(subpass_u) DescriptorSet 0
+                              Decorate 174(subpass_u) Binding 0
                               Decorate 174(subpass_u) InputAttachmentIndex 3
                               Decorate 179(subpass_ms_f) DescriptorSet 0
+                              Decorate 179(subpass_ms_f) Binding 0
                               Decorate 179(subpass_ms_f) InputAttachmentIndex 4
                               Decorate 184(subpass_ms_i) DescriptorSet 0
+                              Decorate 184(subpass_ms_i) Binding 0
                               Decorate 184(subpass_ms_i) InputAttachmentIndex 5
                               Decorate 189(subpass_ms_u) DescriptorSet 0
+                              Decorate 189(subpass_ms_u) Binding 0
                               Decorate 189(subpass_ms_u) InputAttachmentIndex 6
                               Decorate 194(subpass_2) DescriptorSet 0
+                              Decorate 194(subpass_2) Binding 0
                               Decorate 194(subpass_2) InputAttachmentIndex 7
                               Decorate 202(@entryPointOutput) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.texture.struct.frag.out b/Test/baseResults/hlsl.texture.struct.frag.out
index 607c49e..6fc5428 100644
--- a/Test/baseResults/hlsl.texture.struct.frag.out
+++ b/Test/baseResults/hlsl.texture.struct.frag.out
@@ -905,12 +905,19 @@
                               Name 230  "param"
                               Name 238  "@entryPointOutput"
                               Decorate 30(g_sSamp) DescriptorSet 0
+                              Decorate 30(g_sSamp) Binding 0
                               Decorate 90(g_tTex2s1) DescriptorSet 0
+                              Decorate 90(g_tTex2s1) Binding 0
                               Decorate 114(g_tTex2s2) DescriptorSet 0
+                              Decorate 114(g_tTex2s2) Binding 0
                               Decorate 140(g_tTex2s3) DescriptorSet 0
+                              Decorate 140(g_tTex2s3) Binding 0
                               Decorate 168(g_tTex2s4) DescriptorSet 0
+                              Decorate 168(g_tTex2s4) Binding 0
                               Decorate 202(g_tTex2s5) DescriptorSet 0
+                              Decorate 202(g_tTex2s5) Binding 0
                               Decorate 229(g_tTex2s1a) DescriptorSet 0
+                              Decorate 229(g_tTex2s1a) Binding 0
                               Decorate 238(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.texture.subvec4.frag.out b/Test/baseResults/hlsl.texture.subvec4.frag.out
index bf0f146..1beb027 100644
--- a/Test/baseResults/hlsl.texture.subvec4.frag.out
+++ b/Test/baseResults/hlsl.texture.subvec4.frag.out
@@ -386,14 +386,23 @@
                               Name 118  "g_tTex2df4"
                               Name 128  "@entryPointOutput"
                               Decorate 17(g_tTex2dmsf1) DescriptorSet 0
+                              Decorate 17(g_tTex2dmsf1) Binding 0
                               Decorate 33(g_tTex2dmsf2) DescriptorSet 0
+                              Decorate 33(g_tTex2dmsf2) Binding 0
                               Decorate 43(g_tTex2dmsf3) DescriptorSet 0
+                              Decorate 43(g_tTex2dmsf3) Binding 0
                               Decorate 53(g_tTex2dmsf4) DescriptorSet 0
+                              Decorate 53(g_tTex2dmsf4) Binding 0
                               Decorate 88(g_tTex2df1) DescriptorSet 0
+                              Decorate 88(g_tTex2df1) Binding 0
                               Decorate 92(g_sSamp) DescriptorSet 0
+                              Decorate 92(g_sSamp) Binding 0
                               Decorate 101(g_tTex2df2) DescriptorSet 0
+                              Decorate 101(g_tTex2df2) Binding 0
                               Decorate 109(g_tTex2df3) DescriptorSet 0
+                              Decorate 109(g_tTex2df3) Binding 0
                               Decorate 118(g_tTex2df4) DescriptorSet 0
+                              Decorate 118(g_tTex2df4) Binding 0
                               Decorate 128(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.texturebuffer.frag.out b/Test/baseResults/hlsl.texturebuffer.frag.out
index 89b5c54..0f761af 100644
--- a/Test/baseResults/hlsl.texturebuffer.frag.out
+++ b/Test/baseResults/hlsl.texturebuffer.frag.out
@@ -107,6 +107,7 @@
                               MemberDecorate 22(tbuf2) 1 Offset 16
                               Decorate 22(tbuf2) BufferBlock
                               Decorate 24 DescriptorSet 0
+                              Decorate 24 Binding 0
                               Decorate 32(pos) BuiltIn FragCoord
                               Decorate 35(@entryPointOutput) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out
index 400beb6..f5c8288 100644
--- a/Test/baseResults/hlsl.tx.bracket.frag.out
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -493,25 +493,40 @@
                               MemberDecorate 45($Global) 7 Offset 80
                               Decorate 45($Global) Block
                               Decorate 47 DescriptorSet 0
+                              Decorate 47 Binding 0
                               Decorate 57(g_tTex1df4) DescriptorSet 0
                               Decorate 57(g_tTex1df4) Binding 0
                               Decorate 72(g_tTex1di4) DescriptorSet 0
+                              Decorate 72(g_tTex1di4) Binding 0
                               Decorate 80(g_tTex1du4) DescriptorSet 0
+                              Decorate 80(g_tTex1du4) Binding 0
                               Decorate 88(g_tTex2df4) DescriptorSet 0
+                              Decorate 88(g_tTex2df4) Binding 0
                               Decorate 98(g_tTex2di4) DescriptorSet 0
+                              Decorate 98(g_tTex2di4) Binding 0
                               Decorate 106(g_tTex2du4) DescriptorSet 0
+                              Decorate 106(g_tTex2du4) Binding 0
                               Decorate 114(g_tTex3df4) DescriptorSet 0
+                              Decorate 114(g_tTex3df4) Binding 0
                               Decorate 124(g_tTex3di4) DescriptorSet 0
+                              Decorate 124(g_tTex3di4) Binding 0
                               Decorate 132(g_tTex3du4) DescriptorSet 0
+                              Decorate 132(g_tTex3du4) Binding 0
                               Decorate 164(@entryPointOutput.Color) Location 0
                               Decorate 169(g_sSamp) DescriptorSet 0
                               Decorate 169(g_sSamp) Binding 0
                               Decorate 172(g_tTex1df4a) DescriptorSet 0
+                              Decorate 172(g_tTex1df4a) Binding 0
                               Decorate 175(g_tTex1di4a) DescriptorSet 0
+                              Decorate 175(g_tTex1di4a) Binding 0
                               Decorate 178(g_tTex1du4a) DescriptorSet 0
+                              Decorate 178(g_tTex1du4a) Binding 0
                               Decorate 181(g_tTex2df4a) DescriptorSet 0
+                              Decorate 181(g_tTex2df4a) Binding 0
                               Decorate 184(g_tTex2di4a) DescriptorSet 0
+                              Decorate 184(g_tTex2di4a) Binding 0
                               Decorate 187(g_tTex2du4a) DescriptorSet 0
+                              Decorate 187(g_tTex2du4a) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/hlsl.tx.overload.frag.out b/Test/baseResults/hlsl.tx.overload.frag.out
index c8d064a..3277954 100644
--- a/Test/baseResults/hlsl.tx.overload.frag.out
+++ b/Test/baseResults/hlsl.tx.overload.frag.out
@@ -163,9 +163,13 @@
                               Name 64  "param"
                               Name 71  "@entryPointOutput"
                               Decorate 45(tf1) DescriptorSet 0
+                              Decorate 45(tf1) Binding 0
                               Decorate 49(tf4) DescriptorSet 0
+                              Decorate 49(tf4) Binding 0
                               Decorate 56(twf1) DescriptorSet 0
+                              Decorate 56(twf1) Binding 0
                               Decorate 63(twf4) DescriptorSet 0
+                              Decorate 63(twf4) Binding 0
                               Decorate 71(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.typeGraphCopy.vert.out b/Test/baseResults/hlsl.typeGraphCopy.vert.out
index c0c7227..8509cc4 100644
--- a/Test/baseResults/hlsl.typeGraphCopy.vert.out
+++ b/Test/baseResults/hlsl.typeGraphCopy.vert.out
@@ -96,6 +96,7 @@
                               MemberDecorate 14($Global) 0 Offset 0
                               Decorate 14($Global) Block
                               Decorate 16 DescriptorSet 0
+                              Decorate 16 Binding 0
                               Decorate 26(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.wavebroadcast.comp.out b/Test/baseResults/hlsl.wavebroadcast.comp.out
index 0dfd9ef..f1c9679 100644
--- a/Test/baseResults/hlsl.wavebroadcast.comp.out
+++ b/Test/baseResults/hlsl.wavebroadcast.comp.out
@@ -2333,6 +2333,7 @@
                               MemberDecorate 22(data) 0 Offset 0
                               Decorate 22(data) BufferBlock
                               Decorate 24(data) DescriptorSet 0
+                              Decorate 24(data) Binding 0
                               Decorate 354(dti) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.waveprefix.comp.out b/Test/baseResults/hlsl.waveprefix.comp.out
index 9736b4e..a9a4b75 100644
--- a/Test/baseResults/hlsl.waveprefix.comp.out
+++ b/Test/baseResults/hlsl.waveprefix.comp.out
@@ -2357,6 +2357,7 @@
                               MemberDecorate 22(data) 0 Offset 0
                               Decorate 22(data) BufferBlock
                               Decorate 24(data) DescriptorSet 0
+                              Decorate 24(data) Binding 0
                               Decorate 364(dti) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.wavequad.comp.out b/Test/baseResults/hlsl.wavequad.comp.out
index 56ef6d7..e7e10f1 100644
--- a/Test/baseResults/hlsl.wavequad.comp.out
+++ b/Test/baseResults/hlsl.wavequad.comp.out
@@ -8060,6 +8060,7 @@
                               MemberDecorate 22(data) 0 Offset 0
                               Decorate 22(data) BufferBlock
                               Decorate 24(data) DescriptorSet 0
+                              Decorate 24(data) Binding 0
                               Decorate 1115(dti) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.wavequery.comp.out b/Test/baseResults/hlsl.wavequery.comp.out
index 5f70124..c25a537 100644
--- a/Test/baseResults/hlsl.wavequery.comp.out
+++ b/Test/baseResults/hlsl.wavequery.comp.out
@@ -81,6 +81,7 @@
                               MemberDecorate 10(data) 0 Offset 0
                               Decorate 10(data) BufferBlock
                               Decorate 12(data) DescriptorSet 0
+                              Decorate 12(data) Binding 0
                               Decorate 16(@gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
                               Decorate 21(@gl_SubgroupSize) BuiltIn SubgroupSize
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.wavereduction.comp.out b/Test/baseResults/hlsl.wavereduction.comp.out
index f922f3d..3e0d3fb 100644
--- a/Test/baseResults/hlsl.wavereduction.comp.out
+++ b/Test/baseResults/hlsl.wavereduction.comp.out
@@ -6221,6 +6221,7 @@
                               MemberDecorate 22(data) 0 Offset 0
                               Decorate 22(data) BufferBlock
                               Decorate 24(data) DescriptorSet 0
+                              Decorate 24(data) Binding 0
                               Decorate 896(dti) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.wavevote.comp.out b/Test/baseResults/hlsl.wavevote.comp.out
index 04f2f98..7b671bf 100644
--- a/Test/baseResults/hlsl.wavevote.comp.out
+++ b/Test/baseResults/hlsl.wavevote.comp.out
@@ -230,6 +230,7 @@
                               MemberDecorate 15(data) 0 Offset 0
                               Decorate 15(data) BufferBlock
                               Decorate 17(data) DescriptorSet 0
+                              Decorate 17(data) Binding 0
                               Decorate 70(dti) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.y-negate-1.vert.out b/Test/baseResults/hlsl.y-negate-1.vert.out
index 257d56c..c086cc0 100644
--- a/Test/baseResults/hlsl.y-negate-1.vert.out
+++ b/Test/baseResults/hlsl.y-negate-1.vert.out
@@ -90,6 +90,7 @@
                               MemberDecorate 11($Global) 0 Offset 0
                               Decorate 11($Global) Block
                               Decorate 13 DescriptorSet 0
+                              Decorate 13 Binding 0
                               Decorate 32(@entryPointOutput) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.y-negate-2.vert.out b/Test/baseResults/hlsl.y-negate-2.vert.out
index a234a2e..4e6f189 100644
--- a/Test/baseResults/hlsl.y-negate-2.vert.out
+++ b/Test/baseResults/hlsl.y-negate-2.vert.out
@@ -101,6 +101,7 @@
                               MemberDecorate 13($Global) 0 Offset 0
                               Decorate 13($Global) Block
                               Decorate 15 DescriptorSet 0
+                              Decorate 15 Binding 0
                               Decorate 35(position) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/hlsl.y-negate-3.vert.out b/Test/baseResults/hlsl.y-negate-3.vert.out
index 34bf8f9..6374551 100644
--- a/Test/baseResults/hlsl.y-negate-3.vert.out
+++ b/Test/baseResults/hlsl.y-negate-3.vert.out
@@ -150,6 +150,7 @@
                               MemberDecorate 16($Global) 0 Offset 0
                               Decorate 16($Global) Block
                               Decorate 18 DescriptorSet 0
+                              Decorate 18 Binding 0
                               Decorate 44(@entryPointOutput.pos) BuiltIn Position
                               Decorate 47(@entryPointOutput.somethingelse) Location 0
                2:             TypeVoid
diff --git a/Test/baseResults/link1.vk.frag.out b/Test/baseResults/link1.vk.frag.out
index 333594e..a24246a 100644
--- a/Test/baseResults/link1.vk.frag.out
+++ b/Test/baseResults/link1.vk.frag.out
@@ -228,10 +228,12 @@
                               MemberDecorate 62(bnameRuntime) 0 Offset 0
                               Decorate 62(bnameRuntime) BufferBlock
                               Decorate 64 DescriptorSet 0
+                              Decorate 64 Binding 0
                               Decorate 66 ArrayStride 4
                               MemberDecorate 67(bnameImplicit) 0 Offset 0
                               Decorate 67(bnameImplicit) BufferBlock
                               Decorate 69 DescriptorSet 0
+                              Decorate 69 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
index 211daba..7f180a9 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
@@ -17,16 +17,27 @@
                               Decorate 3305 DescriptorSet 0
                               Decorate 3305 Binding 0
                               Decorate 4743 DescriptorSet 0
+                              Decorate 4743 Binding 0
                               Decorate 4807 DescriptorSet 0
+                              Decorate 4807 Binding 0
                               Decorate 5042 DescriptorSet 0
+                              Decorate 5042 Binding 0
                               Decorate 5058 DescriptorSet 0
+                              Decorate 5058 Binding 0
                               Decorate 5122 DescriptorSet 0
+                              Decorate 5122 Binding 0
                               Decorate 3967 DescriptorSet 0
+                              Decorate 3967 Binding 0
                               Decorate 3983 DescriptorSet 0
+                              Decorate 3983 Binding 0
                               Decorate 4047 DescriptorSet 0
+                              Decorate 4047 Binding 0
                               Decorate 3789 DescriptorSet 0
+                              Decorate 3789 Binding 0
                               Decorate 3805 DescriptorSet 0
+                              Decorate 3805 Binding 0
                               Decorate 3869 DescriptorSet 0
+                              Decorate 3869 Binding 0
                               Decorate 4253 Location 0
                               Decorate 3709 BuiltIn FragDepth
                8:             TypeVoid
diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
index 24a1ade..577a135 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
@@ -69,20 +69,33 @@
                               Decorate 49(g_sSamp) DescriptorSet 0
                               Decorate 49(g_sSamp) Binding 0
                               Decorate 60(g_tTex1di4) DescriptorSet 0
+                              Decorate 60(g_tTex1di4) Binding 0
                               Decorate 73(g_tTex1du4) DescriptorSet 0
+                              Decorate 73(g_tTex1du4) Binding 0
                               Decorate 83(g_tTex2df4) DescriptorSet 0
+                              Decorate 83(g_tTex2df4) Binding 0
                               Decorate 94(g_tTex2di4) DescriptorSet 0
+                              Decorate 94(g_tTex2di4) Binding 0
                               Decorate 105(g_tTex2du4) DescriptorSet 0
+                              Decorate 105(g_tTex2du4) Binding 0
                               Decorate 117(g_tTex3df4) DescriptorSet 0
+                              Decorate 117(g_tTex3df4) Binding 0
                               Decorate 128(g_tTex3di4) DescriptorSet 0
+                              Decorate 128(g_tTex3di4) Binding 0
                               Decorate 138(g_tTex3du4) DescriptorSet 0
+                              Decorate 138(g_tTex3du4) Binding 0
                               Decorate 151(g_tTexcdf4) DescriptorSet 0
+                              Decorate 151(g_tTexcdf4) Binding 0
                               Decorate 160(g_tTexcdi4) DescriptorSet 0
+                              Decorate 160(g_tTexcdi4) Binding 0
                               Decorate 169(g_tTexcdu4) DescriptorSet 0
+                              Decorate 169(g_tTexcdu4) Binding 0
                               Decorate 188(@entryPointOutput.Color) Location 0
                               Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth
                               Decorate 195(g_sSamp2d) DescriptorSet 0
+                              Decorate 195(g_sSamp2d) Binding 0
                               Decorate 196(g_sSamp2D_b) DescriptorSet 0
+                              Decorate 196(g_sSamp2D_b) Binding 0
                               Decorate 197(g_tTex1df4a) DescriptorSet 0
                               Decorate 197(g_tTex1df4a) Binding 1
                2:             TypeVoid
diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
index 2108108..d7aea9f 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
@@ -17,20 +17,33 @@
                               Decorate 49 DescriptorSet 0
                               Decorate 49 Binding 0
                               Decorate 60 DescriptorSet 0
+                              Decorate 60 Binding 0
                               Decorate 73 DescriptorSet 0
+                              Decorate 73 Binding 0
                               Decorate 83 DescriptorSet 0
+                              Decorate 83 Binding 0
                               Decorate 94 DescriptorSet 0
+                              Decorate 94 Binding 0
                               Decorate 105 DescriptorSet 0
+                              Decorate 105 Binding 0
                               Decorate 117 DescriptorSet 0
+                              Decorate 117 Binding 0
                               Decorate 128 DescriptorSet 0
+                              Decorate 128 Binding 0
                               Decorate 138 DescriptorSet 0
+                              Decorate 138 Binding 0
                               Decorate 151 DescriptorSet 0
+                              Decorate 151 Binding 0
                               Decorate 160 DescriptorSet 0
+                              Decorate 160 Binding 0
                               Decorate 169 DescriptorSet 0
+                              Decorate 169 Binding 0
                               Decorate 188 Location 0
                               Decorate 192 BuiltIn FragDepth
                               Decorate 195 DescriptorSet 0
+                              Decorate 195 Binding 0
                               Decorate 196 DescriptorSet 0
+                              Decorate 196 Binding 0
                               Decorate 197 DescriptorSet 0
                               Decorate 197 Binding 1
                2:             TypeVoid
diff --git a/Test/baseResults/remap.uniformarray.none.frag.out b/Test/baseResults/remap.uniformarray.none.frag.out
index 6ed2d45..1087e5e 100644
--- a/Test/baseResults/remap.uniformarray.none.frag.out
+++ b/Test/baseResults/remap.uniformarray.none.frag.out
@@ -18,6 +18,7 @@
                               Name 52  "texSampler2D"
                               Decorate 47(gl_FragColor) Location 0
                               Decorate 52(texSampler2D) DescriptorSet 0
+                              Decorate 52(texSampler2D) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out
index ab6389c..67e2b82 100644
--- a/Test/baseResults/spv.130.frag.out
+++ b/Test/baseResults/spv.130.frag.out
@@ -59,24 +59,38 @@
                               Name 203  "s1D"
                               Name 204  "s2DS"
                               Decorate 21(samp2D) DescriptorSet 0
+                              Decorate 21(samp2D) Binding 0
                               Decorate 37(samp2DA) DescriptorSet 0
+                              Decorate 37(samp2DA) Binding 0
                               Decorate 47(samp2DR) DescriptorSet 0
+                              Decorate 47(samp2DR) Binding 0
                               Decorate 55(samp2DS) DescriptorSet 0
+                              Decorate 55(samp2DS) Binding 0
                               Decorate 72(Sca) DescriptorSet 0
+                              Decorate 72(Sca) Binding 0
                               Decorate 87(Isca) DescriptorSet 0
+                              Decorate 87(Isca) Binding 0
                               Decorate 103(Usca) DescriptorSet 0
+                              Decorate 103(Usca) Binding 0
                               Decorate 118(Scas) DescriptorSet 0
+                              Decorate 118(Scas) Binding 0
                               Decorate 167(sampC) DescriptorSet 0
+                              Decorate 167(sampC) Binding 0
                               Decorate 173(gl_ClipDistance) BuiltIn ClipDistance
                               Decorate 184(fflat) Flat
                               Decorate 186(fnop) NoPerspective
                               Decorate 193(bounds) DescriptorSet 0
                               Decorate 193(bounds) Binding 0
                               Decorate 194(s2D) DescriptorSet 0
+                              Decorate 194(s2D) Binding 0
                               Decorate 195(s2DR) DescriptorSet 0
+                              Decorate 195(s2DR) Binding 0
                               Decorate 199(s2DRS) DescriptorSet 0
+                              Decorate 199(s2DRS) Binding 0
                               Decorate 203(s1D) DescriptorSet 0
+                              Decorate 203(s1D) Binding 0
                               Decorate 204(s2DS) DescriptorSet 0
+                              Decorate 204(s2DS) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
               14:             TypeFloat 32
diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out
index 4c35351..abfd13a 100644
--- a/Test/baseResults/spv.140.frag.out
+++ b/Test/baseResults/spv.140.frag.out
@@ -38,8 +38,11 @@
                               Decorate 14(gl_FrontFacing) BuiltIn FrontFacing
                               Decorate 28(gl_ClipDistance) BuiltIn ClipDistance
                               Decorate 50(sampR) DescriptorSet 0
+                              Decorate 50(sampR) Binding 0
                               Decorate 58(sampB) DescriptorSet 0
+                              Decorate 58(sampB) Binding 0
                               Decorate 82(samp2Da) DescriptorSet 0
+                              Decorate 82(samp2Da) Binding 0
                               Decorate 85 ArrayStride 64
                               Decorate 86 ArrayStride 64
                               MemberDecorate 87(bn) 0 RowMajor
@@ -59,10 +62,12 @@
                               MemberDecorate 87(bn) 4 MatrixStride 16
                               Decorate 87(bn) Block
                               Decorate 89 DescriptorSet 0
+                              Decorate 89 Binding 0
                               Decorate 91 ArrayStride 16
                               MemberDecorate 92(bi) 0 Offset 0
                               Decorate 92(bi) Block
                               Decorate 95(bname) DescriptorSet 0
+                              Decorate 95(bname) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out
index 282f5f9..db058fa 100644
--- a/Test/baseResults/spv.150.vert.out
+++ b/Test/baseResults/spv.150.vert.out
@@ -34,6 +34,7 @@
                               MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
                               Decorate 11(gl_PerVertex) Block
                               Decorate 47(s2D) DescriptorSet 0
+                              Decorate 47(s2D) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.16bitstorage-int.frag.out b/Test/baseResults/spv.16bitstorage-int.frag.out
index 3f0fffd..a09cd87 100644
--- a/Test/baseResults/spv.16bitstorage-int.frag.out
+++ b/Test/baseResults/spv.16bitstorage-int.frag.out
@@ -93,6 +93,7 @@
                               MemberDecorate 17(B2) 7 Offset 472
                               Decorate 17(B2) BufferBlock
                               Decorate 19(b2) DescriptorSet 0
+                              Decorate 19(b2) Binding 0
                               Decorate 22 ArrayStride 16
                               MemberDecorate 23(S) 0 Offset 0
                               MemberDecorate 23(S) 1 Offset 4
@@ -107,6 +108,7 @@
                               MemberDecorate 25(B1) 6 Offset 96
                               Decorate 25(B1) Block
                               Decorate 27(b1) DescriptorSet 0
+                              Decorate 27(b1) Binding 0
                               Decorate 44 ArrayStride 16
                               MemberDecorate 45(S) 0 Offset 0
                               MemberDecorate 45(S) 1 Offset 4
@@ -124,6 +126,7 @@
                               MemberDecorate 49(B5) 7 Offset 1696
                               Decorate 49(B5) Block
                               Decorate 51(b5) DescriptorSet 0
+                              Decorate 51(b5) Binding 0
                               MemberDecorate 88(S2) 0 ColMajor
                               MemberDecorate 88(S2) 0 Offset 0
                               MemberDecorate 88(S2) 0 MatrixStride 16
@@ -134,6 +137,7 @@
                               MemberDecorate 90(B4) 1 Offset 80
                               Decorate 90(B4) BufferBlock
                               Decorate 92(b4) DescriptorSet 0
+                              Decorate 92(b4) Binding 0
                               MemberDecorate 93(S2) 0 RowMajor
                               MemberDecorate 93(S2) 0 Offset 0
                               MemberDecorate 93(S2) 0 MatrixStride 16
@@ -142,6 +146,7 @@
                               MemberDecorate 94(B3) 0 Offset 0
                               Decorate 94(B3) BufferBlock
                               Decorate 96(b3) DescriptorSet 0
+                              Decorate 96(b3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 16 1
diff --git a/Test/baseResults/spv.16bitstorage-uint.frag.out b/Test/baseResults/spv.16bitstorage-uint.frag.out
index c07edaa..915dfcb 100644
--- a/Test/baseResults/spv.16bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.16bitstorage-uint.frag.out
@@ -93,6 +93,7 @@
                               MemberDecorate 17(B2) 7 Offset 472
                               Decorate 17(B2) BufferBlock
                               Decorate 19(b2) DescriptorSet 0
+                              Decorate 19(b2) Binding 0
                               Decorate 22 ArrayStride 16
                               MemberDecorate 23(S) 0 Offset 0
                               MemberDecorate 23(S) 1 Offset 4
@@ -107,6 +108,7 @@
                               MemberDecorate 25(B1) 6 Offset 96
                               Decorate 25(B1) Block
                               Decorate 27(b1) DescriptorSet 0
+                              Decorate 27(b1) Binding 0
                               Decorate 44 ArrayStride 16
                               MemberDecorate 45(S) 0 Offset 0
                               MemberDecorate 45(S) 1 Offset 4
@@ -124,6 +126,7 @@
                               MemberDecorate 49(B5) 7 Offset 1696
                               Decorate 49(B5) Block
                               Decorate 51(b5) DescriptorSet 0
+                              Decorate 51(b5) Binding 0
                               MemberDecorate 89(S2) 0 ColMajor
                               MemberDecorate 89(S2) 0 Offset 0
                               MemberDecorate 89(S2) 0 MatrixStride 16
@@ -134,6 +137,7 @@
                               MemberDecorate 91(B4) 1 Offset 80
                               Decorate 91(B4) BufferBlock
                               Decorate 93(b4) DescriptorSet 0
+                              Decorate 93(b4) Binding 0
                               MemberDecorate 94(S2) 0 RowMajor
                               MemberDecorate 94(S2) 0 Offset 0
                               MemberDecorate 94(S2) 0 MatrixStride 16
@@ -142,6 +146,7 @@
                               MemberDecorate 95(B3) 0 Offset 0
                               Decorate 95(B3) BufferBlock
                               Decorate 97(b3) DescriptorSet 0
+                              Decorate 97(b3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 16 0
diff --git a/Test/baseResults/spv.16bitstorage.frag.out b/Test/baseResults/spv.16bitstorage.frag.out
index 2d5487f..3fb08a3 100644
--- a/Test/baseResults/spv.16bitstorage.frag.out
+++ b/Test/baseResults/spv.16bitstorage.frag.out
@@ -93,6 +93,7 @@
                               MemberDecorate 17(B2) 7 Offset 472
                               Decorate 17(B2) BufferBlock
                               Decorate 19(b2) DescriptorSet 0
+                              Decorate 19(b2) Binding 0
                               Decorate 22 ArrayStride 16
                               MemberDecorate 23(S) 0 Offset 0
                               MemberDecorate 23(S) 1 Offset 4
@@ -107,6 +108,7 @@
                               MemberDecorate 25(B1) 6 Offset 96
                               Decorate 25(B1) Block
                               Decorate 27(b1) DescriptorSet 0
+                              Decorate 27(b1) Binding 0
                               Decorate 45 ArrayStride 16
                               MemberDecorate 46(S) 0 Offset 0
                               MemberDecorate 46(S) 1 Offset 4
@@ -124,6 +126,7 @@
                               MemberDecorate 50(B5) 7 Offset 1696
                               Decorate 50(B5) Block
                               Decorate 52(b5) DescriptorSet 0
+                              Decorate 52(b5) Binding 0
                               MemberDecorate 88(S2) 0 ColMajor
                               MemberDecorate 88(S2) 0 Offset 0
                               MemberDecorate 88(S2) 0 MatrixStride 16
@@ -134,6 +137,7 @@
                               MemberDecorate 90(B4) 1 Offset 80
                               Decorate 90(B4) BufferBlock
                               Decorate 92(b4) DescriptorSet 0
+                              Decorate 92(b4) Binding 0
                               MemberDecorate 93(S2) 0 RowMajor
                               MemberDecorate 93(S2) 0 Offset 0
                               MemberDecorate 93(S2) 0 MatrixStride 16
@@ -142,6 +146,7 @@
                               MemberDecorate 94(B3) 0 Offset 0
                               Decorate 94(B3) BufferBlock
                               Decorate 96(b3) DescriptorSet 0
+                              Decorate 96(b3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 16
diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out
index 0c0663e..4d4d7ea 100644
--- a/Test/baseResults/spv.300layout.vert.out
+++ b/Test/baseResults/spv.300layout.vert.out
@@ -49,6 +49,7 @@
                               MemberDecorate 17(Transform) 3 Offset 176
                               Decorate 17(Transform) Block
                               Decorate 19(tblock) DescriptorSet 0
+                              Decorate 19(tblock) Binding 0
                               Decorate 44 ArrayStride 16
                               MemberDecorate 45(T3) 0 ColMajor
                               MemberDecorate 45(T3) 0 Offset 0
@@ -62,12 +63,14 @@
                               MemberDecorate 45(T3) 3 Offset 2048
                               Decorate 45(T3) Block
                               Decorate 47 DescriptorSet 0
+                              Decorate 47 Binding 0
                               MemberDecorate 78(T2) 0 Offset 0
                               MemberDecorate 78(T2) 1 RowMajor
                               MemberDecorate 78(T2) 1 Offset 16
                               MemberDecorate 78(T2) 1 MatrixStride 16
                               Decorate 78(T2) Block
                               Decorate 80 DescriptorSet 0
+                              Decorate 80 Binding 0
                               Decorate 100(c) Location 7
                               Decorate 108(iout) Flat
                               Decorate 120(aiv2) Location 9
diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out
index 9c4201d..e12041f 100644
--- a/Test/baseResults/spv.300layoutp.vert.out
+++ b/Test/baseResults/spv.300layoutp.vert.out
@@ -49,6 +49,7 @@
                               MemberDecorate 17(Transform) 3 Offset 176
                               Decorate 17(Transform) Block
                               Decorate 19(tblock) DescriptorSet 0
+                              Decorate 19(tblock) Binding 0
                               Decorate 32 ArrayStride 16
                               MemberDecorate 33(T3) 0 ColMajor
                               MemberDecorate 33(T3) 0 Offset 0
@@ -62,12 +63,14 @@
                               MemberDecorate 33(T3) 3 Offset 160
                               Decorate 33(T3) Block
                               Decorate 35 DescriptorSet 0
+                              Decorate 35 Binding 0
                               MemberDecorate 42(T2) 0 Offset 0
                               MemberDecorate 42(T2) 1 RowMajor
                               MemberDecorate 42(T2) 1 Offset 16
                               MemberDecorate 42(T2) 1 MatrixStride 16
                               Decorate 42(T2) Block
                               Decorate 44 DescriptorSet 0
+                              Decorate 44 Binding 0
                               Decorate 52(c) Location 7
                               Decorate 60(iout) Flat
                               Decorate 72(aiv2) Location 9
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
index f4eaa20..bb8e6a7 100644
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -38,15 +38,18 @@
                               MemberDecorate 12(outb) 3 Offset 16
                               Decorate 12(outb) BufferBlock
                               Decorate 14(outbname) DescriptorSet 0
+                              Decorate 14(outbname) Binding 0
                               MemberDecorate 23(outbna) 0 Offset 0
                               MemberDecorate 23(outbna) 1 Offset 16
                               Decorate 23(outbna) BufferBlock
                               Decorate 25(outbnamena) DescriptorSet 0
+                              Decorate 25(outbnamena) Binding 0
                               Decorate 47 ArrayStride 16
                               MemberDecorate 48(outs) 0 Offset 0
                               MemberDecorate 48(outs) 1 Offset 16
                               Decorate 48(outs) BufferBlock
                               Decorate 50(outnames) DescriptorSet 0
+                              Decorate 50(outnames) Binding 0
                               Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
                               Decorate 65(gl_DeviceIndex) BuiltIn DeviceIndex
                               Decorate 71 BuiltIn WorkgroupSize
diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out
index 6275df2..5433e4d 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -54,11 +54,15 @@
                               Name 1115  "id"
                               Name 1116  "gl_PrimitiveID"
                               Decorate 17(u2drs) DescriptorSet 0
+                              Decorate 17(u2drs) Binding 0
                               Decorate 1025(arrayedSampler) DescriptorSet 0
+                              Decorate 1025(arrayedSampler) Binding 0
                               Decorate 1027(i) Flat
                               Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance
                               Decorate 1054(samp2dr) DescriptorSet 0
+                              Decorate 1054(samp2dr) Binding 0
                               Decorate 1080(isamp2DA) DescriptorSet 0
+                              Decorate 1080(isamp2DA) Binding 0
                               Decorate 1097(gl_FragCoord) BuiltIn FragCoord
                               Decorate 1099(vl2) Location 6
                               Decorate 1107(u) Flat
diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out
index 74a4f0b..a8e80e7 100644
--- a/Test/baseResults/spv.420.geom.out
+++ b/Test/baseResults/spv.420.geom.out
@@ -42,6 +42,7 @@
                               Decorate 28(gl_ViewportIndex) BuiltIn ViewportIndex
                               Decorate 33(gl_InvocationID) BuiltIn InvocationId
                               Decorate 41(s2D) DescriptorSet 0
+                              Decorate 41(s2D) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.8bitstorage-int.frag.out b/Test/baseResults/spv.8bitstorage-int.frag.out
index a0af75a..12bf2ae 100644
--- a/Test/baseResults/spv.8bitstorage-int.frag.out
+++ b/Test/baseResults/spv.8bitstorage-int.frag.out
@@ -92,6 +92,7 @@
                               MemberDecorate 17(B2) 7 Offset 236
                               Decorate 17(B2) BufferBlock
                               Decorate 19(b2) DescriptorSet 0
+                              Decorate 19(b2) Binding 0
                               Decorate 22 ArrayStride 16
                               MemberDecorate 23(S) 0 Offset 0
                               MemberDecorate 23(S) 1 Offset 2
@@ -106,6 +107,7 @@
                               MemberDecorate 25(B1) 6 Offset 96
                               Decorate 25(B1) Block
                               Decorate 27(b1) DescriptorSet 0
+                              Decorate 27(b1) Binding 0
                               Decorate 44 ArrayStride 16
                               MemberDecorate 45(S) 0 Offset 0
                               MemberDecorate 45(S) 1 Offset 2
@@ -123,6 +125,7 @@
                               MemberDecorate 49(B5) 7 Offset 1696
                               Decorate 49(B5) Block
                               Decorate 51(b5) DescriptorSet 0
+                              Decorate 51(b5) Binding 0
                               MemberDecorate 88(S2) 0 ColMajor
                               MemberDecorate 88(S2) 0 Offset 0
                               MemberDecorate 88(S2) 0 MatrixStride 16
@@ -133,6 +136,7 @@
                               MemberDecorate 90(B4) 1 Offset 80
                               Decorate 90(B4) BufferBlock
                               Decorate 92(b4) DescriptorSet 0
+                              Decorate 92(b4) Binding 0
                               MemberDecorate 93(S2) 0 RowMajor
                               MemberDecorate 93(S2) 0 Offset 0
                               MemberDecorate 93(S2) 0 MatrixStride 16
@@ -141,6 +145,7 @@
                               MemberDecorate 94(B3) 0 Offset 0
                               Decorate 94(B3) BufferBlock
                               Decorate 96(b3) DescriptorSet 0
+                              Decorate 96(b3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 8 1
diff --git a/Test/baseResults/spv.8bitstorage-uint.frag.out b/Test/baseResults/spv.8bitstorage-uint.frag.out
index 12c390a..595558d 100644
--- a/Test/baseResults/spv.8bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.8bitstorage-uint.frag.out
@@ -92,6 +92,7 @@
                               MemberDecorate 17(B2) 7 Offset 236
                               Decorate 17(B2) BufferBlock
                               Decorate 19(b2) DescriptorSet 0
+                              Decorate 19(b2) Binding 0
                               Decorate 22 ArrayStride 16
                               MemberDecorate 23(S) 0 Offset 0
                               MemberDecorate 23(S) 1 Offset 2
@@ -106,6 +107,7 @@
                               MemberDecorate 25(B1) 6 Offset 96
                               Decorate 25(B1) Block
                               Decorate 27(b1) DescriptorSet 0
+                              Decorate 27(b1) Binding 0
                               Decorate 44 ArrayStride 16
                               MemberDecorate 45(S) 0 Offset 0
                               MemberDecorate 45(S) 1 Offset 2
@@ -123,6 +125,7 @@
                               MemberDecorate 49(B5) 7 Offset 1696
                               Decorate 49(B5) Block
                               Decorate 51(b5) DescriptorSet 0
+                              Decorate 51(b5) Binding 0
                               MemberDecorate 89(S2) 0 ColMajor
                               MemberDecorate 89(S2) 0 Offset 0
                               MemberDecorate 89(S2) 0 MatrixStride 16
@@ -133,6 +136,7 @@
                               MemberDecorate 91(B4) 1 Offset 80
                               Decorate 91(B4) BufferBlock
                               Decorate 93(b4) DescriptorSet 0
+                              Decorate 93(b4) Binding 0
                               MemberDecorate 94(S2) 0 RowMajor
                               MemberDecorate 94(S2) 0 Offset 0
                               MemberDecorate 94(S2) 0 MatrixStride 16
@@ -141,6 +145,7 @@
                               MemberDecorate 95(B3) 0 Offset 0
                               Decorate 95(B3) BufferBlock
                               Decorate 97(b3) DescriptorSet 0
+                              Decorate 97(b3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 8 0
diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out
index feb5746..7433f17 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -38,6 +38,7 @@
                               MemberDecorate 94(uAofA) 0 Offset 0
                               Decorate 94(uAofA) Block
                               Decorate 98(nameAofA) DescriptorSet 0
+                              Decorate 98(nameAofA) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.aggOps.frag.out b/Test/baseResults/spv.aggOps.frag.out
index 1c0c7e9..f388e8e 100644
--- a/Test/baseResults/spv.aggOps.frag.out
+++ b/Test/baseResults/spv.aggOps.frag.out
@@ -52,6 +52,7 @@
                               MemberDecorate 57(ub1) 0 Offset 0
                               Decorate 57(ub1) Block
                               Decorate 59(uName1) DescriptorSet 0
+                              Decorate 59(uName1) Binding 0
                               MemberDecorate 64(s1) 0 Offset 0
                               MemberDecorate 64(s1) 1 Offset 4
                               MemberDecorate 65(s2) 0 Offset 0
@@ -60,7 +61,9 @@
                               MemberDecorate 66(ub2) 0 Offset 0
                               Decorate 66(ub2) BufferBlock
                               Decorate 68(uName2) DescriptorSet 0
+                              Decorate 68(uName2) Binding 0
                               Decorate 97(samp2D) DescriptorSet 0
+                              Decorate 97(samp2D) Binding 0
                               Decorate 101(coord) RelaxedPrecision
                               Decorate 102 RelaxedPrecision
                               Decorate 107 RelaxedPrecision
diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out
index becd707..31eb54c 100644
--- a/Test/baseResults/spv.bool.vert.out
+++ b/Test/baseResults/spv.bool.vert.out
@@ -29,6 +29,7 @@
                               MemberDecorate 27(ubname) 0 Offset 0
                               Decorate 27(ubname) Block
                               Decorate 29(ubinst) DescriptorSet 0
+                              Decorate 29(ubinst) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeBool
diff --git a/Test/baseResults/spv.computeShaderDerivatives.comp.out b/Test/baseResults/spv.computeShaderDerivatives.comp.out
index f05dbc0..d332f35 100644
--- a/Test/baseResults/spv.computeShaderDerivatives.comp.out
+++ b/Test/baseResults/spv.computeShaderDerivatives.comp.out
@@ -107,6 +107,7 @@
                               MemberDecorate 10(block) 43 Offset 480
                               Decorate 10(block) BufferBlock
                               Decorate 12 DescriptorSet 0
+                              Decorate 12 Binding 0
                               Decorate 211 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.computeShaderDerivatives2.comp.out b/Test/baseResults/spv.computeShaderDerivatives2.comp.out
index 94a3dfc..be1919b 100644
--- a/Test/baseResults/spv.computeShaderDerivatives2.comp.out
+++ b/Test/baseResults/spv.computeShaderDerivatives2.comp.out
@@ -107,6 +107,7 @@
                               MemberDecorate 10(block) 43 Offset 480
                               Decorate 10(block) BufferBlock
                               Decorate 12 DescriptorSet 0
+                              Decorate 12 Binding 0
                               Decorate 211 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out
index f5e9e6f..2f2dcf2 100644
--- a/Test/baseResults/spv.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -15,6 +15,7 @@
                               Name 17  "coord"
                               Name 34  "gl_FragColor"
                               Decorate 13(tex) DescriptorSet 0
+                              Decorate 13(tex) Binding 0
                               Decorate 34(gl_FragColor) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out
index c0b52ae..f371601 100644
--- a/Test/baseResults/spv.dataOutIndirect.frag.out
+++ b/Test/baseResults/spv.dataOutIndirect.frag.out
@@ -18,6 +18,7 @@
                               MemberDecorate 14(b) 0 Offset 0
                               Decorate 14(b) Block
                               Decorate 16(bName) DescriptorSet 0
+                              Decorate 16(bName) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out
index f9c8578..eb3bcb4 100644
--- a/Test/baseResults/spv.debugInfo.1.1.frag.out
+++ b/Test/baseResults/spv.debugInfo.1.1.frag.out
@@ -95,8 +95,10 @@
                               MemberDecorate 54(ubuf) 0 Offset 0
                               Decorate 54(ubuf) Block
                               Decorate 56 DescriptorSet 3
+                              Decorate 56 Binding 0
                               Decorate 67(s2d) Location 0
                               Decorate 67(s2d) DescriptorSet 3
+                              Decorate 67(s2d) Binding 0
                3:             TypeVoid
                4:             TypeFunction 3
                7:             TypeInt 32 1
diff --git a/Test/baseResults/spv.deepRvalue.frag.out b/Test/baseResults/spv.deepRvalue.frag.out
index a0e4eab..1869d76 100644
--- a/Test/baseResults/spv.deepRvalue.frag.out
+++ b/Test/baseResults/spv.deepRvalue.frag.out
@@ -28,6 +28,7 @@
                               Name 133  "t"
                               Name 146  "gl_FragColor"
                               Decorate 111(samp2D) DescriptorSet 0
+                              Decorate 111(samp2D) Binding 0
                               Decorate 146(gl_FragColor) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out
index eb8e122..e9470ac 100644
--- a/Test/baseResults/spv.double.comp.out
+++ b/Test/baseResults/spv.double.comp.out
@@ -26,9 +26,11 @@
                               MemberDecorate 8(bufName) 1 Offset 8
                               Decorate 8(bufName) BufferBlock
                               Decorate 10(bufInst) DescriptorSet 0
+                              Decorate 10(bufInst) Binding 0
                               Decorate 26(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
                               Decorate 33(gl_LocalInvocationID) BuiltIn LocalInvocationId
                               Decorate 59(destTex) DescriptorSet 0
+                              Decorate 59(destTex) Binding 0
                               Decorate 59(destTex) NonReadable
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.explicittypes.frag.out b/Test/baseResults/spv.explicittypes.frag.out
index f3ca411..c07f66d 100644
--- a/Test/baseResults/spv.explicittypes.frag.out
+++ b/Test/baseResults/spv.explicittypes.frag.out
@@ -1,5 +1,4 @@
 spv.explicittypes.frag
-Validation failed
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 576
diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out
index 9c0233e..1f955c2 100644
--- a/Test/baseResults/spv.float16.frag.out
+++ b/Test/baseResults/spv.float16.frag.out
@@ -135,6 +135,7 @@
                               MemberDecorate 516(B1) 7 Offset 160
                               Decorate 516(B1) Block
                               Decorate 518 DescriptorSet 0
+                              Decorate 518 Binding 0
                               Decorate 519 ArrayStride 2
                               Decorate 520 ArrayStride 12
                               MemberDecorate 521(S) 0 Offset 0
@@ -155,6 +156,7 @@
                               MemberDecorate 523(B2) 7 Offset 72
                               Decorate 523(B2) BufferBlock
                               Decorate 525 DescriptorSet 0
+                              Decorate 525 Binding 0
                               Decorate 526(sf16) SpecId 100
                               Decorate 527(sf) SpecId 101
                               Decorate 528(sd) SpecId 102
diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out
index 6856eb8..f1b0d02 100644
--- a/Test/baseResults/spv.float32.frag.out
+++ b/Test/baseResults/spv.float32.frag.out
@@ -1,5 +1,4 @@
 spv.float32.frag
-Validation failed
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 533
@@ -125,6 +124,7 @@
                               MemberDecorate 522(B1) 7 Offset 192
                               Decorate 522(B1) Block
                               Decorate 524 DescriptorSet 0
+                              Decorate 524 Binding 0
                               Decorate 525(sf16) SpecId 100
                               Decorate 526(sf) SpecId 101
                               Decorate 527(sd) SpecId 102
diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out
index f8dd2d1..231f070 100644
--- a/Test/baseResults/spv.float64.frag.out
+++ b/Test/baseResults/spv.float64.frag.out
@@ -125,6 +125,7 @@
                               MemberDecorate 512(B1) 7 Offset 352
                               Decorate 512(B1) Block
                               Decorate 514 DescriptorSet 0
+                              Decorate 514 Binding 0
                               Decorate 515(sf16) SpecId 100
                               Decorate 517(sf) SpecId 101
                               Decorate 518(sd) SpecId 102
diff --git a/Test/baseResults/spv.glsl.register.autoassign.frag.out b/Test/baseResults/spv.glsl.register.autoassign.frag.out
index 079e8d5..9c8ccb5 100644
--- a/Test/baseResults/spv.glsl.register.autoassign.frag.out
+++ b/Test/baseResults/spv.glsl.register.autoassign.frag.out
@@ -73,11 +73,14 @@
                               Decorate 119(g_tTex_unused1) DescriptorSet 0
                               Decorate 119(g_tTex_unused1) Binding 10
                               Decorate 121(g_sSamp_unused1) DescriptorSet 0
+                              Decorate 121(g_sSamp_unused1) Binding 0
                               Decorate 126(g_tTex_unused2) DescriptorSet 0
                               Decorate 126(g_tTex_unused2) Binding 12
                               Decorate 128(g_sSamp_unused2) DescriptorSet 0
+                              Decorate 128(g_sSamp_unused2) Binding 0
                               Decorate 137(FragColor) Location 0
                               Decorate 141(g_tTex_unused3) DescriptorSet 0
+                              Decorate 141(g_tTex_unused3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.hlslOffsets.vert.out b/Test/baseResults/spv.hlslOffsets.vert.out
index af59fdb..84dc47b 100644
--- a/Test/baseResults/spv.hlslOffsets.vert.out
+++ b/Test/baseResults/spv.hlslOffsets.vert.out
@@ -60,6 +60,7 @@
                               MemberDecorate 11(block) 13 Offset 112
                               Decorate 11(block) BufferBlock
                               Decorate 13 DescriptorSet 0
+                              Decorate 13 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.int16.amd.frag.out b/Test/baseResults/spv.int16.amd.frag.out
index 4451baf..26c701d 100644
--- a/Test/baseResults/spv.int16.amd.frag.out
+++ b/Test/baseResults/spv.int16.amd.frag.out
@@ -1,5 +1,4 @@
 spv.int16.amd.frag
-Validation failed
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 560
diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out
index cd5e262..a7b9bfe 100644
--- a/Test/baseResults/spv.int16.frag.out
+++ b/Test/baseResults/spv.int16.frag.out
@@ -1,5 +1,4 @@
 spv.int16.frag
-Validation failed
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 523
diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out
index afa649c..e5c7889 100644
--- a/Test/baseResults/spv.int32.frag.out
+++ b/Test/baseResults/spv.int32.frag.out
@@ -1,5 +1,4 @@
 spv.int32.frag
-Validation failed
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 493
diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out
index b5c0618..71307d8 100644
--- a/Test/baseResults/spv.int8.frag.out
+++ b/Test/baseResults/spv.int8.frag.out
@@ -1,5 +1,4 @@
 spv.int8.frag
-Validation failed
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 518
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
index 5f89611..f5fad54 100644
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -42,6 +42,7 @@
                               Decorate 90(condition) Flat
                               Decorate 108(gl_FragColor) Location 0
                               Decorate 128(samp2D) DescriptorSet 0
+                              Decorate 128(samp2D) Binding 0
                               Decorate 134(foo) Flat
                               Decorate 135(foo2) Flat
                2:             TypeVoid
diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out
index 47b692f..8ed378f 100644
--- a/Test/baseResults/spv.matFun.vert.out
+++ b/Test/baseResults/spv.matFun.vert.out
@@ -44,6 +44,7 @@
                               MemberDecorate 77(bl) 1 MatrixStride 16
                               Decorate 77(bl) Block
                               Decorate 79(bName) DescriptorSet 0
+                              Decorate 79(bName) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out
index 760b587..93c6b2d 100644
--- a/Test/baseResults/spv.memoryQualifier.frag.out
+++ b/Test/baseResults/spv.memoryQualifier.frag.out
@@ -67,6 +67,7 @@
                               MemberDecorate 50(Buffer) 5 Offset 56
                               Decorate 50(Buffer) BufferBlock
                               Decorate 52 DescriptorSet 0
+                              Decorate 52 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.memoryScopeSemantics.comp.out b/Test/baseResults/spv.memoryScopeSemantics.comp.out
index 46f9a07..649b077 100644
--- a/Test/baseResults/spv.memoryScopeSemantics.comp.out
+++ b/Test/baseResults/spv.memoryScopeSemantics.comp.out
@@ -1,4 +1,5 @@
 spv.memoryScopeSemantics.comp
+Validation failed
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 142
diff --git a/Test/baseResults/spv.meshShaderSharedMem.mesh.out b/Test/baseResults/spv.meshShaderSharedMem.mesh.out
index 198f812..dd0003d 100644
--- a/Test/baseResults/spv.meshShaderSharedMem.mesh.out
+++ b/Test/baseResults/spv.meshShaderSharedMem.mesh.out
@@ -31,7 +31,9 @@
                               MemberDecorate 37(block0) 0 Offset 0
                               Decorate 37(block0) Block
                               Decorate 39 DescriptorSet 0
+                              Decorate 39 Binding 0
                               Decorate 55(uni_image) DescriptorSet 0
+                              Decorate 55(uni_image) Binding 0
                               Decorate 55(uni_image) NonReadable
                               Decorate 76 BuiltIn WorkgroupSize
                2:             TypeVoid
diff --git a/Test/baseResults/spv.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.meshShaderTaskMem.mesh.out
index 93b2a45..e14f7a8 100644
--- a/Test/baseResults/spv.meshShaderTaskMem.mesh.out
+++ b/Test/baseResults/spv.meshShaderTaskMem.mesh.out
@@ -43,6 +43,7 @@
                               MemberDecorate 36(bufferBlock) 1 Offset 16
                               Decorate 36(bufferBlock) BufferBlock
                               Decorate 38(mybuf) DescriptorSet 0
+                              Decorate 38(mybuf) Binding 0
                               Decorate 57 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.meshTaskShader.task.out b/Test/baseResults/spv.meshTaskShader.task.out
index 9ac27fa..517cbea 100644
--- a/Test/baseResults/spv.meshTaskShader.task.out
+++ b/Test/baseResults/spv.meshTaskShader.task.out
@@ -33,6 +33,7 @@
                               MemberDecorate 37(block0) 0 Offset 0
                               Decorate 37(block0) Block
                               Decorate 39 DescriptorSet 0
+                              Decorate 39 Binding 0
                               Decorate 55(uni_image) DescriptorSet 0
                               Decorate 55(uni_image) Binding 0
                               Decorate 55(uni_image) NonReadable
diff --git a/Test/baseResults/spv.multiStructFuncall.frag.out b/Test/baseResults/spv.multiStructFuncall.frag.out
index 14c851c..a3a4480 100644
--- a/Test/baseResults/spv.multiStructFuncall.frag.out
+++ b/Test/baseResults/spv.multiStructFuncall.frag.out
@@ -37,6 +37,7 @@
                               MemberDecorate 23(blockName) 0 Offset 0
                               Decorate 23(blockName) BufferBlock
                               Decorate 25 DescriptorSet 0
+                              Decorate 25 Binding 0
                               MemberDecorate 31(S) 0 ColMajor
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out
index 1f91e42..1bad3fa 100644
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -45,26 +45,44 @@
                               Name 281  "us2DArray"
                               Name 283  "ic4D"
                               Decorate 13(s2D) DescriptorSet 0
+                              Decorate 13(s2D) Binding 0
                               Decorate 23(sCubeArrayShadow) DescriptorSet 0
+                              Decorate 23(sCubeArrayShadow) Binding 0
                               Decorate 42(s3D) DescriptorSet 0
+                              Decorate 42(s3D) Binding 0
                               Decorate 51(s2DArray) DescriptorSet 0
+                              Decorate 51(s2DArray) Binding 0
                               Decorate 64(s2DShadow) DescriptorSet 0
+                              Decorate 64(s2DShadow) Binding 0
                               Decorate 81(ic3D) Flat
                               Decorate 84(ic1D) Flat
                               Decorate 92(ic2D) Flat
                               Decorate 102(sr) DescriptorSet 0
+                              Decorate 102(sr) Binding 0
                               Decorate 128(sCube) DescriptorSet 0
+                              Decorate 128(sCube) Binding 0
                               Decorate 139(s2DArrayShadow) DescriptorSet 0
+                              Decorate 139(s2DArrayShadow) Binding 0
                               Decorate 171(is2D) DescriptorSet 0
+                              Decorate 171(is2D) Binding 0
                               Decorate 208(is3D) DescriptorSet 0
+                              Decorate 208(is3D) Binding 0
                               Decorate 220(isCube) DescriptorSet 0
+                              Decorate 220(isCube) Binding 0
                               Decorate 232(is2DArray) DescriptorSet 0
+                              Decorate 232(is2DArray) Binding 0
                               Decorate 247(sCubeShadow) DescriptorSet 0
+                              Decorate 247(sCubeShadow) Binding 0
                               Decorate 265(is2Dms) DescriptorSet 0
+                              Decorate 265(is2Dms) Binding 0
                               Decorate 269(us2D) DescriptorSet 0
+                              Decorate 269(us2D) Binding 0
                               Decorate 273(us3D) DescriptorSet 0
+                              Decorate 273(us3D) Binding 0
                               Decorate 277(usCube) DescriptorSet 0
+                              Decorate 277(usCube) Binding 0
                               Decorate 281(us2DArray) DescriptorSet 0
+                              Decorate 281(us2DArray) Binding 0
                               Decorate 283(ic4D) Flat
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.pp.line.frag.out b/Test/baseResults/spv.pp.line.frag.out
index 61008d6..5794177 100644
--- a/Test/baseResults/spv.pp.line.frag.out
+++ b/Test/baseResults/spv.pp.line.frag.out
@@ -58,7 +58,9 @@
                               Name 56  "u"
                               Name 59  "blend"
                               Decorate 22(texSampler1D) DescriptorSet 0
+                              Decorate 22(texSampler1D) Binding 0
                               Decorate 37(texSampler2D) DescriptorSet 0
+                              Decorate 37(texSampler2D) Binding 0
                               Decorate 53(gl_FragColor) Location 0
                3:             TypeVoid
                4:             TypeFunction 3
diff --git a/Test/baseResults/spv.precisionNonESSamp.frag.out b/Test/baseResults/spv.precisionNonESSamp.frag.out
index 9222001..0620c41 100644
--- a/Test/baseResults/spv.precisionNonESSamp.frag.out
+++ b/Test/baseResults/spv.precisionNonESSamp.frag.out
@@ -24,18 +24,21 @@
                               Decorate 9(color) Location 0
                               Decorate 13(s) RelaxedPrecision
                               Decorate 13(s) DescriptorSet 0
+                              Decorate 13(s) Binding 0
                               Decorate 14 RelaxedPrecision
                               Decorate 17(v2) RelaxedPrecision
                               Decorate 17(v2) Location 0
                               Decorate 18 RelaxedPrecision
                               Decorate 19 RelaxedPrecision
                               Decorate 23(t) DescriptorSet 0
+                              Decorate 23(t) Binding 0
                               Decorate 27(v3) RelaxedPrecision
                               Decorate 27(v3) Location 1
                               Decorate 28 RelaxedPrecision
                               Decorate 31(vi1) RelaxedPrecision
                               Decorate 34(i1) RelaxedPrecision
                               Decorate 34(i1) DescriptorSet 0
+                              Decorate 34(i1) Binding 0
                               Decorate 35 RelaxedPrecision
                               Decorate 39(iv2) RelaxedPrecision
                               Decorate 39(iv2) Flat
@@ -44,6 +47,7 @@
                               Decorate 41 RelaxedPrecision
                               Decorate 42(vi2) RelaxedPrecision
                               Decorate 43(i2) DescriptorSet 0
+                              Decorate 43(i2) Binding 0
                               Decorate 45 RelaxedPrecision
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out
index 50829b3..87dbb8c 100644
--- a/Test/baseResults/spv.queryL.frag.out
+++ b/Test/baseResults/spv.queryL.frag.out
@@ -42,25 +42,45 @@
                               Name 219  "sampBuf"
                               Name 223  "sampRect"
                               Decorate 13(samp1D) DescriptorSet 0
+                              Decorate 13(samp1D) Binding 0
                               Decorate 23(isamp2D) DescriptorSet 0
+                              Decorate 23(isamp2D) Binding 0
                               Decorate 34(usamp3D) DescriptorSet 0
+                              Decorate 34(usamp3D) Binding 0
                               Decorate 46(sampCube) DescriptorSet 0
+                              Decorate 46(sampCube) Binding 0
                               Decorate 55(isamp1DA) DescriptorSet 0
+                              Decorate 55(isamp1DA) Binding 0
                               Decorate 64(usamp2DA) DescriptorSet 0
+                              Decorate 64(usamp2DA) Binding 0
                               Decorate 73(isampCubeA) DescriptorSet 0
+                              Decorate 73(isampCubeA) Binding 0
                               Decorate 82(samp1Ds) DescriptorSet 0
+                              Decorate 82(samp1Ds) Binding 0
                               Decorate 91(samp2Ds) DescriptorSet 0
+                              Decorate 91(samp2Ds) Binding 0
                               Decorate 100(sampCubes) DescriptorSet 0
+                              Decorate 100(sampCubes) Binding 0
                               Decorate 109(samp1DAs) DescriptorSet 0
+                              Decorate 109(samp1DAs) Binding 0
                               Decorate 118(samp2DAs) DescriptorSet 0
+                              Decorate 118(samp2DAs) Binding 0
                               Decorate 127(sampCubeAs) DescriptorSet 0
+                              Decorate 127(sampCubeAs) Binding 0
                               Decorate 141(usamp2D) DescriptorSet 0
+                              Decorate 141(usamp2D) Binding 0
                               Decorate 150(isamp3D) DescriptorSet 0
+                              Decorate 150(isamp3D) Binding 0
                               Decorate 159(isampCube) DescriptorSet 0
+                              Decorate 159(isampCube) Binding 0
                               Decorate 173(samp2DA) DescriptorSet 0
+                              Decorate 173(samp2DA) Binding 0
                               Decorate 182(usampCubeA) DescriptorSet 0
+                              Decorate 182(usampCubeA) Binding 0
                               Decorate 219(sampBuf) DescriptorSet 0
+                              Decorate 219(sampBuf) Binding 0
                               Decorate 223(sampRect) DescriptorSet 0
+                              Decorate 223(sampRect) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.register.autoassign.frag.out b/Test/baseResults/spv.register.autoassign.frag.out
index 683ae08..123ea35 100644
--- a/Test/baseResults/spv.register.autoassign.frag.out
+++ b/Test/baseResults/spv.register.autoassign.frag.out
@@ -77,11 +77,14 @@
                               Decorate 123(g_tTex_unused1) DescriptorSet 0
                               Decorate 123(g_tTex_unused1) Binding 10
                               Decorate 125(g_sSamp_unused1) DescriptorSet 0
+                              Decorate 125(g_sSamp_unused1) Binding 0
                               Decorate 130(g_tTex_unused2) DescriptorSet 0
                               Decorate 130(g_tTex_unused2) Binding 12
                               Decorate 132(g_sSamp_unused2) DescriptorSet 0
+                              Decorate 132(g_sSamp_unused2) Binding 0
                               Decorate 151(@entryPointOutput.Color) Location 0
                               Decorate 154(g_tTex_unused3) DescriptorSet 0
+                              Decorate 154(g_tTex_unused3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.register.noautoassign.frag.out b/Test/baseResults/spv.register.noautoassign.frag.out
index 166d92d..3259f41 100644
--- a/Test/baseResults/spv.register.noautoassign.frag.out
+++ b/Test/baseResults/spv.register.noautoassign.frag.out
@@ -49,15 +49,21 @@
                               Decorate 25(g_sSamp1) DescriptorSet 0
                               Decorate 25(g_sSamp1) Binding 5
                               Decorate 31(g_tTex2) DescriptorSet 0
+                              Decorate 31(g_tTex2) Binding 0
                               Decorate 33(g_sSamp2) DescriptorSet 0
+                              Decorate 33(g_sSamp2) Binding 0
                               Decorate 43(g_tTex3) DescriptorSet 0
                               Decorate 43(g_tTex3) Binding 13
                               Decorate 50(g_sSamp3) DescriptorSet 0
                               Decorate 50(g_sSamp3) Binding 7
                               Decorate 68(g_tTex4) DescriptorSet 0
+                              Decorate 68(g_tTex4) Binding 0
                               Decorate 73(g_sSamp4) DescriptorSet 0
+                              Decorate 73(g_sSamp4) Binding 0
                               Decorate 88(g_tTex5) DescriptorSet 0
+                              Decorate 88(g_tTex5) Binding 0
                               Decorate 90(g_sSamp5) DescriptorSet 0
+                              Decorate 90(g_sSamp5) Binding 0
                               MemberDecorate 97(MyStruct_t) 0 Offset 0
                               MemberDecorate 97(MyStruct_t) 1 Offset 4
                               MemberDecorate 97(MyStruct_t) 2 Offset 16
@@ -67,14 +73,18 @@
                               MemberDecorate 99($Global) 3 Offset 64
                               Decorate 99($Global) Block
                               Decorate 101 DescriptorSet 0
+                              Decorate 101 Binding 0
                               Decorate 123(g_tTex_unused1) DescriptorSet 0
                               Decorate 123(g_tTex_unused1) Binding 10
                               Decorate 125(g_sSamp_unused1) DescriptorSet 0
+                              Decorate 125(g_sSamp_unused1) Binding 0
                               Decorate 130(g_tTex_unused2) DescriptorSet 0
                               Decorate 130(g_tTex_unused2) Binding 12
                               Decorate 132(g_sSamp_unused2) DescriptorSet 0
+                              Decorate 132(g_sSamp_unused2) Binding 0
                               Decorate 151(@entryPointOutput.Color) Location 0
                               Decorate 154(g_tTex_unused3) DescriptorSet 0
+                              Decorate 154(g_tTex_unused3) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.scalarlayout.frag.out b/Test/baseResults/spv.scalarlayout.frag.out
index 86dfc97..0168bc3 100644
--- a/Test/baseResults/spv.scalarlayout.frag.out
+++ b/Test/baseResults/spv.scalarlayout.frag.out
@@ -55,6 +55,7 @@
                               MemberDecorate 17(B1) 8 Offset 160
                               Decorate 17(B1) Block
                               Decorate 19 DescriptorSet 0
+                              Decorate 19 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.scalarlayoutfloat16.frag.out b/Test/baseResults/spv.scalarlayoutfloat16.frag.out
index a3b924a..dac7e3a 100644
--- a/Test/baseResults/spv.scalarlayoutfloat16.frag.out
+++ b/Test/baseResults/spv.scalarlayoutfloat16.frag.out
@@ -49,6 +49,7 @@
                               MemberDecorate 15(B1) 6 Offset 56
                               Decorate 15(B1) Block
                               Decorate 17 DescriptorSet 0
+                              Decorate 17 Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 16
diff --git a/Test/baseResults/spv.separate.frag.out b/Test/baseResults/spv.separate.frag.out
index 654f854..27cd3be 100644
--- a/Test/baseResults/spv.separate.frag.out
+++ b/Test/baseResults/spv.separate.frag.out
@@ -57,44 +57,82 @@
                               Name 293  "tex3D"
                               Name 304  "tex2DRect"
                               Decorate 14(t2d) DescriptorSet 0
+                              Decorate 14(t2d) Binding 0
                               Decorate 18(s) DescriptorSet 0
+                              Decorate 18(s) Binding 0
                               Decorate 31(t3d) DescriptorSet 0
+                              Decorate 31(t3d) Binding 0
                               Decorate 34(i) Flat
                               Decorate 41(sA) DescriptorSet 0
+                              Decorate 41(sA) Binding 0
                               Decorate 58(tex2D) DescriptorSet 0
+                              Decorate 58(tex2D) Binding 0
                               Decorate 64(texCube) DescriptorSet 0
+                              Decorate 64(texCube) Binding 0
                               Decorate 71(texCubeArray) DescriptorSet 0
+                              Decorate 71(texCubeArray) Binding 0
                               Decorate 77(sShadow) DescriptorSet 0
+                              Decorate 77(sShadow) Binding 0
                               Decorate 84(itexCubeArray) DescriptorSet 0
+                              Decorate 84(itexCubeArray) Binding 0
                               Decorate 91(utexCubeArray) DescriptorSet 0
+                              Decorate 91(utexCubeArray) Binding 0
                               Decorate 98(tex1DArray) DescriptorSet 0
+                              Decorate 98(tex1DArray) Binding 0
                               Decorate 105(itex1DArray) DescriptorSet 0
+                              Decorate 105(itex1DArray) Binding 0
                               Decorate 112(utex1D) DescriptorSet 0
+                              Decorate 112(utex1D) Binding 0
                               Decorate 119(itex1D) DescriptorSet 0
+                              Decorate 119(itex1D) Binding 0
                               Decorate 126(utex1DArray) DescriptorSet 0
+                              Decorate 126(utex1DArray) Binding 0
                               Decorate 133(texBuffer) DescriptorSet 0
+                              Decorate 133(texBuffer) Binding 0
                               Decorate 145(tex2DArray) DescriptorSet 0
+                              Decorate 145(tex2DArray) Binding 0
                               Decorate 157(itex2D) DescriptorSet 0
+                              Decorate 157(itex2D) Binding 0
                               Decorate 164(itex3D) DescriptorSet 0
+                              Decorate 164(itex3D) Binding 0
                               Decorate 171(itexCube) DescriptorSet 0
+                              Decorate 171(itexCube) Binding 0
                               Decorate 178(itex2DArray) DescriptorSet 0
+                              Decorate 178(itex2DArray) Binding 0
                               Decorate 185(utex2D) DescriptorSet 0
+                              Decorate 185(utex2D) Binding 0
                               Decorate 192(utex3D) DescriptorSet 0
+                              Decorate 192(utex3D) Binding 0
                               Decorate 199(utexCube) DescriptorSet 0
+                              Decorate 199(utexCube) Binding 0
                               Decorate 206(utex2DArray) DescriptorSet 0
+                              Decorate 206(utex2DArray) Binding 0
                               Decorate 213(itex2DRect) DescriptorSet 0
+                              Decorate 213(itex2DRect) Binding 0
                               Decorate 220(utex2DRect) DescriptorSet 0
+                              Decorate 220(utex2DRect) Binding 0
                               Decorate 227(itexBuffer) DescriptorSet 0
+                              Decorate 227(itexBuffer) Binding 0
                               Decorate 234(utexBuffer) DescriptorSet 0
+                              Decorate 234(utexBuffer) Binding 0
                               Decorate 241(tex2DMS) DescriptorSet 0
+                              Decorate 241(tex2DMS) Binding 0
                               Decorate 248(itex2DMS) DescriptorSet 0
+                              Decorate 248(itex2DMS) Binding 0
                               Decorate 255(utex2DMS) DescriptorSet 0
+                              Decorate 255(utex2DMS) Binding 0
                               Decorate 262(tex2DMSArray) DescriptorSet 0
+                              Decorate 262(tex2DMSArray) Binding 0
                               Decorate 269(itex2DMSArray) DescriptorSet 0
+                              Decorate 269(itex2DMSArray) Binding 0
                               Decorate 276(utex2DMSArray) DescriptorSet 0
+                              Decorate 276(utex2DMSArray) Binding 0
                               Decorate 283(tex1D) DescriptorSet 0
+                              Decorate 283(tex1D) Binding 0
                               Decorate 293(tex3D) DescriptorSet 0
+                              Decorate 293(tex3D) Binding 0
                               Decorate 304(tex2DRect) DescriptorSet 0
+                              Decorate 304(tex2DRect) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                8:             TypeFloat 32
diff --git a/Test/baseResults/spv.shaderImageFootprint.frag.out b/Test/baseResults/spv.shaderImageFootprint.frag.out
index 2ada2b5..671eff7 100644
--- a/Test/baseResults/spv.shaderImageFootprint.frag.out
+++ b/Test/baseResults/spv.shaderImageFootprint.frag.out
@@ -74,7 +74,9 @@
                               MemberDecorate 8(result2D) 5 Offset 36
                               Decorate 8(result2D) BufferBlock
                               Decorate 10 DescriptorSet 0
+                              Decorate 10 Binding 0
                               Decorate 17(sample2D) DescriptorSet 0
+                              Decorate 17(sample2D) Binding 0
                               Decorate 21(P2) Location 0
                               Decorate 24(granularity) Flat
                               Decorate 24(granularity) Location 3
@@ -91,7 +93,9 @@
                               MemberDecorate 377(result3D) 5 Offset 60
                               Decorate 377(result3D) BufferBlock
                               Decorate 379 DescriptorSet 0
+                              Decorate 379 Binding 0
                               Decorate 383(sample3D) DescriptorSet 0
+                              Decorate 383(sample3D) Binding 0
                               Decorate 387(P3) Location 2
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.sparseTexture.frag.out b/Test/baseResults/spv.sparseTexture.frag.out
index 4b39ff5..7fdea0c 100644
--- a/Test/baseResults/spv.sparseTexture.frag.out
+++ b/Test/baseResults/spv.sparseTexture.frag.out
@@ -48,23 +48,38 @@
                               Name 414  "i2DMS"
                               Name 423  "outColor"
                               Decorate 29(s2D) DescriptorSet 0
+                              Decorate 29(s2D) Binding 0
                               Decorate 44(s3D) DescriptorSet 0
+                              Decorate 44(s3D) Binding 0
                               Decorate 59(isCube) DescriptorSet 0
+                              Decorate 59(isCube) Binding 0
                               Decorate 71(s2DShadow) DescriptorSet 0
+                              Decorate 71(s2DShadow) Binding 0
                               Decorate 86(sCubeArrayShadow) DescriptorSet 0
+                              Decorate 86(sCubeArrayShadow) Binding 0
                               Decorate 108(usCubeArray) DescriptorSet 0
+                              Decorate 108(usCubeArray) Binding 0
                               Decorate 140(us2DRect) DescriptorSet 0
+                              Decorate 140(us2DRect) Binding 0
                               Decorate 154(s2DArrayShadow) DescriptorSet 0
+                              Decorate 154(s2DArrayShadow) Binding 0
                               Decorate 188(s2DMS) DescriptorSet 0
+                              Decorate 188(s2DMS) Binding 0
                               Decorate 228(is2DArray) DescriptorSet 0
+                              Decorate 228(is2DArray) Binding 0
                               Decorate 261(sCubeShadow) DescriptorSet 0
+                              Decorate 261(sCubeShadow) Binding 0
                               Decorate 294(s2DRectShadow) DescriptorSet 0
+                              Decorate 294(s2DRectShadow) Binding 0
                               Decorate 365(offsets) Flat
                               Decorate 390(i2D) DescriptorSet 0
+                              Decorate 390(i2D) Binding 0
                               Decorate 393(ic2) Flat
                               Decorate 402(ii3D) DescriptorSet 0
+                              Decorate 402(ii3D) Binding 0
                               Decorate 405(ic3) Flat
                               Decorate 414(i2DMS) DescriptorSet 0
+                              Decorate 414(i2DMS) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/spv.sparseTextureClamp.frag.out b/Test/baseResults/spv.sparseTextureClamp.frag.out
index 5b33c50..ff7dce5 100644
--- a/Test/baseResults/spv.sparseTextureClamp.frag.out
+++ b/Test/baseResults/spv.sparseTextureClamp.frag.out
@@ -41,16 +41,27 @@
                               Name 305  "is2DArray"
                               Name 345  "outColor"
                               Decorate 29(s2D) DescriptorSet 0
+                              Decorate 29(s2D) Binding 0
                               Decorate 47(s3D) DescriptorSet 0
+                              Decorate 47(s3D) Binding 0
                               Decorate 63(isCube) DescriptorSet 0
+                              Decorate 63(isCube) Binding 0
                               Decorate 76(s2DShadow) DescriptorSet 0
+                              Decorate 76(s2DShadow) Binding 0
                               Decorate 92(sCubeArrayShadow) DescriptorSet 0
+                              Decorate 92(sCubeArrayShadow) Binding 0
                               Decorate 154(us2DRect) DescriptorSet 0
+                              Decorate 154(us2DRect) Binding 0
                               Decorate 170(s2DArrayShadow) DescriptorSet 0
+                              Decorate 170(s2DArrayShadow) Binding 0
                               Decorate 218(sCubeShadow) DescriptorSet 0
+                              Decorate 218(sCubeShadow) Binding 0
                               Decorate 235(usCubeArray) DescriptorSet 0
+                              Decorate 235(usCubeArray) Binding 0
                               Decorate 286(s2DRectShadow) DescriptorSet 0
+                              Decorate 286(s2DRectShadow) Binding 0
                               Decorate 305(is2DArray) DescriptorSet 0
+                              Decorate 305(is2DArray) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/spv.specConstant.comp.out b/Test/baseResults/spv.specConstant.comp.out
index b8aa3dd..2f64150 100644
--- a/Test/baseResults/spv.specConstant.comp.out
+++ b/Test/baseResults/spv.specConstant.comp.out
@@ -16,6 +16,7 @@
                               MemberDecorate 7(bn) 0 Offset 0
                               Decorate 7(bn) BufferBlock
                               Decorate 9(bi) DescriptorSet 0
+                              Decorate 9(bi) Binding 0
                               Decorate 12 SpecId 18
                               Decorate 14 SpecId 19
                               Decorate 16 BuiltIn WorkgroupSize
diff --git a/Test/baseResults/spv.storageBuffer.vert.out b/Test/baseResults/spv.storageBuffer.vert.out
index 71c3bf2..5006e4c 100644
--- a/Test/baseResults/spv.storageBuffer.vert.out
+++ b/Test/baseResults/spv.storageBuffer.vert.out
@@ -30,9 +30,11 @@
                               MemberDecorate 16(ub) 0 Offset 0
                               Decorate 16(ub) Block
                               Decorate 18(ubi) DescriptorSet 0
+                              Decorate 18(ubi) Binding 0
                               MemberDecorate 22(bb) 0 Offset 0
                               Decorate 22(bb) Block
                               Decorate 24(bbi) DescriptorSet 0
+                              Decorate 24(bbi) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out
index ec771cc..4b357da 100644
--- a/Test/baseResults/spv.structAssignment.frag.out
+++ b/Test/baseResults/spv.structAssignment.frag.out
@@ -38,6 +38,7 @@
                               Decorate 16 RelaxedPrecision
                               Decorate 31(gl_FragColor) Location 0
                               Decorate 40(samp2D) DescriptorSet 0
+                              Decorate 40(samp2D) Binding 0
                               Decorate 44(coord) RelaxedPrecision
                               Decorate 45 RelaxedPrecision
                2:             TypeVoid
diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out
index a7915b4..6888a85 100644
--- a/Test/baseResults/spv.structDeref.frag.out
+++ b/Test/baseResults/spv.structDeref.frag.out
@@ -42,6 +42,7 @@
                               Name 122  "foo2"
                               Decorate 99(gl_FragColor) Location 0
                               Decorate 116(samp2D) DescriptorSet 0
+                              Decorate 116(samp2D) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out
index 0592084..f1da59f 100644
--- a/Test/baseResults/spv.structure.frag.out
+++ b/Test/baseResults/spv.structure.frag.out
@@ -26,6 +26,7 @@
                               Name 59  "foo"
                               Decorate 45(gl_FragColor) Location 0
                               Decorate 50(samp2D) DescriptorSet 0
+                              Decorate 50(samp2D) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.subpass.frag.out b/Test/baseResults/spv.subpass.frag.out
index 044243e..706624d 100644
--- a/Test/baseResults/spv.subpass.frag.out
+++ b/Test/baseResults/spv.subpass.frag.out
@@ -23,16 +23,22 @@
                               Name 56  "usub"
                               Name 61  "usubMS"
                               Decorate 30(sub) DescriptorSet 0
+                              Decorate 30(sub) Binding 0
                               Decorate 30(sub) InputAttachmentIndex 1
                               Decorate 35(subMS) DescriptorSet 0
+                              Decorate 35(subMS) Binding 0
                               Decorate 35(subMS) InputAttachmentIndex 2
                               Decorate 42(isub) DescriptorSet 0
+                              Decorate 42(isub) Binding 0
                               Decorate 42(isub) InputAttachmentIndex 3
                               Decorate 45(isubMS) DescriptorSet 0
+                              Decorate 45(isubMS) Binding 0
                               Decorate 45(isubMS) InputAttachmentIndex 4
                               Decorate 56(usub) DescriptorSet 0
+                              Decorate 56(usub) Binding 0
                               Decorate 56(usub) InputAttachmentIndex 5
                               Decorate 61(usubMS) DescriptorSet 0
+                              Decorate 61(usubMS) Binding 0
                               Decorate 61(usubMS) InputAttachmentIndex 6
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out
index b5fccc3..02e4f66 100644
--- a/Test/baseResults/spv.test.frag.out
+++ b/Test/baseResults/spv.test.frag.out
@@ -22,7 +22,9 @@
                               Name 46  "u"
                               Name 49  "blend"
                               Decorate 16(texSampler2D) DescriptorSet 0
+                              Decorate 16(texSampler2D) Binding 0
                               Decorate 33(texSampler3D) DescriptorSet 0
+                              Decorate 33(texSampler3D) Binding 0
                               Decorate 43(gl_FragColor) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out
index e685018..d518ad7 100644
--- a/Test/baseResults/spv.texture.frag.out
+++ b/Test/baseResults/spv.texture.frag.out
@@ -40,11 +40,17 @@
                               Name 303  "scale"
                               Name 304  "t"
                               Decorate 32(texSampler1D) DescriptorSet 0
+                              Decorate 32(texSampler1D) Binding 0
                               Decorate 76(texSampler2D) DescriptorSet 0
+                              Decorate 76(texSampler2D) Binding 0
                               Decorate 104(texSampler3D) DescriptorSet 0
+                              Decorate 104(texSampler3D) Binding 0
                               Decorate 130(texSamplerCube) DescriptorSet 0
+                              Decorate 130(texSamplerCube) Binding 0
                               Decorate 145(shadowSampler1D) DescriptorSet 0
+                              Decorate 145(shadowSampler1D) Binding 0
                               Decorate 164(shadowSampler2D) DescriptorSet 0
+                              Decorate 164(shadowSampler2D) Binding 0
                               Decorate 291(gl_FragColor) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.texture.sampler.transform.frag.out b/Test/baseResults/spv.texture.sampler.transform.frag.out
index ef8bbf6..612f2a9 100644
--- a/Test/baseResults/spv.texture.sampler.transform.frag.out
+++ b/Test/baseResults/spv.texture.sampler.transform.frag.out
@@ -14,6 +14,7 @@
                               Name 13  "tex"
                               Name 17  "coord"
                               Decorate 13(tex) DescriptorSet 0
+                              Decorate 13(tex) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out
index 0c1b7a1..f3f979c 100644
--- a/Test/baseResults/spv.texture.vert.out
+++ b/Test/baseResults/spv.texture.vert.out
@@ -24,11 +24,17 @@
                               Name 118  "shadowSampler2D"
                               Name 148  "gl_Position"
                               Decorate 29(texSampler1D) DescriptorSet 0
+                              Decorate 29(texSampler1D) Binding 0
                               Decorate 56(texSampler2D) DescriptorSet 0
+                              Decorate 56(texSampler2D) Binding 0
                               Decorate 80(texSampler3D) DescriptorSet 0
+                              Decorate 80(texSampler3D) Binding 0
                               Decorate 96(texSamplerCube) DescriptorSet 0
+                              Decorate 96(texSamplerCube) Binding 0
                               Decorate 106(shadowSampler1D) DescriptorSet 0
+                              Decorate 106(shadowSampler1D) Binding 0
                               Decorate 118(shadowSampler2D) DescriptorSet 0
+                              Decorate 118(shadowSampler2D) Binding 0
                               Decorate 148(gl_Position) BuiltIn Position
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.textureBuffer.vert.out b/Test/baseResults/spv.textureBuffer.vert.out
index e327cb4..252a9c8 100644
--- a/Test/baseResults/spv.textureBuffer.vert.out
+++ b/Test/baseResults/spv.textureBuffer.vert.out
@@ -16,10 +16,15 @@
                               Name 32  "utBuf"
                               Name 38  "itBuf"
                               Decorate 9(tBuf) DescriptorSet 0
+                              Decorate 9(tBuf) Binding 0
                               Decorate 13(s) DescriptorSet 0
+                              Decorate 13(s) Binding 0
                               Decorate 23(sBuf) DescriptorSet 0
+                              Decorate 23(sBuf) Binding 0
                               Decorate 32(utBuf) DescriptorSet 0
+                              Decorate 32(utBuf) Binding 0
                               Decorate 38(itBuf) DescriptorSet 0
+                              Decorate 38(itBuf) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.textureGatherBiasLod.frag.out b/Test/baseResults/spv.textureGatherBiasLod.frag.out
index ee16656..cd18688 100644
--- a/Test/baseResults/spv.textureGatherBiasLod.frag.out
+++ b/Test/baseResults/spv.textureGatherBiasLod.frag.out
@@ -32,9 +32,13 @@
                               Name 176  "lod"
                               Name 296  "fragColor"
                               Decorate 16(s2D) DescriptorSet 0
+                              Decorate 16(s2D) Binding 0
                               Decorate 33(s2DArray) DescriptorSet 0
+                              Decorate 33(s2DArray) Binding 0
                               Decorate 47(sCube) DescriptorSet 0
+                              Decorate 47(sCube) Binding 0
                               Decorate 58(sCubeArray) DescriptorSet 0
+                              Decorate 58(sCubeArray) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
index af0ad85..e6fe5e4 100644
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -58,6 +58,7 @@
                               Decorate 68(c) RelaxedPrecision
                               Decorate 72(usampler) RelaxedPrecision
                               Decorate 72(usampler) DescriptorSet 0
+                              Decorate 72(usampler) Binding 0
                               Decorate 73 RelaxedPrecision
                               Decorate 77(tc) RelaxedPrecision
                               Decorate 78 RelaxedPrecision
diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out
index ff5855c..0f9883e 100644
--- a/Test/baseResults/spv.uniformArray.frag.out
+++ b/Test/baseResults/spv.uniformArray.frag.out
@@ -18,6 +18,7 @@
                               Name 52  "texSampler2D"
                               Decorate 47(gl_FragColor) Location 0
                               Decorate 52(texSampler2D) DescriptorSet 0
+                              Decorate 52(texSampler2D) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out
index e0010df..87d934e 100644
--- a/Test/baseResults/spv.variableArrayIndex.frag.out
+++ b/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -38,6 +38,7 @@
                               Decorate 36(foo) Flat
                               Decorate 54(gl_FragColor) Location 0
                               Decorate 59(samp2D) DescriptorSet 0
+                              Decorate 59(samp2D) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out
index 0acfdd9..2628f82 100644
--- a/Test/baseResults/spv.varyingArray.frag.out
+++ b/Test/baseResults/spv.varyingArray.frag.out
@@ -18,6 +18,7 @@
                               Name 45  "gl_FragColor"
                               Name 48  "foo"
                               Decorate 13(texSampler2D) DescriptorSet 0
+                              Decorate 13(texSampler2D) Binding 0
                               Decorate 45(gl_FragColor) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out
index ffe7859..60e9857 100644
--- a/Test/baseResults/spv.varyingArrayIndirect.frag.out
+++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out
@@ -20,6 +20,7 @@
                               Name 50  "alpha"
                               Name 56  "gl_FragColor"
                               Decorate 13(texSampler2D) DescriptorSet 0
+                              Decorate 13(texSampler2D) Binding 0
                               Decorate 22(b) Flat
                               Decorate 31(a) Flat
                               Decorate 56(gl_FragColor) Location 0
diff --git a/Test/baseResults/spv.vulkan110.int16.frag.out b/Test/baseResults/spv.vulkan110.int16.frag.out
index e693896..11f1cd3 100644
--- a/Test/baseResults/spv.vulkan110.int16.frag.out
+++ b/Test/baseResults/spv.vulkan110.int16.frag.out
@@ -1,5 +1,4 @@
 spv.vulkan110.int16.frag
-Validation failed
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 523
diff --git a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out
index 77eafc2..a019471 100644
--- a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out
+++ b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out
@@ -29,9 +29,11 @@
                               MemberDecorate 16(ub) 0 Offset 0
                               Decorate 16(ub) Block
                               Decorate 18(ubi) DescriptorSet 0
+                              Decorate 18(ubi) Binding 0
                               MemberDecorate 22(bb) 0 Offset 0
                               Decorate 22(bb) Block
                               Decorate 24(bbi) DescriptorSet 0
+                              Decorate 24(bbi) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
diff --git a/known_good.json b/known_good.json
index 837255d..0c4b67b 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Tools",
       "subdir" : "External/spirv-tools",
-      "commit" : "d543f7dfed9ba02910996121375e57fff92c3c93"
+      "commit" : "24328a0554654d9e205b532288044d6d203c3f2c"
     },
     {
       "name" : "spirv-tools/external/spirv-headers",
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Headers",
       "subdir" : "External/spirv-tools/external/spirv-headers",
-      "commit" : "282879ca34563020dbe73fd8f7d45bed6755626a"
+      "commit" : "17da9f8231f78cf519b4958c2229463a63ead9e2"
     }
   ]
 }