A removed block releases its instructions, so Module::idToInstruction suddenly contains dangling references. The original motivation for block removal was to skip some unreachable blocks, but that's already achieved by InReadableOrder.cpp. Also updated stale comments.
173 lines
8.3 KiB
Plaintext
Executable File
173 lines
8.3 KiB
Plaintext
Executable File
spv.140.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 101
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 16 28 33 43
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 140
|
|
Name 4 "main"
|
|
Name 8 "foo("
|
|
Name 11 "i1"
|
|
Name 16 "gl_FrontFacing"
|
|
Name 24 "i2"
|
|
Name 28 "o"
|
|
Name 33 "gl_ClipDistance"
|
|
Name 43 "k"
|
|
Name 55 "sampR"
|
|
Name 63 "sampB"
|
|
Name 87 "samp2Da"
|
|
Name 92 "bn"
|
|
MemberName 92(bn) 0 "matra"
|
|
MemberName 92(bn) 1 "matca"
|
|
MemberName 92(bn) 2 "matr"
|
|
MemberName 92(bn) 3 "matc"
|
|
MemberName 92(bn) 4 "matrdef"
|
|
Name 94 ""
|
|
Name 97 "bi"
|
|
MemberName 97(bi) 0 "v"
|
|
Name 100 "bname"
|
|
Decorate 16(gl_FrontFacing) BuiltIn FrontFacing
|
|
Decorate 33(gl_ClipDistance) BuiltIn ClipDistance
|
|
Decorate 90 ArrayStride 64
|
|
Decorate 91 ArrayStride 64
|
|
MemberDecorate 92(bn) 0 RowMajor
|
|
MemberDecorate 92(bn) 0 Offset 0
|
|
MemberDecorate 92(bn) 0 MatrixStride 16
|
|
MemberDecorate 92(bn) 1 ColMajor
|
|
MemberDecorate 92(bn) 1 Offset 256
|
|
MemberDecorate 92(bn) 1 MatrixStride 16
|
|
MemberDecorate 92(bn) 2 RowMajor
|
|
MemberDecorate 92(bn) 2 Offset 512
|
|
MemberDecorate 92(bn) 2 MatrixStride 16
|
|
MemberDecorate 92(bn) 3 ColMajor
|
|
MemberDecorate 92(bn) 3 Offset 576
|
|
MemberDecorate 92(bn) 3 MatrixStride 16
|
|
MemberDecorate 92(bn) 4 RowMajor
|
|
MemberDecorate 92(bn) 4 Offset 640
|
|
MemberDecorate 92(bn) 4 MatrixStride 16
|
|
Decorate 92(bn) Block
|
|
Decorate 96 ArrayStride 16
|
|
MemberDecorate 97(bi) 0 Offset 0
|
|
Decorate 97(bi) Block
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeFunction 6(float)
|
|
10: TypePointer Private 6(float)
|
|
11(i1): 10(ptr) Variable Private
|
|
12: TypePointer Function 6(float)
|
|
14: TypeBool
|
|
15: TypePointer Input 14(bool)
|
|
16(gl_FrontFacing): 15(ptr) Variable Input
|
|
20: 6(float) Constant 3221225472
|
|
22: 6(float) Constant 1073741824
|
|
24(i2): 10(ptr) Variable Private
|
|
25: 6(float) Constant 1120665600
|
|
26: TypeVector 6(float) 4
|
|
27: TypePointer Output 26(fvec4)
|
|
28(o): 27(ptr) Variable Output
|
|
29: TypeInt 32 0
|
|
30: 29(int) Constant 5
|
|
31: TypeArray 6(float) 30
|
|
32: TypePointer Input 31
|
|
33(gl_ClipDistance): 32(ptr) Variable Input
|
|
34: TypeInt 32 1
|
|
35: 34(int) Constant 2
|
|
36: TypePointer Input 6(float)
|
|
39: 29(int) Constant 1
|
|
40: TypePointer Output 6(float)
|
|
42: TypePointer Input 26(fvec4)
|
|
43(k): 42(ptr) Variable Input
|
|
45: TypeVector 34(int) 4
|
|
50: 29(int) Constant 2
|
|
52: TypeImage 6(float) Rect sampled format:Unknown
|
|
53: TypeSampledImage 52
|
|
54: TypePointer UniformConstant 53
|
|
55(sampR): 54(ptr) Variable UniformConstant
|
|
58: TypeVector 34(int) 2
|
|
60: TypeImage 34(int) Buffer sampled format:Unknown
|
|
61: TypeSampledImage 60
|
|
62: TypePointer UniformConstant 61
|
|
63(sampB): 62(ptr) Variable UniformConstant
|
|
69: TypeVector 6(float) 2
|
|
72: 6(float) Constant 1120403456
|
|
74: 29(int) Constant 3
|
|
83: TypeImage 6(float) 2D sampled format:Unknown
|
|
84: TypeSampledImage 83
|
|
85: TypeArray 84 74
|
|
86: TypePointer UniformConstant 85
|
|
87(samp2Da): 86(ptr) Variable UniformConstant
|
|
88: TypeMatrix 26(fvec4) 4
|
|
89: 29(int) Constant 4
|
|
90: TypeArray 88 89
|
|
91: TypeArray 88 89
|
|
92(bn): TypeStruct 90 91 88 88 88
|
|
93: TypePointer Uniform 92(bn)
|
|
94: 93(ptr) Variable Uniform
|
|
95: TypeVector 6(float) 3
|
|
96: TypeArray 95(fvec3) 50
|
|
97(bi): TypeStruct 96
|
|
98: TypeArray 97(bi) 89
|
|
99: TypePointer Uniform 98
|
|
100(bname): 99(ptr) Variable Uniform
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
13: 12(ptr) Variable Function
|
|
17: 14(bool) Load 16(gl_FrontFacing)
|
|
SelectionMerge 19 None
|
|
BranchConditional 17 18 21
|
|
18: Label
|
|
Store 13 20
|
|
Branch 19
|
|
21: Label
|
|
Store 13 22
|
|
Branch 19
|
|
19: Label
|
|
23: 6(float) Load 13
|
|
Store 11(i1) 23
|
|
Store 24(i2) 25
|
|
37: 36(ptr) AccessChain 33(gl_ClipDistance) 35
|
|
38: 6(float) Load 37
|
|
41: 40(ptr) AccessChain 28(o) 39
|
|
Store 41 38
|
|
44: 26(fvec4) Load 43(k)
|
|
46: 45(ivec4) ConvertFToS 44
|
|
47: 34(int) CompositeExtract 46 0
|
|
48: 36(ptr) AccessChain 33(gl_ClipDistance) 47
|
|
49: 6(float) Load 48
|
|
51: 40(ptr) AccessChain 28(o) 50
|
|
Store 51 49
|
|
56: 53 Load 55(sampR)
|
|
57: 52 Image 56
|
|
59: 58(ivec2) ImageQuerySize 57
|
|
64: 61 Load 63(sampB)
|
|
65: 60 Image 64
|
|
66: 34(int) ImageQuerySize 65
|
|
67: 58(ivec2) CompositeConstruct 66 66
|
|
68: 58(ivec2) IAdd 59 67
|
|
70: 69(fvec2) ConvertSToF 68
|
|
71: 6(float) CompositeExtract 70 0
|
|
73: 6(float) FDiv 71 72
|
|
75: 40(ptr) AccessChain 28(o) 74
|
|
Store 75 73
|
|
76: 6(float) FunctionCall 8(foo()
|
|
77: 40(ptr) AccessChain 28(o) 50
|
|
Store 77 76
|
|
Return
|
|
FunctionEnd
|
|
8(foo(): 6(float) Function None 7
|
|
9: Label
|
|
78: 6(float) Load 11(i1)
|
|
79: 6(float) Load 24(i2)
|
|
80: 6(float) FAdd 78 79
|
|
ReturnValue 80
|
|
FunctionEnd
|