hlsl.array.flatten.frag Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:17 Function Definition: TestFn1( (temp 4-component vector of float) 0:17 Function Parameters: 0:? Sequence 0:18 Branch: Return with expression 0:18 texture (temp 4-component vector of float) 0:18 Construct combined texture-sampler (temp sampler1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_samp[1]' (uniform sampler) 0:18 Constant: 0:18 0.200000 0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) 0:22 Function Parameters: 0:22 'l_tex' (in 3-element array of texture1D) 0:22 'l_samp' (in 3-element array of sampler) 0:? Sequence 0:23 Branch: Return with expression 0:23 texture (temp 4-component vector of float) 0:23 Construct combined texture-sampler (temp sampler1D) 0:23 direct index (temp texture1D) 0:23 'l_tex' (in 3-element array of texture1D) 0:23 Constant: 0:23 2 (const int) 0:23 direct index (temp sampler) 0:23 'l_samp' (in 3-element array of sampler) 0:23 Constant: 0:23 2 (const int) 0:23 Constant: 0:23 0.200000 0:26 Sequence 0:26 move second child to first child (temp 5-element array of int) 0:26 'not_flattened_a' (global 5-element array of int) 0:26 Constant: 0:26 1 (const int) 0:26 2 (const int) 0:26 3 (const int) 0:26 4 (const int) 0:26 5 (const int) 0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) 0:31 Function Parameters: 0:31 'ps_output' (out structure{temp 4-component vector of float color}) 0:? Sequence 0:33 Sequence 0:33 Sequence 0:33 move second child to first child (temp sampler) 0:33 direct index (temp sampler) 0:33 'local_sampler_array' (temp 3-element array of sampler) 0:33 Constant: 0:33 0 (const int) 0:? 'g_samp[0]' (uniform sampler) 0:33 move second child to first child (temp sampler) 0:33 direct index (temp sampler) 0:33 'local_sampler_array' (temp 3-element array of sampler) 0:33 Constant: 0:33 1 (const int) 0:? 'g_samp[1]' (uniform sampler) 0:33 move second child to first child (temp sampler) 0:33 direct index (temp sampler) 0:33 'local_sampler_array' (temp 3-element array of sampler) 0:33 Constant: 0:33 2 (const int) 0:? 'g_samp[2]' (uniform sampler) 0:34 Sequence 0:34 Sequence 0:34 move second child to first child (temp texture1D) 0:34 direct index (temp texture1D) 0:34 'local_texture_array' (temp 3-element array of texture1D) 0:34 Constant: 0:34 0 (const int) 0:? 'g_tex[0]' (uniform texture1D) 0:34 move second child to first child (temp texture1D) 0:34 direct index (temp texture1D) 0:34 'local_texture_array' (temp 3-element array of texture1D) 0:34 Constant: 0:34 1 (const int) 0:? 'g_tex[1]' (uniform texture1D) 0:34 move second child to first child (temp texture1D) 0:34 direct index (temp texture1D) 0:34 'local_texture_array' (temp 3-element array of texture1D) 0:34 Constant: 0:34 2 (const int) 0:? 'g_tex[2]' (uniform texture1D) 0:35 Sequence 0:35 move second child to first child (temp 4-element array of float) 0:35 'local_float_array' (temp 4-element array of float) 0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float) 0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:35 Constant: 0:35 2 (const uint) 0:37 move second child to first child (temp 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:37 add (temp 4-component vector of float) 0:37 Function Call: TestFn1( (temp 4-component vector of float) 0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) 0:37 Comma (temp 3-element array of texture1D) 0:37 Sequence 0:37 move second child to first child (temp texture1D) 0:37 direct index (temp texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Constant: 0:37 0 (const int) 0:? 'g_tex[0]' (uniform texture1D) 0:37 move second child to first child (temp texture1D) 0:37 direct index (temp texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Constant: 0:37 1 (const int) 0:? 'g_tex[1]' (uniform texture1D) 0:37 move second child to first child (temp texture1D) 0:37 direct index (temp texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Constant: 0:37 2 (const int) 0:? 'g_tex[2]' (uniform texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Comma (temp 3-element array of sampler) 0:37 Sequence 0:37 move second child to first child (temp sampler) 0:37 direct index (temp sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:37 Constant: 0:37 0 (const int) 0:? 'g_samp[0]' (uniform sampler) 0:37 move second child to first child (temp sampler) 0:37 direct index (temp sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:37 Constant: 0:37 1 (const int) 0:? 'g_samp[1]' (uniform sampler) 0:37 move second child to first child (temp sampler) 0:37 direct index (temp sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:37 Constant: 0:37 2 (const int) 0:? 'g_samp[2]' (uniform sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tex[0]' (uniform texture1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_tex[2]' (uniform texture1D) 0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D) 0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D) 0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D) 0:? 'g_samp[0]' (uniform sampler) 0:? 'g_samp[1]' (uniform sampler) 0:? 'g_samp[2]' (uniform sampler) 0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler) 0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler) 0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:? 'not_flattened_a' (global 5-element array of int) Linked fragment stage: Shader version: 450 gl_FragCoord origin is upper left 0:? Sequence 0:17 Function Definition: TestFn1( (temp 4-component vector of float) 0:17 Function Parameters: 0:? Sequence 0:18 Branch: Return with expression 0:18 texture (temp 4-component vector of float) 0:18 Construct combined texture-sampler (temp sampler1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_samp[1]' (uniform sampler) 0:18 Constant: 0:18 0.200000 0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) 0:22 Function Parameters: 0:22 'l_tex' (in 3-element array of texture1D) 0:22 'l_samp' (in 3-element array of sampler) 0:? Sequence 0:23 Branch: Return with expression 0:23 texture (temp 4-component vector of float) 0:23 Construct combined texture-sampler (temp sampler1D) 0:23 direct index (temp texture1D) 0:23 'l_tex' (in 3-element array of texture1D) 0:23 Constant: 0:23 2 (const int) 0:23 direct index (temp sampler) 0:23 'l_samp' (in 3-element array of sampler) 0:23 Constant: 0:23 2 (const int) 0:23 Constant: 0:23 0.200000 0:26 Sequence 0:26 move second child to first child (temp 5-element array of int) 0:26 'not_flattened_a' (global 5-element array of int) 0:26 Constant: 0:26 1 (const int) 0:26 2 (const int) 0:26 3 (const int) 0:26 4 (const int) 0:26 5 (const int) 0:31 Function Definition: main(struct-PS_OUTPUT-vf41; (temp void) 0:31 Function Parameters: 0:31 'ps_output' (out structure{temp 4-component vector of float color}) 0:? Sequence 0:33 Sequence 0:33 Sequence 0:33 move second child to first child (temp sampler) 0:33 direct index (temp sampler) 0:33 'local_sampler_array' (temp 3-element array of sampler) 0:33 Constant: 0:33 0 (const int) 0:? 'g_samp[0]' (uniform sampler) 0:33 move second child to first child (temp sampler) 0:33 direct index (temp sampler) 0:33 'local_sampler_array' (temp 3-element array of sampler) 0:33 Constant: 0:33 1 (const int) 0:? 'g_samp[1]' (uniform sampler) 0:33 move second child to first child (temp sampler) 0:33 direct index (temp sampler) 0:33 'local_sampler_array' (temp 3-element array of sampler) 0:33 Constant: 0:33 2 (const int) 0:? 'g_samp[2]' (uniform sampler) 0:34 Sequence 0:34 Sequence 0:34 move second child to first child (temp texture1D) 0:34 direct index (temp texture1D) 0:34 'local_texture_array' (temp 3-element array of texture1D) 0:34 Constant: 0:34 0 (const int) 0:? 'g_tex[0]' (uniform texture1D) 0:34 move second child to first child (temp texture1D) 0:34 direct index (temp texture1D) 0:34 'local_texture_array' (temp 3-element array of texture1D) 0:34 Constant: 0:34 1 (const int) 0:? 'g_tex[1]' (uniform texture1D) 0:34 move second child to first child (temp texture1D) 0:34 direct index (temp texture1D) 0:34 'local_texture_array' (temp 3-element array of texture1D) 0:34 Constant: 0:34 2 (const int) 0:? 'g_tex[2]' (uniform texture1D) 0:35 Sequence 0:35 move second child to first child (temp 4-element array of float) 0:35 'local_float_array' (temp 4-element array of float) 0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float) 0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:35 Constant: 0:35 2 (const uint) 0:37 move second child to first child (temp 4-component vector of float) 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:37 add (temp 4-component vector of float) 0:37 Function Call: TestFn1( (temp 4-component vector of float) 0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float) 0:37 Comma (temp 3-element array of texture1D) 0:37 Sequence 0:37 move second child to first child (temp texture1D) 0:37 direct index (temp texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Constant: 0:37 0 (const int) 0:? 'g_tex[0]' (uniform texture1D) 0:37 move second child to first child (temp texture1D) 0:37 direct index (temp texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Constant: 0:37 1 (const int) 0:? 'g_tex[1]' (uniform texture1D) 0:37 move second child to first child (temp texture1D) 0:37 direct index (temp texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Constant: 0:37 2 (const int) 0:? 'g_tex[2]' (uniform texture1D) 0:37 'aggShadow' (temp 3-element array of texture1D) 0:37 Comma (temp 3-element array of sampler) 0:37 Sequence 0:37 move second child to first child (temp sampler) 0:37 direct index (temp sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:37 Constant: 0:37 0 (const int) 0:? 'g_samp[0]' (uniform sampler) 0:37 move second child to first child (temp sampler) 0:37 direct index (temp sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:37 Constant: 0:37 1 (const int) 0:? 'g_samp[1]' (uniform sampler) 0:37 move second child to first child (temp sampler) 0:37 direct index (temp sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:37 Constant: 0:37 2 (const int) 0:? 'g_samp[2]' (uniform sampler) 0:37 'aggShadow' (temp 3-element array of sampler) 0:? Linker Objects 0:? 'color' (layout(location=0 ) out 4-component vector of float) 0:? 'g_tex[0]' (uniform texture1D) 0:? 'g_tex[1]' (uniform texture1D) 0:? 'g_tex[2]' (uniform texture1D) 0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D) 0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D) 0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D) 0:? 'g_samp[0]' (uniform sampler) 0:? 'g_samp[1]' (uniform sampler) 0:? 'g_samp[2]' (uniform sampler) 0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler) 0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler) 0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler) 0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats}) 0:? 'not_flattened_a' (global 5-element array of int) // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 123 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 99 ExecutionMode 4 OriginUpperLeft Name 4 "main" Name 9 "TestFn1(" Name 22 "TestFn2(t11[3];p1[3];" Name 20 "l_tex" Name 21 "l_samp" Name 28 "not_flattened_a" Name 36 "g_tex[1]" Name 39 "g_samp[1]" Name 55 "local_sampler_array" Name 57 "g_samp[0]" Name 62 "g_samp[2]" Name 65 "local_texture_array" Name 66 "g_tex[0]" Name 71 "g_tex[2]" Name 77 "local_float_array" Name 83 "$Global" MemberName 83($Global) 0 "g_mats" MemberName 83($Global) 1 "g_mats_explicit" MemberName 83($Global) 2 "g_floats" Name 85 "" Name 99 "color" Name 101 "aggShadow" Name 108 "aggShadow" Name 117 "g_tex_explicit[0]" Name 118 "g_tex_explicit[1]" Name 119 "g_tex_explicit[2]" Name 120 "g_samp_explicit[0]" Name 121 "g_samp_explicit[1]" Name 122 "g_samp_explicit[2]" Decorate 36(g_tex[1]) DescriptorSet 0 Decorate 39(g_samp[1]) DescriptorSet 0 Decorate 57(g_samp[0]) DescriptorSet 0 Decorate 62(g_samp[2]) DescriptorSet 0 Decorate 66(g_tex[0]) DescriptorSet 0 Decorate 71(g_tex[2]) DescriptorSet 0 Decorate 80 ArrayStride 48 Decorate 81 ArrayStride 48 Decorate 82 ArrayStride 16 MemberDecorate 83($Global) 0 RowMajor MemberDecorate 83($Global) 0 Offset 0 MemberDecorate 83($Global) 0 MatrixStride 16 MemberDecorate 83($Global) 1 RowMajor MemberDecorate 83($Global) 1 Offset 192 MemberDecorate 83($Global) 1 MatrixStride 16 MemberDecorate 83($Global) 2 Offset 384 Decorate 83($Global) Block Decorate 85 DescriptorSet 0 Decorate 99(color) Location 0 Decorate 117(g_tex_explicit[0]) DescriptorSet 0 Decorate 117(g_tex_explicit[0]) Binding 1 Decorate 118(g_tex_explicit[1]) DescriptorSet 0 Decorate 118(g_tex_explicit[1]) Binding 2 Decorate 119(g_tex_explicit[2]) DescriptorSet 0 Decorate 119(g_tex_explicit[2]) Binding 3 Decorate 120(g_samp_explicit[0]) DescriptorSet 0 Decorate 120(g_samp_explicit[0]) Binding 5 Decorate 121(g_samp_explicit[1]) DescriptorSet 0 Decorate 121(g_samp_explicit[1]) Binding 6 Decorate 122(g_samp_explicit[2]) DescriptorSet 0 Decorate 122(g_samp_explicit[2]) Binding 7 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeFunction 7(fvec4) 11: TypeImage 6(float) 1D sampled format:Unknown 12: TypeInt 32 0 13: 12(int) Constant 3 14: TypeArray 11 13 15: TypePointer UniformConstant 14 16: TypeSampler 17: TypeArray 16 13 18: TypePointer UniformConstant 17 19: TypeFunction 7(fvec4) 15(ptr) 18(ptr) 24: TypeInt 32 1 25: 12(int) Constant 5 26: TypeArray 24(int) 25 27: TypePointer Private 26 28(not_flattened_a): 27(ptr) Variable Private 29: 24(int) Constant 1 30: 24(int) Constant 2 31: 24(int) Constant 3 32: 24(int) Constant 4 33: 24(int) Constant 5 34: 26 ConstantComposite 29 30 31 32 33 35: TypePointer UniformConstant 11 36(g_tex[1]): 35(ptr) Variable UniformConstant 38: TypePointer UniformConstant 16 39(g_samp[1]): 38(ptr) Variable UniformConstant 41: TypeSampledImage 11 43: 6(float) Constant 1045220557 55(local_sampler_array): 18(ptr) Variable UniformConstant 56: 24(int) Constant 0 57(g_samp[0]): 38(ptr) Variable UniformConstant 62(g_samp[2]): 38(ptr) Variable UniformConstant 65(local_texture_array): 15(ptr) Variable UniformConstant 66(g_tex[0]): 35(ptr) Variable UniformConstant 71(g_tex[2]): 35(ptr) Variable UniformConstant 74: 12(int) Constant 4 75: TypeArray 6(float) 74 76: TypePointer Function 75 78: TypeVector 6(float) 3 79: TypeMatrix 78(fvec3) 3 80: TypeArray 79 74 81: TypeArray 79 74 82: TypeArray 6(float) 74 83($Global): TypeStruct 80 81 82 84: TypePointer Uniform 83($Global) 85: 84(ptr) Variable Uniform 86: TypePointer Uniform 82 90: TypePointer Function 6(float) 98: TypePointer Output 7(fvec4) 99(color): 98(ptr) Variable Output 101(aggShadow): 15(ptr) Variable UniformConstant 108(aggShadow): 18(ptr) Variable UniformConstant 117(g_tex_explicit[0]): 35(ptr) Variable UniformConstant 118(g_tex_explicit[1]): 35(ptr) Variable UniformConstant 119(g_tex_explicit[2]): 35(ptr) Variable UniformConstant 120(g_samp_explicit[0]): 38(ptr) Variable UniformConstant 121(g_samp_explicit[1]): 38(ptr) Variable UniformConstant 122(g_samp_explicit[2]): 38(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 77(local_float_array): 76(ptr) Variable Function Store 28(not_flattened_a) 34 58: 16 Load 57(g_samp[0]) 59: 38(ptr) AccessChain 55(local_sampler_array) 56 Store 59 58 60: 16 Load 39(g_samp[1]) 61: 38(ptr) AccessChain 55(local_sampler_array) 29 Store 61 60 63: 16 Load 62(g_samp[2]) 64: 38(ptr) AccessChain 55(local_sampler_array) 30 Store 64 63 67: 11 Load 66(g_tex[0]) 68: 35(ptr) AccessChain 65(local_texture_array) 56 Store 68 67 69: 11 Load 36(g_tex[1]) 70: 35(ptr) AccessChain 65(local_texture_array) 29 Store 70 69 72: 11 Load 71(g_tex[2]) 73: 35(ptr) AccessChain 65(local_texture_array) 30 Store 73 72 87: 86(ptr) AccessChain 85 30 88: 82 Load 87 89: 6(float) CompositeExtract 88 0 91: 90(ptr) AccessChain 77(local_float_array) 56 Store 91 89 92: 6(float) CompositeExtract 88 1 93: 90(ptr) AccessChain 77(local_float_array) 29 Store 93 92 94: 6(float) CompositeExtract 88 2 95: 90(ptr) AccessChain 77(local_float_array) 30 Store 95 94 96: 6(float) CompositeExtract 88 3 97: 90(ptr) AccessChain 77(local_float_array) 31 Store 97 96 100: 7(fvec4) FunctionCall 9(TestFn1() 102: 11 Load 66(g_tex[0]) 103: 35(ptr) AccessChain 101(aggShadow) 56 Store 103 102 104: 11 Load 36(g_tex[1]) 105: 35(ptr) AccessChain 101(aggShadow) 29 Store 105 104 106: 11 Load 71(g_tex[2]) 107: 35(ptr) AccessChain 101(aggShadow) 30 Store 107 106 109: 16 Load 57(g_samp[0]) 110: 38(ptr) AccessChain 108(aggShadow) 56 Store 110 109 111: 16 Load 39(g_samp[1]) 112: 38(ptr) AccessChain 108(aggShadow) 29 Store 112 111 113: 16 Load 62(g_samp[2]) 114: 38(ptr) AccessChain 108(aggShadow) 30 Store 114 113 115: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 101(aggShadow) 108(aggShadow) 116: 7(fvec4) FAdd 100 115 Store 99(color) 116 Return FunctionEnd 9(TestFn1(): 7(fvec4) Function None 8 10: Label 37: 11 Load 36(g_tex[1]) 40: 16 Load 39(g_samp[1]) 42: 41 SampledImage 37 40 44: 7(fvec4) ImageSampleImplicitLod 42 43 ReturnValue 44 FunctionEnd 22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19 20(l_tex): 15(ptr) FunctionParameter 21(l_samp): 18(ptr) FunctionParameter 23: Label 47: 35(ptr) AccessChain 20(l_tex) 30 48: 11 Load 47 49: 38(ptr) AccessChain 21(l_samp) 30 50: 16 Load 49 51: 41 SampledImage 48 50 52: 7(fvec4) ImageSampleImplicitLod 51 43 ReturnValue 52 FunctionEnd