Structured control-flow rules allow leaving the middle of a construct through a return, but not through a jump to a block that does a return. Addresses issue #58.
79 lines
3.5 KiB
Plaintext
Executable File
79 lines
3.5 KiB
Plaintext
Executable File
spv.voidFunction.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 99
|
|
// Generated by (magic number): 51a00bb
|
|
// Id's are bound by 42
|
|
|
|
Source GLSL 120
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main"
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Name 4 "main"
|
|
Name 6 "foo("
|
|
Name 8 "foo2("
|
|
Name 12 "bar"
|
|
Name 22 "outColor"
|
|
Name 24 "bigColor"
|
|
Name 35 "gl_FragColor"
|
|
Name 39 "BaseColor"
|
|
Name 41 "d"
|
|
Decorate 35(gl_FragColor) BuiltIn FragColor
|
|
Decorate 39(BaseColor) Smooth
|
|
Decorate 39(BaseColor) NoStaticUse
|
|
Decorate 41(d) NoStaticUse
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
10: TypeFloat 32
|
|
11: TypePointer PrivateGlobal 10(float)
|
|
12(bar): 11(ptr) Variable PrivateGlobal
|
|
13: 10(float) Constant 1073741824
|
|
15: 10(float) Constant 1065353216
|
|
20: TypeVector 10(float) 4
|
|
21: TypePointer Function 20(fvec4)
|
|
23: TypePointer UniformConstant 20(fvec4)
|
|
24(bigColor): 23(ptr) Variable UniformConstant
|
|
34: TypePointer Output 20(fvec4)
|
|
35(gl_FragColor): 34(ptr) Variable Output
|
|
38: TypePointer Input 20(fvec4)
|
|
39(BaseColor): 38(ptr) Variable Input
|
|
40: TypePointer UniformConstant 10(float)
|
|
41(d): 40(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
22(outColor): 21(ptr) Variable Function
|
|
Store 12(bar) 13
|
|
25: 20(fvec4) Load 24(bigColor)
|
|
Store 22(outColor) 25
|
|
26: 2 FunctionCall 6(foo()
|
|
27: 2 FunctionCall 8(foo2()
|
|
28: 10(float) Load 12(bar)
|
|
29: 20(fvec4) Load 22(outColor)
|
|
30: 10(float) CompositeExtract 29 0
|
|
31: 10(float) FAdd 30 28
|
|
32: 20(fvec4) Load 22(outColor)
|
|
33: 20(fvec4) CompositeInsert 31 32 0
|
|
Store 22(outColor) 33
|
|
36: 20(fvec4) Load 22(outColor)
|
|
Store 35(gl_FragColor) 36
|
|
Return
|
|
FunctionEnd
|
|
6(foo(): 2 Function None 3
|
|
7: Label
|
|
14: 10(float) Load 12(bar)
|
|
16: 10(float) FAdd 14 15
|
|
Store 12(bar) 16
|
|
Return
|
|
FunctionEnd
|
|
8(foo2(): 2 Function None 3
|
|
9: Label
|
|
18: 10(float) Load 12(bar)
|
|
19: 10(float) FAdd 18 15
|
|
Store 12(bar) 19
|
|
Return
|
|
FunctionEnd
|