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
172 lines
8.2 KiB
Plaintext
Executable File
172 lines
8.2 KiB
Plaintext
Executable File
spv.140.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// 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" 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 86 "samp2Da"
|
|
Name 90 "bn"
|
|
MemberName 90(bn) 0 "matra"
|
|
MemberName 90(bn) 1 "matca"
|
|
MemberName 90(bn) 2 "matr"
|
|
MemberName 90(bn) 3 "matc"
|
|
MemberName 90(bn) 4 "matrdef"
|
|
Name 92 ""
|
|
Name 95 "bi"
|
|
MemberName 95(bi) 0 "v"
|
|
Name 98 "bname"
|
|
Decorate 16(gl_FrontFacing) BuiltIn FrontFacing
|
|
Decorate 33(gl_ClipDistance) BuiltIn ClipDistance
|
|
Decorate 89 ArrayStride 64
|
|
Decorate 89 ArrayStride 64
|
|
MemberDecorate 90(bn) 0 RowMajor
|
|
MemberDecorate 90(bn) 0 Offset 0
|
|
MemberDecorate 90(bn) 0 MatrixStride 16
|
|
MemberDecorate 90(bn) 1 ColMajor
|
|
MemberDecorate 90(bn) 1 Offset 256
|
|
MemberDecorate 90(bn) 1 MatrixStride 16
|
|
MemberDecorate 90(bn) 2 RowMajor
|
|
MemberDecorate 90(bn) 2 Offset 512
|
|
MemberDecorate 90(bn) 2 MatrixStride 16
|
|
MemberDecorate 90(bn) 3 ColMajor
|
|
MemberDecorate 90(bn) 3 Offset 576
|
|
MemberDecorate 90(bn) 3 MatrixStride 16
|
|
MemberDecorate 90(bn) 4 RowMajor
|
|
MemberDecorate 90(bn) 4 Offset 640
|
|
MemberDecorate 90(bn) 4 MatrixStride 16
|
|
Decorate 90(bn) Block
|
|
Decorate 94 ArrayStride 16
|
|
MemberDecorate 95(bi) 0 Offset 0
|
|
Decorate 95(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
|
|
82: TypeImage 6(float) 2D sampled format:Unknown
|
|
83: TypeSampledImage 82
|
|
84: TypeArray 83 74
|
|
85: TypePointer UniformConstant 84
|
|
86(samp2Da): 85(ptr) Variable UniformConstant
|
|
87: TypeMatrix 26(fvec4) 4
|
|
88: 29(int) Constant 4
|
|
89: TypeArray 87 88
|
|
90(bn): TypeStruct 89 89 87 87 87
|
|
91: TypePointer Uniform 90(bn)
|
|
92: 91(ptr) Variable Uniform
|
|
93: TypeVector 6(float) 3
|
|
94: TypeArray 93(fvec3) 50
|
|
95(bi): TypeStruct 94
|
|
96: TypeArray 95(bi) 88
|
|
97: TypePointer Uniform 96
|
|
98(bname): 97(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
|