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
86 lines
3.8 KiB
Plaintext
Executable File
86 lines
3.8 KiB
Plaintext
Executable File
spv.100ops.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 47
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 36
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source ESSL 100
|
|
Name 4 "main"
|
|
Name 8 "foo("
|
|
Name 11 "face1"
|
|
Name 13 "face2"
|
|
Name 17 "z"
|
|
Name 21 "low"
|
|
Name 26 "high"
|
|
Name 36 "gl_FragColor"
|
|
Decorate 11(face1) RelaxedPrecision
|
|
Decorate 13(face2) RelaxedPrecision
|
|
Decorate 17(z) RelaxedPrecision
|
|
Decorate 21(low) RelaxedPrecision
|
|
Decorate 26(high) RelaxedPrecision
|
|
Decorate 36(gl_FragColor) RelaxedPrecision
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeFunction 6(float)
|
|
10: TypePointer Private 6(float)
|
|
11(face1): 10(ptr) Variable Private
|
|
12: 6(float) Constant 1093664768
|
|
13(face2): 10(ptr) Variable Private
|
|
14: 6(float) Constant 3221225472
|
|
15: TypeInt 32 1
|
|
16: TypePointer Function 15(int)
|
|
18: 15(int) Constant 3
|
|
19: 15(int) Constant 2
|
|
20: TypePointer UniformConstant 15(int)
|
|
21(low): 20(ptr) Variable UniformConstant
|
|
24: 15(int) Constant 1
|
|
26(high): 20(ptr) Variable UniformConstant
|
|
28: TypeBool
|
|
34: TypeVector 6(float) 4
|
|
35: TypePointer Output 34(fvec4)
|
|
36(gl_FragColor): 35(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
17(z): 16(ptr) Variable Function
|
|
Store 11(face1) 12
|
|
Store 13(face2) 14
|
|
Store 17(z) 18
|
|
22: 15(int) Load 21(low)
|
|
23: 15(int) IMul 19 22
|
|
25: 15(int) IAdd 23 24
|
|
27: 15(int) Load 26(high)
|
|
29: 28(bool) SLessThan 25 27
|
|
SelectionMerge 31 None
|
|
BranchConditional 29 30 31
|
|
30: Label
|
|
32: 15(int) Load 17(z)
|
|
33: 15(int) IAdd 32 24
|
|
Store 17(z) 33
|
|
Branch 31
|
|
31: Label
|
|
37: 6(float) Load 11(face1)
|
|
38: 15(int) Load 17(z)
|
|
39: 6(float) ConvertSToF 38
|
|
40: 34(fvec4) CompositeConstruct 39 39 39 39
|
|
41: 34(fvec4) VectorTimesScalar 40 37
|
|
42: 6(float) FunctionCall 8(foo()
|
|
43: 34(fvec4) CompositeConstruct 42 42 42 42
|
|
44: 34(fvec4) FAdd 41 43
|
|
Store 36(gl_FragColor) 44
|
|
Return
|
|
FunctionEnd
|
|
8(foo(): 6(float) Function None 7
|
|
9: Label
|
|
45: 6(float) Load 13(face2)
|
|
ReturnValue 45
|
|
FunctionEnd
|