mirror of
https://github.com/RPCS3/glslang.git
synced 2025-01-26 21:24:25 +00:00
ebb505355d
These capabalities were added on declaration of the members, but that is considered too aggressive, as those members are automatically declared in some shaders that don't use them. Now, actual access is needed to make the capabalities be declared.
95 lines
4.4 KiB
Plaintext
95 lines
4.4 KiB
Plaintext
spv.bool.vert
|
|
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
|
|
|
|
|
Linked vertex stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 49
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 24
|
|
Source GLSL 450
|
|
Name 4 "main"
|
|
Name 10 "foo(b1;"
|
|
Name 9 "b"
|
|
Name 22 "gl_PerVertex"
|
|
MemberName 22(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 22(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 22(gl_PerVertex) 2 "gl_ClipDistance"
|
|
MemberName 22(gl_PerVertex) 3 "gl_CullDistance"
|
|
Name 24 ""
|
|
Name 29 "ubname"
|
|
MemberName 29(ubname) 0 "b"
|
|
Name 31 "ubinst"
|
|
Name 32 "param"
|
|
MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize
|
|
MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance
|
|
MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance
|
|
Decorate 22(gl_PerVertex) Block
|
|
MemberDecorate 29(ubname) 0 Offset 0
|
|
Decorate 29(ubname) Block
|
|
Decorate 31(ubinst) DescriptorSet 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeBool
|
|
7: TypePointer Function 6(bool)
|
|
8: TypeFunction 6(bool) 7(ptr)
|
|
13: 6(bool) ConstantFalse
|
|
17: TypeFloat 32
|
|
18: TypeVector 17(float) 4
|
|
19: TypeInt 32 0
|
|
20: 19(int) Constant 1
|
|
21: TypeArray 17(float) 20
|
|
22(gl_PerVertex): TypeStruct 18(fvec4) 17(float) 21 21
|
|
23: TypePointer Output 22(gl_PerVertex)
|
|
24: 23(ptr) Variable Output
|
|
25: TypeInt 32 1
|
|
26: 25(int) Constant 0
|
|
27: TypePointer Function 18(fvec4)
|
|
29(ubname): TypeStruct 19(int)
|
|
30: TypePointer Uniform 29(ubname)
|
|
31(ubinst): 30(ptr) Variable Uniform
|
|
33: TypePointer Uniform 19(int)
|
|
36: 19(int) Constant 0
|
|
41: 17(float) Constant 0
|
|
42: 18(fvec4) ConstantComposite 41 41 41 41
|
|
44: 17(float) Constant 1065353216
|
|
45: 18(fvec4) ConstantComposite 44 44 44 44
|
|
47: TypePointer Output 18(fvec4)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
28: 27(ptr) Variable Function
|
|
32(param): 7(ptr) Variable Function
|
|
34: 33(ptr) AccessChain 31(ubinst) 26
|
|
35: 19(int) Load 34
|
|
37: 6(bool) INotEqual 35 36
|
|
Store 32(param) 37
|
|
38: 6(bool) FunctionCall 10(foo(b1;) 32(param)
|
|
SelectionMerge 40 None
|
|
BranchConditional 38 39 43
|
|
39: Label
|
|
Store 28 42
|
|
Branch 40
|
|
43: Label
|
|
Store 28 45
|
|
Branch 40
|
|
40: Label
|
|
46: 18(fvec4) Load 28
|
|
48: 47(ptr) AccessChain 24 26
|
|
Store 48 46
|
|
Return
|
|
FunctionEnd
|
|
10(foo(b1;): 6(bool) Function None 8
|
|
9(b): 7(ptr) FunctionParameter
|
|
11: Label
|
|
12: 6(bool) Load 9(b)
|
|
14: 6(bool) LogicalNotEqual 12 13
|
|
ReturnValue 14
|
|
FunctionEnd
|