SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl).

This commit is contained in:
John Kessenich 2016-02-15 20:58:50 -07:00
parent 019f08fcd8
commit 6c292d3ba7
200 changed files with 7841 additions and 5577 deletions

View file

@ -7,88 +7,73 @@ Linked vertex stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 49
// Id's are bound by 42
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 11 24 27 48
EntryPoint Vertex 4 "main" 10 14 21 34
Source ESSL 310
Name 4 "main"
Name 8 "i"
Name 11 "gl_VertexID"
Name 16 "j"
Name 22 "gl_PerVertex"
MemberName 22(gl_PerVertex) 0 "gl_Position"
MemberName 22(gl_PerVertex) 1 "gl_PointSize"
Name 24 ""
Name 27 "ps"
Name 48 "gl_InstanceID"
Decorate 8(i) RelaxedPrecision
Decorate 11(gl_VertexID) BuiltIn VertexId
Decorate 16(j) RelaxedPrecision
MemberDecorate 22(gl_PerVertex) 0 Invariant
MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize
Decorate 22(gl_PerVertex) Block
Decorate 27(ps) RelaxedPrecision
Decorate 28 RelaxedPrecision
Decorate 32 RelaxedPrecision
Decorate 39 RelaxedPrecision
Decorate 42 RelaxedPrecision
Decorate 48(gl_InstanceID) BuiltIn InstanceId
Name 8 "gl_PerVertex"
MemberName 8(gl_PerVertex) 0 "gl_Position"
MemberName 8(gl_PerVertex) 1 "gl_PointSize"
Name 10 ""
Name 14 "ps"
Name 21 "gl_VertexIndex"
Name 34 "gl_InstanceIndex"
MemberDecorate 8(gl_PerVertex) 0 Invariant
MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize
Decorate 8(gl_PerVertex) Block
Decorate 14(ps) RelaxedPrecision
Decorate 15 RelaxedPrecision
Decorate 21(gl_VertexIndex) BuiltIn VertexIndex
Decorate 30 RelaxedPrecision
Decorate 34(gl_InstanceIndex) BuiltIn InstanceIndex
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: 6(int) Constant 4
10: TypePointer Input 6(int)
11(gl_VertexID): 10(ptr) Variable Input
14: 6(int) Constant 10
20: TypeFloat 32
21: TypeVector 20(float) 4
22(gl_PerVertex): TypeStruct 21(fvec4) 20(float)
23: TypePointer Output 22(gl_PerVertex)
24: 23(ptr) Variable Output
25: 6(int) Constant 0
26: TypePointer Input 20(float)
27(ps): 26(ptr) Variable Input
30: TypePointer Output 21(fvec4)
38: 6(int) Constant 1
40: TypePointer Output 20(float)
48(gl_InstanceID): 10(ptr) Variable Input
6: TypeFloat 32
7: TypeVector 6(float) 4
8(gl_PerVertex): TypeStruct 7(fvec4) 6(float)
9: TypePointer Output 8(gl_PerVertex)
10: 9(ptr) Variable Output
11: TypeInt 32 1
12: 11(int) Constant 0
13: TypePointer Input 6(float)
14(ps): 13(ptr) Variable Input
17: TypePointer Output 7(fvec4)
19: 11(int) Constant 4
20: TypePointer Input 11(int)
21(gl_VertexIndex): 20(ptr) Variable Input
29: 11(int) Constant 1
31: TypePointer Output 6(float)
33: 11(int) Constant 5
34(gl_InstanceIndex): 20(ptr) Variable Input
4(main): 2 Function None 3
5: Label
8(i): 7(ptr) Variable Function
16(j): 7(ptr) Variable Function
12: 6(int) Load 11(gl_VertexID)
13: 6(int) IMul 9 12
15: 6(int) ISub 13 14
Store 8(i) 15
17: 6(int) Load 11(gl_VertexID)
18: 6(int) IMul 9 17
19: 6(int) ISub 18 14
Store 16(j) 19
28: 20(float) Load 27(ps)
29: 21(fvec4) CompositeConstruct 28 28 28 28
31: 30(ptr) AccessChain 24 25
Store 31 29
32: 6(int) Load 8(i)
33: 20(float) ConvertSToF 32
34: 30(ptr) AccessChain 24 25
35: 21(fvec4) Load 34
36: 21(fvec4) VectorTimesScalar 35 33
37: 30(ptr) AccessChain 24 25
Store 37 36
39: 20(float) Load 27(ps)
41: 40(ptr) AccessChain 24 38
Store 41 39
42: 6(int) Load 16(j)
43: 20(float) ConvertSToF 42
44: 40(ptr) AccessChain 24 38
45: 20(float) Load 44
46: 20(float) FMul 45 43
47: 40(ptr) AccessChain 24 38
Store 47 46
15: 6(float) Load 14(ps)
16: 7(fvec4) CompositeConstruct 15 15 15 15
18: 17(ptr) AccessChain 10 12
Store 18 16
22: 11(int) Load 21(gl_VertexIndex)
23: 11(int) ISub 19 22
24: 6(float) ConvertSToF 23
25: 17(ptr) AccessChain 10 12
26: 7(fvec4) Load 25
27: 7(fvec4) VectorTimesScalar 26 24
28: 17(ptr) AccessChain 10 12
Store 28 27
30: 6(float) Load 14(ps)
32: 31(ptr) AccessChain 10 29
Store 32 30
35: 11(int) Load 34(gl_InstanceIndex)
36: 11(int) ISub 33 35
37: 6(float) ConvertSToF 36
38: 31(ptr) AccessChain 10 29
39: 6(float) Load 38
40: 6(float) FMul 39 37
41: 31(ptr) AccessChain 10 29
Store 41 40
Return
FunctionEnd