mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-23 19:55:05 +00:00
ac3707921e
Now, version 5.* is all connected to making the uint type, which doesn't quite work. Generator versions 4 and 6 do not do this.
280 lines
11 KiB
Plaintext
280 lines
11 KiB
Plaintext
spv.debugInfo.frag
|
|
// Module Version 10300
|
|
// Generated by (magic number): 80006
|
|
// Id's are bound by 126
|
|
|
|
Capability Shader
|
|
2: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 5 "main" 24 52
|
|
ExecutionMode 5 OriginLowerLeft
|
|
1: String "spv.debugInfo.frag"
|
|
Source GLSL 450 1 "#version 450
|
|
|
|
struct S {
|
|
int a;
|
|
};
|
|
|
|
uniform ubuf {
|
|
S s;
|
|
};
|
|
|
|
uniform sampler2D s2d;
|
|
|
|
layout(location = 0) in vec4 inv;
|
|
layout(location = 0) out vec4 outv;
|
|
|
|
vec4 foo(S s)
|
|
{
|
|
vec4 r = s.a * inv;
|
|
++r;
|
|
if (r.x > 3.0)
|
|
--r;
|
|
else
|
|
r *= 2;
|
|
|
|
return r;
|
|
}
|
|
|
|
void main()
|
|
{
|
|
outv = foo(s);
|
|
outv += texture(s2d, vec2(0.5));
|
|
|
|
switch (s.a) {
|
|
case 10:
|
|
++outv;
|
|
break;
|
|
case 20:
|
|
outv = 2 * outv;
|
|
++outv;
|
|
break;
|
|
default:
|
|
--outv;
|
|
break;
|
|
}
|
|
|
|
for (int i = 0; i < 10; ++i)
|
|
outv *= 3.0;
|
|
|
|
outv.x < 10.0 ?
|
|
outv = sin(outv) :
|
|
outv = cos(outv);
|
|
}"
|
|
Name 5 "main"
|
|
Name 8 "S"
|
|
MemberName 8(S) 0 "a"
|
|
Name 14 "foo(struct-S-i11;"
|
|
Name 13 "s"
|
|
Name 17 "r"
|
|
Name 24 "inv"
|
|
Name 52 "outv"
|
|
Name 53 "S"
|
|
MemberName 53(S) 0 "a"
|
|
Name 54 "ubuf"
|
|
MemberName 54(ubuf) 0 "s"
|
|
Name 56 ""
|
|
Name 57 "S"
|
|
MemberName 57(S) 0 "a"
|
|
Name 59 "param"
|
|
Name 69 "s2d"
|
|
Name 99 "i"
|
|
ModuleProcessed "no-storage-format"
|
|
ModuleProcessed "resource-set-binding 3"
|
|
ModuleProcessed "auto-map-locations"
|
|
ModuleProcessed "client opengl100"
|
|
ModuleProcessed "target-env opengl"
|
|
ModuleProcessed "relaxed-errors"
|
|
ModuleProcessed "suppress-warnings"
|
|
ModuleProcessed "hlsl-offsets"
|
|
ModuleProcessed "entry-point main"
|
|
Decorate 24(inv) Location 0
|
|
Decorate 52(outv) Location 0
|
|
MemberDecorate 53(S) 0 Offset 0
|
|
MemberDecorate 54(ubuf) 0 Offset 0
|
|
Decorate 54(ubuf) Block
|
|
Decorate 56 DescriptorSet 3
|
|
Decorate 69(s2d) DescriptorSet 3
|
|
3: TypeVoid
|
|
4: TypeFunction 3
|
|
7: TypeInt 32 1
|
|
8(S): TypeStruct 7(int)
|
|
9: TypePointer Function 8(S)
|
|
10: TypeFloat 32
|
|
11: TypeVector 10(float) 4
|
|
12: TypeFunction 11(fvec4) 9(ptr)
|
|
16: TypePointer Function 11(fvec4)
|
|
18: 7(int) Constant 0
|
|
19: TypePointer Function 7(int)
|
|
23: TypePointer Input 11(fvec4)
|
|
24(inv): 23(ptr) Variable Input
|
|
28: 10(float) Constant 1065353216
|
|
31: TypeInt 32 0
|
|
32: 31(int) Constant 0
|
|
33: TypePointer Function 10(float)
|
|
36: 10(float) Constant 1077936128
|
|
37: TypeBool
|
|
45: 10(float) Constant 1073741824
|
|
51: TypePointer Output 11(fvec4)
|
|
52(outv): 51(ptr) Variable Output
|
|
53(S): TypeStruct 7(int)
|
|
54(ubuf): TypeStruct 53(S)
|
|
55: TypePointer Uniform 54(ubuf)
|
|
56: 55(ptr) Variable Uniform
|
|
57(S): TypeStruct 7(int)
|
|
58: TypePointer Function 57(S)
|
|
60: TypePointer Uniform 53(S)
|
|
66: TypeImage 10(float) 2D sampled format:Unknown
|
|
67: TypeSampledImage 66
|
|
68: TypePointer UniformConstant 67
|
|
69(s2d): 68(ptr) Variable UniformConstant
|
|
71: TypeVector 10(float) 2
|
|
72: 10(float) Constant 1056964608
|
|
73: 71(fvec2) ConstantComposite 72 72
|
|
77: TypePointer Uniform 7(int)
|
|
106: 7(int) Constant 10
|
|
111: 7(int) Constant 1
|
|
113: TypePointer Output 10(float)
|
|
116: 10(float) Constant 1092616192
|
|
5(main): 3 Function None 4
|
|
6: Label
|
|
59(param): 58(ptr) Variable Function
|
|
99(i): 19(ptr) Variable Function
|
|
118: 16(ptr) Variable Function
|
|
Line 1 30 0
|
|
61: 60(ptr) AccessChain 56 18
|
|
62: 53(S) Load 61
|
|
63: 7(int) CompositeExtract 62 0
|
|
64: 19(ptr) AccessChain 59(param) 18
|
|
Store 64 63
|
|
65: 11(fvec4) FunctionCall 14(foo(struct-S-i11;) 59(param)
|
|
Store 52(outv) 65
|
|
Line 1 31 0
|
|
70: 67 Load 69(s2d)
|
|
74: 11(fvec4) ImageSampleImplicitLod 70 73
|
|
75: 11(fvec4) Load 52(outv)
|
|
76: 11(fvec4) FAdd 75 74
|
|
Store 52(outv) 76
|
|
Line 1 33 0
|
|
78: 77(ptr) AccessChain 56 18 18
|
|
79: 7(int) Load 78
|
|
SelectionMerge 83 None
|
|
Switch 79 82
|
|
case 10: 80
|
|
case 20: 81
|
|
82: Label
|
|
Line 1 42 0
|
|
94: 11(fvec4) Load 52(outv)
|
|
95: 11(fvec4) CompositeConstruct 28 28 28 28
|
|
96: 11(fvec4) FSub 94 95
|
|
Store 52(outv) 96
|
|
Line 1 43 0
|
|
Branch 83
|
|
80: Label
|
|
Line 1 35 0
|
|
84: 11(fvec4) Load 52(outv)
|
|
85: 11(fvec4) CompositeConstruct 28 28 28 28
|
|
86: 11(fvec4) FAdd 84 85
|
|
Store 52(outv) 86
|
|
Line 1 36 0
|
|
Branch 83
|
|
81: Label
|
|
Line 1 38 0
|
|
88: 11(fvec4) Load 52(outv)
|
|
89: 11(fvec4) VectorTimesScalar 88 45
|
|
Store 52(outv) 89
|
|
Line 1 39 0
|
|
90: 11(fvec4) Load 52(outv)
|
|
91: 11(fvec4) CompositeConstruct 28 28 28 28
|
|
92: 11(fvec4) FAdd 90 91
|
|
Store 52(outv) 92
|
|
Line 1 40 0
|
|
Branch 83
|
|
83: Label
|
|
Line 1 46 0
|
|
Store 99(i) 18
|
|
Branch 100
|
|
100: Label
|
|
LoopMerge 102 103 None
|
|
Branch 104
|
|
104: Label
|
|
105: 7(int) Load 99(i)
|
|
107: 37(bool) SLessThan 105 106
|
|
BranchConditional 107 101 102
|
|
101: Label
|
|
Line 1 47 0
|
|
108: 11(fvec4) Load 52(outv)
|
|
109: 11(fvec4) VectorTimesScalar 108 36
|
|
Store 52(outv) 109
|
|
Branch 103
|
|
103: Label
|
|
Line 1 46 0
|
|
110: 7(int) Load 99(i)
|
|
112: 7(int) IAdd 110 111
|
|
Store 99(i) 112
|
|
Branch 100
|
|
102: Label
|
|
Line 1 49 0
|
|
114: 113(ptr) AccessChain 52(outv) 32
|
|
115: 10(float) Load 114
|
|
117: 37(bool) FOrdLessThan 115 116
|
|
SelectionMerge 120 None
|
|
BranchConditional 117 119 123
|
|
119: Label
|
|
Line 1 50 0
|
|
121: 11(fvec4) Load 52(outv)
|
|
122: 11(fvec4) ExtInst 2(GLSL.std.450) 13(Sin) 121
|
|
Store 52(outv) 122
|
|
Store 118 122
|
|
Branch 120
|
|
123: Label
|
|
Line 1 51 0
|
|
124: 11(fvec4) Load 52(outv)
|
|
125: 11(fvec4) ExtInst 2(GLSL.std.450) 14(Cos) 124
|
|
Store 52(outv) 125
|
|
Store 118 125
|
|
Branch 120
|
|
120: Label
|
|
Return
|
|
FunctionEnd
|
|
14(foo(struct-S-i11;): 11(fvec4) Function None 12
|
|
13(s): 9(ptr) FunctionParameter
|
|
15: Label
|
|
17(r): 16(ptr) Variable Function
|
|
Line 1 18 0
|
|
20: 19(ptr) AccessChain 13(s) 18
|
|
21: 7(int) Load 20
|
|
22: 10(float) ConvertSToF 21
|
|
25: 11(fvec4) Load 24(inv)
|
|
26: 11(fvec4) VectorTimesScalar 25 22
|
|
Store 17(r) 26
|
|
Line 1 19 0
|
|
27: 11(fvec4) Load 17(r)
|
|
29: 11(fvec4) CompositeConstruct 28 28 28 28
|
|
30: 11(fvec4) FAdd 27 29
|
|
Store 17(r) 30
|
|
Line 1 20 0
|
|
34: 33(ptr) AccessChain 17(r) 32
|
|
35: 10(float) Load 34
|
|
38: 37(bool) FOrdGreaterThan 35 36
|
|
SelectionMerge 40 None
|
|
BranchConditional 38 39 44
|
|
39: Label
|
|
Line 1 21 0
|
|
41: 11(fvec4) Load 17(r)
|
|
42: 11(fvec4) CompositeConstruct 28 28 28 28
|
|
43: 11(fvec4) FSub 41 42
|
|
Store 17(r) 43
|
|
Branch 40
|
|
44: Label
|
|
Line 1 23 0
|
|
46: 11(fvec4) Load 17(r)
|
|
47: 11(fvec4) VectorTimesScalar 46 45
|
|
Store 17(r) 47
|
|
Branch 40
|
|
40: Label
|
|
Line 1 25 0
|
|
48: 11(fvec4) Load 17(r)
|
|
ReturnValue 48
|
|
FunctionEnd
|