hlsl.structarray.flatten.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:23 Function Parameters: 0:23 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence 0:24 move second child to first child ( temp 4-component vector of float) 0:24 color: direct index for structure ( temp 4-component vector of float) 0:24 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:24 Constant: 0:24 0 (const int) 0:26 add ( temp 4-component vector of float) 0:25 add ( temp 4-component vector of float) 0:25 texture ( temp 4-component vector of float) 0:25 Construct combined texture-sampler ( temp sampler1D) 0:? 'g_texdata.tex' ( uniform texture1D) 0:? 'g_texdata.samp' ( uniform sampler) 0:25 Constant: 0:25 0.500000 0:26 texture ( temp 4-component vector of float) 0:26 Construct combined texture-sampler ( temp sampler1D) 0:? 'g_texdata_array[1].tex' ( uniform texture1D) 0:? 'g_texdata_array[1].samp' ( uniform sampler) 0:26 Constant: 0:26 0.400000 0:27 texture ( temp 4-component vector of float) 0:27 Construct combined texture-sampler ( temp sampler1D) 0:27 direct index ( temp texture1D) 0:? 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D) 0:27 Constant: 0:27 0 (const int) 0:27 direct index ( temp sampler) 0:? 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler) 0:27 Constant: 0:27 0 (const int) 0:27 Constant: 0:27 0.300000 0:23 Function Definition: main( ( temp void) 0:23 Function Parameters: 0:? Sequence 0:23 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:23 Sequence 0:23 move second child to first child ( temp 4-component vector of float) 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) 0:23 color: direct index for structure ( temp 4-component vector of float) 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:23 Constant: 0:23 0 (const int) 0:? Linker Objects 0:? 'g_samp' ( uniform sampler) 0:? 'g_tex' ( uniform texture1D) 0:? 'g_texdata.samp' ( uniform sampler) 0:? 'g_texdata.tex' ( uniform texture1D) 0:? 'g_texdata.nonopaque_thing' ( uniform int) 0:? 'g_texdata_array[0].samp' ( uniform sampler) 0:? 'g_texdata_array[0].tex' ( uniform texture1D) 0:? 'g_texdata_array[0].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array[1].samp' ( uniform sampler) 0:? 'g_texdata_array[1].tex' ( uniform texture1D) 0:? 'g_texdata_array[1].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array[2].samp' ( uniform sampler) 0:? 'g_texdata_array[2].tex' ( uniform texture1D) 0:? 'g_texdata_array[2].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array2[0].samp' ( uniform 2-element array of sampler) 0:? 'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D) 0:? 'g_texdata_array2[0].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler) 0:? 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D) 0:? 'g_texdata_array2[1].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array2[2].samp' ( uniform 2-element array of sampler) 0:? 'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D) 0:? 'g_texdata_array2[2].nonopaque_thing' ( uniform int) 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:23 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:23 Function Parameters: 0:23 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:? Sequence 0:24 move second child to first child ( temp 4-component vector of float) 0:24 color: direct index for structure ( temp 4-component vector of float) 0:24 'ps_output' ( out structure{ temp 4-component vector of float color}) 0:24 Constant: 0:24 0 (const int) 0:26 add ( temp 4-component vector of float) 0:25 add ( temp 4-component vector of float) 0:25 texture ( temp 4-component vector of float) 0:25 Construct combined texture-sampler ( temp sampler1D) 0:? 'g_texdata.tex' ( uniform texture1D) 0:? 'g_texdata.samp' ( uniform sampler) 0:25 Constant: 0:25 0.500000 0:26 texture ( temp 4-component vector of float) 0:26 Construct combined texture-sampler ( temp sampler1D) 0:? 'g_texdata_array[1].tex' ( uniform texture1D) 0:? 'g_texdata_array[1].samp' ( uniform sampler) 0:26 Constant: 0:26 0.400000 0:27 texture ( temp 4-component vector of float) 0:27 Construct combined texture-sampler ( temp sampler1D) 0:27 direct index ( temp texture1D) 0:? 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D) 0:27 Constant: 0:27 0 (const int) 0:27 direct index ( temp sampler) 0:? 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler) 0:27 Constant: 0:27 0 (const int) 0:27 Constant: 0:27 0.300000 0:23 Function Definition: main( ( temp void) 0:23 Function Parameters: 0:? Sequence 0:23 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void) 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:23 Sequence 0:23 move second child to first child ( temp 4-component vector of float) 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) 0:23 color: direct index for structure ( temp 4-component vector of float) 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color}) 0:23 Constant: 0:23 0 (const int) 0:? Linker Objects 0:? 'g_samp' ( uniform sampler) 0:? 'g_tex' ( uniform texture1D) 0:? 'g_texdata.samp' ( uniform sampler) 0:? 'g_texdata.tex' ( uniform texture1D) 0:? 'g_texdata.nonopaque_thing' ( uniform int) 0:? 'g_texdata_array[0].samp' ( uniform sampler) 0:? 'g_texdata_array[0].tex' ( uniform texture1D) 0:? 'g_texdata_array[0].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array[1].samp' ( uniform sampler) 0:? 'g_texdata_array[1].tex' ( uniform texture1D) 0:? 'g_texdata_array[1].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array[2].samp' ( uniform sampler) 0:? 'g_texdata_array[2].tex' ( uniform texture1D) 0:? 'g_texdata_array[2].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array2[0].samp' ( uniform 2-element array of sampler) 0:? 'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D) 0:? 'g_texdata_array2[0].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler) 0:? 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D) 0:? 'g_texdata_array2[1].nonopaque_thing' ( uniform int) 0:? 'g_texdata_array2[2].samp' ( uniform 2-element array of sampler) 0:? 'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D) 0:? 'g_texdata_array2[2].nonopaque_thing' ( uniform int) 0:? 'ps_output.color' (layout( location=0) out 4-component vector of float) error: SPIRV-Tools Validation Errors error: From Vulkan spec, section 14.5.2: Variables identified with the UniformConstant storage class are used only as handles to refer to opaque resources. Such variables must be typed as OpTypeImage, OpTypeSampler, OpTypeSampledImage, OpTypeAccelerationStructureNV, or an array of one of these types. %g_texdata_nonopaque_thing = OpVariable %_ptr_UniformConstant_int UniformConstant // Module Version 10000 // Generated by (magic number): 80007 // Id's are bound by 80 Capability Shader Capability Sampled1D 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 59 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" Name 8 "PS_OUTPUT" MemberName 8(PS_OUTPUT) 0 "color" Name 12 "@main(struct-PS_OUTPUT-vf41;" Name 11 "ps_output" Name 18 "g_texdata.tex" Name 22 "g_texdata.samp" Name 28 "g_texdata_array[1].tex" Name 30 "g_texdata_array[1].samp" Name 40 "g_texdata_array2[1].tex" Name 45 "g_texdata_array2[1].samp" Name 54 "ps_output" Name 55 "param" Name 59 "ps_output.color" Name 62 "g_samp" Name 63 "g_tex" Name 65 "g_texdata.nonopaque_thing" Name 66 "g_texdata_array[0].samp" Name 67 "g_texdata_array[0].tex" Name 68 "g_texdata_array[0].nonopaque_thing" Name 69 "g_texdata_array[1].nonopaque_thing" Name 70 "g_texdata_array[2].samp" Name 71 "g_texdata_array[2].tex" Name 72 "g_texdata_array[2].nonopaque_thing" Name 73 "g_texdata_array2[0].samp" Name 74 "g_texdata_array2[0].tex" Name 75 "g_texdata_array2[0].nonopaque_thing" Name 76 "g_texdata_array2[1].nonopaque_thing" Name 77 "g_texdata_array2[2].samp" Name 78 "g_texdata_array2[2].tex" Name 79 "g_texdata_array2[2].nonopaque_thing" Decorate 18(g_texdata.tex) DescriptorSet 0 Decorate 22(g_texdata.samp) DescriptorSet 0 Decorate 28(g_texdata_array[1].tex) DescriptorSet 0 Decorate 30(g_texdata_array[1].samp) DescriptorSet 0 Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0 Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0 Decorate 59(ps_output.color) Location 0 Decorate 62(g_samp) DescriptorSet 0 Decorate 63(g_tex) DescriptorSet 0 Decorate 66(g_texdata_array[0].samp) DescriptorSet 0 Decorate 67(g_texdata_array[0].tex) DescriptorSet 0 Decorate 70(g_texdata_array[2].samp) DescriptorSet 0 Decorate 71(g_texdata_array[2].tex) DescriptorSet 0 Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0 Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0 Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0 Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8(PS_OUTPUT): TypeStruct 7(fvec4) 9: TypePointer Function 8(PS_OUTPUT) 10: TypeFunction 2 9(ptr) 14: TypeInt 32 1 15: 14(int) Constant 0 16: TypeImage 6(float) 1D sampled format:Unknown 17: TypePointer UniformConstant 16 18(g_texdata.tex): 17(ptr) Variable UniformConstant 20: TypeSampler 21: TypePointer UniformConstant 20 22(g_texdata.samp): 21(ptr) Variable UniformConstant 24: TypeSampledImage 16 26: 6(float) Constant 1056964608 28(g_texdata_array[1].tex): 17(ptr) Variable UniformConstant 30(g_texdata_array[1].samp): 21(ptr) Variable UniformConstant 33: 6(float) Constant 1053609165 36: TypeInt 32 0 37: 36(int) Constant 2 38: TypeArray 16 37 39: TypePointer UniformConstant 38 40(g_texdata_array2[1].tex): 39(ptr) Variable UniformConstant 43: TypeArray 20 37 44: TypePointer UniformConstant 43 45(g_texdata_array2[1].samp): 44(ptr) Variable UniformConstant 49: 6(float) Constant 1050253722 52: TypePointer Function 7(fvec4) 58: TypePointer Output 7(fvec4) 59(ps_output.color): 58(ptr) Variable Output 62(g_samp): 21(ptr) Variable UniformConstant 63(g_tex): 17(ptr) Variable UniformConstant 64: TypePointer UniformConstant 14(int) 65(g_texdata.nonopaque_thing): 64(ptr) Variable UniformConstant 66(g_texdata_array[0].samp): 21(ptr) Variable UniformConstant 67(g_texdata_array[0].tex): 17(ptr) Variable UniformConstant 68(g_texdata_array[0].nonopaque_thing): 64(ptr) Variable UniformConstant 69(g_texdata_array[1].nonopaque_thing): 64(ptr) Variable UniformConstant 70(g_texdata_array[2].samp): 21(ptr) Variable UniformConstant 71(g_texdata_array[2].tex): 17(ptr) Variable UniformConstant 72(g_texdata_array[2].nonopaque_thing): 64(ptr) Variable UniformConstant 73(g_texdata_array2[0].samp): 44(ptr) Variable UniformConstant 74(g_texdata_array2[0].tex): 39(ptr) Variable UniformConstant 75(g_texdata_array2[0].nonopaque_thing): 64(ptr) Variable UniformConstant 76(g_texdata_array2[1].nonopaque_thing): 64(ptr) Variable UniformConstant 77(g_texdata_array2[2].samp): 44(ptr) Variable UniformConstant 78(g_texdata_array2[2].tex): 39(ptr) Variable UniformConstant 79(g_texdata_array2[2].nonopaque_thing): 64(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label 54(ps_output): 9(ptr) Variable Function 55(param): 9(ptr) Variable Function 56: 2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 55(param) 57:8(PS_OUTPUT) Load 55(param) Store 54(ps_output) 57 60: 52(ptr) AccessChain 54(ps_output) 15 61: 7(fvec4) Load 60 Store 59(ps_output.color) 61 Return FunctionEnd 12(@main(struct-PS_OUTPUT-vf41;): 2 Function None 10 11(ps_output): 9(ptr) FunctionParameter 13: Label 19: 16 Load 18(g_texdata.tex) 23: 20 Load 22(g_texdata.samp) 25: 24 SampledImage 19 23 27: 7(fvec4) ImageSampleImplicitLod 25 26 29: 16 Load 28(g_texdata_array[1].tex) 31: 20 Load 30(g_texdata_array[1].samp) 32: 24 SampledImage 29 31 34: 7(fvec4) ImageSampleImplicitLod 32 33 35: 7(fvec4) FAdd 27 34 41: 17(ptr) AccessChain 40(g_texdata_array2[1].tex) 15 42: 16 Load 41 46: 21(ptr) AccessChain 45(g_texdata_array2[1].samp) 15 47: 20 Load 46 48: 24 SampledImage 42 47 50: 7(fvec4) ImageSampleImplicitLod 48 49 51: 7(fvec4) FAdd 35 50 53: 52(ptr) AccessChain 11(ps_output) 15 Store 53 51 Return FunctionEnd