hlsl.multiDescriptorSet.frag
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 92

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 78 82 86
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "PS_INPUT"
                              MemberName 9(PS_INPUT) 0  "Pos"
                              MemberName 9(PS_INPUT) 1  "Tex"
                              Name 13  "@main(struct-PS_INPUT-vf4-vf21;"
                              Name 12  "input"
                              Name 15  "output"
                              Name 23  "cbChangesEveryFrame"
                              MemberName 23(cbChangesEveryFrame) 0  "World"
                              MemberName 23(cbChangesEveryFrame) 1  "vMeshColor"
                              Name 25  ""
                              Name 34  "cbNeverChanges"
                              MemberName 34(cbNeverChanges) 0  "View"
                              Name 36  ""
                              Name 43  "cbChangeOnResize"
                              MemberName 43(cbChangeOnResize) 0  "Projection"
                              Name 45  ""
                              Name 59  "txDiffuseA"
                              Name 63  "samLinearA"
                              Name 76  "input"
                              Name 78  "input.Pos"
                              Name 82  "input.Tex"
                              Name 86  "@entryPointOutput"
                              Name 87  "param"
                              Name 90  "txDiffuseB"
                              Name 91  "samLinearB"
                              MemberDecorate 23(cbChangesEveryFrame) 0 RowMajor
                              MemberDecorate 23(cbChangesEveryFrame) 0 Offset 0
                              MemberDecorate 23(cbChangesEveryFrame) 0 MatrixStride 16
                              MemberDecorate 23(cbChangesEveryFrame) 1 Offset 64
                              Decorate 23(cbChangesEveryFrame) Block
                              Decorate 25 DescriptorSet 2
                              Decorate 25 Binding 2
                              MemberDecorate 34(cbNeverChanges) 0 RowMajor
                              MemberDecorate 34(cbNeverChanges) 0 Offset 0
                              MemberDecorate 34(cbNeverChanges) 0 MatrixStride 16
                              Decorate 34(cbNeverChanges) Block
                              Decorate 36 DescriptorSet 2
                              Decorate 36 Binding 0
                              MemberDecorate 43(cbChangeOnResize) 0 RowMajor
                              MemberDecorate 43(cbChangeOnResize) 0 Offset 0
                              MemberDecorate 43(cbChangeOnResize) 0 MatrixStride 16
                              Decorate 43(cbChangeOnResize) Block
                              Decorate 45 DescriptorSet 2
                              Decorate 45 Binding 1
                              Decorate 59(txDiffuseA) DescriptorSet 0
                              Decorate 59(txDiffuseA) Binding 0
                              Decorate 63(samLinearA) DescriptorSet 0
                              Decorate 63(samLinearA) Binding 1
                              Decorate 78(input.Pos) BuiltIn FragCoord
                              Decorate 82(input.Tex) Location 0
                              Decorate 86(@entryPointOutput) Location 0
                              Decorate 90(txDiffuseB) DescriptorSet 1
                              Decorate 90(txDiffuseB) Binding 0
                              Decorate 91(samLinearB) DescriptorSet 1
                              Decorate 91(samLinearB) Binding 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeVector 6(float) 2
     9(PS_INPUT):             TypeStruct 7(fvec4) 8(fvec2)
              10:             TypePointer Function 9(PS_INPUT)
              11:             TypeFunction 7(fvec4) 10(ptr)
              16:    6(float) Constant 0
              17:    7(fvec4) ConstantComposite 16 16 16 16
              18:    8(fvec2) ConstantComposite 16 16
              19: 9(PS_INPUT) ConstantComposite 17 18
              20:             TypeInt 32 1
              21:     20(int) Constant 0
              22:             TypeMatrix 7(fvec4) 4
23(cbChangesEveryFrame):             TypeStruct 22 7(fvec4)
              24:             TypePointer Uniform 23(cbChangesEveryFrame)
              25:     24(ptr) Variable Uniform
              26:             TypePointer Uniform 22
              29:             TypePointer Function 7(fvec4)
