blob: 0756a5286878f61a43b872729ff3806d5539afcb [file] [log] [blame]
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