
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
95 lines
4.5 KiB
Plaintext
Executable File
95 lines
4.5 KiB
Plaintext
Executable File
spv.structAssignment.frag
|
|
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 50
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 31 44
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 130
|
|
Name 4 "main"
|
|
Name 8 "lunarStruct1"
|
|
MemberName 8(lunarStruct1) 0 "i"
|
|
MemberName 8(lunarStruct1) 1 "f"
|
|
Name 9 "lunarStruct2"
|
|
MemberName 9(lunarStruct2) 0 "i"
|
|
MemberName 9(lunarStruct2) 1 "f"
|
|
MemberName 9(lunarStruct2) 2 "s1_1"
|
|
Name 10 "lunarStruct3"
|
|
MemberName 10(lunarStruct3) 0 "s2_1"
|
|
MemberName 10(lunarStruct3) 1 "i"
|
|
MemberName 10(lunarStruct3) 2 "f"
|
|
MemberName 10(lunarStruct3) 3 "s1_1"
|
|
Name 12 "foo3"
|
|
Name 22 "locals2"
|
|
Name 27 "foo2"
|
|
Name 31 "gl_FragColor"
|
|
Name 40 "samp2D"
|
|
Name 44 "coord"
|
|
Name 49 "foo"
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypeFloat 32
|
|
8(lunarStruct1): TypeStruct 6(int) 7(float)
|
|
9(lunarStruct2): TypeStruct 6(int) 7(float) 8(lunarStruct1)
|
|
10(lunarStruct3): TypeStruct 9(lunarStruct2) 6(int) 7(float) 8(lunarStruct1)
|
|
11: TypePointer UniformConstant 10(lunarStruct3)
|
|
12(foo3): 11(ptr) Variable UniformConstant
|
|
13: 6(int) Constant 0
|
|
14: TypePointer UniformConstant 6(int)
|
|
17: TypeBool
|
|
21: TypePointer Function 9(lunarStruct2)
|
|
23: TypePointer UniformConstant 9(lunarStruct2)
|
|
27(foo2): 23(ptr) Variable UniformConstant
|
|
29: TypeVector 7(float) 4
|
|
30: TypePointer Output 29(fvec4)
|
|
31(gl_FragColor): 30(ptr) Variable Output
|
|
32: 6(int) Constant 2
|
|
33: 6(int) Constant 1
|
|
34: TypePointer Function 7(float)
|
|
37: TypeImage 7(float) 2D sampled format:Unknown
|
|
38: TypeSampledImage 37
|
|
39: TypePointer UniformConstant 38
|
|
40(samp2D): 39(ptr) Variable UniformConstant
|
|
42: TypeVector 7(float) 2
|
|
43: TypePointer Input 42(fvec2)
|
|
44(coord): 43(ptr) Variable Input
|
|
48: TypePointer UniformConstant 8(lunarStruct1)
|
|
49(foo): 48(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
22(locals2): 21(ptr) Variable Function
|
|
15: 14(ptr) AccessChain 12(foo3) 13 13
|
|
16: 6(int) Load 15
|
|
18: 17(bool) SGreaterThan 16 13
|
|
SelectionMerge 20 None
|
|
BranchConditional 18 19 26
|
|
19: Label
|
|
24: 23(ptr) AccessChain 12(foo3) 13
|
|
25:9(lunarStruct2) Load 24
|
|
Store 22(locals2) 25
|
|
Branch 20
|
|
26: Label
|
|
28:9(lunarStruct2) Load 27(foo2)
|
|
Store 22(locals2) 28
|
|
Branch 20
|
|
20: Label
|
|
35: 34(ptr) AccessChain 22(locals2) 32 33
|
|
36: 7(float) Load 35
|
|
41: 38 Load 40(samp2D)
|
|
45: 42(fvec2) Load 44(coord)
|
|
46: 29(fvec4) ImageSampleImplicitLod 41 45
|
|
47: 29(fvec4) VectorTimesScalar 46 36
|
|
Store 31(gl_FragColor) 47
|
|
Return
|
|
FunctionEnd
|