34(cbNeverChanges):             TypeStruct 22
              35:             TypePointer Uniform 34(cbNeverChanges)
              36:     35(ptr) Variable Uniform
43(cbChangeOnResize):             TypeStruct 22
              44:             TypePointer Uniform 43(cbChangeOnResize)
              45:     44(ptr) Variable Uniform
              52:     20(int) Constant 1
              53:             TypePointer Function 8(fvec2)
              57:             TypeImage 6(float) 2D sampled format:Unknown
              58:             TypePointer UniformConstant 57
  59(txDiffuseA):     58(ptr) Variable UniformConstant
              61:             TypeSampler
              62:             TypePointer UniformConstant 61
  63(samLinearA):     62(ptr) Variable UniformConstant
              65:             TypeSampledImage 57
              70:             TypePointer Uniform 7(fvec4)
              77:             TypePointer Input 7(fvec4)
   78(input.Pos):     77(ptr) Variable Input
              81:             TypePointer Input 8(fvec2)
   82(input.Tex):     81(ptr) Variable Input
              85:             TypePointer Output 7(fvec4)
86(@entryPointOutput):     85(ptr) Variable Output
  90(txDiffuseB):     58(ptr) Variable UniformConstant
  91(samLinearB):     62(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
       76(input):     10(ptr) Variable Function
       87(param):     10(ptr) Variable Function
              79:    7(fvec4) Load 78(input.Pos)
              80:     29(ptr) AccessChain 76(input) 21
                              Store 80 79
              83:    8(fvec2) Load 82(input.Tex)
              84:     53(ptr) AccessChain 76(input) 52
                              Store 84 83
              88: 9(PS_INPUT) Load 76(input)
                              Store 87(param) 88
              89:    7(fvec4) FunctionCall 13(@main(struct-PS_INPUT-vf4-vf21;) 87(param)
                              Store 86(@entryPointOutput) 89
                              Return
                              FunctionEnd
13(@main(struct-PS_INPUT-vf4-vf21;):    7(fvec4) Function None 11
       12(input):     10(ptr) FunctionParameter
              14:             Label
      15(output):     10(ptr) Variable Function
                              Store 15(output) 19
              27:     26(ptr) AccessChain 25 21
              28:          22 Load 27
              30:     29(ptr) AccessChain 12(input) 21
              31:    7(fvec4) Load 30
              32:    7(fvec4) MatrixTimesVector 28 31
              33:     29(ptr) AccessChain 15(output) 21
                              Store 33 32
              37:     26(ptr) AccessChain 36 21
              38:          22 Load 37
              39:     29(ptr) AccessChain 15(output) 21
              40:    7(fvec4) Load 39
              41:    7(fvec4) MatrixTimesVector 38 40
              42:     29(ptr) AccessChain 15(output) 21
                              Store 42 41
              46:     26(ptr) AccessChain 45 21
              47:          22 Load 46
              48:     29(ptr) AccessChain 15(output) 21
              49:    7(fvec4) Load 48
              50:    7(fvec4) MatrixTimesVector 47 49
              51:     29(ptr) AccessChain 15(output) 21
                              Store 51 50
              54:     53(ptr) AccessChain 12(input) 52
              55:    8(fvec2) Load 54
              56:     53(ptr) AccessChain 15(output) 52
                              Store 56 55
              60:          57 Load 59(txDiffuseA)
              64:          61 Load 63(samLinearA)
              66:          65 SampledImage 60 64
              67:     53(ptr) AccessChain 15(output) 52
              68:    8(fvec2) Load 67
              69:    7(fvec4) ImageSampleImplicitLod 66 68
              71:     70(ptr) AccessChain 25 52
              72:    7(fvec4) Load 71
              73:    7(fvec4) FMul 69 72
                              ReturnValue 73
                              FunctionEnd
