Also, remove assumption that if something is opaque that it must be in the UniformConstant storage class. This allows function declarations to know all parameters will be in the Function storage class.
330 lines
15 KiB
Plaintext
Executable File
330 lines
15 KiB
Plaintext
Executable File
hlsl.flattenOpaque.frag
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:15 Function Definition: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
|
0:15 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? Sequence
|
|
0:16 Branch: Return with expression
|
|
0:16 texture ( temp 4-component vector of float)
|
|
0:16 Construct combined texture-sampler ( temp sampler2D)
|
|
0:16 'tex' ( uniform texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:20 Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
|
0:20 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:20 'f2' ( in 2-component vector of float)
|
|
0:? Sequence
|
|
0:21 Branch: Return with expression
|
|
0:21 texture ( temp 4-component vector of float)
|
|
0:21 Construct combined texture-sampler ( temp sampler2D)
|
|
0:21 'tex' ( uniform texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:21 'f2' ( in 2-component vector of float)
|
|
0:25 Function Definition: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
|
0:25 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:? Sequence
|
|
0:26 Branch: Return with expression
|
|
0:26 texture ( temp 4-component vector of float)
|
|
0:26 Construct combined texture-sampler ( temp sampler2D)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:30 Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
|
0:30 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:30 'f2' ( in 2-component vector of float)
|
|
0:? Sequence
|
|
0:31 Branch: Return with expression
|
|
0:31 texture ( temp 4-component vector of float)
|
|
0:31 Construct combined texture-sampler ( temp sampler2D)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:31 'f2' ( in 2-component vector of float)
|
|
0:35 Function Definition: @main( ( temp 4-component vector of float)
|
|
0:35 Function Parameters:
|
|
0:? Sequence
|
|
0:39 Branch: Return with expression
|
|
0:38 add ( temp 4-component vector of float)
|
|
0:37 add ( temp 4-component vector of float)
|
|
0:36 add ( temp 4-component vector of float)
|
|
0:36 Function Call: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
|
0:? 's.s2D' ( uniform sampler)
|
|
0:37 Function Call: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
|
0:? 's.s2D' ( uniform sampler)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:38 Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
|
0:? 's2.s2D' ( uniform sampler)
|
|
0:? 's2.tex' ( uniform texture2D)
|
|
0:39 Function Call: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
|
0:? 's2.s2D' ( uniform sampler)
|
|
0:? 's2.tex' ( uniform texture2D)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:35 Function Definition: main( ( temp void)
|
|
0:35 Function Parameters:
|
|
0:? Sequence
|
|
0:35 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:35 Function Call: @main( ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'tex' ( uniform texture2D)
|
|
0:? 's.s2D' ( uniform sampler)
|
|
0:? 's2.s2D' ( uniform sampler)
|
|
0:? 's2.tex' ( uniform texture2D)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:15 Function Definition: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
|
0:15 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? Sequence
|
|
0:16 Branch: Return with expression
|
|
0:16 texture ( temp 4-component vector of float)
|
|
0:16 Construct combined texture-sampler ( temp sampler2D)
|
|
0:16 'tex' ( uniform texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:20 Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
|
0:20 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:20 'f2' ( in 2-component vector of float)
|
|
0:? Sequence
|
|
0:21 Branch: Return with expression
|
|
0:21 texture ( temp 4-component vector of float)
|
|
0:21 Construct combined texture-sampler ( temp sampler2D)
|
|
0:21 'tex' ( uniform texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:21 'f2' ( in 2-component vector of float)
|
|
0:25 Function Definition: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
|
0:25 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:? Sequence
|
|
0:26 Branch: Return with expression
|
|
0:26 texture ( temp 4-component vector of float)
|
|
0:26 Construct combined texture-sampler ( temp sampler2D)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:30 Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
|
0:30 Function Parameters:
|
|
0:? 's.s2D' ( in sampler)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:30 'f2' ( in 2-component vector of float)
|
|
0:? Sequence
|
|
0:31 Branch: Return with expression
|
|
0:31 texture ( temp 4-component vector of float)
|
|
0:31 Construct combined texture-sampler ( temp sampler2D)
|
|
0:? 's.tex' ( in texture2D)
|
|
0:? 's.s2D' ( in sampler)
|
|
0:31 'f2' ( in 2-component vector of float)
|
|
0:35 Function Definition: @main( ( temp 4-component vector of float)
|
|
0:35 Function Parameters:
|
|
0:? Sequence
|
|
0:39 Branch: Return with expression
|
|
0:38 add ( temp 4-component vector of float)
|
|
0:37 add ( temp 4-component vector of float)
|
|
0:36 add ( temp 4-component vector of float)
|
|
0:36 Function Call: osCall1(struct-os-p11; ( temp 4-component vector of float)
|
|
0:? 's.s2D' ( uniform sampler)
|
|
0:37 Function Call: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
|
|
0:? 's.s2D' ( uniform sampler)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:38 Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
|
|
0:? 's2.s2D' ( uniform sampler)
|
|
0:? 's2.tex' ( uniform texture2D)
|
|
0:39 Function Call: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
|
|
0:? 's2.s2D' ( uniform sampler)
|
|
0:? 's2.tex' ( uniform texture2D)
|
|
0:? Constant:
|
|
0:? 0.200000
|
|
0:? 0.300000
|
|
0:35 Function Definition: main( ( temp void)
|
|
0:35 Function Parameters:
|
|
0:? Sequence
|
|
0:35 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:35 Function Call: @main( ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'tex' ( uniform texture2D)
|
|
0:? 's.s2D' ( uniform sampler)
|
|
0:? 's2.s2D' ( uniform sampler)
|
|
0:? 's2.tex' ( uniform texture2D)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 99
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 97
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 12 "osCall1(struct-os-p11;"
|
|
Name 11 "s.s2D"
|
|
Name 19 "osCall2(struct-os-p11;vf2;"
|
|
Name 17 "s.s2D"
|
|
Name 18 "f2"
|
|
Name 26 "os2Call1(struct-os2-p1-t211;"
|
|
Name 24 "s.s2D"
|
|
Name 25 "s.tex"
|
|
Name 32 "os2Call2(struct-os2-p1-t211;vf2;"
|
|
Name 29 "s.s2D"
|
|
Name 30 "s.tex"
|
|
Name 31 "f2"
|
|
Name 35 "@main("
|
|
Name 38 "tex"
|
|
Name 70 "s.s2D"
|
|
Name 71 "param"
|
|
Name 74 "param"
|
|
Name 76 "param"
|
|
Name 79 "s2.s2D"
|
|
Name 80 "s2.tex"
|
|
Name 81 "param"
|
|
Name 83 "param"
|
|
Name 87 "param"
|
|
Name 89 "param"
|
|
Name 91 "param"
|
|
Name 97 "@entryPointOutput"
|
|
Decorate 38(tex) DescriptorSet 0
|
|
Decorate 70(s.s2D) DescriptorSet 0
|
|
Decorate 79(s2.s2D) DescriptorSet 0
|
|
Decorate 80(s2.tex) DescriptorSet 0
|
|
Decorate 97(@entryPointOutput) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeSampler
|
|
7: TypePointer Function 6
|
|
8: TypeFloat 32
|
|
9: TypeVector 8(float) 4
|
|
10: TypeFunction 9(fvec4) 7(ptr)
|
|
14: TypeVector 8(float) 2
|
|
15: TypePointer Function 14(fvec2)
|
|
16: TypeFunction 9(fvec4) 7(ptr) 15(ptr)
|
|
21: TypeImage 8(float) 2D sampled format:Unknown
|
|
22: TypePointer Function 21
|
|
23: TypeFunction 9(fvec4) 7(ptr) 22(ptr)
|
|
28: TypeFunction 9(fvec4) 7(ptr) 22(ptr) 15(ptr)
|
|
34: TypeFunction 9(fvec4)
|
|
37: TypePointer UniformConstant 21
|
|
38(tex): 37(ptr) Variable UniformConstant
|
|
41: TypeSampledImage 21
|
|
43: 8(float) Constant 1045220557
|
|
44: 8(float) Constant 1050253722
|
|
45: 14(fvec2) ConstantComposite 43 44
|
|
69: TypePointer UniformConstant 6
|
|
70(s.s2D): 69(ptr) Variable UniformConstant
|
|
79(s2.s2D): 69(ptr) Variable UniformConstant
|
|
80(s2.tex): 37(ptr) Variable UniformConstant
|
|
96: TypePointer Output 9(fvec4)
|
|
97(@entryPointOutput): 96(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
98: 9(fvec4) FunctionCall 35(@main()
|
|
Store 97(@entryPointOutput) 98
|
|
Return
|
|
FunctionEnd
|
|
12(osCall1(struct-os-p11;): 9(fvec4) Function None 10
|
|
11(s.s2D): 7(ptr) FunctionParameter
|
|
13: Label
|
|
39: 21 Load 38(tex)
|
|
40: 6 Load 11(s.s2D)
|
|
42: 41 SampledImage 39 40
|
|
46: 9(fvec4) ImageSampleImplicitLod 42 45
|
|
ReturnValue 46
|
|
FunctionEnd
|
|
19(osCall2(struct-os-p11;vf2;): 9(fvec4) Function None 16
|
|
17(s.s2D): 7(ptr) FunctionParameter
|
|
18(f2): 15(ptr) FunctionParameter
|
|
20: Label
|
|
49: 21 Load 38(tex)
|
|
50: 6 Load 17(s.s2D)
|
|
51: 41 SampledImage 49 50
|
|
52: 14(fvec2) Load 18(f2)
|
|
53: 9(fvec4) ImageSampleImplicitLod 51 52
|
|
ReturnValue 53
|
|
FunctionEnd
|
|
26(os2Call1(struct-os2-p1-t211;): 9(fvec4) Function None 23
|
|
24(s.s2D): 7(ptr) FunctionParameter
|
|
25(s.tex): 22(ptr) FunctionParameter
|
|
27: Label
|
|
56: 21 Load 25(s.tex)
|
|
57: 6 Load 24(s.s2D)
|
|
58: 41 SampledImage 56 57
|
|
59: 9(fvec4) ImageSampleImplicitLod 58 45
|
|
ReturnValue 59
|
|
FunctionEnd
|
|
32(os2Call2(struct-os2-p1-t211;vf2;): 9(fvec4) Function None 28
|
|
29(s.s2D): 7(ptr) FunctionParameter
|
|
30(s.tex): 22(ptr) FunctionParameter
|
|
31(f2): 15(ptr) FunctionParameter
|
|
33: Label
|
|
62: 21 Load 30(s.tex)
|
|
63: 6 Load 29(s.s2D)
|
|
64: 41 SampledImage 62 63
|
|
65: 14(fvec2) Load 31(f2)
|
|
66: 9(fvec4) ImageSampleImplicitLod 64 65
|
|
ReturnValue 66
|
|
FunctionEnd
|
|
35(@main(): 9(fvec4) Function None 34
|
|
36: Label
|
|
71(param): 7(ptr) Variable Function
|
|
74(param): 7(ptr) Variable Function
|
|
76(param): 15(ptr) Variable Function
|
|
81(param): 7(ptr) Variable Function
|
|
83(param): 22(ptr) Variable Function
|
|
87(param): 7(ptr) Variable Function
|
|
89(param): 22(ptr) Variable Function
|
|
91(param): 15(ptr) Variable Function
|
|
72: 6 Load 70(s.s2D)
|
|
Store 71(param) 72
|
|
73: 9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 71(param)
|
|
75: 6 Load 70(s.s2D)
|
|
Store 74(param) 75
|
|
Store 76(param) 45
|
|
77: 9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 74(param) 76(param)
|
|
78: 9(fvec4) FAdd 73 77
|
|
82: 6 Load 79(s2.s2D)
|
|
Store 81(param) 82
|
|
84: 21 Load 80(s2.tex)
|
|
Store 83(param) 84
|
|
85: 9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 81(param) 83(param)
|
|
86: 9(fvec4) FAdd 78 85
|
|
88: 6 Load 79(s2.s2D)
|
|
Store 87(param) 88
|
|
90: 21 Load 80(s2.tex)
|
|
Store 89(param) 90
|
|
Store 91(param) 45
|
|
92: 9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 87(param) 89(param) 91(param)
|
|
93: 9(fvec4) FAdd 86 92
|
|
ReturnValue 93
|
|
FunctionEnd
|