HLSL: Add an Includer to handle #include.
diff --git a/Test/baseResults/hlsl.include.vert.out b/Test/baseResults/hlsl.include.vert.out
new file mode 100755
index 0000000..8f31aa0
--- /dev/null
+++ b/Test/baseResults/hlsl.include.vert.out
@@ -0,0 +1,75 @@
+../Test/hlsl.include.vert
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 44
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 42
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 9  "@main("
+                              Name 11  "$Global"
+                              MemberName 11($Global) 0  "i1"
+                              MemberName 11($Global) 1  "i2"
+                              MemberName 11($Global) 2  "i4"
+                              MemberName 11($Global) 3  "i3"
+                              MemberName 11($Global) 4  "i6"
+                              MemberName 11($Global) 5  "i5"
+                              Name 13  ""
+                              Name 42  "@entryPointOutput"
+                              MemberDecorate 11($Global) 0 Offset 0
+                              MemberDecorate 11($Global) 1 Offset 16
+                              MemberDecorate 11($Global) 2 Offset 32
+                              MemberDecorate 11($Global) 3 Offset 48
+                              MemberDecorate 11($Global) 4 Offset 64
+                              MemberDecorate 11($Global) 5 Offset 80
+                              Decorate 11($Global) Block
+                              Decorate 13 DescriptorSet 0
+                              Decorate 42(@entryPointOutput) BuiltIn Position
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeFunction 7(fvec4)
+     11($Global):             TypeStruct 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4) 7(fvec4)
+              12:             TypePointer Uniform 11($Global)
+              13:     12(ptr) Variable Uniform
+              14:             TypeInt 32 1
+              15:     14(int) Constant 0
+              16:             TypePointer Uniform 7(fvec4)
+              19:     14(int) Constant 1
+              23:     14(int) Constant 3
+              27:     14(int) Constant 2
+              31:     14(int) Constant 5
+              35:     14(int) Constant 4
+              41:             TypePointer Output 7(fvec4)
+42(@entryPointOutput):     41(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              43:    7(fvec4) FunctionCall 9(@main()
+                              Store 42(@entryPointOutput) 43
+                              Return
+                              FunctionEnd
+       9(@main():    7(fvec4) Function None 8
+              10:             Label
+              17:     16(ptr) AccessChain 13 15
+              18:    7(fvec4) Load 17
+              20:     16(ptr) AccessChain 13 19
+              21:    7(fvec4) Load 20
+              22:    7(fvec4) FAdd 18 21
+              24:     16(ptr) AccessChain 13 23
+              25:    7(fvec4) Load 24
+              26:    7(fvec4) FAdd 22 25
+              28:     16(ptr) AccessChain 13 27
+              29:    7(fvec4) Load 28
+              30:    7(fvec4) FAdd 26 29
+              32:     16(ptr) AccessChain 13 31
+              33:    7(fvec4) Load 32
+              34:    7(fvec4) FAdd 30 33
+              36:     16(ptr) AccessChain 13 35
+              37:    7(fvec4) Load 36
+              38:    7(fvec4) FAdd 34 37
+                              ReturnValue 38
+                              FunctionEnd