Before, it was only including explicit interface, sufficient for IO-Block-declared oriented interface, but not sufficient for all modes GLSL might be used with SPIR-V. Two things are accomplished now: 1) each id will appear exactly once 2) the OpEntryPoint list will union static use with declarations
133 lines
6.0 KiB
Plaintext
Executable File
133 lines
6.0 KiB
Plaintext
Executable File
spv.always-discard.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 84
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 21 59
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 110
|
|
Name 4 "main"
|
|
Name 9 "white"
|
|
Name 12 "black"
|
|
Name 15 "color"
|
|
Name 18 "x"
|
|
Name 21 "tex_coord"
|
|
Name 30 "y"
|
|
Name 36 "radius"
|
|
Name 59 "gl_FragColor"
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
10: 6(float) Constant 1065353216
|
|
11: 7(fvec4) ConstantComposite 10 10 10 10
|
|
13: 6(float) Constant 1045220557
|
|
14: 7(fvec4) ConstantComposite 13 13 13 13
|
|
17: TypePointer Function 6(float)
|
|
19: TypeVector 6(float) 2
|
|
20: TypePointer Input 19(fvec2)
|
|
21(tex_coord): 20(ptr) Variable Input
|
|
22: TypeInt 32 0
|
|
23: 22(int) Constant 0
|
|
24: TypePointer Input 6(float)
|
|
27: 6(float) Constant 1073741824
|
|
31: 22(int) Constant 1
|
|
46: TypeBool
|
|
51: 6(float) Constant 1066192077
|
|
58: TypePointer Output 7(fvec4)
|
|
59(gl_FragColor): 58(ptr) Variable Output
|
|
62: 6(float) Constant 1067030938
|
|
71: 6(float) Constant 1061158912
|
|
76: 6(float) Constant 1098907648
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(white): 8(ptr) Variable Function
|
|
12(black): 8(ptr) Variable Function
|
|
15(color): 8(ptr) Variable Function
|
|
18(x): 17(ptr) Variable Function
|
|
30(y): 17(ptr) Variable Function
|
|
36(radius): 17(ptr) Variable Function
|
|
Store 9(white) 11
|
|
Store 12(black) 14
|
|
16: 7(fvec4) Load 9(white)
|
|
Store 15(color) 16
|
|
25: 24(ptr) AccessChain 21(tex_coord) 23
|
|
26: 6(float) Load 25
|
|
28: 6(float) FMul 26 27
|
|
29: 6(float) FSub 28 10
|
|
Store 18(x) 29
|
|
32: 24(ptr) AccessChain 21(tex_coord) 31
|
|
33: 6(float) Load 32
|
|
34: 6(float) FMul 33 27
|
|
35: 6(float) FSub 34 10
|
|
Store 30(y) 35
|
|
37: 6(float) Load 18(x)
|
|
38: 6(float) Load 18(x)
|
|
39: 6(float) FMul 37 38
|
|
40: 6(float) Load 30(y)
|
|
41: 6(float) Load 30(y)
|
|
42: 6(float) FMul 40 41
|
|
43: 6(float) FAdd 39 42
|
|
44: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
|
|
Store 36(radius) 44
|
|
45: 6(float) Load 36(radius)
|
|
47: 46(bool) FOrdGreaterThan 45 10
|
|
SelectionMerge 49 None
|
|
BranchConditional 47 48 49
|
|
48: Label
|
|
50: 6(float) Load 36(radius)
|
|
52: 46(bool) FOrdGreaterThan 50 51
|
|
SelectionMerge 54 None
|
|
BranchConditional 52 53 54
|
|
53: Label
|
|
55: 7(fvec4) Load 15(color)
|
|
56: 7(fvec4) CompositeConstruct 10 10 10 10
|
|
57: 7(fvec4) FAdd 55 56
|
|
Store 15(color) 57
|
|
Branch 54
|
|
54: Label
|
|
60: 7(fvec4) Load 15(color)
|
|
Store 59(gl_FragColor) 60
|
|
61: 6(float) Load 36(radius)
|
|
63: 46(bool) FOrdGreaterThan 61 62
|
|
SelectionMerge 65 None
|
|
BranchConditional 63 64 65
|
|
64: Label
|
|
66: 7(fvec4) Load 15(color)
|
|
67: 7(fvec4) CompositeConstruct 10 10 10 10
|
|
68: 7(fvec4) FAdd 66 67
|
|
Store 15(color) 68
|
|
Branch 65
|
|
65: Label
|
|
Branch 49
|
|
49: Label
|
|
Kill
|
|
69: Label
|
|
70: 6(float) Load 36(radius)
|
|
72: 46(bool) FOrdGreaterThanEqual 70 71
|
|
SelectionMerge 74 None
|
|
BranchConditional 72 73 74
|
|
73: Label
|
|
75: 6(float) Load 36(radius)
|
|
77: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 75 76
|
|
78: 6(float) FDiv 77 27
|
|
79: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 78
|
|
80: 7(fvec4) Load 15(color)
|
|
81: 7(fvec4) CompositeConstruct 79 79 79 79
|
|
82: 7(fvec4) FSub 80 81
|
|
Store 15(color) 82
|
|
Branch 74
|
|
74: Label
|
|
83: 7(fvec4) Load 15(color)
|
|
Store 59(gl_FragColor) 83
|
|
Return
|
|
FunctionEnd
|