mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
glslang SPV tests: Add a set of SPV tests.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31212 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
e7cbfa5cab
commit
39374dadb5
89
Test/baseResults/spv.100ops.frag.out
Normal file
89
Test/baseResults/spv.100ops.frag.out
Normal file
@ -0,0 +1,89 @@
|
||||
spv.100ops.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 48
|
||||
|
||||
Source GLSL 100
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "foo("
|
||||
Name 12 "face1"
|
||||
Name 14 "face2"
|
||||
Name 18 "z"
|
||||
Name 22 "low"
|
||||
Name 27 "high"
|
||||
Name 37 "gl_FragColor"
|
||||
Decorate 12(face1) PrecisionLow
|
||||
Decorate 14(face2) PrecisionLow
|
||||
Decorate 18(z) PrecisionMedium
|
||||
Decorate 22(low) PrecisionMedium
|
||||
Decorate 27(high) PrecisionMedium
|
||||
Decorate 37(gl_FragColor) PrecisionMedium
|
||||
Decorate 37(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeFunction 7(float)
|
||||
11: TypePointer PrivateGlobal 7(float)
|
||||
12(face1): 11(ptr) Variable PrivateGlobal
|
||||
13: 7(float) Constant 1093664768
|
||||
14(face2): 11(ptr) Variable PrivateGlobal
|
||||
15: 7(float) Constant 3221225472
|
||||
16: TypeInt 32 1
|
||||
17: TypePointer Function 16(int)
|
||||
19: 16(int) Constant 3
|
||||
20: 16(int) Constant 2
|
||||
21: TypePointer UniformConstant 16(int)
|
||||
22(low): 21(ptr) Variable UniformConstant
|
||||
25: 16(int) Constant 1
|
||||
27(high): 21(ptr) Variable UniformConstant
|
||||
29: TypeBool
|
||||
35: TypeVector 7(float) 4
|
||||
36: TypePointer Output 35(fvec4)
|
||||
37(gl_FragColor): 36(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18(z): 17(ptr) Variable Function
|
||||
Store 12(face1) 13
|
||||
Store 14(face2) 15
|
||||
Store 18(z) 19
|
||||
23: 16(int) Load 22(low)
|
||||
24: 16(int) IMul 20 23
|
||||
26: 16(int) IAdd 24 25
|
||||
28: 16(int) Load 27(high)
|
||||
30: 29(bool) SLessThan 26 28
|
||||
SelectionMerge 32 None
|
||||
BranchConditional 30 31 32
|
||||
31: Label
|
||||
33: 16(int) Load 18(z)
|
||||
34: 16(int) IAdd 33 25
|
||||
Store 18(z) 34
|
||||
Branch 32
|
||||
32: Label
|
||||
38: 7(float) Load 12(face1)
|
||||
39: 16(int) Load 18(z)
|
||||
40: 7(float) ConvertSToF 39
|
||||
41: 35(fvec4) CompositeConstruct 40 40 40 40
|
||||
42: 35(fvec4) VectorTimesScalar 38 41
|
||||
43: 7(float) FunctionCall 9(foo()
|
||||
44: 35(fvec4) CompositeConstruct 43 43 43 43
|
||||
45: 35(fvec4) FAdd 42 44
|
||||
Store 37(gl_FragColor) 45
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
9(foo(): 7(float) Function None 8
|
||||
10: Label
|
||||
46: 7(float) Load 14(face2)
|
||||
ReturnValue 46
|
||||
FunctionEnd
|
10
Test/baseResults/spv.130.frag.out
Normal file
10
Test/baseResults/spv.130.frag.out
Normal file
@ -0,0 +1,10 @@
|
||||
spv.130.frag
|
||||
WARNING: 0:34: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: texture gather
|
151
Test/baseResults/spv.140.frag.out
Normal file
151
Test/baseResults/spv.140.frag.out
Normal file
@ -0,0 +1,151 @@
|
||||
spv.140.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 90
|
||||
|
||||
Source GLSL 140
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "foo("
|
||||
Name 12 "i1"
|
||||
Name 17 "gl_FrontFacing"
|
||||
Name 25 "i2"
|
||||
Name 29 "o"
|
||||
Name 34 "gl_ClipDistance"
|
||||
Name 43 "k"
|
||||
Name 54 "sampR"
|
||||
Name 60 "sampB"
|
||||
Name 83 "samp2Da"
|
||||
Name 87 "bn"
|
||||
MemberName 87(bn) 0 "matra"
|
||||
MemberName 87(bn) 1 "matca"
|
||||
MemberName 87(bn) 2 "matr"
|
||||
MemberName 87(bn) 3 "matc"
|
||||
MemberName 87(bn) 4 "matrdef"
|
||||
Name 89 ""
|
||||
Decorate 17(gl_FrontFacing) BuiltIn FrontFacing
|
||||
Decorate 34(gl_ClipDistance) Smooth
|
||||
Decorate 34(gl_ClipDistance) BuiltIn ClipDistance
|
||||
Decorate 43(k) Smooth
|
||||
Decorate 83(samp2Da) NoStaticUse
|
||||
MemberDecorate 87(bn) 0 RowMajor
|
||||
MemberDecorate 87(bn) 1 ColMajor
|
||||
MemberDecorate 87(bn) 2 RowMajor
|
||||
MemberDecorate 87(bn) 3 ColMajor
|
||||
MemberDecorate 87(bn) 4 RowMajor
|
||||
Decorate 87(bn) GLSLStd140
|
||||
Decorate 87(bn) Block
|
||||
Decorate 89 NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeFunction 7(float)
|
||||
11: TypePointer PrivateGlobal 7(float)
|
||||
12(i1): 11(ptr) Variable PrivateGlobal
|
||||
13: TypePointer Function 7(float)
|
||||
15: TypeBool
|
||||
16: TypePointer Input 15(bool)
|
||||
17(gl_FrontFacing): 16(ptr) Variable Input
|
||||
21: 7(float) Constant 3221225472
|
||||
23: 7(float) Constant 1073741824
|
||||
25(i2): 11(ptr) Variable PrivateGlobal
|
||||
26: 7(float) Constant 1120665600
|
||||
27: TypeVector 7(float) 4
|
||||
28: TypePointer Output 27(fvec4)
|
||||
29(o): 28(ptr) Variable Output
|
||||
30: TypeInt 32 0
|
||||
31: 30(int) Constant 5
|
||||
32: TypeArray 7(float) 31
|
||||
33: TypePointer Input 32
|
||||
34(gl_ClipDistance): 33(ptr) Variable Input
|
||||
35: TypeInt 32 1
|
||||
36: 35(int) Constant 2
|
||||
37: TypePointer Input 7(float)
|
||||
42: TypePointer Input 27(fvec4)
|
||||
43(k): 42(ptr) Variable Input
|
||||
45: TypeVector 35(int) 4
|
||||
52: TypeSampler7(float) Rect filter+texture
|
||||
53: TypePointer UniformConstant 52
|
||||
54(sampR): 53(ptr) Variable UniformConstant
|
||||
56: TypeVector 35(int) 2
|
||||
58: TypeSampler35(int) Buffer filter+texture
|
||||
59: TypePointer UniformConstant 58
|
||||
60(sampB): 59(ptr) Variable UniformConstant
|
||||
65: TypeVector 7(float) 2
|
||||
68: 7(float) Constant 1120403456
|
||||
79: TypeSampler7(float) 2D filter+texture
|
||||
80: 30(int) Constant 3
|
||||
81: TypeArray 79 80
|
||||
82: TypePointer UniformConstant 81
|
||||
83(samp2Da): 82(ptr) Variable UniformConstant
|
||||
84: TypeMatrix 27(fvec4) 4
|
||||
85: 30(int) Constant 4
|
||||
86: TypeArray 84 85
|
||||
87(bn): TypeStruct 86 86 84 84 84
|
||||
88: TypePointer Uniform 87(bn)
|
||||
89: 88(ptr) Variable Uniform
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
14: 13(ptr) Variable Function
|
||||
18: 15(bool) Load 17(gl_FrontFacing)
|
||||
SelectionMerge 20 None
|
||||
BranchConditional 18 19 22
|
||||
19: Label
|
||||
Store 14 21
|
||||
Branch 20
|
||||
22: Label
|
||||
Store 14 23
|
||||
Branch 20
|
||||
20: Label
|
||||
24: 7(float) Load 14
|
||||
Store 12(i1) 24
|
||||
Store 25(i2) 26
|
||||
38: 37(ptr) AccessChain 34(gl_ClipDistance) 36
|
||||
39: 7(float) Load 38
|
||||
40: 27(fvec4) Load 29(o)
|
||||
41: 27(fvec4) CompositeInsert 39 40 1
|
||||
Store 29(o) 41
|
||||
44: 27(fvec4) Load 43(k)
|
||||
46: 45(ivec4) ConvertFToS 44
|
||||
47: 35(int) CompositeExtract 46 0
|
||||
48: 37(ptr) AccessChain 34(gl_ClipDistance) 47
|
||||
49: 7(float) Load 48
|
||||
50: 27(fvec4) Load 29(o)
|
||||
51: 27(fvec4) CompositeInsert 49 50 2
|
||||
Store 29(o) 51
|
||||
55: 52 Load 54(sampR)
|
||||
57: 56(ivec2) TextureQuerySize 55
|
||||
61: 58 Load 60(sampB)
|
||||
62: 35(int) TextureQuerySize 61
|
||||
63: 56(ivec2) CompositeConstruct 62 62
|
||||
64: 56(ivec2) IAdd 57 63
|
||||
66: 65(fvec2) ConvertSToF 64
|
||||
67: 7(float) CompositeExtract 66 0
|
||||
69: 7(float) FDiv 67 68
|
||||
70: 27(fvec4) Load 29(o)
|
||||
71: 27(fvec4) CompositeInsert 69 70 3
|
||||
Store 29(o) 71
|
||||
72: 7(float) FunctionCall 9(foo()
|
||||
73: 27(fvec4) Load 29(o)
|
||||
74: 27(fvec4) CompositeInsert 72 73 2
|
||||
Store 29(o) 74
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
9(foo(): 7(float) Function None 8
|
||||
10: Label
|
||||
75: 7(float) Load 12(i1)
|
||||
76: 7(float) Load 25(i2)
|
||||
77: 7(float) FAdd 75 76
|
||||
ReturnValue 77
|
||||
FunctionEnd
|
30
Test/baseResults/spv.140.vert.out
Normal file
30
Test/baseResults/spv.140.vert.out
Normal file
@ -0,0 +1,30 @@
|
||||
Error: unable to open input file: spv.140.vert
|
||||
Usage: glslangValidator [option]... [file]...
|
||||
|
||||
Where: each 'file' ends in .<stage>, where <stage> is one of
|
||||
.conf to provide an optional config file that replaces the default configuration
|
||||
(see -c option below for generating a template)
|
||||
.vert for a vertex shader
|
||||
.tesc for a tessellation control shader
|
||||
.tese for a tessellation evaluation shader
|
||||
.geom for a geometry shader
|
||||
.frag for a fragment shader
|
||||
.comp for a compute shader
|
||||
|
||||
Compilation warnings and errors will be printed to stdout.
|
||||
|
||||
To get other information, use one of the following options:
|
||||
(Each option must be specified separately, but can go anywhere in the command line.)
|
||||
-V create SPIR-V in file <stage>.spv
|
||||
-H print human readable form of SPIR-V; turns on -V
|
||||
-c configuration dump; use to create default configuration file (redirect to a .conf file)
|
||||
-d default to desktop (#version 110) when there is no version in the shader (default is ES version 100)
|
||||
-i intermediate tree (glslang AST) is printed out
|
||||
-l link validation of all input files
|
||||
-m memory leak mode
|
||||
-q dump reflection query database
|
||||
-r relaxed semantic error-checking mode
|
||||
-s silent mode
|
||||
-t multi-threaded mode
|
||||
-v print version strings
|
||||
-w suppress warnings (except as required by #extension : warn)
|
146
Test/baseResults/spv.150.geom.out
Normal file
146
Test/baseResults/spv.150.geom.out
Normal file
@ -0,0 +1,146 @@
|
||||
spv.150.geom
|
||||
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 72
|
||||
|
||||
Source GLSL 150
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Geometry 4
|
||||
ExecutionMode 4 InputTrianglesAdjacency
|
||||
ExecutionMode 4 Invocations 0
|
||||
ExecutionMode 4 OutputTriangleStrip
|
||||
ExecutionMode 4 OutputVertices 30
|
||||
Name 4 "main"
|
||||
Name 9 "fromVertex"
|
||||
MemberName 9(fromVertex) 0 "color"
|
||||
Name 11 ""
|
||||
Name 14 "fromVertex"
|
||||
MemberName 14(fromVertex) 0 "color"
|
||||
Name 19 "fromV"
|
||||
Name 28 "gl_PerVertex"
|
||||
MemberName 28(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 28(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 28(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 30 ""
|
||||
Name 31 "gl_PerVertex"
|
||||
MemberName 31(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 31(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 31(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 34 "gl_in"
|
||||
Name 48 "gl_PrimitiveID"
|
||||
Name 50 "gl_PrimitiveIDIn"
|
||||
Name 52 "gl_Layer"
|
||||
Name 69 "toFragment"
|
||||
MemberName 69(toFragment) 0 "color"
|
||||
Name 71 "toF"
|
||||
Decorate 9(fromVertex) Block
|
||||
Decorate 9(fromVertex) Stream 3
|
||||
Decorate 11 Stream 3
|
||||
Decorate 14(fromVertex) Block
|
||||
Decorate 28(gl_PerVertex) Block
|
||||
Decorate 28(gl_PerVertex) Stream 0
|
||||
Decorate 30 Stream 0
|
||||
Decorate 31(gl_PerVertex) Block
|
||||
Decorate 48(gl_PrimitiveID) Stream 0
|
||||
Decorate 48(gl_PrimitiveID) BuiltIn PrimitiveId
|
||||
Decorate 50(gl_PrimitiveIDIn) BuiltIn PrimitiveId
|
||||
Decorate 52(gl_Layer) Stream 0
|
||||
Decorate 52(gl_Layer) BuiltIn Layer
|
||||
Decorate 69(toFragment) Block
|
||||
Decorate 69(toFragment) Stream 3
|
||||
Decorate 71(toF) Stream 3
|
||||
Decorate 71(toF) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 3
|
||||
9(fromVertex): TypeStruct 8(fvec3)
|
||||
10: TypePointer Output 9(fromVertex)
|
||||
11: 10(ptr) Variable Output
|
||||
12: TypeInt 32 1
|
||||
13: 12(int) Constant 0
|
||||
14(fromVertex): TypeStruct 8(fvec3)
|
||||
15: TypeInt 32 0
|
||||
16: 15(int) Constant 6
|
||||
17: TypeArray 14(fromVertex) 16
|
||||
18: TypePointer Input 17
|
||||
19(fromV): 18(ptr) Variable Input
|
||||
20: TypePointer Input 8(fvec3)
|
||||
23: TypePointer Output 8(fvec3)
|
||||
25: TypeVector 7(float) 4
|
||||
26: 15(int) Constant 1
|
||||
27: TypeArray 7(float) 26
|
||||
28(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27
|
||||
29: TypePointer Output 28(gl_PerVertex)
|
||||
30: 29(ptr) Variable Output
|
||||
31(gl_PerVertex): TypeStruct 25(fvec4) 7(float) 27
|
||||
32: TypeArray 31(gl_PerVertex) 16
|
||||
33: TypePointer Input 32
|
||||
34(gl_in): 33(ptr) Variable Input
|
||||
35: TypePointer Input 25(fvec4)
|
||||
38: TypePointer Output 25(fvec4)
|
||||
40: 12(int) Constant 1
|
||||
41: 12(int) Constant 3
|
||||
42: TypePointer Input 7(float)
|
||||
45: TypePointer Output 7(float)
|
||||
47: TypePointer Output 12(int)
|
||||
48(gl_PrimitiveID): 47(ptr) Variable Output
|
||||
49: TypePointer Input 12(int)
|
||||
50(gl_PrimitiveIDIn): 49(ptr) Variable Input
|
||||
52(gl_Layer): 47(ptr) Variable Output
|
||||
53: 12(int) Constant 2
|
||||
54: 7(float) Constant 1073741824
|
||||
69(toFragment): TypeStruct 8(fvec3)
|
||||
70: TypePointer Output 69(toFragment)
|
||||
71(toF): 70(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
21: 20(ptr) AccessChain 19(fromV) 13 13
|
||||
22: 8(fvec3) Load 21
|
||||
24: 23(ptr) AccessChain 11 13
|
||||
Store 24 22
|
||||
36: 35(ptr) AccessChain 34(gl_in) 13 13
|
||||
37: 25(fvec4) Load 36
|
||||
39: 38(ptr) AccessChain 30 13
|
||||
Store 39 37
|
||||
43: 42(ptr) AccessChain 34(gl_in) 41 40
|
||||
44: 7(float) Load 43
|
||||
46: 45(ptr) AccessChain 30 40
|
||||
Store 46 44
|
||||
51: 12(int) Load 50(gl_PrimitiveIDIn)
|
||||
Store 48(gl_PrimitiveID) 51
|
||||
Store 52(gl_Layer) 53
|
||||
EmitVertex
|
||||
55: 20(ptr) AccessChain 19(fromV) 13 13
|
||||
56: 8(fvec3) Load 55
|
||||
57: 8(fvec3) VectorTimesScalar 54 56
|
||||
58: 23(ptr) AccessChain 11 13
|
||||
Store 58 57
|
||||
59: 35(ptr) AccessChain 34(gl_in) 13 13
|
||||
60: 25(fvec4) Load 59
|
||||
61: 25(fvec4) VectorTimesScalar 54 60
|
||||
62: 38(ptr) AccessChain 30 13
|
||||
Store 62 61
|
||||
63: 42(ptr) AccessChain 34(gl_in) 41 40
|
||||
64: 7(float) Load 63
|
||||
65: 7(float) FMul 54 64
|
||||
66: 45(ptr) AccessChain 30 40
|
||||
Store 66 65
|
||||
67: 12(int) Load 50(gl_PrimitiveIDIn)
|
||||
68: 12(int) IAdd 67 40
|
||||
Store 48(gl_PrimitiveID) 68
|
||||
Store 52(gl_Layer) 41
|
||||
EmitVertex
|
||||
EndPrimitive
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
108
Test/baseResults/spv.150.vert.out
Normal file
108
Test/baseResults/spv.150.vert.out
Normal file
@ -0,0 +1,108 @@
|
||||
spv.150.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 53
|
||||
|
||||
Source GLSL 150
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 14 "gl_PerVertex"
|
||||
MemberName 14(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 14(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 14(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
MemberName 14(gl_PerVertex) 3 "gl_ClipVertex"
|
||||
MemberName 14(gl_PerVertex) 4 "gl_FrontColor"
|
||||
MemberName 14(gl_PerVertex) 5 "gl_BackColor"
|
||||
MemberName 14(gl_PerVertex) 6 "gl_FrontSecondaryColor"
|
||||
MemberName 14(gl_PerVertex) 7 "gl_BackSecondaryColor"
|
||||
MemberName 14(gl_PerVertex) 8 "gl_TexCoord"
|
||||
MemberName 14(gl_PerVertex) 9 "gl_FogFragCoord"
|
||||
Name 16 ""
|
||||
Name 20 "iv4"
|
||||
Name 26 "ps"
|
||||
Name 36 "s1"
|
||||
MemberName 36(s1) 0 "a"
|
||||
MemberName 36(s1) 1 "a2"
|
||||
MemberName 36(s1) 2 "b"
|
||||
Name 38 "s2"
|
||||
MemberName 38(s2) 0 "c"
|
||||
MemberName 38(s2) 1 "d"
|
||||
Name 40 "s2out"
|
||||
Name 42 "i"
|
||||
Name 49 "ui"
|
||||
Name 51 "gl_VertexID"
|
||||
Name 52 "gl_InstanceID"
|
||||
MemberDecorate 14(gl_PerVertex) 0 Invariant
|
||||
Decorate 14(gl_PerVertex) Block
|
||||
Decorate 49(ui) NoStaticUse
|
||||
Decorate 51(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 51(gl_VertexID) NoStaticUse
|
||||
Decorate 52(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 52(gl_InstanceID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypeInt 32 0
|
||||
10: 9(int) Constant 4
|
||||
11: TypeArray 7(float) 10
|
||||
12: 9(int) Constant 1
|
||||
13: TypeArray 8(fvec4) 12
|
||||
14(gl_PerVertex): TypeStruct 8(fvec4) 7(float) 11 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 8(fvec4) 13 7(float)
|
||||
15: TypePointer Output 14(gl_PerVertex)
|
||||
16: 15(ptr) Variable Output
|
||||
17: TypeInt 32 1
|
||||
18: 17(int) Constant 0
|
||||
19: TypePointer Input 8(fvec4)
|
||||
20(iv4): 19(ptr) Variable Input
|
||||
22: TypePointer Output 8(fvec4)
|
||||
24: 17(int) Constant 1
|
||||
25: TypePointer UniformConstant 7(float)
|
||||
26(ps): 25(ptr) Variable UniformConstant
|
||||
28: TypePointer Output 7(float)
|
||||
30: 17(int) Constant 2
|
||||
34: 9(int) Constant 3
|
||||
35: TypeArray 8(fvec4) 34
|
||||
36(s1): TypeStruct 17(int) 17(int) 35
|
||||
37: TypeArray 36(s1) 10
|
||||
38(s2): TypeStruct 17(int) 37
|
||||
39: TypePointer Output 38(s2)
|
||||
40(s2out): 39(ptr) Variable Output
|
||||
41: TypePointer Function 17(int)
|
||||
48: TypePointer UniformConstant 17(int)
|
||||
49(ui): 48(ptr) Variable UniformConstant
|
||||
50: TypePointer Input 17(int)
|
||||
51(gl_VertexID): 50(ptr) Variable Input
|
||||
52(gl_InstanceID): 50(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
42(i): 41(ptr) Variable Function
|
||||
21: 8(fvec4) Load 20(iv4)
|
||||
23: 22(ptr) AccessChain 16 18
|
||||
Store 23 21
|
||||
27: 7(float) Load 26(ps)
|
||||
29: 28(ptr) AccessChain 16 24
|
||||
Store 29 27
|
||||
31: 8(fvec4) Load 20(iv4)
|
||||
32: 7(float) CompositeExtract 31 0
|
||||
33: 28(ptr) AccessChain 16 30 30
|
||||
Store 33 32
|
||||
43: 17(int) Load 42(i)
|
||||
44: 7(float) Load 26(ps)
|
||||
45: 22(ptr) AccessChain 40(s2out) 24 43 30 30
|
||||
46: 8(fvec4) Load 45
|
||||
47: 8(fvec4) CompositeInsert 44 46 3
|
||||
Store 45 47
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
85
Test/baseResults/spv.300BuiltIns.vert.out
Normal file
85
Test/baseResults/spv.300BuiltIns.vert.out
Normal file
@ -0,0 +1,85 @@
|
||||
spv.300BuiltIns.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 41
|
||||
|
||||
Source GLSL 300
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 9 "i"
|
||||
Name 12 "gl_VertexID"
|
||||
Name 17 "j"
|
||||
Name 24 "gl_Position"
|
||||
Name 26 "ps"
|
||||
Name 34 "gl_PointSize"
|
||||
Name 40 "gl_InstanceID"
|
||||
Decorate 9(i) PrecisionMedium
|
||||
Decorate 12(gl_VertexID) PrecisionHigh
|
||||
Decorate 12(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 17(j) PrecisionMedium
|
||||
Decorate 24(gl_Position) PrecisionHigh
|
||||
Decorate 24(gl_Position) Invariant
|
||||
Decorate 24(gl_Position) BuiltIn Position
|
||||
Decorate 26(ps) PrecisionMedium
|
||||
Decorate 34(gl_PointSize) PrecisionHigh
|
||||
Decorate 34(gl_PointSize) BuiltIn PointSize
|
||||
Decorate 40(gl_InstanceID) PrecisionHigh
|
||||
Decorate 40(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 40(gl_InstanceID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
10: 7(int) Constant 4
|
||||
11: TypePointer Input 7(int)
|
||||
12(gl_VertexID): 11(ptr) Variable Input
|
||||
15: 7(int) Constant 10
|
||||
21: TypeFloat 32
|
||||
22: TypeVector 21(float) 4
|
||||
23: TypePointer Output 22(fvec4)
|
||||
24(gl_Position): 23(ptr) Variable Output
|
||||
25: TypePointer Input 21(float)
|
||||
26(ps): 25(ptr) Variable Input
|
||||
33: TypePointer Output 21(float)
|
||||
34(gl_PointSize): 33(ptr) Variable Output
|
||||
40(gl_InstanceID): 11(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(i): 8(ptr) Variable Function
|
||||
17(j): 8(ptr) Variable Function
|
||||
13: 7(int) Load 12(gl_VertexID)
|
||||
14: 7(int) IMul 10 13
|
||||
16: 7(int) ISub 14 15
|
||||
Store 9(i) 16
|
||||
18: 7(int) Load 12(gl_VertexID)
|
||||
19: 7(int) IMul 10 18
|
||||
20: 7(int) ISub 19 15
|
||||
Store 17(j) 20
|
||||
27: 21(float) Load 26(ps)
|
||||
28: 22(fvec4) CompositeConstruct 27 27 27 27
|
||||
Store 24(gl_Position) 28
|
||||
29: 7(int) Load 9(i)
|
||||
30: 21(float) ConvertSToF 29
|
||||
31: 22(fvec4) Load 24(gl_Position)
|
||||
32: 22(fvec4) VectorTimesScalar 31 30
|
||||
Store 24(gl_Position) 32
|
||||
35: 21(float) Load 26(ps)
|
||||
Store 34(gl_PointSize) 35
|
||||
36: 7(int) Load 17(j)
|
||||
37: 21(float) ConvertSToF 36
|
||||
38: 21(float) Load 34(gl_PointSize)
|
||||
39: 21(float) FMul 38 37
|
||||
Store 34(gl_PointSize) 39
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
76
Test/baseResults/spv.300layout.frag.out
Normal file
76
Test/baseResults/spv.300layout.frag.out
Normal file
@ -0,0 +1,76 @@
|
||||
spv.300layout.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 38
|
||||
|
||||
Source GLSL 300
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "c"
|
||||
Name 12 "color"
|
||||
Name 14 "S"
|
||||
MemberName 14(S) 0 "c"
|
||||
MemberName 14(S) 1 "f"
|
||||
Name 16 "s"
|
||||
Name 27 "p"
|
||||
Name 30 "pos"
|
||||
Decorate 10(c) PrecisionMedium
|
||||
Decorate 10(c) Location 7
|
||||
Decorate 12(color) PrecisionMedium
|
||||
Decorate 12(color) Smooth
|
||||
MemberDecorate 14(S) 0 PrecisionMedium
|
||||
MemberDecorate 14(S) 1 PrecisionMedium
|
||||
Decorate 27(p) PrecisionMedium
|
||||
Decorate 27(p) Location 3
|
||||
Decorate 30(pos) PrecisionMedium
|
||||
Decorate 30(pos) Smooth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 3
|
||||
9: TypePointer Output 8(fvec3)
|
||||
10(c): 9(ptr) Variable Output
|
||||
11: TypePointer Input 8(fvec3)
|
||||
12(color): 11(ptr) Variable Input
|
||||
14(S): TypeStruct 8(fvec3) 7(float)
|
||||
15: TypePointer Input 14(S)
|
||||
16(s): 15(ptr) Variable Input
|
||||
17: TypeInt 32 1
|
||||
18: 17(int) Constant 0
|
||||
22: TypeVector 7(float) 4
|
||||
23: TypeInt 32 0
|
||||
24: 23(int) Constant 2
|
||||
25: TypeArray 22(fvec4) 24
|
||||
26: TypePointer Output 25
|
||||
27(p): 26(ptr) Variable Output
|
||||
28: 17(int) Constant 1
|
||||
29: TypePointer Input 22(fvec4)
|
||||
30(pos): 29(ptr) Variable Input
|
||||
32: TypePointer Input 7(float)
|
||||
36: TypePointer Output 22(fvec4)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13: 8(fvec3) Load 12(color)
|
||||
19: 11(ptr) AccessChain 16(s) 18
|
||||
20: 8(fvec3) Load 19
|
||||
21: 8(fvec3) FAdd 13 20
|
||||
Store 10(c) 21
|
||||
31: 22(fvec4) Load 30(pos)
|
||||
33: 32(ptr) AccessChain 16(s) 28
|
||||
34: 7(float) Load 33
|
||||
35: 22(fvec4) VectorTimesScalar 31 34
|
||||
37: 36(ptr) AccessChain 27(p) 28
|
||||
Store 37 35
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
9
Test/baseResults/spv.300layout.vert.out
Normal file
9
Test/baseResults/spv.300layout.vert.out
Normal file
@ -0,0 +1,9 @@
|
||||
spv.300layout.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: binary operation on matrix
|
211
Test/baseResults/spv.300layoutp.vert.out
Normal file
211
Test/baseResults/spv.300layoutp.vert.out
Normal file
@ -0,0 +1,211 @@
|
||||
spv.300layoutp.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 112
|
||||
|
||||
Source GLSL 300
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 10 "pos"
|
||||
Name 12 "p"
|
||||
Name 18 "Transform"
|
||||
MemberName 18(Transform) 0 "M1"
|
||||
MemberName 18(Transform) 1 "M2"
|
||||
MemberName 18(Transform) 2 "N1"
|
||||
MemberName 18(Transform) 3 "iuin"
|
||||
Name 20 "tblock"
|
||||
Name 34 "T3"
|
||||
MemberName 34(T3) 0 "M3"
|
||||
MemberName 34(T3) 1 "M4"
|
||||
MemberName 34(T3) 2 "N2"
|
||||
MemberName 34(T3) 3 "uv3a"
|
||||
Name 36 ""
|
||||
Name 44 "T2"
|
||||
MemberName 44(T2) 0 "b"
|
||||
MemberName 44(T2) 1 "t2m"
|
||||
Name 46 ""
|
||||
Name 52 "color"
|
||||
Name 54 "c"
|
||||
Name 62 "iout"
|
||||
Name 68 "uiuin"
|
||||
Name 74 "aiv2"
|
||||
Name 78 "S"
|
||||
MemberName 78(S) 0 "c"
|
||||
MemberName 78(S) 1 "f"
|
||||
Name 80 "s"
|
||||
Name 110 "gl_VertexID"
|
||||
Name 111 "gl_InstanceID"
|
||||
Decorate 10(pos) PrecisionHigh
|
||||
Decorate 10(pos) Smooth
|
||||
Decorate 12(p) PrecisionHigh
|
||||
Decorate 12(p) Location 3
|
||||
MemberDecorate 18(Transform) 0 RowMajor
|
||||
MemberDecorate 18(Transform) 0 PrecisionHigh
|
||||
MemberDecorate 18(Transform) 1 ColMajor
|
||||
MemberDecorate 18(Transform) 1 PrecisionHigh
|
||||
MemberDecorate 18(Transform) 2 RowMajor
|
||||
MemberDecorate 18(Transform) 2 PrecisionHigh
|
||||
MemberDecorate 18(Transform) 3 PrecisionHigh
|
||||
Decorate 18(Transform) GLSLStd140
|
||||
Decorate 18(Transform) Block
|
||||
MemberDecorate 34(T3) 0 ColMajor
|
||||
MemberDecorate 34(T3) 0 PrecisionHigh
|
||||
MemberDecorate 34(T3) 1 RowMajor
|
||||
MemberDecorate 34(T3) 1 PrecisionHigh
|
||||
MemberDecorate 34(T3) 2 ColMajor
|
||||
MemberDecorate 34(T3) 2 PrecisionHigh
|
||||
MemberDecorate 34(T3) 3 PrecisionHigh
|
||||
Decorate 34(T3) GLSLShared
|
||||
Decorate 34(T3) Block
|
||||
MemberDecorate 44(T2) 1 RowMajor
|
||||
MemberDecorate 44(T2) 1 PrecisionHigh
|
||||
Decorate 44(T2) GLSLShared
|
||||
Decorate 44(T2) Block
|
||||
Decorate 52(color) PrecisionHigh
|
||||
Decorate 52(color) Smooth
|
||||
Decorate 54(c) PrecisionHigh
|
||||
Decorate 54(c) Location 7
|
||||
Decorate 62(iout) PrecisionHigh
|
||||
Decorate 62(iout) Flat
|
||||
Decorate 68(uiuin) PrecisionHigh
|
||||
Decorate 74(aiv2) PrecisionHigh
|
||||
Decorate 74(aiv2) Location 9
|
||||
MemberDecorate 78(S) 0 PrecisionHigh
|
||||
MemberDecorate 78(S) 1 PrecisionHigh
|
||||
Decorate 110(gl_VertexID) PrecisionHigh
|
||||
Decorate 110(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 110(gl_VertexID) NoStaticUse
|
||||
Decorate 111(gl_InstanceID) PrecisionHigh
|
||||
Decorate 111(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 111(gl_InstanceID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Output 8(fvec4)
|
||||
10(pos): 9(ptr) Variable Output
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(p): 11(ptr) Variable Input
|
||||
14: TypeMatrix 8(fvec4) 4
|
||||
15: TypeVector 7(float) 3
|
||||
16: TypeMatrix 15(fvec3) 3
|
||||
17: TypeInt 32 1
|
||||
18(Transform): TypeStruct 14 14 16 17(int)
|
||||
19: TypePointer Uniform 18(Transform)
|
||||
20(tblock): 19(ptr) Variable Uniform
|
||||
21: 17(int) Constant 0
|
||||
22: TypePointer Uniform 14
|
||||
25: 17(int) Constant 1
|
||||
29: TypeMatrix 15(fvec3) 2
|
||||
30: TypeInt 32 0
|
||||
31: TypeVector 30(int) 3
|
||||
32: 30(int) Constant 4
|
||||
33: TypeArray 31(ivec3) 32
|
||||
34(T3): TypeStruct 14 14 29 33
|
||||
35: TypePointer Uniform 34(T3)
|
||||
36: 35(ptr) Variable Uniform
|
||||
43: TypeBool
|
||||
44(T2): TypeStruct 43(bool) 14
|
||||
45: TypePointer Uniform 44(T2)
|
||||
46: 45(ptr) Variable Uniform
|
||||
51: TypePointer Output 15(fvec3)
|
||||
52(color): 51(ptr) Variable Output
|
||||
53: TypePointer Input 15(fvec3)
|
||||
54(c): 53(ptr) Variable Input
|
||||
56: 17(int) Constant 2
|
||||
57: TypePointer Uniform 16
|
||||
61: TypePointer Output 17(int)
|
||||
62(iout): 61(ptr) Variable Output
|
||||
63: 17(int) Constant 3
|
||||
64: TypePointer Uniform 17(int)
|
||||
67: TypePointer UniformConstant 30(int)
|
||||
68(uiuin): 67(ptr) Variable UniformConstant
|
||||
72: TypeVector 17(int) 2
|
||||
73: TypePointer Input 72(ivec2)
|
||||
74(aiv2): 73(ptr) Variable Input
|
||||
78(S): TypeStruct 15(fvec3) 7(float)
|
||||
79: TypePointer Output 78(S)
|
||||
80(s): 79(ptr) Variable Output
|
||||
85: TypePointer Output 7(float)
|
||||
87: TypePointer Uniform 15(fvec3)
|
||||
90: 7(float) Constant 1065353216
|
||||
91: 15(fvec3) ConstantComposite 90 90 90
|
||||
92: TypeVector 43(bool) 3
|
||||
95: TypePointer Uniform 31(ivec3)
|
||||
98: 30(int) Constant 5
|
||||
99: 31(ivec3) ConstantComposite 98 98 98
|
||||
109: TypePointer Input 17(int)
|
||||
110(gl_VertexID): 109(ptr) Variable Input
|
||||
111(gl_InstanceID): 109(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13: 8(fvec4) Load 12(p)
|
||||
23: 22(ptr) AccessChain 20(tblock) 21
|
||||
24: 14 Load 23
|
||||
26: 22(ptr) AccessChain 20(tblock) 25
|
||||
27: 14 Load 26
|
||||
28: 14 MatrixTimesMatrix 24 27
|
||||
37: 22(ptr) AccessChain 36 25
|
||||
38: 14 Load 37
|
||||
39: 14 MatrixTimesMatrix 28 38
|
||||
40: 22(ptr) AccessChain 36 21
|
||||
41: 14 Load 40
|
||||
42: 14 MatrixTimesMatrix 39 41
|
||||
47: 22(ptr) AccessChain 46 25
|
||||
48: 14 Load 47
|
||||
49: 14 MatrixTimesMatrix 42 48
|
||||
50: 8(fvec4) VectorTimesMatrix 13 49
|
||||
Store 10(pos) 50
|
||||
55: 15(fvec3) Load 54(c)
|
||||
58: 57(ptr) AccessChain 20(tblock) 56
|
||||
59: 16 Load 58
|
||||
60: 15(fvec3) VectorTimesMatrix 55 59
|
||||
Store 52(color) 60
|
||||
65: 64(ptr) AccessChain 20(tblock) 63
|
||||
66: 17(int) Load 65
|
||||
69: 30(int) Load 68(uiuin)
|
||||
70: 17(int) Bitcast 69
|
||||
71: 17(int) IAdd 66 70
|
||||
75: 72(ivec2) Load 74(aiv2)
|
||||
76: 17(int) CompositeExtract 75 1
|
||||
77: 17(int) IAdd 71 76
|
||||
Store 62(iout) 77
|
||||
81: 15(fvec3) Load 54(c)
|
||||
82: 51(ptr) AccessChain 80(s) 21
|
||||
Store 82 81
|
||||
83: 8(fvec4) Load 12(p)
|
||||
84: 7(float) CompositeExtract 83 0
|
||||
86: 85(ptr) AccessChain 80(s) 25
|
||||
Store 86 84
|
||||
88: 87(ptr) AccessChain 36 56 25
|
||||
89: 15(fvec3) Load 88
|
||||
93: 92(bvec3) FOrdNotEqual 89 91
|
||||
94: 43(bool) Any 93
|
||||
96: 95(ptr) AccessChain 36 63 56
|
||||
97: 31(ivec3) Load 96
|
||||
100: 92(bvec3) INotEqual 97 99
|
||||
101: 43(bool) Any 100
|
||||
102: 43(bool) LogicalOr 94 101
|
||||
SelectionMerge 104 None
|
||||
BranchConditional 102 103 104
|
||||
103: Label
|
||||
105: 51(ptr) AccessChain 80(s) 21
|
||||
106: 15(fvec3) Load 105
|
||||
107: 15(fvec3) CompositeConstruct 90 90 90
|
||||
108: 15(fvec3) FAdd 106 107
|
||||
Store 105 108
|
||||
Branch 104
|
||||
104: Label
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
10
Test/baseResults/spv.310.comp.out
Normal file
10
Test/baseResults/spv.310.comp.out
Normal file
@ -0,0 +1,10 @@
|
||||
spv.310.comp
|
||||
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: Unsized array
|
72
Test/baseResults/spv.330.geom.out
Normal file
72
Test/baseResults/spv.330.geom.out
Normal file
@ -0,0 +1,72 @@
|
||||
spv.330.geom
|
||||
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 33
|
||||
|
||||
Source GLSL 330
|
||||
SourceExtension "GL_ARB_separate_shader_objects"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Geometry 4
|
||||
ExecutionMode 4 InputTriangles
|
||||
ExecutionMode 4 Invocations 0
|
||||
ExecutionMode 4 OutputTriangleStrip
|
||||
ExecutionMode 4 OutputVertices 3
|
||||
Name 4 "main"
|
||||
Name 12 "gl_PerVertex"
|
||||
MemberName 12(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 12(gl_PerVertex) 1 "gl_ClipDistance"
|
||||
Name 14 ""
|
||||
Name 17 "gl_PerVertex"
|
||||
MemberName 17(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 17(gl_PerVertex) 1 "gl_ClipDistance"
|
||||
Name 21 "gl_in"
|
||||
Decorate 12(gl_PerVertex) Block
|
||||
Decorate 12(gl_PerVertex) Stream 0
|
||||
Decorate 14 Stream 0
|
||||
Decorate 17(gl_PerVertex) Block
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypeInt 32 0
|
||||
10: 9(int) Constant 1
|
||||
11: TypeArray 7(float) 10
|
||||
12(gl_PerVertex): TypeStruct 8(fvec4) 11
|
||||
13: TypePointer Output 12(gl_PerVertex)
|
||||
14: 13(ptr) Variable Output
|
||||
15: TypeInt 32 1
|
||||
16: 15(int) Constant 0
|
||||
17(gl_PerVertex): TypeStruct 8(fvec4) 11
|
||||
18: 9(int) Constant 3
|
||||
19: TypeArray 17(gl_PerVertex) 18
|
||||
20: TypePointer Input 19
|
||||
21(gl_in): 20(ptr) Variable Input
|
||||
22: 15(int) Constant 1
|
||||
23: TypePointer Input 8(fvec4)
|
||||
26: TypePointer Output 8(fvec4)
|
||||
28: TypePointer Input 7(float)
|
||||
31: TypePointer Output 7(float)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
24: 23(ptr) AccessChain 21(gl_in) 22 16
|
||||
25: 8(fvec4) Load 24
|
||||
27: 26(ptr) AccessChain 14 16
|
||||
Store 27 25
|
||||
29: 28(ptr) AccessChain 21(gl_in) 22 22 16
|
||||
30: 7(float) Load 29
|
||||
32: 31(ptr) AccessChain 14 22 16
|
||||
Store 32 30
|
||||
EmitVertex
|
||||
EndPrimitive
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
10
Test/baseResults/spv.400.frag.out
Normal file
10
Test/baseResults/spv.400.frag.out
Normal file
@ -0,0 +1,10 @@
|
||||
spv.400.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: texture gather
|
176
Test/baseResults/spv.400.tesc.out
Normal file
176
Test/baseResults/spv.400.tesc.out
Normal file
@ -0,0 +1,176 @@
|
||||
spv.400.tesc
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 89
|
||||
|
||||
Source GLSL 400
|
||||
SourceExtension "GL_ARB_separate_shader_objects"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationControl 4
|
||||
ExecutionMode 4 OutputVertices 4
|
||||
Name 4 "main"
|
||||
Name 9 "a"
|
||||
Name 14 "p"
|
||||
Name 18 "gl_PerVertex"
|
||||
MemberName 18(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 18(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 18(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 22 "gl_in"
|
||||
Name 29 "ps"
|
||||
Name 33 "cd"
|
||||
Name 37 "pvi"
|
||||
Name 39 "gl_PatchVerticesIn"
|
||||
Name 41 "pid"
|
||||
Name 42 "gl_PrimitiveID"
|
||||
Name 44 "iid"
|
||||
Name 45 "gl_InvocationID"
|
||||
Name 47 "gl_PerVertex"
|
||||
MemberName 47(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 47(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 47(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 51 "gl_out"
|
||||
Name 62 "gl_TessLevelOuter"
|
||||
Name 69 "gl_TessLevelInner"
|
||||
Name 74 "outa"
|
||||
Name 75 "patchOut"
|
||||
Name 79 "inb"
|
||||
Name 80 "ind"
|
||||
Name 83 "ivla"
|
||||
Name 84 "ivlb"
|
||||
Name 87 "ovla"
|
||||
Name 88 "ovlb"
|
||||
Decorate 18(gl_PerVertex) Block
|
||||
Decorate 39(gl_PatchVerticesIn) BuiltIn PatchVertices
|
||||
Decorate 42(gl_PrimitiveID) BuiltIn PrimitiveId
|
||||
Decorate 45(gl_InvocationID) BuiltIn InvocationId
|
||||
Decorate 47(gl_PerVertex) Block
|
||||
Decorate 62(gl_TessLevelOuter) Patch
|
||||
Decorate 62(gl_TessLevelOuter) BuiltIn TessLevelOuter
|
||||
Decorate 69(gl_TessLevelInner) Patch
|
||||
Decorate 69(gl_TessLevelInner) BuiltIn TessLevelInner
|
||||
Decorate 74(outa) NoStaticUse
|
||||
Decorate 75(patchOut) Patch
|
||||
Decorate 75(patchOut) NoStaticUse
|
||||
Decorate 79(inb) NoStaticUse
|
||||
Decorate 80(ind) NoStaticUse
|
||||
Decorate 83(ivla) Location 3
|
||||
Decorate 83(ivla) NoStaticUse
|
||||
Decorate 84(ivlb) Location 4
|
||||
Decorate 84(ivlb) NoStaticUse
|
||||
Decorate 87(ovla) Location 3
|
||||
Decorate 87(ovla) NoStaticUse
|
||||
Decorate 88(ovlb) Location 4
|
||||
Decorate 88(ovlb) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
10: 7(int) Constant 5392
|
||||
11: TypeFloat 32
|
||||
12: TypeVector 11(float) 4
|
||||
13: TypePointer Function 12(fvec4)
|
||||
15: TypeInt 32 0
|
||||
16: 15(int) Constant 1
|
||||
17: TypeArray 11(float) 16
|
||||
18(gl_PerVertex): TypeStruct 12(fvec4) 11(float) 17
|
||||
19: 15(int) Constant 32
|
||||
20: TypeArray 18(gl_PerVertex) 19
|
||||
21: TypePointer Input 20
|
||||
22(gl_in): 21(ptr) Variable Input
|
||||
23: 7(int) Constant 1
|
||||
24: 7(int) Constant 0
|
||||
25: TypePointer Input 12(fvec4)
|
||||
28: TypePointer Function 11(float)
|
||||
30: TypePointer Input 11(float)
|
||||
34: 7(int) Constant 2
|
||||
38: TypePointer Input 7(int)
|
||||
39(gl_PatchVerticesIn): 38(ptr) Variable Input
|
||||
42(gl_PrimitiveID): 38(ptr) Variable Input
|
||||
45(gl_InvocationID): 38(ptr) Variable Input
|
||||
47(gl_PerVertex): TypeStruct 12(fvec4) 11(float) 17
|
||||
48: 15(int) Constant 4
|
||||
49: TypeArray 47(gl_PerVertex) 48
|
||||
50: TypePointer Output 49
|
||||
51(gl_out): 50(ptr) Variable Output
|
||||
53: TypePointer Output 12(fvec4)
|
||||
56: TypePointer Output 11(float)
|
||||
60: TypeArray 11(float) 48
|
||||
61: TypePointer Output 60
|
||||
62(gl_TessLevelOuter): 61(ptr) Variable Output
|
||||
63: 7(int) Constant 3
|
||||
64: 11(float) Constant 1078774989
|
||||
66: 15(int) Constant 2
|
||||
67: TypeArray 11(float) 66
|
||||
68: TypePointer Output 67
|
||||
69(gl_TessLevelInner): 68(ptr) Variable Output
|
||||
70: 11(float) Constant 1067869798
|
||||
72: TypeArray 7(int) 48
|
||||
73: TypePointer PrivateGlobal 72
|
||||
74(outa): 73(ptr) Variable PrivateGlobal
|
||||
75(patchOut): 53(ptr) Variable Output
|
||||
76: TypeVector 11(float) 2
|
||||
77: TypeArray 76(fvec2) 19
|
||||
78: TypePointer Input 77
|
||||
79(inb): 78(ptr) Variable Input
|
||||
80(ind): 78(ptr) Variable Input
|
||||
81: TypeArray 12(fvec4) 19
|
||||
82: TypePointer Input 81
|
||||
83(ivla): 82(ptr) Variable Input
|
||||
84(ivlb): 82(ptr) Variable Input
|
||||
85: TypeArray 12(fvec4) 48
|
||||
86: TypePointer Output 85
|
||||
87(ovla): 86(ptr) Variable Output
|
||||
88(ovlb): 86(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(a): 8(ptr) Variable Function
|
||||
14(p): 13(ptr) Variable Function
|
||||
29(ps): 28(ptr) Variable Function
|
||||
33(cd): 28(ptr) Variable Function
|
||||
37(pvi): 8(ptr) Variable Function
|
||||
41(pid): 8(ptr) Variable Function
|
||||
44(iid): 8(ptr) Variable Function
|
||||
MemoryBarrier Device Relaxed SequentiallyConsistent Acquire Release UniformMemory SubgroupMemory WorkgroupLocalMemory WorkgroupGlobalMemory AtomicCounterMemory ImageMemory
|
||||
ControlBarrier Device
|
||||
Store 9(a) 10
|
||||
26: 25(ptr) AccessChain 22(gl_in) 23 24
|
||||
27: 12(fvec4) Load 26
|
||||
Store 14(p) 27
|
||||
31: 30(ptr) AccessChain 22(gl_in) 23 23
|
||||
32: 11(float) Load 31
|
||||
Store 29(ps) 32
|
||||
35: 30(ptr) AccessChain 22(gl_in) 23 34 34
|
||||
36: 11(float) Load 35
|
||||
Store 33(cd) 36
|
||||
40: 7(int) Load 39(gl_PatchVerticesIn)
|
||||
Store 37(pvi) 40
|
||||
43: 7(int) Load 42(gl_PrimitiveID)
|
||||
Store 41(pid) 43
|
||||
46: 7(int) Load 45(gl_InvocationID)
|
||||
Store 44(iid) 46
|
||||
52: 12(fvec4) Load 14(p)
|
||||
54: 53(ptr) AccessChain 51(gl_out) 23 24
|
||||
Store 54 52
|
||||
55: 11(float) Load 29(ps)
|
||||
57: 56(ptr) AccessChain 51(gl_out) 23 23
|
||||
Store 57 55
|
||||
58: 11(float) Load 33(cd)
|
||||
59: 56(ptr) AccessChain 51(gl_out) 23 34 23
|
||||
Store 59 58
|
||||
65: 56(ptr) AccessChain 62(gl_TessLevelOuter) 63
|
||||
Store 65 64
|
||||
71: 56(ptr) AccessChain 69(gl_TessLevelInner) 23
|
||||
Store 71 70
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
191
Test/baseResults/spv.400.tese.out
Normal file
191
Test/baseResults/spv.400.tese.out
Normal file
@ -0,0 +1,191 @@
|
||||
spv.400.tese
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked tessellation evaluation stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 99
|
||||
|
||||
Source GLSL 400
|
||||
SourceExtension "GL_ARB_separate_shader_objects"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationEvaluation 4
|
||||
ExecutionMode 4 InputTriangles
|
||||
Name 4 "main"
|
||||
Name 9 "a"
|
||||
Name 14 "p"
|
||||
Name 18 "gl_PerVertex"
|
||||
MemberName 18(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 18(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 18(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 22 "gl_in"
|
||||
Name 29 "ps"
|
||||
Name 33 "cd"
|
||||
Name 37 "pvi"
|
||||
Name 39 "gl_PatchVerticesIn"
|
||||
Name 41 "pid"
|
||||
Name 42 "gl_PrimitiveID"
|
||||
Name 46 "tc"
|
||||
Name 48 "gl_TessCoord"
|
||||
Name 50 "tlo"
|
||||
Name 54 "gl_TessLevelOuter"
|
||||
Name 58 "tli"
|
||||
Name 62 "gl_TessLevelInner"
|
||||
Name 67 "gl_PerVertex"
|
||||
MemberName 67(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 67(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 67(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
Name 69 ""
|
||||
Name 78 "patchIn"
|
||||
Name 82 "inb"
|
||||
Name 83 "ind"
|
||||
Name 84 "testblb"
|
||||
MemberName 84(testblb) 0 "f"
|
||||
Name 87 "blb"
|
||||
Name 88 "testbld"
|
||||
MemberName 88(testbld) 0 "f"
|
||||
Name 91 "bld"
|
||||
Name 94 "ivla"
|
||||
Name 95 "ivlb"
|
||||
Name 98 "ovla"
|
||||
Decorate 18(gl_PerVertex) Block
|
||||
Decorate 39(gl_PatchVerticesIn) BuiltIn PatchVertices
|
||||
Decorate 42(gl_PrimitiveID) BuiltIn PrimitiveId
|
||||
Decorate 48(gl_TessCoord) BuiltIn TessCoord
|
||||
Decorate 54(gl_TessLevelOuter) Patch
|
||||
Decorate 54(gl_TessLevelOuter) BuiltIn TessLevelOuter
|
||||
Decorate 62(gl_TessLevelInner) Patch
|
||||
Decorate 62(gl_TessLevelInner) BuiltIn TessLevelInner
|
||||
Decorate 67(gl_PerVertex) Block
|
||||
Decorate 78(patchIn) Patch
|
||||
Decorate 78(patchIn) NoStaticUse
|
||||
Decorate 82(inb) NoStaticUse
|
||||
Decorate 83(ind) NoStaticUse
|
||||
Decorate 84(testblb) Block
|
||||
Decorate 87(blb) NoStaticUse
|
||||
Decorate 88(testbld) Block
|
||||
Decorate 91(bld) NoStaticUse
|
||||
Decorate 94(ivla) Location 23
|
||||
Decorate 94(ivla) NoStaticUse
|
||||
Decorate 95(ivlb) Location 24
|
||||
Decorate 95(ivlb) NoStaticUse
|
||||
Decorate 98(ovla) Location 23
|
||||
Decorate 98(ovla) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
10: 7(int) Constant 1512
|
||||
11: TypeFloat 32
|
||||
12: TypeVector 11(float) 4
|
||||
13: TypePointer Function 12(fvec4)
|
||||
15: TypeInt 32 0
|
||||
16: 15(int) Constant 1
|
||||
17: TypeArray 11(float) 16
|
||||
18(gl_PerVertex): TypeStruct 12(fvec4) 11(float) 17
|
||||
19: 15(int) Constant 32
|
||||
20: TypeArray 18(gl_PerVertex) 19
|
||||
21: TypePointer Input 20
|
||||
22(gl_in): 21(ptr) Variable Input
|
||||
23: 7(int) Constant 1
|
||||
24: 7(int) Constant 0
|
||||
25: TypePointer Input 12(fvec4)
|
||||
28: TypePointer Function 11(float)
|
||||
30: TypePointer Input 11(float)
|
||||
34: 7(int) Constant 2
|
||||
38: TypePointer Input 7(int)
|
||||
39(gl_PatchVerticesIn): 38(ptr) Variable Input
|
||||
42(gl_PrimitiveID): 38(ptr) Variable Input
|
||||
44: TypeVector 11(float) 3
|
||||
45: TypePointer Function 44(fvec3)
|
||||
47: TypePointer Input 44(fvec3)
|
||||
48(gl_TessCoord): 47(ptr) Variable Input
|
||||
51: 15(int) Constant 4
|
||||
52: TypeArray 11(float) 51
|
||||
53: TypePointer Input 52
|
||||
54(gl_TessLevelOuter): 53(ptr) Variable Input
|
||||
55: 7(int) Constant 3
|
||||
59: 15(int) Constant 2
|
||||
60: TypeArray 11(float) 59
|
||||
61: TypePointer Input 60
|
||||
62(gl_TessLevelInner): 61(ptr) Variable Input
|
||||
65: 15(int) Constant 3
|
||||
66: TypeArray 11(float) 65
|
||||
67(gl_PerVertex): TypeStruct 12(fvec4) 11(float) 66
|
||||
68: TypePointer Output 67(gl_PerVertex)
|
||||
69: 68(ptr) Variable Output
|
||||
71: TypePointer Output 12(fvec4)
|
||||
74: TypePointer Output 11(float)
|
||||
78(patchIn): 25(ptr) Variable Input
|
||||
79: TypeVector 11(float) 2
|
||||
80: TypeArray 79(fvec2) 19
|
||||
81: TypePointer Input 80
|
||||
82(inb): 81(ptr) Variable Input
|
||||
83(ind): 81(ptr) Variable Input
|
||||
84(testblb): TypeStruct 7(int)
|
||||
85: TypeArray 84(testblb) 19
|
||||
86: TypePointer Input 85
|
||||
87(blb): 86(ptr) Variable Input
|
||||
88(testbld): TypeStruct 7(int)
|
||||
89: TypeArray 88(testbld) 19
|
||||
90: TypePointer Input 89
|
||||
91(bld): 90(ptr) Variable Input
|
||||
92: TypeArray 12(fvec4) 19
|
||||
93: TypePointer Input 92
|
||||
94(ivla): 93(ptr) Variable Input
|
||||
95(ivlb): 93(ptr) Variable Input
|
||||
96: TypeArray 12(fvec4) 59
|
||||
97: TypePointer Output 96
|
||||
98(ovla): 97(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(a): 8(ptr) Variable Function
|
||||
14(p): 13(ptr) Variable Function
|
||||
29(ps): 28(ptr) Variable Function
|
||||
33(cd): 28(ptr) Variable Function
|
||||
37(pvi): 8(ptr) Variable Function
|
||||
41(pid): 8(ptr) Variable Function
|
||||
46(tc): 45(ptr) Variable Function
|
||||
50(tlo): 28(ptr) Variable Function
|
||||
58(tli): 28(ptr) Variable Function
|
||||
Store 9(a) 10
|
||||
26: 25(ptr) AccessChain 22(gl_in) 23 24
|
||||
27: 12(fvec4) Load 26
|
||||
Store 14(p) 27
|
||||
31: 30(ptr) AccessChain 22(gl_in) 23 23
|
||||
32: 11(float) Load 31
|
||||
Store 29(ps) 32
|
||||
35: 30(ptr) AccessChain 22(gl_in) 23 34 34
|
||||
36: 11(float) Load 35
|
||||
Store 33(cd) 36
|
||||
40: 7(int) Load 39(gl_PatchVerticesIn)
|
||||
Store 37(pvi) 40
|
||||
43: 7(int) Load 42(gl_PrimitiveID)
|
||||
Store 41(pid) 43
|
||||
49: 44(fvec3) Load 48(gl_TessCoord)
|
||||
Store 46(tc) 49
|
||||
56: 30(ptr) AccessChain 54(gl_TessLevelOuter) 55
|
||||
57: 11(float) Load 56
|
||||
Store 50(tlo) 57
|
||||
63: 30(ptr) AccessChain 62(gl_TessLevelInner) 23
|
||||
64: 11(float) Load 63
|
||||
Store 58(tli) 64
|
||||
70: 12(fvec4) Load 14(p)
|
||||
72: 71(ptr) AccessChain 69 24
|
||||
Store 72 70
|
||||
73: 11(float) Load 29(ps)
|
||||
75: 74(ptr) AccessChain 69 23
|
||||
Store 75 73
|
||||
76: 11(float) Load 33(cd)
|
||||
77: 74(ptr) AccessChain 69 34 34
|
||||
Store 77 76
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
10
Test/baseResults/spv.420.geom.out
Normal file
10
Test/baseResults/spv.420.geom.out
Normal file
@ -0,0 +1,10 @@
|
||||
spv.420.geom
|
||||
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: texture gather
|
135
Test/baseResults/spv.430.vert.out
Normal file
135
Test/baseResults/spv.430.vert.out
Normal file
@ -0,0 +1,135 @@
|
||||
spv.430.vert
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 62
|
||||
|
||||
Source GLSL 430
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 11 "gl_PerVertex"
|
||||
MemberName 11(gl_PerVertex) 0 "gl_ClipDistance"
|
||||
Name 13 ""
|
||||
Name 24 "bad"
|
||||
Name 35 "badorder3"
|
||||
Name 39 "f"
|
||||
Name 43 "uv4"
|
||||
Name 44 "badorder"
|
||||
Name 45 "badorder2"
|
||||
Name 46 "boundblock"
|
||||
MemberName 46(boundblock) 0 "aoeu"
|
||||
Name 48 "boundInst"
|
||||
Name 49 "anonblock"
|
||||
MemberName 49(anonblock) 0 "aoeu"
|
||||
Name 51 ""
|
||||
Name 54 "sampb1"
|
||||
Name 57 "sampb2"
|
||||
Name 58 "sampb4"
|
||||
Name 60 "gl_VertexID"
|
||||
Name 61 "gl_InstanceID"
|
||||
Decorate 11(gl_PerVertex) Block
|
||||
Decorate 35(badorder3) Flat
|
||||
Decorate 43(uv4) Location 4
|
||||
Decorate 43(uv4) NoStaticUse
|
||||
Decorate 29 NoStaticUse
|
||||
Decorate 29 NoStaticUse
|
||||
Decorate 44(badorder) NoStaticUse
|
||||
Decorate 45(badorder2) Smooth
|
||||
Decorate 45(badorder2) Invariant
|
||||
Decorate 45(badorder2) NoStaticUse
|
||||
Decorate 46(boundblock) GLSLShared
|
||||
Decorate 46(boundblock) Block
|
||||
Decorate 48(boundInst) Binding 3
|
||||
Decorate 48(boundInst) NoStaticUse
|
||||
Decorate 49(anonblock) GLSLShared
|
||||
Decorate 49(anonblock) Block
|
||||
Decorate 51 Binding 7
|
||||
Decorate 51 NoStaticUse
|
||||
Decorate 54(sampb1) Binding 4
|
||||
Decorate 54(sampb1) NoStaticUse
|
||||
Decorate 57(sampb2) Binding 5
|
||||
Decorate 57(sampb2) NoStaticUse
|
||||
Decorate 58(sampb4) Binding 31
|
||||
Decorate 58(sampb4) NoStaticUse
|
||||
Decorate 60(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 60(gl_VertexID) NoStaticUse
|
||||
Decorate 61(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 61(gl_InstanceID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeInt 32 0
|
||||
9: 8(int) Constant 3
|
||||
10: TypeArray 7(float) 9
|
||||
11(gl_PerVertex): TypeStruct 10
|
||||
12: TypePointer Output 11(gl_PerVertex)
|
||||
13: 12(ptr) Variable Output
|
||||
14: TypeInt 32 1
|
||||
15: 14(int) Constant 0
|
||||
16: 14(int) Constant 2
|
||||
17: 7(float) Constant 1080872141
|
||||
18: TypePointer Output 7(float)
|
||||
20: TypeVector 7(float) 4
|
||||
21: 8(int) Constant 10
|
||||
22: TypeArray 20(fvec4) 21
|
||||
23: TypePointer Input 22
|
||||
24(bad): 23(ptr) Variable Input
|
||||
25: TypePointer Input 20(fvec4)
|
||||
29: 7(float) Constant 1082549862
|
||||
30: TypeBool
|
||||
34: TypePointer Output 20(fvec4)
|
||||
35(badorder3): 34(ptr) Variable Output
|
||||
38: TypePointer UniformConstant 7(float)
|
||||
39(f): 38(ptr) Variable UniformConstant
|
||||
42: TypePointer UniformConstant 20(fvec4)
|
||||
43(uv4): 42(ptr) Variable UniformConstant
|
||||
44(badorder): 25(ptr) Variable Input
|
||||
45(badorder2): 34(ptr) Variable Output
|
||||
46(boundblock): TypeStruct 14(int)
|
||||
47: TypePointer Uniform 46(boundblock)
|
||||
48(boundInst): 47(ptr) Variable Uniform
|
||||
49(anonblock): TypeStruct 14(int)
|
||||
50: TypePointer Uniform 49(anonblock)
|
||||
51: 50(ptr) Variable Uniform
|
||||
52: TypeSampler7(float) 2D filter+texture
|
||||
53: TypePointer UniformConstant 52
|
||||
54(sampb1): 53(ptr) Variable UniformConstant
|
||||
55: TypeArray 52 21
|
||||
56: TypePointer UniformConstant 55
|
||||
57(sampb2): 56(ptr) Variable UniformConstant
|
||||
58(sampb4): 53(ptr) Variable UniformConstant
|
||||
59: TypePointer Input 14(int)
|
||||
60(gl_VertexID): 59(ptr) Variable Input
|
||||
61(gl_InstanceID): 59(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
19: 18(ptr) AccessChain 13 15 16
|
||||
Store 19 17
|
||||
26: 25(ptr) AccessChain 24(bad) 15
|
||||
27: 20(fvec4) Load 26
|
||||
28: 7(float) CompositeExtract 27 0
|
||||
31: 30(bool) FOrdEqual 28 29
|
||||
SelectionMerge 33 None
|
||||
BranchConditional 31 32 33
|
||||
32: Label
|
||||
36: 25(ptr) AccessChain 24(bad) 15
|
||||
37: 20(fvec4) Load 36
|
||||
Store 35(badorder3) 37
|
||||
Branch 33
|
||||
33: Label
|
||||
40: 7(float) Load 39(f)
|
||||
41: 18(ptr) AccessChain 13 15 15
|
||||
Store 41 40
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
516
Test/baseResults/spv.Operations.frag.out
Normal file
516
Test/baseResults/spv.Operations.frag.out
Normal file
@ -0,0 +1,516 @@
|
||||
spv.Operations.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 399
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "v"
|
||||
Name 12 "uv4"
|
||||
Name 21 "i"
|
||||
Name 23 "ui"
|
||||
Name 170 "uf"
|
||||
Name 217 "b"
|
||||
Name 243 "ub41"
|
||||
Name 245 "ub42"
|
||||
Name 302 "f"
|
||||
Name 378 "gl_FragColor"
|
||||
Name 396 "uiv4"
|
||||
Name 398 "ub"
|
||||
Decorate 378(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 396(uiv4) NoStaticUse
|
||||
Decorate 398(ub) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer UniformConstant 8(fvec4)
|
||||
12(uv4): 11(ptr) Variable UniformConstant
|
||||
19: TypeInt 32 1
|
||||
20: TypePointer Function 19(int)
|
||||
22: TypePointer UniformConstant 19(int)
|
||||
23(ui): 22(ptr) Variable UniformConstant
|
||||
169: TypePointer UniformConstant 7(float)
|
||||
170(uf): 169(ptr) Variable UniformConstant
|
||||
215: TypeBool
|
||||
216: TypePointer Function 215(bool)
|
||||
220: TypeVector 215(bool) 4
|
||||
242: TypePointer UniformConstant 220(bvec4)
|
||||
243(ub41): 242(ptr) Variable UniformConstant
|
||||
245(ub42): 242(ptr) Variable UniformConstant
|
||||
292: 19(int) Constant 2
|
||||
299: 19(int) Constant 1
|
||||
301: TypePointer Function 7(float)
|
||||
331: TypeVector 7(float) 3
|
||||
347: 7(float) Constant 1073741824
|
||||
354: 7(float) Constant 1065353216
|
||||
359: 19(int) Constant 66
|
||||
365: 19(int) Constant 17
|
||||
377: TypePointer Output 8(fvec4)
|
||||
378(gl_FragColor): 377(ptr) Variable Output
|
||||
394: TypeVector 19(int) 4
|
||||
395: TypePointer UniformConstant 394(ivec4)
|
||||
396(uiv4): 395(ptr) Variable UniformConstant
|
||||
397: TypePointer UniformConstant 215(bool)
|
||||
398(ub): 397(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(v): 9(ptr) Variable Function
|
||||
21(i): 20(ptr) Variable Function
|
||||
217(b): 216(ptr) Variable Function
|
||||
302(f): 301(ptr) Variable Function
|
||||
379: 9(ptr) Variable Function
|
||||
13: 8(fvec4) Load 12(uv4)
|
||||
14: 8(fvec4) ExtInst 1(GLSL.std.450) 8(radians) 13
|
||||
Store 10(v) 14
|
||||
15: 8(fvec4) Load 10(v)
|
||||
16: 8(fvec4) ExtInst 1(GLSL.std.450) 9(degrees) 15
|
||||
17: 8(fvec4) Load 10(v)
|
||||
18: 8(fvec4) FAdd 17 16
|
||||
Store 10(v) 18
|
||||
24: 19(int) Load 23(ui)
|
||||
25: 19(int) Load 23(ui)
|
||||
26: 19(int) IMul 24 25
|
||||
Store 21(i) 26
|
||||
27: 8(fvec4) Load 10(v)
|
||||
28: 8(fvec4) ExtInst 1(GLSL.std.450) 10(sin) 27
|
||||
29: 8(fvec4) Load 10(v)
|
||||
30: 8(fvec4) FAdd 29 28
|
||||
Store 10(v) 30
|
||||
31: 8(fvec4) Load 10(v)
|
||||
32: 8(fvec4) ExtInst 1(GLSL.std.450) 11(cos) 31
|
||||
33: 8(fvec4) Load 10(v)
|
||||
34: 8(fvec4) FAdd 33 32
|
||||
Store 10(v) 34
|
||||
35: 8(fvec4) Load 10(v)
|
||||
36: 8(fvec4) ExtInst 1(GLSL.std.450) 12(tan) 35
|
||||
37: 8(fvec4) Load 10(v)
|
||||
38: 8(fvec4) FAdd 37 36
|
||||
Store 10(v) 38
|
||||
39: 8(fvec4) Load 10(v)
|
||||
40: 8(fvec4) ExtInst 1(GLSL.std.450) 13(asin) 39
|
||||
41: 8(fvec4) Load 10(v)
|
||||
42: 8(fvec4) FAdd 41 40
|
||||
Store 10(v) 42
|
||||
43: 8(fvec4) Load 10(v)
|
||||
44: 8(fvec4) ExtInst 1(GLSL.std.450) 14(acos) 43
|
||||
45: 8(fvec4) Load 10(v)
|
||||
46: 8(fvec4) FAdd 45 44
|
||||
Store 10(v) 46
|
||||
47: 8(fvec4) Load 10(v)
|
||||
48: 8(fvec4) ExtInst 1(GLSL.std.450) 15(atan) 47
|
||||
49: 8(fvec4) Load 10(v)
|
||||
50: 8(fvec4) FAdd 49 48
|
||||
Store 10(v) 50
|
||||
51: 8(fvec4) Load 10(v)
|
||||
52: 8(fvec4) ExtInst 1(GLSL.std.450) 16(sinh) 51
|
||||
53: 8(fvec4) Load 10(v)
|
||||
54: 8(fvec4) FAdd 53 52
|
||||
Store 10(v) 54
|
||||
55: 8(fvec4) Load 10(v)
|
||||
56: 8(fvec4) ExtInst 1(GLSL.std.450) 17(cosh) 55
|
||||
57: 8(fvec4) Load 10(v)
|
||||
58: 8(fvec4) FAdd 57 56
|
||||
Store 10(v) 58
|
||||
59: 8(fvec4) Load 10(v)
|
||||
60: 8(fvec4) ExtInst 1(GLSL.std.450) 18(tanh) 59
|
||||
61: 8(fvec4) Load 10(v)
|
||||
62: 8(fvec4) FAdd 61 60
|
||||
Store 10(v) 62
|
||||
63: 8(fvec4) Load 10(v)
|
||||
64: 8(fvec4) ExtInst 1(GLSL.std.450) 19(asinh) 63
|
||||
65: 8(fvec4) Load 10(v)
|
||||
66: 8(fvec4) FAdd 65 64
|
||||
Store 10(v) 66
|
||||
67: 8(fvec4) Load 10(v)
|
||||
68: 8(fvec4) ExtInst 1(GLSL.std.450) 20(acosh) 67
|
||||
69: 8(fvec4) Load 10(v)
|
||||
70: 8(fvec4) FAdd 69 68
|
||||
Store 10(v) 70
|
||||
71: 8(fvec4) Load 10(v)
|
||||
72: 8(fvec4) ExtInst 1(GLSL.std.450) 21(atanh) 71
|
||||
73: 8(fvec4) Load 10(v)
|
||||
74: 8(fvec4) FAdd 73 72
|
||||
Store 10(v) 74
|
||||
75: 8(fvec4) Load 10(v)
|
||||
76: 8(fvec4) Load 10(v)
|
||||
77: 8(fvec4) ExtInst 1(GLSL.std.450) 23(pow) 75 76
|
||||
78: 8(fvec4) Load 10(v)
|
||||
79: 8(fvec4) FAdd 78 77
|
||||
Store 10(v) 79
|
||||
80: 8(fvec4) Load 10(v)
|
||||
81: 8(fvec4) ExtInst 1(GLSL.std.450) 24(exp) 80
|
||||
82: 8(fvec4) Load 10(v)
|
||||
83: 8(fvec4) FAdd 82 81
|
||||
Store 10(v) 83
|
||||
84: 8(fvec4) Load 10(v)
|
||||
85: 8(fvec4) ExtInst 1(GLSL.std.450) 25(log) 84
|
||||
86: 8(fvec4) Load 10(v)
|
||||
87: 8(fvec4) FAdd 86 85
|
||||
Store 10(v) 87
|
||||
88: 8(fvec4) Load 10(v)
|
||||
89: 8(fvec4) ExtInst 1(GLSL.std.450) 26(exp2) 88
|
||||
90: 8(fvec4) Load 10(v)
|
||||
91: 8(fvec4) FAdd 90 89
|
||||
Store 10(v) 91
|
||||
92: 8(fvec4) Load 10(v)
|
||||
93: 8(fvec4) ExtInst 1(GLSL.std.450) 27(log2) 92
|
||||
94: 8(fvec4) Load 10(v)
|
||||
95: 8(fvec4) FAdd 94 93
|
||||
Store 10(v) 95
|
||||
96: 8(fvec4) Load 10(v)
|
||||
97: 8(fvec4) ExtInst 1(GLSL.std.450) 28(sqrt) 96
|
||||
98: 8(fvec4) Load 10(v)
|
||||
99: 8(fvec4) FAdd 98 97
|
||||
Store 10(v) 99
|
||||
100: 8(fvec4) Load 10(v)
|
||||
101: 8(fvec4) ExtInst 1(GLSL.std.450) 29(inverseSqrt) 100
|
||||
102: 8(fvec4) Load 10(v)
|
||||
103: 8(fvec4) FAdd 102 101
|
||||
Store 10(v) 103
|
||||
104: 8(fvec4) Load 10(v)
|
||||
105: 8(fvec4) ExtInst 1(GLSL.std.450) 3(abs) 104
|
||||
106: 8(fvec4) Load 10(v)
|
||||
107: 8(fvec4) FAdd 106 105
|
||||
Store 10(v) 107
|
||||
108: 8(fvec4) Load 10(v)
|
||||
109: 8(fvec4) ExtInst 1(GLSL.std.450) 4(sign) 108
|
||||
110: 8(fvec4) Load 10(v)
|
||||
111: 8(fvec4) FAdd 110 109
|
||||
Store 10(v) 111
|
||||
112: 8(fvec4) Load 10(v)
|
||||
113: 8(fvec4) ExtInst 1(GLSL.std.450) 5(floor) 112
|
||||
114: 8(fvec4) Load 10(v)
|
||||
115: 8(fvec4) FAdd 114 113
|
||||
Store 10(v) 115
|
||||
116: 8(fvec4) Load 10(v)
|
||||
117: 8(fvec4) ExtInst 1(GLSL.std.450) 6(ceil) 116
|
||||
118: 8(fvec4) Load 10(v)
|
||||
119: 8(fvec4) FAdd 118 117
|
||||
Store 10(v) 119
|
||||
120: 8(fvec4) Load 10(v)
|
||||
121: 8(fvec4) ExtInst 1(GLSL.std.450) 7(fract) 120
|
||||
122: 8(fvec4) Load 10(v)
|
||||
123: 8(fvec4) FAdd 122 121
|
||||
Store 10(v) 123
|
||||
124: 8(fvec4) Load 10(v)
|
||||
125: 8(fvec4) Load 10(v)
|
||||
126: 8(fvec4) FMod 124 125
|
||||
127: 8(fvec4) Load 10(v)
|
||||
128: 8(fvec4) FAdd 127 126
|
||||
Store 10(v) 128
|
||||
129: 8(fvec4) Load 10(v)
|
||||
130: 8(fvec4) Load 10(v)
|
||||
131: 7(float) CompositeExtract 130 0
|
||||
132: 8(fvec4) CompositeConstruct 131 131 131 131
|
||||
133: 8(fvec4) FMod 129 132
|
||||
134: 8(fvec4) Load 10(v)
|
||||
135: 8(fvec4) FAdd 134 133
|
||||
Store 10(v) 135
|
||||
136: 8(fvec4) Load 10(v)
|
||||
137: 8(fvec4) Load 12(uv4)
|
||||
138: 8(fvec4) ExtInst 1(GLSL.std.450) 33(min) 136 137
|
||||
139: 8(fvec4) Load 10(v)
|
||||
140: 8(fvec4) FAdd 139 138
|
||||
Store 10(v) 140
|
||||
141: 8(fvec4) Load 10(v)
|
||||
142: 8(fvec4) Load 12(uv4)
|
||||
143: 8(fvec4) ExtInst 1(GLSL.std.450) 34(max) 141 142
|
||||
144: 8(fvec4) Load 10(v)
|
||||
145: 8(fvec4) FAdd 144 143
|
||||
Store 10(v) 145
|
||||
146: 8(fvec4) Load 10(v)
|
||||
147: 8(fvec4) Load 12(uv4)
|
||||
148: 8(fvec4) Load 12(uv4)
|
||||
149: 8(fvec4) ExtInst 1(GLSL.std.450) 35(clamp) 146 147 148
|
||||
150: 8(fvec4) Load 10(v)
|
||||
151: 8(fvec4) FAdd 150 149
|
||||
Store 10(v) 151
|
||||
152: 8(fvec4) Load 10(v)
|
||||
153: 8(fvec4) Load 10(v)
|
||||
154: 8(fvec4) Load 10(v)
|
||||
155: 8(fvec4) ExtInst 1(GLSL.std.450) 36(mix) 152 153 154
|
||||
156: 8(fvec4) Load 10(v)
|
||||
157: 8(fvec4) FAdd 156 155
|
||||
Store 10(v) 157
|
||||
158: 8(fvec4) Load 10(v)
|
||||
159: 8(fvec4) Load 10(v)
|
||||
160: 8(fvec4) ExtInst 1(GLSL.std.450) 37(step) 158 159
|
||||
161: 8(fvec4) Load 10(v)
|
||||
162: 8(fvec4) FAdd 161 160
|
||||
Store 10(v) 162
|
||||
163: 8(fvec4) Load 10(v)
|
||||
164: 8(fvec4) Load 10(v)
|
||||
165: 8(fvec4) Load 10(v)
|
||||
166: 8(fvec4) ExtInst 1(GLSL.std.450) 38(smoothStep) 163 164 165
|
||||
167: 8(fvec4) Load 10(v)
|
||||
168: 8(fvec4) FAdd 167 166
|
||||
Store 10(v) 168
|
||||
171: 7(float) Load 170(uf)
|
||||
172: 8(fvec4) Load 10(v)
|
||||
173: 8(fvec4) ExtInst 1(GLSL.std.450) 37(step) 171 172
|
||||
174: 8(fvec4) Load 10(v)
|
||||
175: 8(fvec4) FAdd 174 173
|
||||
Store 10(v) 175
|
||||
176: 7(float) Load 170(uf)
|
||||
177: 7(float) Load 170(uf)
|
||||
178: 8(fvec4) Load 10(v)
|
||||
179: 8(fvec4) ExtInst 1(GLSL.std.450) 38(smoothStep) 176 177 178
|
||||
180: 8(fvec4) Load 10(v)
|
||||
181: 8(fvec4) FAdd 180 179
|
||||
Store 10(v) 181
|
||||
182: 8(fvec4) Load 10(v)
|
||||
183: 8(fvec4) ExtInst 1(GLSL.std.450) 61(normalize) 182
|
||||
184: 8(fvec4) Load 10(v)
|
||||
185: 8(fvec4) FAdd 184 183
|
||||
Store 10(v) 185
|
||||
186: 8(fvec4) Load 10(v)
|
||||
187: 8(fvec4) Load 10(v)
|
||||
188: 8(fvec4) Load 10(v)
|
||||
189: 8(fvec4) ExtInst 1(GLSL.std.450) 63(faceForward) 186 187 188
|
||||
190: 8(fvec4) Load 10(v)
|
||||
191: 8(fvec4) FAdd 190 189
|
||||
Store 10(v) 191
|
||||
192: 8(fvec4) Load 10(v)
|
||||
193: 8(fvec4) Load 10(v)
|
||||
194: 8(fvec4) ExtInst 1(GLSL.std.450) 64(reflect) 192 193
|
||||
195: 8(fvec4) Load 10(v)
|
||||
196: 8(fvec4) FAdd 195 194
|
||||
Store 10(v) 196
|
||||
197: 8(fvec4) Load 10(v)
|
||||
198: 8(fvec4) Load 10(v)
|
||||
199: 7(float) Load 170(uf)
|
||||
200: 8(fvec4) ExtInst 1(GLSL.std.450) 65(refract) 197 198 199
|
||||
201: 8(fvec4) Load 10(v)
|
||||
202: 8(fvec4) FAdd 201 200
|
||||
Store 10(v) 202
|
||||
203: 8(fvec4) Load 10(v)
|
||||
204: 8(fvec4) DPdx 203
|
||||
205: 8(fvec4) Load 10(v)
|
||||
206: 8(fvec4) FAdd 205 204
|
||||
Store 10(v) 206
|
||||
207: 8(fvec4) Load 10(v)
|
||||
208: 8(fvec4) DPdy 207
|
||||
209: 8(fvec4) Load 10(v)
|
||||
210: 8(fvec4) FAdd 209 208
|
||||
Store 10(v) 210
|
||||
211: 8(fvec4) Load 10(v)
|
||||
212: 8(fvec4) Fwidth 211
|
||||
213: 8(fvec4) Load 10(v)
|
||||
214: 8(fvec4) FAdd 213 212
|
||||
Store 10(v) 214
|
||||
218: 8(fvec4) Load 10(v)
|
||||
219: 8(fvec4) Load 12(uv4)
|
||||
221: 220(bvec4) FOrdLessThan 218 219
|
||||
222: 215(bool) Any 221
|
||||
Store 217(b) 222
|
||||
223: 215(bool) Load 217(b)
|
||||
224: 8(fvec4) Load 10(v)
|
||||
225: 8(fvec4) Load 12(uv4)
|
||||
226: 220(bvec4) FOrdLessThanEqual 224 225
|
||||
227: 215(bool) Any 226
|
||||
228: 215(bool) LogicalAnd 223 227
|
||||
Store 217(b) 228
|
||||
229: 215(bool) Load 217(b)
|
||||
230: 8(fvec4) Load 10(v)
|
||||
231: 8(fvec4) Load 12(uv4)
|
||||
232: 220(bvec4) FOrdGreaterThan 230 231
|
||||
233: 215(bool) Any 232
|
||||
234: 215(bool) LogicalAnd 229 233
|
||||
Store 217(b) 234
|
||||
235: 215(bool) Load 217(b)
|
||||
236: 8(fvec4) Load 10(v)
|
||||
237: 8(fvec4) Load 12(uv4)
|
||||
238: 220(bvec4) FOrdGreaterThanEqual 236 237
|
||||
239: 215(bool) Any 238
|
||||
240: 215(bool) LogicalAnd 235 239
|
||||
Store 217(b) 240
|
||||
241: 215(bool) Load 217(b)
|
||||
244: 220(bvec4) Load 243(ub41)
|
||||
246: 220(bvec4) Load 245(ub42)
|
||||
247: 220(bvec4) IEqual 244 246
|
||||
248: 215(bool) Any 247
|
||||
249: 215(bool) LogicalAnd 241 248
|
||||
Store 217(b) 249
|
||||
250: 215(bool) Load 217(b)
|
||||
251: 220(bvec4) Load 243(ub41)
|
||||
252: 220(bvec4) Load 245(ub42)
|
||||
253: 220(bvec4) INotEqual 251 252
|
||||
254: 215(bool) Any 253
|
||||
255: 215(bool) LogicalAnd 250 254
|
||||
Store 217(b) 255
|
||||
256: 215(bool) Load 217(b)
|
||||
257: 220(bvec4) Load 243(ub41)
|
||||
258: 215(bool) Any 257
|
||||
259: 215(bool) LogicalAnd 256 258
|
||||
Store 217(b) 259
|
||||
260: 215(bool) Load 217(b)
|
||||
261: 220(bvec4) Load 243(ub41)
|
||||
262: 215(bool) All 261
|
||||
263: 215(bool) LogicalAnd 260 262
|
||||
Store 217(b) 263
|
||||
264: 215(bool) Load 217(b)
|
||||
265: 220(bvec4) Load 243(ub41)
|
||||
266: 220(bvec4) Not 265
|
||||
267: 215(bool) Any 266
|
||||
268: 215(bool) LogicalAnd 264 267
|
||||
Store 217(b) 268
|
||||
269: 19(int) Load 21(i)
|
||||
270: 19(int) Load 23(ui)
|
||||
271: 19(int) IAdd 269 270
|
||||
272: 19(int) Load 21(i)
|
||||
273: 19(int) IMul 271 272
|
||||
274: 19(int) Load 23(ui)
|
||||
275: 19(int) ISub 273 274
|
||||
276: 19(int) Load 21(i)
|
||||
277: 19(int) SDiv 275 276
|
||||
Store 21(i) 277
|
||||
278: 19(int) Load 21(i)
|
||||
279: 19(int) Load 23(ui)
|
||||
280: 19(int) SMod 278 279
|
||||
Store 21(i) 280
|
||||
281: 19(int) Load 21(i)
|
||||
282: 19(int) Load 23(ui)
|
||||
283: 215(bool) IEqual 281 282
|
||||
284: 19(int) Load 21(i)
|
||||
285: 19(int) Load 23(ui)
|
||||
286: 215(bool) INotEqual 284 285
|
||||
287: 19(int) Load 21(i)
|
||||
288: 19(int) Load 23(ui)
|
||||
289: 215(bool) IEqual 287 288
|
||||
290: 215(bool) LogicalAnd 286 289
|
||||
291: 19(int) Load 21(i)
|
||||
293: 215(bool) INotEqual 291 292
|
||||
294: 215(bool) LogicalXor 290 293
|
||||
295: 215(bool) LogicalOr 283 294
|
||||
SelectionMerge 297 None
|
||||
BranchConditional 295 296 297
|
||||
296: Label
|
||||
298: 19(int) Load 21(i)
|
||||
300: 19(int) IAdd 298 299
|
||||
Store 21(i) 300
|
||||
Branch 297
|
||||
297: Label
|
||||
303: 7(float) Load 170(uf)
|
||||
304: 7(float) Load 170(uf)
|
||||
305: 7(float) FAdd 303 304
|
||||
306: 7(float) Load 170(uf)
|
||||
307: 7(float) FMul 305 306
|
||||
308: 7(float) Load 170(uf)
|
||||
309: 7(float) FSub 307 308
|
||||
310: 7(float) Load 170(uf)
|
||||
311: 7(float) FDiv 309 310
|
||||
Store 302(f) 311
|
||||
312: 8(fvec4) Load 10(v)
|
||||
313: 7(float) ExtInst 1(GLSL.std.450) 58(length) 312
|
||||
314: 7(float) Load 302(f)
|
||||
315: 7(float) FAdd 314 313
|
||||
Store 302(f) 315
|
||||
316: 8(fvec4) Load 10(v)
|
||||
317: 8(fvec4) Load 10(v)
|
||||
318: 7(float) ExtInst 1(GLSL.std.450) 59(distance) 316 317
|
||||
319: 7(float) Load 302(f)
|
||||
320: 7(float) FAdd 319 318
|
||||
Store 302(f) 320
|
||||
321: 8(fvec4) Load 10(v)
|
||||
322: 8(fvec4) Load 10(v)
|
||||
323: 7(float) Dot 321 322
|
||||
324: 7(float) Load 302(f)
|
||||
325: 7(float) FAdd 324 323
|
||||
Store 302(f) 325
|
||||
326: 7(float) Load 302(f)
|
||||
327: 7(float) Load 170(uf)
|
||||
328: 7(float) FMul 326 327
|
||||
329: 7(float) Load 302(f)
|
||||
330: 7(float) FAdd 329 328
|
||||
Store 302(f) 330
|
||||
332: 8(fvec4) Load 10(v)
|
||||
333: 331(fvec3) VectorShuffle 332 332 0 1 2
|
||||
334: 8(fvec4) Load 10(v)
|
||||
335: 331(fvec3) VectorShuffle 334 334 0 1 2
|
||||
336: 331(fvec3) ExtInst 1(GLSL.std.450) 60(cross) 333 335
|
||||
337: 7(float) CompositeExtract 336 0
|
||||
338: 7(float) Load 302(f)
|
||||
339: 7(float) FAdd 338 337
|
||||
Store 302(f) 339
|
||||
340: 7(float) Load 302(f)
|
||||
341: 7(float) Load 170(uf)
|
||||
342: 215(bool) FOrdEqual 340 341
|
||||
343: 7(float) Load 302(f)
|
||||
344: 7(float) Load 170(uf)
|
||||
345: 215(bool) FOrdNotEqual 343 344
|
||||
346: 7(float) Load 302(f)
|
||||
348: 215(bool) FOrdNotEqual 346 347
|
||||
349: 215(bool) LogicalAnd 345 348
|
||||
350: 215(bool) LogicalOr 342 349
|
||||
SelectionMerge 352 None
|
||||
BranchConditional 350 351 352
|
||||
351: Label
|
||||
353: 7(float) Load 302(f)
|
||||
355: 7(float) FAdd 353 354
|
||||
Store 302(f) 355
|
||||
Branch 352
|
||||
352: Label
|
||||
356: 19(int) Load 23(ui)
|
||||
357: 19(int) Load 21(i)
|
||||
358: 19(int) BitwiseAnd 357 356
|
||||
Store 21(i) 358
|
||||
360: 19(int) Load 21(i)
|
||||
361: 19(int) BitwiseOr 360 359
|
||||
Store 21(i) 361
|
||||
362: 19(int) Load 23(ui)
|
||||
363: 19(int) Load 21(i)
|
||||
364: 19(int) BitwiseXor 363 362
|
||||
Store 21(i) 364
|
||||
366: 19(int) Load 21(i)
|
||||
367: 19(int) SMod 366 365
|
||||
Store 21(i) 367
|
||||
368: 19(int) Load 21(i)
|
||||
369: 19(int) ShiftRightArithmetic 368 292
|
||||
Store 21(i) 369
|
||||
370: 19(int) Load 23(ui)
|
||||
371: 19(int) Load 21(i)
|
||||
372: 19(int) ShiftLeftLogical 371 370
|
||||
Store 21(i) 372
|
||||
373: 19(int) Load 21(i)
|
||||
374: 19(int) Not 373
|
||||
Store 21(i) 374
|
||||
375: 215(bool) Load 217(b)
|
||||
376: 215(bool) Not 375
|
||||
Store 217(b) 376
|
||||
380: 215(bool) Load 217(b)
|
||||
SelectionMerge 382 None
|
||||
BranchConditional 380 381 391
|
||||
381: Label
|
||||
383: 19(int) Load 21(i)
|
||||
384: 7(float) ConvertSToF 383
|
||||
385: 8(fvec4) CompositeConstruct 384 384 384 384
|
||||
386: 7(float) Load 302(f)
|
||||
387: 8(fvec4) CompositeConstruct 386 386 386 386
|
||||
388: 8(fvec4) FAdd 385 387
|
||||
389: 8(fvec4) Load 10(v)
|
||||
390: 8(fvec4) FAdd 388 389
|
||||
Store 379 390
|
||||
Branch 382
|
||||
391: Label
|
||||
392: 8(fvec4) Load 10(v)
|
||||
Store 379 392
|
||||
Branch 382
|
||||
382: Label
|
||||
393: 8(fvec4) Load 379
|
||||
Store 378(gl_FragColor) 393
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
11
Test/baseResults/spv.aggOps.frag.out
Normal file
11
Test/baseResults/spv.aggOps.frag.out
Normal file
@ -0,0 +1,11 @@
|
||||
spv.aggOps.frag
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:6: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: Composite comparison of non-vectors
|
133
Test/baseResults/spv.always-discard.frag.out
Normal file
133
Test/baseResults/spv.always-discard.frag.out
Normal file
@ -0,0 +1,133 @@
|
||||
spv.always-discard.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 81
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "white"
|
||||
Name 13 "black"
|
||||
Name 16 "color"
|
||||
Name 19 "x"
|
||||
Name 22 "tex_coord"
|
||||
Name 28 "y"
|
||||
Name 33 "radius"
|
||||
Name 56 "gl_FragColor"
|
||||
Decorate 22(tex_coord) Smooth
|
||||
Decorate 56(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: 7(float) Constant 1065353216
|
||||
12: 8(fvec4) ConstantComposite 11 11 11 11
|
||||
14: 7(float) Constant 1045220557
|
||||
15: 8(fvec4) ConstantComposite 14 14 14 14
|
||||
18: TypePointer Function 7(float)
|
||||
20: TypeVector 7(float) 2
|
||||
21: TypePointer Input 20(fvec2)
|
||||
22(tex_coord): 21(ptr) Variable Input
|
||||
25: 7(float) Constant 1073741824
|
||||
43: TypeBool
|
||||
48: 7(float) Constant 1066192077
|
||||
55: TypePointer Output 8(fvec4)
|
||||
56(gl_FragColor): 55(ptr) Variable Output
|
||||
59: 7(float) Constant 1067030938
|
||||
68: 7(float) Constant 1061158912
|
||||
73: 7(float) Constant 1098907648
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(white): 9(ptr) Variable Function
|
||||
13(black): 9(ptr) Variable Function
|
||||
16(color): 9(ptr) Variable Function
|
||||
19(x): 18(ptr) Variable Function
|
||||
28(y): 18(ptr) Variable Function
|
||||
33(radius): 18(ptr) Variable Function
|
||||
Store 10(white) 12
|
||||
Store 13(black) 15
|
||||
17: 8(fvec4) Load 10(white)
|
||||
Store 16(color) 17
|
||||
23: 20(fvec2) Load 22(tex_coord)
|
||||
24: 7(float) CompositeExtract 23 0
|
||||
26: 7(float) FMul 24 25
|
||||
27: 7(float) FSub 26 11
|
||||
Store 19(x) 27
|
||||
29: 20(fvec2) Load 22(tex_coord)
|
||||
30: 7(float) CompositeExtract 29 1
|
||||
31: 7(float) FMul 30 25
|
||||
32: 7(float) FSub 31 11
|
||||
Store 28(y) 32
|
||||
34: 7(float) Load 19(x)
|
||||
35: 7(float) Load 19(x)
|
||||
36: 7(float) FMul 34 35
|
||||
37: 7(float) Load 28(y)
|
||||
38: 7(float) Load 28(y)
|
||||
39: 7(float) FMul 37 38
|
||||
40: 7(float) FAdd 36 39
|
||||
41: 7(float) ExtInst 1(GLSL.std.450) 28(sqrt) 40
|
||||
Store 33(radius) 41
|
||||
42: 7(float) Load 33(radius)
|
||||
44: 43(bool) FOrdGreaterThan 42 11
|
||||
SelectionMerge 46 None
|
||||
BranchConditional 44 45 46
|
||||
45: Label
|
||||
47: 7(float) Load 33(radius)
|
||||
49: 43(bool) FOrdGreaterThan 47 48
|
||||
SelectionMerge 51 None
|
||||
BranchConditional 49 50 51
|
||||
50: Label
|
||||
52: 8(fvec4) Load 16(color)
|
||||
53: 8(fvec4) CompositeConstruct 11 11 11 11
|
||||
54: 8(fvec4) FAdd 52 53
|
||||
Store 16(color) 54
|
||||
Branch 51
|
||||
51: Label
|
||||
57: 8(fvec4) Load 16(color)
|
||||
Store 56(gl_FragColor) 57
|
||||
58: 7(float) Load 33(radius)
|
||||
60: 43(bool) FOrdGreaterThan 58 59
|
||||
SelectionMerge 62 None
|
||||
BranchConditional 60 61 62
|
||||
61: Label
|
||||
63: 8(fvec4) Load 16(color)
|
||||
64: 8(fvec4) CompositeConstruct 11 11 11 11
|
||||
65: 8(fvec4) FAdd 63 64
|
||||
Store 16(color) 65
|
||||
Branch 62
|
||||
62: Label
|
||||
Branch 46
|
||||
46: Label
|
||||
Kill
|
||||
66: Label
|
||||
67: 7(float) Load 33(radius)
|
||||
69: 43(bool) FOrdGreaterThanEqual 67 68
|
||||
SelectionMerge 71 None
|
||||
BranchConditional 69 70 71
|
||||
70: Label
|
||||
72: 7(float) Load 33(radius)
|
||||
74: 7(float) ExtInst 1(GLSL.std.450) 23(pow) 72 73
|
||||
75: 7(float) FDiv 74 25
|
||||
76: 7(float) ExtInst 1(GLSL.std.450) 3(abs) 75
|
||||
77: 8(fvec4) Load 16(color)
|
||||
78: 8(fvec4) CompositeConstruct 76 76 76 76
|
||||
79: 8(fvec4) FSub 77 78
|
||||
Store 16(color) 79
|
||||
Branch 71
|
||||
71: Label
|
||||
80: 8(fvec4) Load 16(color)
|
||||
Store 56(gl_FragColor) 80
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
67
Test/baseResults/spv.always-discard2.frag.out
Normal file
67
Test/baseResults/spv.always-discard2.frag.out
Normal file
@ -0,0 +1,67 @@
|
||||
spv.always-discard2.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 37
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "white"
|
||||
Name 13 "black"
|
||||
Name 16 "color"
|
||||
Name 19 "x"
|
||||
Name 22 "tex_coord"
|
||||
Name 28 "y"
|
||||
Name 35 "gl_FragColor"
|
||||
Decorate 22(tex_coord) Smooth
|
||||
Decorate 35(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: 7(float) Constant 1065353216
|
||||
12: 8(fvec4) ConstantComposite 11 11 11 11
|
||||
14: 7(float) Constant 1045220557
|
||||
15: 8(fvec4) ConstantComposite 14 14 14 14
|
||||
18: TypePointer Function 7(float)
|
||||
20: TypeVector 7(float) 2
|
||||
21: TypePointer Input 20(fvec2)
|
||||
22(tex_coord): 21(ptr) Variable Input
|
||||
25: 7(float) Constant 1073741824
|
||||
34: TypePointer Output 8(fvec4)
|
||||
35(gl_FragColor): 34(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(white): 9(ptr) Variable Function
|
||||
13(black): 9(ptr) Variable Function
|
||||
16(color): 9(ptr) Variable Function
|
||||
19(x): 18(ptr) Variable Function
|
||||
28(y): 18(ptr) Variable Function
|
||||
Store 10(white) 12
|
||||
Store 13(black) 15
|
||||
17: 8(fvec4) Load 10(white)
|
||||
Store 16(color) 17
|
||||
23: 20(fvec2) Load 22(tex_coord)
|
||||
24: 7(float) CompositeExtract 23 0
|
||||
26: 7(float) FMul 24 25
|
||||
27: 7(float) FSub 26 11
|
||||
Store 19(x) 27
|
||||
29: 20(fvec2) Load 22(tex_coord)
|
||||
30: 7(float) CompositeExtract 29 1
|
||||
31: 7(float) FMul 30 25
|
||||
32: 7(float) FSub 31 11
|
||||
Store 28(y) 32
|
||||
Kill
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
64
Test/baseResults/spv.conditionalDiscard.frag.out
Normal file
64
Test/baseResults/spv.conditionalDiscard.frag.out
Normal file
@ -0,0 +1,64 @@
|
||||
spv.conditionalDiscard.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 36
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "v"
|
||||
Name 13 "tex"
|
||||
Name 17 "coord"
|
||||
Name 34 "gl_FragColor"
|
||||
Decorate 17(coord) Smooth
|
||||
Decorate 34(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypeSampler7(float) 2D filter+texture
|
||||
12: TypePointer UniformConstant 11
|
||||
13(tex): 12(ptr) Variable UniformConstant
|
||||
15: TypeVector 7(float) 2
|
||||
16: TypePointer Input 15(fvec2)
|
||||
17(coord): 16(ptr) Variable Input
|
||||
21: 7(float) Constant 1036831949
|
||||
22: 7(float) Constant 1045220557
|
||||
23: 7(float) Constant 1050253722
|
||||
24: 7(float) Constant 1053609165
|
||||
25: 8(fvec4) ConstantComposite 21 22 23 24
|
||||
26: TypeBool
|
||||
27: TypeVector 26(bool) 4
|
||||
33: TypePointer Output 8(fvec4)
|
||||
34(gl_FragColor): 33(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(v): 9(ptr) Variable Function
|
||||
14: 11 Load 13(tex)
|
||||
18: 15(fvec2) Load 17(coord)
|
||||
19: 8(fvec4) TextureSample 14 18
|
||||
Store 10(v) 19
|
||||
20: 8(fvec4) Load 10(v)
|
||||
28: 27(bvec4) FOrdEqual 20 25
|
||||
29: 26(bool) All 28
|
||||
SelectionMerge 31 None
|
||||
BranchConditional 29 30 31
|
||||
30: Label
|
||||
Kill
|
||||
31: Label
|
||||
35: 8(fvec4) Load 10(v)
|
||||
Store 34(gl_FragColor) 35
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
580
Test/baseResults/spv.conversion.frag.out
Normal file
580
Test/baseResults/spv.conversion.frag.out
Normal file
@ -0,0 +1,580 @@
|
||||
spv.conversion.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 444
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "b"
|
||||
Name 12 "u_i"
|
||||
Name 19 "u_f"
|
||||
Name 26 "b2"
|
||||
Name 34 "b3"
|
||||
Name 40 "i_i"
|
||||
Name 46 "b4"
|
||||
Name 54 "i_f"
|
||||
Name 59 "i"
|
||||
Name 69 "i2"
|
||||
Name 72 "u_f2"
|
||||
Name 82 "i3"
|
||||
Name 85 "u_f3"
|
||||
Name 95 "i4"
|
||||
Name 98 "u_f4"
|
||||
Name 107 "f"
|
||||
Name 111 "f2"
|
||||
Name 115 "f3"
|
||||
Name 119 "f4"
|
||||
Name 158 "i_i4"
|
||||
Name 313 "gl_FragColor"
|
||||
Name 406 "cv2"
|
||||
Name 407 "cv5"
|
||||
Name 417 "u_b"
|
||||
Name 419 "u_b2"
|
||||
Name 421 "u_b3"
|
||||
Name 423 "u_b4"
|
||||
Name 425 "u_i2"
|
||||
Name 427 "u_i3"
|
||||
Name 429 "u_i4"
|
||||
Name 430 "i_b"
|
||||
Name 431 "i_b2"
|
||||
Name 432 "i_b3"
|
||||
Name 433 "i_b4"
|
||||
Name 435 "i_i2"
|
||||
Name 437 "i_i3"
|
||||
Name 439 "i_f2"
|
||||
Name 441 "i_f3"
|
||||
Name 443 "i_f4"
|
||||
Decorate 40(i_i) Flat
|
||||
Decorate 54(i_f) Smooth
|
||||
Decorate 158(i_i4) Flat
|
||||
Decorate 313(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 417(u_b) NoStaticUse
|
||||
Decorate 419(u_b2) NoStaticUse
|
||||
Decorate 421(u_b3) NoStaticUse
|
||||
Decorate 423(u_b4) NoStaticUse
|
||||
Decorate 425(u_i2) NoStaticUse
|
||||
Decorate 427(u_i3) NoStaticUse
|
||||
Decorate 429(u_i4) NoStaticUse
|
||||
Decorate 430(i_b) NoStaticUse
|
||||
Decorate 431(i_b2) NoStaticUse
|
||||
Decorate 432(i_b3) NoStaticUse
|
||||
Decorate 433(i_b4) NoStaticUse
|
||||
Decorate 435(i_i2) Flat
|
||||
Decorate 435(i_i2) NoStaticUse
|
||||
Decorate 437(i_i3) Flat
|
||||
Decorate 437(i_i3) NoStaticUse
|
||||
Decorate 439(i_f2) Smooth
|
||||
Decorate 439(i_f2) NoStaticUse
|
||||
Decorate 441(i_f3) Smooth
|
||||
Decorate 441(i_f3) NoStaticUse
|
||||
Decorate 443(i_f4) Smooth
|
||||
Decorate 443(i_f4) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeBool
|
||||
8: TypePointer Function 7(bool)
|
||||
10: TypeInt 32 1
|
||||
11: TypePointer UniformConstant 10(int)
|
||||
12(u_i): 11(ptr) Variable UniformConstant
|
||||
14: TypeInt 32 0
|
||||
15: 14(int) Constant 0
|
||||
17: TypeFloat 32
|
||||
18: TypePointer UniformConstant 17(float)
|
||||
19(u_f): 18(ptr) Variable UniformConstant
|
||||
21: 17(float) Constant 0
|
||||
24: TypeVector 7(bool) 2
|
||||
25: TypePointer Function 24(bvec2)
|
||||
32: TypeVector 7(bool) 3
|
||||
33: TypePointer Function 32(bvec3)
|
||||
39: TypePointer Input 10(int)
|
||||
40(i_i): 39(ptr) Variable Input
|
||||
44: TypeVector 7(bool) 4
|
||||
45: TypePointer Function 44(bvec4)
|
||||
53: TypePointer Input 17(float)
|
||||
54(i_f): 53(ptr) Variable Input
|
||||
58: TypePointer Function 10(int)
|
||||
63: 10(int) Constant 0
|
||||
64: 10(int) Constant 1
|
||||
67: TypeVector 10(int) 2
|
||||
68: TypePointer Function 67(ivec2)
|
||||
70: TypeVector 17(float) 2
|
||||
71: TypePointer UniformConstant 70(fvec2)
|
||||
72(u_f2): 71(ptr) Variable UniformConstant
|
||||
76: 67(ivec2) ConstantComposite 63 63
|
||||
77: 67(ivec2) ConstantComposite 64 64
|
||||
80: TypeVector 10(int) 3
|
||||
81: TypePointer Function 80(ivec3)
|
||||
83: TypeVector 17(float) 3
|
||||
84: TypePointer UniformConstant 83(fvec3)
|
||||
85(u_f3): 84(ptr) Variable UniformConstant
|
||||
89: 80(ivec3) ConstantComposite 63 63 63
|
||||
90: 80(ivec3) ConstantComposite 64 64 64
|
||||
93: TypeVector 10(int) 4
|
||||
94: TypePointer Function 93(ivec4)
|
||||
96: TypeVector 17(float) 4
|
||||
97: TypePointer UniformConstant 96(fvec4)
|
||||
98(u_f4): 97(ptr) Variable UniformConstant
|
||||
102: 93(ivec4) ConstantComposite 63 63 63 63
|
||||
103: 93(ivec4) ConstantComposite 64 64 64 64
|
||||
106: TypePointer Function 17(float)
|
||||
110: TypePointer Function 70(fvec2)
|
||||
114: TypePointer Function 83(fvec3)
|
||||
118: TypePointer Function 96(fvec4)
|
||||
125: 17(float) Constant 1065353216
|
||||
133: 70(fvec2) ConstantComposite 21 21
|
||||
134: 70(fvec2) ConstantComposite 125 125
|
||||
142: 83(fvec3) ConstantComposite 21 21 21
|
||||
143: 83(fvec3) ConstantComposite 125 125 125
|
||||
151: 96(fvec4) ConstantComposite 21 21 21 21
|
||||
152: 96(fvec4) ConstantComposite 125 125 125 125
|
||||
157: TypePointer Input 93(ivec4)
|
||||
158(i_i4): 157(ptr) Variable Input
|
||||
160: TypeVector 14(int) 4
|
||||
161: 160(ivec4) ConstantComposite 15 15 15 15
|
||||
312: TypePointer Output 96(fvec4)
|
||||
313(gl_FragColor): 312(ptr) Variable Output
|
||||
416: TypePointer UniformConstant 7(bool)
|
||||
417(u_b): 416(ptr) Variable UniformConstant
|
||||
418: TypePointer UniformConstant 24(bvec2)
|
||||
419(u_b2): 418(ptr) Variable UniformConstant
|
||||
420: TypePointer UniformConstant 32(bvec3)
|
||||
421(u_b3): 420(ptr) Variable UniformConstant
|
||||
422: TypePointer UniformConstant 44(bvec4)
|
||||
423(u_b4): 422(ptr) Variable UniformConstant
|
||||
424: TypePointer UniformConstant 67(ivec2)
|
||||
425(u_i2): 424(ptr) Variable UniformConstant
|
||||
426: TypePointer UniformConstant 80(ivec3)
|
||||
427(u_i3): 426(ptr) Variable UniformConstant
|
||||
428: TypePointer UniformConstant 93(ivec4)
|
||||
429(u_i4): 428(ptr) Variable UniformConstant
|
||||
430(i_b): 416(ptr) Variable UniformConstant
|
||||
431(i_b2): 418(ptr) Variable UniformConstant
|
||||
432(i_b3): 420(ptr) Variable UniformConstant
|
||||
433(i_b4): 422(ptr) Variable UniformConstant
|
||||
434: TypePointer Input 67(ivec2)
|
||||
435(i_i2): 434(ptr) Variable Input
|
||||
436: TypePointer Input 80(ivec3)
|
||||
437(i_i3): 436(ptr) Variable Input
|
||||
438: TypePointer Input 70(fvec2)
|
||||
439(i_f2): 438(ptr) Variable Input
|
||||
440: TypePointer Input 83(fvec3)
|
||||
441(i_f3): 440(ptr) Variable Input
|
||||
442: TypePointer Input 96(fvec4)
|
||||
443(i_f4): 442(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(b): 8(ptr) Variable Function
|
||||
26(b2): 25(ptr) Variable Function
|
||||
34(b3): 33(ptr) Variable Function
|
||||
46(b4): 45(ptr) Variable Function
|
||||
59(i): 58(ptr) Variable Function
|
||||
69(i2): 68(ptr) Variable Function
|
||||
82(i3): 81(ptr) Variable Function
|
||||
95(i4): 94(ptr) Variable Function
|
||||
107(f): 106(ptr) Variable Function
|
||||
111(f2): 110(ptr) Variable Function
|
||||
115(f3): 114(ptr) Variable Function
|
||||
119(f4): 118(ptr) Variable Function
|
||||
289: 106(ptr) Variable Function
|
||||
299: 106(ptr) Variable Function
|
||||
314: 118(ptr) Variable Function
|
||||
406(cv2): 94(ptr) Variable Function
|
||||
407(cv5): 45(ptr) Variable Function
|
||||
13: 10(int) Load 12(u_i)
|
||||
16: 7(bool) INotEqual 13 15
|
||||
20: 17(float) Load 19(u_f)
|
||||
22: 7(bool) FOrdNotEqual 20 21
|
||||
23: 7(bool) LogicalXor 16 22
|
||||
Store 9(b) 23
|
||||
27: 10(int) Load 12(u_i)
|
||||
28: 7(bool) INotEqual 27 15
|
||||
29: 17(float) Load 19(u_f)
|
||||
30: 7(bool) FOrdNotEqual 29 21
|
||||
31: 24(bvec2) CompositeConstruct 28 30
|
||||
Store 26(b2) 31
|
||||
35: 10(int) Load 12(u_i)
|
||||
36: 7(bool) INotEqual 35 15
|
||||
37: 17(float) Load 19(u_f)
|
||||
38: 7(bool) FOrdNotEqual 37 21
|
||||
41: 10(int) Load 40(i_i)
|
||||
42: 7(bool) INotEqual 41 15
|
||||
43: 32(bvec3) CompositeConstruct 36 38 42
|
||||
Store 34(b3) 43
|
||||
47: 10(int) Load 12(u_i)
|
||||
48: 7(bool) INotEqual 47 15
|
||||
49: 17(float) Load 19(u_f)
|
||||
50: 7(bool) FOrdNotEqual 49 21
|
||||
51: 10(int) Load 40(i_i)
|
||||
52: 7(bool) INotEqual 51 15
|
||||
55: 17(float) Load 54(i_f)
|
||||
56: 7(bool) FOrdNotEqual 55 21
|
||||
57: 44(bvec4) CompositeConstruct 48 50 52 56
|
||||
Store 46(b4) 57
|
||||
60: 17(float) Load 19(u_f)
|
||||
61: 10(int) ConvertFToS 60
|
||||
62: 7(bool) Load 9(b)
|
||||
65: 10(int) Select 62 64 63
|
||||
66: 10(int) IAdd 61 65
|
||||
Store 59(i) 66
|
||||
73: 70(fvec2) Load 72(u_f2)
|
||||
74: 67(ivec2) ConvertFToS 73
|
||||
75: 24(bvec2) Load 26(b2)
|
||||
78: 67(ivec2) Select 75 77 76
|
||||
79: 67(ivec2) IAdd 74 78
|
||||
Store 69(i2) 79
|
||||
86: 83(fvec3) Load 85(u_f3)
|
||||
87: 80(ivec3) ConvertFToS 86
|
||||
88: 32(bvec3) Load 34(b3)
|
||||
91: 80(ivec3) Select 88 90 89
|
||||
92: 80(ivec3) IAdd 87 91
|
||||
Store 82(i3) 92
|
||||
99: 96(fvec4) Load 98(u_f4)
|
||||
100: 93(ivec4) ConvertFToS 99
|
||||
101: 44(bvec4) Load 46(b4)
|
||||
104: 93(ivec4) Select 101 103 102
|
||||
105: 93(ivec4) IAdd 100 104
|
||||
Store 95(i4) 105
|
||||
108: 10(int) Load 59(i)
|
||||
109: 17(float) ConvertSToF 108
|
||||
Store 107(f) 109
|
||||
112: 67(ivec2) Load 69(i2)
|
||||
113: 70(fvec2) ConvertSToF 112
|
||||
Store 111(f2) 113
|
||||
116: 80(ivec3) Load 82(i3)
|
||||
117: 83(fvec3) ConvertSToF 116
|
||||
Store 115(f3) 117
|
||||
120: 93(ivec4) Load 95(i4)
|
||||
121: 96(fvec4) ConvertSToF 120
|
||||
Store 119(f4) 121
|
||||
122: 10(int) Load 59(i)
|
||||
123: 17(float) ConvertSToF 122
|
||||
124: 7(bool) Load 9(b)
|
||||
126: 17(float) Select 124 125 21
|
||||
127: 17(float) FAdd 123 126
|
||||
128: 17(float) Load 107(f)
|
||||
129: 17(float) FAdd 128 127
|
||||
Store 107(f) 129
|
||||
130: 67(ivec2) Load 69(i2)
|
||||
131: 70(fvec2) ConvertSToF 130
|
||||
132: 24(bvec2) Load 26(b2)
|
||||
135: 70(fvec2) Select 132 134 133
|
||||
136: 70(fvec2) FAdd 131 135
|
||||
137: 70(fvec2) Load 111(f2)
|
||||
138: 70(fvec2) FSub 137 136
|
||||
Store 111(f2) 138
|
||||
139: 80(ivec3) Load 82(i3)
|
||||
140: 83(fvec3) ConvertSToF 139
|
||||
141: 32(bvec3) Load 34(b3)
|
||||
144: 83(fvec3) Select 141 143 142
|
||||
145: 83(fvec3) FAdd 140 144
|
||||
146: 83(fvec3) Load 115(f3)
|
||||
147: 83(fvec3) FDiv 146 145
|
||||
Store 115(f3) 147
|
||||
148: 93(ivec4) Load 95(i4)
|
||||
149: 96(fvec4) ConvertSToF 148
|
||||
150: 44(bvec4) Load 46(b4)
|
||||
153: 96(fvec4) Select 150 152 151
|
||||
154: 96(fvec4) FAdd 149 153
|
||||
155: 96(fvec4) Load 119(f4)
|
||||
156: 96(fvec4) FAdd 155 154
|
||||
Store 119(f4) 156
|
||||
159: 93(ivec4) Load 158(i_i4)
|
||||
162: 44(bvec4) INotEqual 159 161
|
||||
163: 96(fvec4) Select 162 152 151
|
||||
164: 96(fvec4) Load 119(f4)
|
||||
165: 96(fvec4) FAdd 164 163
|
||||
Store 119(f4) 165
|
||||
166: 96(fvec4) Load 98(u_f4)
|
||||
167: 44(bvec4) FOrdNotEqual 166 151
|
||||
168: 96(fvec4) Select 167 152 151
|
||||
169: 96(fvec4) Load 119(f4)
|
||||
170: 96(fvec4) FAdd 169 168
|
||||
Store 119(f4) 170
|
||||
171: 17(float) Load 107(f)
|
||||
172: 10(int) Load 59(i)
|
||||
173: 17(float) ConvertSToF 172
|
||||
174: 17(float) FSub 171 173
|
||||
175: 17(float) Load 107(f)
|
||||
176: 17(float) FAdd 175 174
|
||||
Store 107(f) 176
|
||||
177: 17(float) Load 107(f)
|
||||
178: 10(int) Load 59(i)
|
||||
179: 17(float) ConvertSToF 178
|
||||
180: 70(fvec2) CompositeConstruct 177 179
|
||||
181: 67(ivec2) Load 69(i2)
|
||||
182: 70(fvec2) ConvertSToF 181
|
||||
183: 70(fvec2) FAdd 180 182
|
||||
184: 70(fvec2) Load 111(f2)
|
||||
185: 70(fvec2) FAdd 184 183
|
||||
Store 111(f2) 185
|
||||
186: 80(ivec3) Load 82(i3)
|
||||
187: 83(fvec3) ConvertSToF 186
|
||||
188: 17(float) Load 107(f)
|
||||
189: 10(int) Load 59(i)
|
||||
190: 17(float) ConvertSToF 189
|
||||
191: 17(float) Load 107(f)
|
||||
192: 83(fvec3) CompositeConstruct 188 190 191
|
||||
193: 83(fvec3) FAdd 187 192
|
||||
194: 83(fvec3) Load 115(f3)
|
||||
195: 83(fvec3) FAdd 194 193
|
||||
Store 115(f3) 195
|
||||
196: 7(bool) Load 9(b)
|
||||
197: 17(float) Select 196 125 21
|
||||
198: 10(int) Load 59(i)
|
||||
199: 17(float) ConvertSToF 198
|
||||
200: 17(float) Load 107(f)
|
||||
201: 10(int) Load 59(i)
|
||||
202: 17(float) ConvertSToF 201
|
||||
203: 96(fvec4) CompositeConstruct 197 199 200 202
|
||||
204: 93(ivec4) Load 95(i4)
|
||||
205: 96(fvec4) ConvertSToF 204
|
||||
206: 96(fvec4) FAdd 203 205
|
||||
207: 96(fvec4) Load 119(f4)
|
||||
208: 96(fvec4) FAdd 207 206
|
||||
Store 119(f4) 208
|
||||
209: 17(float) Load 107(f)
|
||||
210: 10(int) Load 59(i)
|
||||
211: 17(float) ConvertSToF 210
|
||||
212: 70(fvec2) CompositeConstruct 209 211
|
||||
213: 10(int) Load 59(i)
|
||||
214: 17(float) ConvertSToF 213
|
||||
215: 70(fvec2) VectorTimesScalar 212 214
|
||||
216: 70(fvec2) Load 111(f2)
|
||||
217: 70(fvec2) FAdd 216 215
|
||||
Store 111(f2) 217
|
||||
218: 17(float) Load 107(f)
|
||||
219: 10(int) Load 59(i)
|
||||
220: 17(float) ConvertSToF 219
|
||||
221: 17(float) Load 107(f)
|
||||
222: 83(fvec3) CompositeConstruct 218 220 221
|
||||
223: 10(int) Load 59(i)
|
||||
224: 17(float) ConvertSToF 223
|
||||
225: 83(fvec3) CompositeConstruct 224 224 224
|
||||
226: 83(fvec3) FAdd 222 225
|
||||
227: 83(fvec3) Load 115(f3)
|
||||
228: 83(fvec3) FAdd 227 226
|
||||
Store 115(f3) 228
|
||||
229: 10(int) Load 59(i)
|
||||
230: 17(float) ConvertSToF 229
|
||||
231: 7(bool) Load 9(b)
|
||||
232: 17(float) Select 231 125 21
|
||||
233: 10(int) Load 59(i)
|
||||
234: 17(float) ConvertSToF 233
|
||||
235: 17(float) Load 107(f)
|
||||
236: 10(int) Load 59(i)
|
||||
237: 17(float) ConvertSToF 236
|
||||
238: 96(fvec4) CompositeConstruct 232 234 235 237
|
||||
239: 96(fvec4) CompositeConstruct 230 230 230 230
|
||||
240: 96(fvec4) FSub 239 238
|
||||
241: 96(fvec4) Load 119(f4)
|
||||
242: 96(fvec4) FAdd 241 240
|
||||
Store 119(f4) 242
|
||||
243: 17(float) Load 107(f)
|
||||
244: 10(int) ConvertFToS 243
|
||||
245: 10(int) Load 59(i)
|
||||
246: 67(ivec2) CompositeConstruct 244 245
|
||||
247: 67(ivec2) Load 69(i2)
|
||||
248: 67(ivec2) IAdd 247 246
|
||||
Store 69(i2) 248
|
||||
249: 17(float) Load 107(f)
|
||||
250: 10(int) ConvertFToS 249
|
||||
251: 10(int) Load 59(i)
|
||||
252: 17(float) Load 107(f)
|
||||
253: 10(int) ConvertFToS 252
|
||||
254: 80(ivec3) CompositeConstruct 250 251 253
|
||||
255: 80(ivec3) Load 82(i3)
|
||||
256: 80(ivec3) IAdd 255 254
|
||||
Store 82(i3) 256
|
||||
257: 7(bool) Load 9(b)
|
||||
258: 10(int) Select 257 64 63
|
||||
259: 10(int) Load 59(i)
|
||||
260: 17(float) Load 107(f)
|
||||
261: 10(int) ConvertFToS 260
|
||||
262: 10(int) Load 59(i)
|
||||
263: 93(ivec4) CompositeConstruct 258 259 261 262
|
||||
264: 93(ivec4) Load 95(i4)
|
||||
265: 93(ivec4) IAdd 264 263
|
||||
Store 95(i4) 265
|
||||
266: 17(float) Load 107(f)
|
||||
267: 10(int) Load 59(i)
|
||||
268: 17(float) ConvertSToF 267
|
||||
269: 7(bool) FOrdLessThan 266 268
|
||||
270: 10(int) Load 59(i)
|
||||
271: 17(float) ConvertSToF 270
|
||||
272: 17(float) Load 107(f)
|
||||
273: 7(bool) FOrdLessThan 271 272
|
||||
274: 7(bool) LogicalOr 269 273
|
||||
275: 70(fvec2) Load 111(f2)
|
||||
276: 67(ivec2) Load 69(i2)
|
||||
277: 70(fvec2) ConvertSToF 276
|
||||
278: 24(bvec2) FOrdEqual 275 277
|
||||
279: 7(bool) All 278
|
||||
280: 7(bool) LogicalOr 274 279
|
||||
281: 80(ivec3) Load 82(i3)
|
||||
282: 83(fvec3) ConvertSToF 281
|
||||
283: 83(fvec3) Load 115(f3)
|
||||
284: 32(bvec3) FOrdNotEqual 282 283
|
||||
285: 7(bool) Any 284
|
||||
286: 7(bool) LogicalOr 280 285
|
||||
SelectionMerge 288 None
|
||||
BranchConditional 286 287 288
|
||||
287: Label
|
||||
290: 7(bool) Load 9(b)
|
||||
SelectionMerge 292 None
|
||||
BranchConditional 290 291 295
|
||||
291: Label
|
||||
293: 10(int) Load 59(i)
|
||||
294: 17(float) ConvertSToF 293
|
||||
Store 289 294
|
||||
Branch 292
|
||||
295: Label
|
||||
296: 70(fvec2) Load 111(f2)
|
||||
297: 17(float) CompositeExtract 296 0
|
||||
Store 289 297
|
||||
Branch 292
|
||||
292: Label
|
||||
298: 17(float) Load 289
|
||||
300: 24(bvec2) Load 26(b2)
|
||||
301: 7(bool) CompositeExtract 300 0
|
||||
SelectionMerge 303 None
|
||||
BranchConditional 301 302 306
|
||||
302: Label
|
||||
304: 83(fvec3) Load 115(f3)
|
||||
305: 17(float) CompositeExtract 304 0
|
||||
Store 299 305
|
||||
Branch 303
|
||||
306: Label
|
||||
307: 67(ivec2) Load 69(i2)
|
||||
308: 10(int) CompositeExtract 307 1
|
||||
309: 17(float) ConvertSToF 308
|
||||
Store 299 309
|
||||
Branch 303
|
||||
303: Label
|
||||
310: 17(float) Load 299
|
||||
311: 17(float) FAdd 298 310
|
||||
Store 107(f) 311
|
||||
Branch 288
|
||||
288: Label
|
||||
315: 7(bool) Load 9(b)
|
||||
316: 24(bvec2) Load 26(b2)
|
||||
317: 7(bool) CompositeExtract 316 0
|
||||
318: 7(bool) LogicalOr 315 317
|
||||
319: 24(bvec2) Load 26(b2)
|
||||
320: 7(bool) CompositeExtract 319 1
|
||||
321: 7(bool) LogicalOr 318 320
|
||||
322: 32(bvec3) Load 34(b3)
|
||||
323: 7(bool) CompositeExtract 322 0
|
||||
324: 7(bool) LogicalOr 321 323
|
||||
325: 32(bvec3) Load 34(b3)
|
||||
326: 7(bool) CompositeExtract 325 1
|
||||
327: 7(bool) LogicalOr 324 326
|
||||
328: 32(bvec3) Load 34(b3)
|
||||
329: 7(bool) CompositeExtract 328 2
|
||||
330: 7(bool) LogicalOr 327 329
|
||||
331: 44(bvec4) Load 46(b4)
|
||||
332: 7(bool) CompositeExtract 331 0
|
||||
333: 7(bool) LogicalOr 330 332
|
||||
334: 44(bvec4) Load 46(b4)
|
||||
335: 7(bool) CompositeExtract 334 1
|
||||
336: 7(bool) LogicalOr 333 335
|
||||
337: 44(bvec4) Load 46(b4)
|
||||
338: 7(bool) CompositeExtract 337 2
|
||||
339: 7(bool) LogicalOr 336 338
|
||||
340: 44(bvec4) Load 46(b4)
|
||||
341: 7(bool) CompositeExtract 340 3
|
||||
342: 7(bool) LogicalOr 339 341
|
||||
SelectionMerge 344 None
|
||||
BranchConditional 342 343 404
|
||||
343: Label
|
||||
345: 10(int) Load 59(i)
|
||||
346: 67(ivec2) Load 69(i2)
|
||||
347: 10(int) CompositeExtract 346 0
|
||||
348: 10(int) IAdd 345 347
|
||||
349: 67(ivec2) Load 69(i2)
|
||||
350: 10(int) CompositeExtract 349 1
|
||||
351: 10(int) IAdd 348 350
|
||||
352: 80(ivec3) Load 82(i3)
|
||||
353: 10(int) CompositeExtract 352 0
|
||||
354: 10(int) IAdd 351 353
|
||||
355: 80(ivec3) Load 82(i3)
|
||||
356: 10(int) CompositeExtract 355 1
|
||||
357: 10(int) IAdd 354 356
|
||||
358: 80(ivec3) Load 82(i3)
|
||||
359: 10(int) CompositeExtract 358 2
|
||||
360: 10(int) IAdd 357 359
|
||||
361: 93(ivec4) Load 95(i4)
|
||||
362: 10(int) CompositeExtract 361 0
|
||||
363: 10(int) IAdd 360 362
|
||||
364: 93(ivec4) Load 95(i4)
|
||||
365: 10(int) CompositeExtract 364 1
|
||||
366: 10(int) IAdd 363 365
|
||||
367: 93(ivec4) Load 95(i4)
|
||||
368: 10(int) CompositeExtract 367 2
|
||||
369: 10(int) IAdd 366 368
|
||||
370: 93(ivec4) Load 95(i4)
|
||||
371: 10(int) CompositeExtract 370 3
|
||||
372: 10(int) IAdd 369 371
|
||||
373: 17(float) ConvertSToF 372
|
||||
374: 17(float) Load 107(f)
|
||||
375: 17(float) FAdd 373 374
|
||||
376: 70(fvec2) Load 111(f2)
|
||||
377: 17(float) CompositeExtract 376 0
|
||||
378: 17(float) FAdd 375 377
|
||||
379: 70(fvec2) Load 111(f2)
|
||||
380: 17(float) CompositeExtract 379 1
|
||||
381: 17(float) FAdd 378 380
|
||||
382: 83(fvec3) Load 115(f3)
|
||||
383: 17(float) CompositeExtract 382 0
|
||||
384: 17(float) FAdd 381 383
|
||||
385: 83(fvec3) Load 115(f3)
|
||||
386: 17(float) CompositeExtract 385 1
|
||||
387: 17(float) FAdd 384 386
|
||||
388: 83(fvec3) Load 115(f3)
|
||||
389: 17(float) CompositeExtract 388 2
|
||||
390: 17(float) FAdd 387 389
|
||||
391: 96(fvec4) Load 119(f4)
|
||||
392: 17(float) CompositeExtract 391 0
|
||||
393: 17(float) FAdd 390 392
|
||||
394: 96(fvec4) Load 119(f4)
|
||||
395: 17(float) CompositeExtract 394 1
|
||||
396: 17(float) FAdd 393 395
|
||||
397: 96(fvec4) Load 119(f4)
|
||||
398: 17(float) CompositeExtract 397 2
|
||||
399: 17(float) FAdd 396 398
|
||||
400: 96(fvec4) Load 119(f4)
|
||||
401: 17(float) CompositeExtract 400 3
|
||||
402: 17(float) FAdd 399 401
|
||||
403: 96(fvec4) CompositeConstruct 402 402 402 402
|
||||
Store 314 403
|
||||
Branch 344
|
||||
404: Label
|
||||
Store 314 152
|
||||
Branch 344
|
||||
344: Label
|
||||
405: 96(fvec4) Load 314
|
||||
Store 313(gl_FragColor) 405
|
||||
Store 406(cv2) 103
|
||||
408: 93(ivec4) Load 406(cv2)
|
||||
409: 44(bvec4) INotEqual 408 161
|
||||
Store 407(cv5) 409
|
||||
410: 44(bvec4) Load 407(cv5)
|
||||
411: 96(fvec4) Select 410 152 151
|
||||
412: 17(float) CompositeExtract 411 0
|
||||
413: 96(fvec4) Load 313(gl_FragColor)
|
||||
414: 96(fvec4) CompositeConstruct 412 412 412 412
|
||||
415: 96(fvec4) FAdd 413 414
|
||||
Store 313(gl_FragColor) 415
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
45
Test/baseResults/spv.dataOut.frag.out
Normal file
45
Test/baseResults/spv.dataOut.frag.out
Normal file
@ -0,0 +1,45 @@
|
||||
spv.dataOut.frag
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 21
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 13 "gl_FragData"
|
||||
Name 17 "Color"
|
||||
Decorate 13(gl_FragData) BuiltIn FragColor
|
||||
Decorate 17(Color) Smooth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypeInt 32 0
|
||||
10: 9(int) Constant 32
|
||||
11: TypeArray 8(fvec4) 10
|
||||
12: TypePointer Output 11
|
||||
13(gl_FragData): 12(ptr) Variable Output
|
||||
14: TypeInt 32 1
|
||||
15: 14(int) Constant 1
|
||||
16: TypePointer Input 8(fvec4)
|
||||
17(Color): 16(ptr) Variable Input
|
||||
19: TypePointer Output 8(fvec4)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18: 8(fvec4) Load 17(Color)
|
||||
20: 19(ptr) AccessChain 13(gl_FragData) 15
|
||||
Store 20 18
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
48
Test/baseResults/spv.dataOutIndirect.frag.out
Normal file
48
Test/baseResults/spv.dataOutIndirect.frag.out
Normal file
@ -0,0 +1,48 @@
|
||||
spv.dataOutIndirect.frag
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 23
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 13 "gl_FragData"
|
||||
Name 16 "i"
|
||||
Name 19 "Color"
|
||||
Decorate 13(gl_FragData) BuiltIn FragColor
|
||||
Decorate 19(Color) Smooth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypeInt 32 0
|
||||
10: 9(int) Constant 32
|
||||
11: TypeArray 8(fvec4) 10
|
||||
12: TypePointer Output 11
|
||||
13(gl_FragData): 12(ptr) Variable Output
|
||||
14: TypeInt 32 1
|
||||
15: TypePointer UniformConstant 14(int)
|
||||
16(i): 15(ptr) Variable UniformConstant
|
||||
18: TypePointer Input 8(fvec4)
|
||||
19(Color): 18(ptr) Variable Input
|
||||
21: TypePointer Output 8(fvec4)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17: 14(int) Load 16(i)
|
||||
20: 8(fvec4) Load 19(Color)
|
||||
22: 21(ptr) AccessChain 13(gl_FragData) 17
|
||||
Store 22 20
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
76
Test/baseResults/spv.dataOutIndirect.vert.out
Normal file
76
Test/baseResults/spv.dataOutIndirect.vert.out
Normal file
@ -0,0 +1,76 @@
|
||||
spv.dataOutIndirect.vert
|
||||
WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 39
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 9 "i"
|
||||
Name 24 "colorOut"
|
||||
Name 27 "color"
|
||||
Name 33 "gl_Position"
|
||||
Name 38 "gl_VertexID"
|
||||
Decorate 24(colorOut) Smooth
|
||||
Decorate 33(gl_Position) BuiltIn Position
|
||||
Decorate 38(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 38(gl_VertexID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
10: 7(int) Constant 1
|
||||
14: 7(int) Constant 5
|
||||
15: TypeBool
|
||||
18: TypeFloat 32
|
||||
19: TypeVector 18(float) 4
|
||||
20: TypeInt 32 0
|
||||
21: 20(int) Constant 6
|
||||
22: TypeArray 19(fvec4) 21
|
||||
23: TypePointer Output 22
|
||||
24(colorOut): 23(ptr) Variable Output
|
||||
26: TypePointer Input 19(fvec4)
|
||||
27(color): 26(ptr) Variable Input
|
||||
29: TypePointer Output 19(fvec4)
|
||||
33(gl_Position): 29(ptr) Variable Output
|
||||
34: 7(int) Constant 2
|
||||
37: TypePointer Input 7(int)
|
||||
38(gl_VertexID): 37(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(i): 8(ptr) Variable Function
|
||||
Store 9(i) 10
|
||||
Branch 11
|
||||
11: Label
|
||||
13: 7(int) Load 9(i)
|
||||
16: 15(bool) SLessThan 13 14
|
||||
LoopMerge 12 None
|
||||
BranchConditional 16 17 12
|
||||
17: Label
|
||||
25: 7(int) Load 9(i)
|
||||
28: 19(fvec4) Load 27(color)
|
||||
30: 29(ptr) AccessChain 24(colorOut) 25
|
||||
Store 30 28
|
||||
31: 7(int) Load 9(i)
|
||||
32: 7(int) IAdd 31 10
|
||||
Store 9(i) 32
|
||||
Branch 11
|
||||
12: Label
|
||||
35: 29(ptr) AccessChain 24(colorOut) 34
|
||||
36: 19(fvec4) Load 35
|
||||
Store 33(gl_Position) 36
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
9
Test/baseResults/spv.deepRvalue.frag.out
Normal file
9
Test/baseResults/spv.deepRvalue.frag.out
Normal file
@ -0,0 +1,9 @@
|
||||
spv.deepRvalue.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: binary operation on matrix
|
49
Test/baseResults/spv.depthOut.frag.out
Normal file
49
Test/baseResults/spv.depthOut.frag.out
Normal file
@ -0,0 +1,49 @@
|
||||
spv.depthOut.frag
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 19
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "gl_FragDepth"
|
||||
Name 11 "Depth"
|
||||
Name 15 "gl_FragColor"
|
||||
Name 17 "Color"
|
||||
Decorate 9(gl_FragDepth) BuiltIn FragDepth
|
||||
Decorate 11(Depth) Smooth
|
||||
Decorate 15(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 17(Color) Smooth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypePointer Output 7(float)
|
||||
9(gl_FragDepth): 8(ptr) Variable Output
|
||||
10: TypePointer Input 7(float)
|
||||
11(Depth): 10(ptr) Variable Input
|
||||
13: TypeVector 7(float) 4
|
||||
14: TypePointer Output 13(fvec4)
|
||||
15(gl_FragColor): 14(ptr) Variable Output
|
||||
16: TypePointer Input 13(fvec4)
|
||||
17(Color): 16(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
12: 7(float) Load 11(Depth)
|
||||
Store 9(gl_FragDepth) 12
|
||||
18: 13(fvec4) Load 17(Color)
|
||||
Store 15(gl_FragColor) 18
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
131
Test/baseResults/spv.discard-dce.frag.out
Normal file
131
Test/baseResults/spv.discard-dce.frag.out
Normal file
@ -0,0 +1,131 @@
|
||||
spv.discard-dce.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 81
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "white"
|
||||
Name 13 "black"
|
||||
Name 16 "color"
|
||||
Name 19 "x"
|
||||
Name 22 "tex_coord"
|
||||
Name 28 "y"
|
||||
Name 33 "radius"
|
||||
Name 56 "gl_FragColor"
|
||||
Decorate 22(tex_coord) Smooth
|
||||
Decorate 56(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: 7(float) Constant 1065353216
|
||||
12: 8(fvec4) ConstantComposite 11 11 11 11
|
||||
14: 7(float) Constant 1045220557
|
||||
15: 8(fvec4) ConstantComposite 14 14 14 14
|
||||
18: TypePointer Function 7(float)
|
||||
20: TypeVector 7(float) 2
|
||||
21: TypePointer Input 20(fvec2)
|
||||
22(tex_coord): 21(ptr) Variable Input
|
||||
25: 7(float) Constant 1073741824
|
||||
43: TypeBool
|
||||
48: 7(float) Constant 1066192077
|
||||
55: TypePointer Output 8(fvec4)
|
||||
56(gl_FragColor): 55(ptr) Variable Output
|
||||
59: 7(float) Constant 1067030938
|
||||
68: 7(float) Constant 1061158912
|
||||
73: 7(float) Constant 1098907648
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(white): 9(ptr) Variable Function
|
||||
13(black): 9(ptr) Variable Function
|
||||
16(color): 9(ptr) Variable Function
|
||||
19(x): 18(ptr) Variable Function
|
||||
28(y): 18(ptr) Variable Function
|
||||
33(radius): 18(ptr) Variable Function
|
||||
Store 10(white) 12
|
||||
Store 13(black) 15
|
||||
17: 8(fvec4) Load 10(white)
|
||||
Store 16(color) 17
|
||||
23: 20(fvec2) Load 22(tex_coord)
|
||||
24: 7(float) CompositeExtract 23 0
|
||||
26: 7(float) FMul 24 25
|
||||
27: 7(float) FSub 26 11
|
||||
Store 19(x) 27
|
||||
29: 20(fvec2) Load 22(tex_coord)
|
||||
30: 7(float) CompositeExtract 29 1
|
||||
31: 7(float) FMul 30 25
|
||||
32: 7(float) FSub 31 11
|
||||
Store 28(y) 32
|
||||
34: 7(float) Load 19(x)
|
||||
35: 7(float) Load 19(x)
|
||||
36: 7(float) FMul 34 35
|
||||
37: 7(float) Load 28(y)
|
||||
38: 7(float) Load 28(y)
|
||||
39: 7(float) FMul 37 38
|
||||
40: 7(float) FAdd 36 39
|
||||
41: 7(float) ExtInst 1(GLSL.std.450) 28(sqrt) 40
|
||||
Store 33(radius) 41
|
||||
42: 7(float) Load 33(radius)
|
||||
44: 43(bool) FOrdGreaterThan 42 11
|
||||
SelectionMerge 46 None
|
||||
BranchConditional 44 45 46
|
||||
45: Label
|
||||
47: 7(float) Load 33(radius)
|
||||
49: 43(bool) FOrdGreaterThan 47 48
|
||||
SelectionMerge 51 None
|
||||
BranchConditional 49 50 51
|
||||
50: Label
|
||||
52: 8(fvec4) Load 16(color)
|
||||
53: 8(fvec4) CompositeConstruct 11 11 11 11
|
||||
54: 8(fvec4) FAdd 52 53
|
||||
Store 16(color) 54
|
||||
Branch 51
|
||||
51: Label
|
||||
57: 8(fvec4) Load 16(color)
|
||||
Store 56(gl_FragColor) 57
|
||||
58: 7(float) Load 33(radius)
|
||||
60: 43(bool) FOrdGreaterThan 58 59
|
||||
SelectionMerge 62 None
|
||||
BranchConditional 60 61 62
|
||||
61: Label
|
||||
63: 8(fvec4) Load 16(color)
|
||||
64: 8(fvec4) CompositeConstruct 11 11 11 11
|
||||
65: 8(fvec4) FAdd 63 64
|
||||
Store 16(color) 65
|
||||
Branch 62
|
||||
62: Label
|
||||
Kill
|
||||
46: Label
|
||||
67: 7(float) Load 33(radius)
|
||||
69: 43(bool) FOrdGreaterThanEqual 67 68
|
||||
SelectionMerge 71 None
|
||||
BranchConditional 69 70 71
|
||||
70: Label
|
||||
72: 7(float) Load 33(radius)
|
||||
74: 7(float) ExtInst 1(GLSL.std.450) 23(pow) 72 73
|
||||
75: 7(float) FDiv 74 25
|
||||
76: 7(float) ExtInst 1(GLSL.std.450) 3(abs) 75
|
||||
77: 8(fvec4) Load 16(color)
|
||||
78: 8(fvec4) CompositeConstruct 76 76 76 76
|
||||
79: 8(fvec4) FSub 77 78
|
||||
Store 16(color) 79
|
||||
Branch 71
|
||||
71: Label
|
||||
80: 8(fvec4) Load 16(color)
|
||||
Store 56(gl_FragColor) 80
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
68
Test/baseResults/spv.doWhileLoop.frag.out
Normal file
68
Test/baseResults/spv.doWhileLoop.frag.out
Normal file
@ -0,0 +1,68 @@
|
||||
spv.doWhileLoop.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 34
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 12 "BaseColor"
|
||||
Name 19 "bigColor"
|
||||
Name 26 "d"
|
||||
Name 32 "gl_FragColor"
|
||||
Decorate 12(BaseColor) Smooth
|
||||
Decorate 32(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(BaseColor): 11(ptr) Variable Input
|
||||
18: TypePointer UniformConstant 8(fvec4)
|
||||
19(bigColor): 18(ptr) Variable UniformConstant
|
||||
25: TypePointer UniformConstant 7(float)
|
||||
26(d): 25(ptr) Variable UniformConstant
|
||||
28: TypeBool
|
||||
31: TypePointer Output 8(fvec4)
|
||||
32(gl_FragColor): 31(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(color): 9(ptr) Variable Function
|
||||
13: 8(fvec4) Load 12(BaseColor)
|
||||
Store 10(color) 13
|
||||
Branch 14
|
||||
14: Label
|
||||
LoopMerge 15 None
|
||||
Branch 16
|
||||
16: Label
|
||||
20: 8(fvec4) Load 19(bigColor)
|
||||
21: 8(fvec4) Load 10(color)
|
||||
22: 8(fvec4) FAdd 21 20
|
||||
Store 10(color) 22
|
||||
Branch 17
|
||||
17: Label
|
||||
23: 8(fvec4) Load 10(color)
|
||||
24: 7(float) CompositeExtract 23 0
|
||||
27: 7(float) Load 26(d)
|
||||
29: 28(bool) FOrdLessThan 24 27
|
||||
BranchConditional 29 30 15
|
||||
30: Label
|
||||
Branch 14
|
||||
15: Label
|
||||
33: 8(fvec4) Load 10(color)
|
||||
Store 32(gl_FragColor) 33
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
110
Test/baseResults/spv.double.comp.out
Normal file
110
Test/baseResults/spv.double.comp.out
Normal file
@ -0,0 +1,110 @@
|
||||
spv.double.comp
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked compute stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 63
|
||||
|
||||
Source GLSL 430
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4
|
||||
Name 4 "main"
|
||||
Name 9 "bufName"
|
||||
MemberName 9(bufName) 0 "f"
|
||||
MemberName 9(bufName) 1 "d"
|
||||
Name 11 "bufInst"
|
||||
Name 23 "storePos"
|
||||
Name 27 "gl_GlobalInvocationID"
|
||||
Name 33 "localCoef"
|
||||
Name 34 "gl_LocalInvocationID"
|
||||
Name 50 "aa"
|
||||
Name 55 "globalCoef"
|
||||
Name 59 "roll"
|
||||
Name 62 "destTex"
|
||||
Decorate 9(bufName) GLSLShared
|
||||
Decorate 9(bufName) BufferBlock
|
||||
Decorate 27(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
|
||||
Decorate 34(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 14 NoStaticUse
|
||||
Decorate 57 NoStaticUse
|
||||
Decorate 14 NoStaticUse
|
||||
Decorate 14 NoStaticUse
|
||||
Decorate 59(roll) NoStaticUse
|
||||
Decorate 62(destTex) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeFloat 64
|
||||
9(bufName): TypeStruct 7(float) 8(float)
|
||||
10: TypePointer Uniform 9(bufName)
|
||||
11(bufInst): 10(ptr) Variable Uniform
|
||||
12: TypeInt 32 1
|
||||
13: 12(int) Constant 1
|
||||
14: 8(float) Constant 1413754136 1074340347
|
||||
15: TypePointer Uniform 8(float)
|
||||
17: 12(int) Constant 0
|
||||
18: 7(float) Constant 1095307129
|
||||
19: TypePointer Uniform 7(float)
|
||||
21: TypeVector 12(int) 2
|
||||
22: TypePointer Function 21(ivec2)
|
||||
24: TypeInt 32 0
|
||||
25: TypeVector 24(int) 3
|
||||
26: TypePointer Input 25(ivec3)
|
||||
27(gl_GlobalInvocationID): 26(ptr) Variable Input
|
||||
28: TypeVector 24(int) 2
|
||||
32: TypePointer Function 8(float)
|
||||
34(gl_LocalInvocationID): 26(ptr) Variable Input
|
||||
38: 12(int) Constant 8
|
||||
41: TypeVector 7(float) 2
|
||||
43: 7(float) Constant 1090519040
|
||||
48: TypeVector 8(float) 4
|
||||
49: TypePointer Function 48(fvec4)
|
||||
51: 8(float) Constant 2576980378 1071225241
|
||||
52: 8(float) Constant 2576980378 1070176665
|
||||
53: 8(float) Constant 858993459 1070805811
|
||||
54: 48(fvec4) ConstantComposite 51 52 53 51
|
||||
56: 8(float) Constant 0 1072693248
|
||||
57: 8(float) Constant 3229815407 1074340298
|
||||
58: TypePointer UniformConstant 8(float)
|
||||
59(roll): 58(ptr) Variable UniformConstant
|
||||
60: TypeSampler7(float) 2D image
|
||||
61: TypePointer UniformConstant 60
|
||||
62(destTex): 61(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
23(storePos): 22(ptr) Variable Function
|
||||
33(localCoef): 32(ptr) Variable Function
|
||||
50(aa): 49(ptr) Variable Function
|
||||
55(globalCoef): 32(ptr) Variable Function
|
||||
16: 15(ptr) AccessChain 11(bufInst) 13
|
||||
Store 16 14
|
||||
20: 19(ptr) AccessChain 11(bufInst) 17
|
||||
Store 20 18
|
||||
29: 25(ivec3) Load 27(gl_GlobalInvocationID)
|
||||
30: 28(ivec2) VectorShuffle 29 29 0 1
|
||||
31: 21(ivec2) Bitcast 30
|
||||
Store 23(storePos) 31
|
||||
35: 25(ivec3) Load 34(gl_LocalInvocationID)
|
||||
36: 28(ivec2) VectorShuffle 35 35 0 1
|
||||
37: 21(ivec2) Bitcast 36
|
||||
39: 21(ivec2) CompositeConstruct 38 38
|
||||
40: 21(ivec2) ISub 37 39
|
||||
42: 41(fvec2) ConvertSToF 40
|
||||
44: 41(fvec2) CompositeConstruct 43 43
|
||||
45: 41(fvec2) FDiv 42 44
|
||||
46: 7(float) ExtInst 1(GLSL.std.450) 58(length) 45
|
||||
47: 8(float) FConvert 46
|
||||
Store 33(localCoef) 47
|
||||
Store 50(aa) 54
|
||||
Store 55(globalCoef) 56
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
181
Test/baseResults/spv.earlyReturnDiscard.frag.out
Normal file
181
Test/baseResults/spv.earlyReturnDiscard.frag.out
Normal file
@ -0,0 +1,181 @@
|
||||
spv.earlyReturnDiscard.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 112
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 12 "BaseColor"
|
||||
Name 14 "color2"
|
||||
Name 16 "otherColor"
|
||||
Name 19 "c"
|
||||
Name 22 "d"
|
||||
Name 28 "bigColor"
|
||||
Name 33 "smallColor"
|
||||
Name 39 "minimum"
|
||||
Name 53 "threshhold"
|
||||
Name 64 "threshhold2"
|
||||
Name 78 "b"
|
||||
Name 107 "gl_FragColor"
|
||||
Name 111 "threshhold3"
|
||||
Decorate 12(BaseColor) Smooth
|
||||
Decorate 19(c) Smooth
|
||||
Decorate 107(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 111(threshhold3) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(BaseColor): 11(ptr) Variable Input
|
||||
15: TypePointer UniformConstant 8(fvec4)
|
||||
16(otherColor): 15(ptr) Variable UniformConstant
|
||||
18: TypePointer Input 7(float)
|
||||
19(c): 18(ptr) Variable Input
|
||||
21: TypePointer UniformConstant 7(float)
|
||||
22(d): 21(ptr) Variable UniformConstant
|
||||
24: TypeBool
|
||||
28(bigColor): 15(ptr) Variable UniformConstant
|
||||
33(smallColor): 15(ptr) Variable UniformConstant
|
||||
39(minimum): 21(ptr) Variable UniformConstant
|
||||
47: 7(float) Constant 1065353216
|
||||
53(threshhold): 21(ptr) Variable UniformConstant
|
||||
64(threshhold2): 21(ptr) Variable UniformConstant
|
||||
77: TypePointer UniformConstant 24(bool)
|
||||
78(b): 77(ptr) Variable UniformConstant
|
||||
106: TypePointer Output 8(fvec4)
|
||||
107(gl_FragColor): 106(ptr) Variable Output
|
||||
111(threshhold3): 21(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(color): 9(ptr) Variable Function
|
||||
14(color2): 9(ptr) Variable Function
|
||||
13: 8(fvec4) Load 12(BaseColor)
|
||||
Store 10(color) 13
|
||||
17: 8(fvec4) Load 16(otherColor)
|
||||
Store 14(color2) 17
|
||||
20: 7(float) Load 19(c)
|
||||
23: 7(float) Load 22(d)
|
||||
25: 24(bool) FOrdGreaterThan 20 23
|
||||
SelectionMerge 27 None
|
||||
BranchConditional 25 26 32
|
||||
26: Label
|
||||
29: 8(fvec4) Load 28(bigColor)
|
||||
30: 8(fvec4) Load 10(color)
|
||||
31: 8(fvec4) FAdd 30 29
|
||||
Store 10(color) 31
|
||||
Branch 27
|
||||
32: Label
|
||||
34: 8(fvec4) Load 33(smallColor)
|
||||
35: 8(fvec4) Load 10(color)
|
||||
36: 8(fvec4) FAdd 35 34
|
||||
Store 10(color) 36
|
||||
Branch 27
|
||||
27: Label
|
||||
37: 8(fvec4) Load 10(color)
|
||||
38: 7(float) CompositeExtract 37 2
|
||||
40: 7(float) Load 39(minimum)
|
||||
41: 24(bool) FOrdLessThan 38 40
|
||||
SelectionMerge 43 None
|
||||
BranchConditional 41 42 43
|
||||
42: Label
|
||||
Branch 6
|
||||
43: Label
|
||||
45: 8(fvec4) Load 10(color)
|
||||
46: 7(float) CompositeExtract 45 2
|
||||
48: 7(float) FAdd 46 47
|
||||
49: 8(fvec4) Load 10(color)
|
||||
50: 8(fvec4) CompositeInsert 48 49 2
|
||||
Store 10(color) 50
|
||||
51: 8(fvec4) Load 10(color)
|
||||
52: 7(float) CompositeExtract 51 2
|
||||
54: 7(float) Load 53(threshhold)
|
||||
55: 24(bool) FOrdGreaterThan 52 54
|
||||
SelectionMerge 57 None
|
||||
BranchConditional 55 56 57
|
||||
56: Label
|
||||
Kill
|
||||
57: Label
|
||||
59: 8(fvec4) Load 10(color)
|
||||
60: 8(fvec4) CompositeConstruct 47 47 47 47
|
||||
61: 8(fvec4) FAdd 59 60
|
||||
Store 10(color) 61
|
||||
62: 8(fvec4) Load 10(color)
|
||||
63: 7(float) CompositeExtract 62 3
|
||||
65: 7(float) Load 64(threshhold2)
|
||||
66: 24(bool) FOrdGreaterThan 63 65
|
||||
SelectionMerge 68 None
|
||||
BranchConditional 66 67 99
|
||||
67: Label
|
||||
69: 8(fvec4) Load 10(color)
|
||||
70: 7(float) CompositeExtract 69 2
|
||||
71: 7(float) Load 64(threshhold2)
|
||||
72: 24(bool) FOrdGreaterThan 70 71
|
||||
SelectionMerge 74 None
|
||||
BranchConditional 72 73 76
|
||||
73: Label
|
||||
Branch 6
|
||||
76: Label
|
||||
79: 24(bool) Load 78(b)
|
||||
SelectionMerge 81 None
|
||||
BranchConditional 79 80 87
|
||||
80: Label
|
||||
82: 8(fvec4) Load 10(color)
|
||||
83: 7(float) CompositeExtract 82 2
|
||||
84: 7(float) FAdd 83 47
|
||||
85: 8(fvec4) Load 10(color)
|
||||
86: 8(fvec4) CompositeInsert 84 85 2
|
||||
Store 10(color) 86
|
||||
Branch 81
|
||||
87: Label
|
||||
88: 8(fvec4) Load 10(color)
|
||||
89: 7(float) CompositeExtract 88 0
|
||||
90: 7(float) Load 39(minimum)
|
||||
91: 24(bool) FOrdLessThan 89 90
|
||||
SelectionMerge 93 None
|
||||
BranchConditional 91 92 95
|
||||
92: Label
|
||||
Kill
|
||||
95: Label
|
||||
96: 8(fvec4) Load 10(color)
|
||||
97: 8(fvec4) CompositeConstruct 47 47 47 47
|
||||
98: 8(fvec4) FAdd 96 97
|
||||
Store 10(color) 98
|
||||
Branch 93
|
||||
93: Label
|
||||
Branch 81
|
||||
81: Label
|
||||
Branch 74
|
||||
74: Label
|
||||
Branch 68
|
||||
99: Label
|
||||
100: 24(bool) Load 78(b)
|
||||
SelectionMerge 102 None
|
||||
BranchConditional 100 101 104
|
||||
101: Label
|
||||
Kill
|
||||
104: Label
|
||||
Branch 6
|
||||
102: Label
|
||||
Branch 68
|
||||
68: Label
|
||||
108: 8(fvec4) Load 10(color)
|
||||
109: 8(fvec4) Load 14(color2)
|
||||
110: 8(fvec4) FMul 108 109
|
||||
Store 107(gl_FragColor) 110
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
81
Test/baseResults/spv.flowControl.frag.out
Normal file
81
Test/baseResults/spv.flowControl.frag.out
Normal file
@ -0,0 +1,81 @@
|
||||
spv.flowControl.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 42
|
||||
|
||||
Source GLSL 120
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 12 "BaseColor"
|
||||
Name 14 "color2"
|
||||
Name 16 "otherColor"
|
||||
Name 19 "c"
|
||||
Name 22 "d"
|
||||
Name 28 "bigColor"
|
||||
Name 33 "smallColor"
|
||||
Name 38 "gl_FragColor"
|
||||
Decorate 12(BaseColor) Smooth
|
||||
Decorate 19(c) Smooth
|
||||
Decorate 38(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(BaseColor): 11(ptr) Variable Input
|
||||
15: TypePointer UniformConstant 8(fvec4)
|
||||
16(otherColor): 15(ptr) Variable UniformConstant
|
||||
18: TypePointer Input 7(float)
|
||||
19(c): 18(ptr) Variable Input
|
||||
21: TypePointer UniformConstant 7(float)
|
||||
22(d): 21(ptr) Variable UniformConstant
|
||||
24: TypeBool
|
||||
28(bigColor): 15(ptr) Variable UniformConstant
|
||||
33(smallColor): 15(ptr) Variable UniformConstant
|
||||
37: TypePointer Output 8(fvec4)
|
||||
38(gl_FragColor): 37(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(color): 9(ptr) Variable Function
|
||||
14(color2): 9(ptr) Variable Function
|
||||
13: 8(fvec4) Load 12(BaseColor)
|
||||
Store 10(color) 13
|
||||
17: 8(fvec4) Load 16(otherColor)
|
||||
Store 14(color2) 17
|
||||
20: 7(float) Load 19(c)
|
||||
23: 7(float) Load 22(d)
|
||||
25: 24(bool) FOrdGreaterThan 20 23
|
||||
SelectionMerge 27 None
|
||||
BranchConditional 25 26 32
|
||||
26: Label
|
||||
29: 8(fvec4) Load 28(bigColor)
|
||||
30: 8(fvec4) Load 10(color)
|
||||
31: 8(fvec4) FAdd 30 29
|
||||
Store 10(color) 31
|
||||
Branch 27
|
||||
32: Label
|
||||
34: 8(fvec4) Load 33(smallColor)
|
||||
35: 8(fvec4) Load 10(color)
|
||||
36: 8(fvec4) FAdd 35 34
|
||||
Store 10(color) 36
|
||||
Branch 27
|
||||
27: Label
|
||||
39: 8(fvec4) Load 10(color)
|
||||
40: 8(fvec4) Load 14(color2)
|
||||
41: 8(fvec4) FMul 39 40
|
||||
Store 38(gl_FragColor) 41
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
200
Test/baseResults/spv.forLoop.frag.out
Normal file
200
Test/baseResults/spv.forLoop.frag.out
Normal file
@ -0,0 +1,200 @@
|
||||
spv.forLoop.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 123
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 12 "BaseColor"
|
||||
Name 16 "i"
|
||||
Name 22 "Count"
|
||||
Name 28 "bigColor"
|
||||
Name 36 "gl_FragColor"
|
||||
Name 39 "sum"
|
||||
Name 41 "i"
|
||||
Name 51 "v4"
|
||||
Name 60 "i"
|
||||
Name 66 "tv4"
|
||||
Name 84 "r"
|
||||
Name 90 "i"
|
||||
Name 98 "f"
|
||||
Name 111 "i"
|
||||
Decorate 12(BaseColor) Smooth
|
||||
Decorate 36(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 98(f) Smooth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(BaseColor): 11(ptr) Variable Input
|
||||
14: TypeInt 32 1
|
||||
15: TypePointer Function 14(int)
|
||||
17: 14(int) Constant 0
|
||||
21: TypePointer UniformConstant 14(int)
|
||||
22(Count): 21(ptr) Variable UniformConstant
|
||||
24: TypeBool
|
||||
27: TypePointer UniformConstant 8(fvec4)
|
||||
28(bigColor): 27(ptr) Variable UniformConstant
|
||||
33: 14(int) Constant 1
|
||||
35: TypePointer Output 8(fvec4)
|
||||
36(gl_FragColor): 35(ptr) Variable Output
|
||||
38: TypePointer Function 7(float)
|
||||
40: 7(float) Constant 0
|
||||
45: 14(int) Constant 4
|
||||
48: TypeInt 32 0
|
||||
49: TypeVector 48(int) 4
|
||||
50: TypePointer UniformConstant 49(ivec4)
|
||||
51(v4): 50(ptr) Variable UniformConstant
|
||||
71: 48(int) Constant 4
|
||||
85: TypeVector 7(float) 3
|
||||
97: TypePointer Input 7(float)
|
||||
98(f): 97(ptr) Variable Input
|
||||
115: 14(int) Constant 16
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(color): 9(ptr) Variable Function
|
||||
16(i): 15(ptr) Variable Function
|
||||
39(sum): 38(ptr) Variable Function
|
||||
41(i): 15(ptr) Variable Function
|
||||
60(i): 15(ptr) Variable Function
|
||||
66(tv4): 9(ptr) Variable Function
|
||||
84(r): 9(ptr) Variable Function
|
||||
90(i): 15(ptr) Variable Function
|
||||
111(i): 15(ptr) Variable Function
|
||||
13: 8(fvec4) Load 12(BaseColor)
|
||||
Store 10(color) 13
|
||||
Store 16(i) 17
|
||||
Branch 18
|
||||
18: Label
|
||||
20: 14(int) Load 16(i)
|
||||
23: 14(int) Load 22(Count)
|
||||
25: 24(bool) SLessThan 20 23
|
||||
LoopMerge 19 None
|
||||
BranchConditional 25 26 19
|
||||
26: Label
|
||||
29: 8(fvec4) Load 28(bigColor)
|
||||
30: 8(fvec4) Load 10(color)
|
||||
31: 8(fvec4) FAdd 30 29
|
||||
Store 10(color) 31
|
||||
32: 14(int) Load 16(i)
|
||||
34: 14(int) IAdd 32 33
|
||||
Store 16(i) 34
|
||||
Branch 18
|
||||
19: Label
|
||||
37: 8(fvec4) Load 10(color)
|
||||
Store 36(gl_FragColor) 37
|
||||
Store 39(sum) 40
|
||||
Store 41(i) 17
|
||||
Branch 42
|
||||
42: Label
|
||||
44: 14(int) Load 41(i)
|
||||
46: 24(bool) SLessThan 44 45
|
||||
LoopMerge 43 None
|
||||
BranchConditional 46 47 43
|
||||
47: Label
|
||||
52: 14(int) Load 41(i)
|
||||
53: 49(ivec4) Load 51(v4)
|
||||
54: 48(int) VectorExtractDynamic 53 52
|
||||
55: 7(float) ConvertUToF 54
|
||||
56: 7(float) Load 39(sum)
|
||||
57: 7(float) FAdd 56 55
|
||||
Store 39(sum) 57
|
||||
58: 14(int) Load 41(i)
|
||||
59: 14(int) IAdd 58 33
|
||||
Store 41(i) 59
|
||||
Branch 42
|
||||
43: Label
|
||||
Store 60(i) 17
|
||||
Branch 61
|
||||
61: Label
|
||||
63: 14(int) Load 60(i)
|
||||
64: 24(bool) SLessThan 63 45
|
||||
LoopMerge 62 None
|
||||
BranchConditional 64 65 62
|
||||
65: Label
|
||||
67: 14(int) Load 60(i)
|
||||
68: 14(int) Load 60(i)
|
||||
69: 49(ivec4) Load 51(v4)
|
||||
70: 48(int) VectorExtractDynamic 69 68
|
||||
72: 48(int) IMul 70 71
|
||||
73: 7(float) ConvertUToF 72
|
||||
75: 8(fvec4) Load 66(tv4)
|
||||
74: 7(float) VectorInsertDynamic 75 73 67
|
||||
Store 66(tv4) 74
|
||||
76: 14(int) Load 60(i)
|
||||
77: 14(int) IAdd 76 33
|
||||
Store 60(i) 77
|
||||
Branch 61
|
||||
62: Label
|
||||
78: 7(float) Load 39(sum)
|
||||
79: 8(fvec4) CompositeConstruct 78 78 78 78
|
||||
80: 8(fvec4) Load 66(tv4)
|
||||
81: 8(fvec4) FAdd 79 80
|
||||
82: 8(fvec4) Load 36(gl_FragColor)
|
||||
83: 8(fvec4) FAdd 82 81
|
||||
Store 36(gl_FragColor) 83
|
||||
86: 8(fvec4) Load 12(BaseColor)
|
||||
87: 85(fvec3) VectorShuffle 86 86 0 1 2
|
||||
88: 8(fvec4) Load 84(r)
|
||||
89: 8(fvec4) VectorShuffle 88 87 4 5 6 3
|
||||
Store 84(r) 89
|
||||
Store 90(i) 17
|
||||
Branch 91
|
||||
91: Label
|
||||
93: 14(int) Load 90(i)
|
||||
94: 14(int) Load 22(Count)
|
||||
95: 24(bool) SLessThan 93 94
|
||||
LoopMerge 92 None
|
||||
BranchConditional 95 96 92
|
||||
96: Label
|
||||
99: 7(float) Load 98(f)
|
||||
100: 8(fvec4) Load 84(r)
|
||||
101: 8(fvec4) CompositeInsert 99 100 3
|
||||
Store 84(r) 101
|
||||
102: 14(int) Load 90(i)
|
||||
103: 14(int) IAdd 102 33
|
||||
Store 90(i) 103
|
||||
Branch 91
|
||||
92: Label
|
||||
104: 8(fvec4) Load 84(r)
|
||||
105: 85(fvec3) VectorShuffle 104 104 0 1 2
|
||||
106: 8(fvec4) Load 36(gl_FragColor)
|
||||
107: 85(fvec3) VectorShuffle 106 106 0 1 2
|
||||
108: 85(fvec3) FAdd 107 105
|
||||
109: 8(fvec4) Load 36(gl_FragColor)
|
||||
110: 8(fvec4) VectorShuffle 109 108 4 5 6 3
|
||||
Store 36(gl_FragColor) 110
|
||||
Store 111(i) 17
|
||||
Branch 112
|
||||
112: Label
|
||||
114: 14(int) Load 111(i)
|
||||
116: 24(bool) SLessThan 114 115
|
||||
LoopMerge 113 None
|
||||
BranchConditional 116 117 113
|
||||
117: Label
|
||||
118: 7(float) Load 98(f)
|
||||
119: 8(fvec4) Load 36(gl_FragColor)
|
||||
120: 8(fvec4) VectorTimesScalar 119 118
|
||||
Store 36(gl_FragColor) 120
|
||||
121: 14(int) Load 111(i)
|
||||
122: 14(int) IAdd 121 45
|
||||
Store 111(i) 122
|
||||
Branch 112
|
||||
113: Label
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
109
Test/baseResults/spv.forwardFun.frag.out
Normal file
109
Test/baseResults/spv.forwardFun.frag.out
Normal file
@ -0,0 +1,109 @@
|
||||
spv.forwardFun.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 59
|
||||
|
||||
Source GLSL 100
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 7 "bar("
|
||||
Name 11 "unreachableReturn("
|
||||
Name 17 "foo(vf4;"
|
||||
Name 16 "bar"
|
||||
Name 19 "color"
|
||||
Name 21 "BaseColor"
|
||||
Name 22 "param"
|
||||
Name 28 "f"
|
||||
Name 31 "gl_FragColor"
|
||||
Name 37 "d"
|
||||
Name 49 "dummyReturn"
|
||||
Name 58 "bigColor"
|
||||
Decorate 19(color) PrecisionMedium
|
||||
Decorate 21(BaseColor) PrecisionMedium
|
||||
Decorate 21(BaseColor) Smooth
|
||||
Decorate 28(f) PrecisionMedium
|
||||
Decorate 31(gl_FragColor) PrecisionMedium
|
||||
Decorate 31(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 37(d) PrecisionMedium
|
||||
Decorate 58(bigColor) PrecisionMedium
|
||||
Decorate 58(bigColor) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
9: TypeFloat 32
|
||||
10: TypeFunction 9(float)
|
||||
13: TypeVector 9(float) 4
|
||||
14: TypePointer Function 13(fvec4)
|
||||
15: TypeFunction 9(float) 14(ptr)
|
||||
20: TypePointer Input 13(fvec4)
|
||||
21(BaseColor): 20(ptr) Variable Input
|
||||
27: TypePointer Function 9(float)
|
||||
30: TypePointer Output 13(fvec4)
|
||||
31(gl_FragColor): 30(ptr) Variable Output
|
||||
36: TypePointer UniformConstant 9(float)
|
||||
37(d): 36(ptr) Variable UniformConstant
|
||||
39: 9(float) Constant 1082549862
|
||||
40: TypeBool
|
||||
44: 9(float) Constant 1067030938
|
||||
47: 9(float) Constant 1083179008
|
||||
57: TypePointer UniformConstant 13(fvec4)
|
||||
58(bigColor): 57(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
19(color): 14(ptr) Variable Function
|
||||
22(param): 14(ptr) Variable Function
|
||||
28(f): 27(ptr) Variable Function
|
||||
23: 13(fvec4) Load 21(BaseColor)
|
||||
Store 22(param) 23
|
||||
24: 9(float) FunctionCall 17(foo(vf4;) 22(param)
|
||||
25: 13(fvec4) CompositeConstruct 24 24 24 24
|
||||
Store 19(color) 25
|
||||
26: 2 FunctionCall 7(bar()
|
||||
29: 9(float) FunctionCall 11(unreachableReturn()
|
||||
Store 28(f) 29
|
||||
32: 13(fvec4) Load 19(color)
|
||||
33: 9(float) Load 28(f)
|
||||
34: 13(fvec4) VectorTimesScalar 32 33
|
||||
Store 31(gl_FragColor) 34
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
7(bar(): 2 Function None 3
|
||||
8: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
11(unreachableReturn(): 9(float) Function None 10
|
||||
12: Label
|
||||
49(dummyReturn): 27(ptr) Variable Function
|
||||
35: 2 FunctionCall 7(bar()
|
||||
38: 9(float) Load 37(d)
|
||||
41: 40(bool) FOrdLessThan 38 39
|
||||
SelectionMerge 43 None
|
||||
BranchConditional 41 42 46
|
||||
42: Label
|
||||
ReturnValue 44
|
||||
46: Label
|
||||
ReturnValue 47
|
||||
43: Label
|
||||
50: 9(float) Load 49(dummyReturn)
|
||||
ReturnValue 50
|
||||
FunctionEnd
|
||||
17(foo(vf4;): 9(float) Function None 15
|
||||
16(bar): 14(ptr) FunctionParameter
|
||||
18: Label
|
||||
51: 13(fvec4) Load 16(bar)
|
||||
52: 9(float) CompositeExtract 51 0
|
||||
53: 13(fvec4) Load 16(bar)
|
||||
54: 9(float) CompositeExtract 53 1
|
||||
55: 9(float) FAdd 52 54
|
||||
ReturnValue 55
|
||||
FunctionEnd
|
132
Test/baseResults/spv.functionCall.frag.out
Normal file
132
Test/baseResults/spv.functionCall.frag.out
Normal file
@ -0,0 +1,132 @@
|
||||
spv.functionCall.frag
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 76
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 12 "foo(vf4;"
|
||||
Name 11 "bar"
|
||||
Name 14 "bar("
|
||||
Name 17 "unreachableReturn("
|
||||
Name 19 "missingReturn("
|
||||
Name 22 "h"
|
||||
Name 31 "d"
|
||||
Name 44 "dummyReturn"
|
||||
Name 53 "dummyReturn"
|
||||
Name 55 "color"
|
||||
Name 57 "BaseColor"
|
||||
Name 58 "param"
|
||||
Name 63 "f"
|
||||
Name 65 "g"
|
||||
Name 68 "gl_FragColor"
|
||||
Name 75 "bigColor"
|
||||
Decorate 57(BaseColor) Smooth
|
||||
Decorate 68(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 75(bigColor) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
10: TypeFunction 7(float) 9(ptr)
|
||||
16: TypeFunction 7(float)
|
||||
21: TypePointer PrivateGlobal 7(float)
|
||||
22(h): 21(ptr) Variable PrivateGlobal
|
||||
23: 7(float) Constant 0
|
||||
30: TypePointer UniformConstant 7(float)
|
||||
31(d): 30(ptr) Variable UniformConstant
|
||||
33: 7(float) Constant 1082549862
|
||||
34: TypeBool
|
||||
38: 7(float) Constant 1067030938
|
||||
41: 7(float) Constant 1083179008
|
||||
43: TypePointer Function 7(float)
|
||||
51: 7(float) Constant 1081711002
|
||||
56: TypePointer Input 8(fvec4)
|
||||
57(BaseColor): 56(ptr) Variable Input
|
||||
67: TypePointer Output 8(fvec4)
|
||||
68(gl_FragColor): 67(ptr) Variable Output
|
||||
74: TypePointer UniformConstant 8(fvec4)
|
||||
75(bigColor): 74(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
55(color): 9(ptr) Variable Function
|
||||
58(param): 9(ptr) Variable Function
|
||||
63(f): 43(ptr) Variable Function
|
||||
65(g): 43(ptr) Variable Function
|
||||
Store 22(h) 23
|
||||
59: 8(fvec4) Load 57(BaseColor)
|
||||
Store 58(param) 59
|
||||
60: 7(float) FunctionCall 12(foo(vf4;) 58(param)
|
||||
61: 8(fvec4) CompositeConstruct 60 60 60 60
|
||||
Store 55(color) 61
|
||||
62: 2 FunctionCall 14(bar()
|
||||
64: 7(float) FunctionCall 17(unreachableReturn()
|
||||
Store 63(f) 64
|
||||
66: 7(float) FunctionCall 19(missingReturn()
|
||||
Store 65(g) 66
|
||||
69: 8(fvec4) Load 55(color)
|
||||
70: 7(float) Load 63(f)
|
||||
71: 8(fvec4) VectorTimesScalar 69 70
|
||||
72: 7(float) Load 22(h)
|
||||
73: 8(fvec4) VectorTimesScalar 71 72
|
||||
Store 68(gl_FragColor) 73
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
12(foo(vf4;): 7(float) Function None 10
|
||||
11(bar): 9(ptr) FunctionParameter
|
||||
13: Label
|
||||
24: 8(fvec4) Load 11(bar)
|
||||
25: 7(float) CompositeExtract 24 0
|
||||
26: 8(fvec4) Load 11(bar)
|
||||
27: 7(float) CompositeExtract 26 1
|
||||
28: 7(float) FAdd 25 27
|
||||
ReturnValue 28
|
||||
FunctionEnd
|
||||
14(bar(): 2 Function None 3
|
||||
15: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
17(unreachableReturn(): 7(float) Function None 16
|
||||
18: Label
|
||||
44(dummyReturn): 43(ptr) Variable Function
|
||||
32: 7(float) Load 31(d)
|
||||
35: 34(bool) FOrdLessThan 32 33
|
||||
SelectionMerge 37 None
|
||||
BranchConditional 35 36 40
|
||||
36: Label
|
||||
ReturnValue 38
|
||||
40: Label
|
||||
ReturnValue 41
|
||||
37: Label
|
||||
45: 7(float) Load 44(dummyReturn)
|
||||
ReturnValue 45
|
||||
FunctionEnd
|
||||
19(missingReturn(): 7(float) Function None 16
|
||||
20: Label
|
||||
53(dummyReturn): 43(ptr) Variable Function
|
||||
46: 7(float) Load 31(d)
|
||||
47: 34(bool) FOrdLessThan 46 41
|
||||
SelectionMerge 49 None
|
||||
BranchConditional 47 48 49
|
||||
48: Label
|
||||
50: 7(float) Load 31(d)
|
||||
Store 22(h) 50
|
||||
ReturnValue 51
|
||||
49: Label
|
||||
54: 7(float) Load 53(dummyReturn)
|
||||
ReturnValue 54
|
||||
FunctionEnd
|
240
Test/baseResults/spv.functionSemantics.frag.out
Normal file
240
Test/baseResults/spv.functionSemantics.frag.out
Normal file
@ -0,0 +1,240 @@
|
||||
spv.functionSemantics.frag
|
||||
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 159
|
||||
|
||||
Source GLSL 400
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 16 "foo(i1;i1;i1;i1;i1;i1;"
|
||||
Name 10 "a"
|
||||
Name 11 "b"
|
||||
Name 12 "c"
|
||||
Name 13 "d"
|
||||
Name 14 "e"
|
||||
Name 15 "f"
|
||||
Name 26 "foo2(f1;vf3;i1;"
|
||||
Name 23 "a"
|
||||
Name 24 "b"
|
||||
Name 25 "r"
|
||||
Name 29 "foo3("
|
||||
Name 31 "sum"
|
||||
Name 73 "u"
|
||||
Name 85 "t"
|
||||
Name 88 "s"
|
||||
MemberName 88(s) 0 "t"
|
||||
Name 90 "f"
|
||||
Name 97 "color"
|
||||
Name 103 "e"
|
||||
Name 104 "param"
|
||||
Name 105 "param"
|
||||
Name 106 "param"
|
||||
Name 107 "param"
|
||||
Name 126 "ret"
|
||||
Name 128 "tempReturn"
|
||||
Name 133 "tempArg"
|
||||
Name 134 "param"
|
||||
Name 135 "param"
|
||||
Name 136 "param"
|
||||
Name 139 "arg"
|
||||
Name 155 "gl_FragColor"
|
||||
Decorate 155(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
9: TypeFunction 7(int) 8(ptr) 7(int) 8(ptr) 7(int) 8(ptr) 8(ptr)
|
||||
18: TypeFloat 32
|
||||
19: TypePointer Function 18(float)
|
||||
20: TypeVector 18(float) 3
|
||||
21: TypePointer Function 20(fvec3)
|
||||
22: TypeFunction 7(int) 19(ptr) 21(ptr) 8(ptr)
|
||||
28: TypeFunction 7(int)
|
||||
39: 7(int) Constant 64
|
||||
44: 7(int) Constant 1024
|
||||
62: 18(float) Constant 1077936128
|
||||
66: 18(float) Constant 1084227584
|
||||
72: TypePointer UniformConstant 18(float)
|
||||
73(u): 72(ptr) Variable UniformConstant
|
||||
75: 18(float) Constant 1078774989
|
||||
76: TypeBool
|
||||
81: 7(int) Constant 1000000
|
||||
83: 7(int) Constant 2000000
|
||||
86: 7(int) Constant 2
|
||||
87: TypeVector 7(int) 4
|
||||
88(s): TypeStruct 87(ivec4)
|
||||
89: TypePointer Function 88(s)
|
||||
91: 7(int) Constant 0
|
||||
92: 7(int) Constant 32
|
||||
93: TypePointer Function 87(ivec4)
|
||||
98: 7(int) Constant 1
|
||||
102: 7(int) Constant 8
|
||||
117: 7(int) Constant 128
|
||||
127: TypePointer PrivateGlobal 7(int)
|
||||
128(tempReturn): 127(ptr) Variable PrivateGlobal
|
||||
129: 18(float) Constant 1082130432
|
||||
130: 18(float) Constant 1065353216
|
||||
131: 18(float) Constant 1073741824
|
||||
132: 20(fvec3) ConstantComposite 130 131 62
|
||||
153: TypeVector 18(float) 4
|
||||
154: TypePointer Output 153(fvec4)
|
||||
155(gl_FragColor): 154(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
85(t): 8(ptr) Variable Function
|
||||
90(f): 89(ptr) Variable Function
|
||||
97(color): 8(ptr) Variable Function
|
||||
103(e): 8(ptr) Variable Function
|
||||
104(param): 8(ptr) Variable Function
|
||||
105(param): 8(ptr) Variable Function
|
||||
106(param): 8(ptr) Variable Function
|
||||
107(param): 8(ptr) Variable Function
|
||||
126(ret): 19(ptr) Variable Function
|
||||
133(tempArg): 8(ptr) Variable Function
|
||||
134(param): 19(ptr) Variable Function
|
||||
135(param): 21(ptr) Variable Function
|
||||
136(param): 8(ptr) Variable Function
|
||||
139(arg): 19(ptr) Variable Function
|
||||
Store 85(t) 86
|
||||
94: 93(ptr) AccessChain 90(f) 91
|
||||
95: 87(ivec4) Load 94
|
||||
96: 87(ivec4) CompositeInsert 92 95 1
|
||||
Store 94 96
|
||||
99: 7(int) Load 85(t)
|
||||
100: 7(int) Load 85(t)
|
||||
101: 7(int) IAdd 99 100
|
||||
Store 104(param) 98
|
||||
Store 105(param) 101
|
||||
108: 93(ptr) AccessChain 90(f) 91
|
||||
109: 87(ivec4) Load 108
|
||||
110: 7(int) CompositeExtract 109 1
|
||||
Store 107(param) 110
|
||||
111: 7(int) FunctionCall 16(foo(i1;i1;i1;i1;i1;i1;) 104(param) 86 105(param) 102 106(param) 107(param)
|
||||
112: 7(int) Load 106(param)
|
||||
Store 103(e) 112
|
||||
113: 7(int) Load 107(param)
|
||||
114: 93(ptr) AccessChain 90(f) 91
|
||||
115: 87(ivec4) Load 114
|
||||
116: 87(ivec4) CompositeInsert 113 115 1
|
||||
Store 114 116
|
||||
Store 97(color) 111
|
||||
118: 7(int) Load 103(e)
|
||||
119: 93(ptr) AccessChain 90(f) 91
|
||||
120: 87(ivec4) Load 119
|
||||
121: 7(int) CompositeExtract 120 1
|
||||
122: 7(int) IAdd 118 121
|
||||
123: 7(int) IMul 117 122
|
||||
124: 7(int) Load 97(color)
|
||||
125: 7(int) IAdd 124 123
|
||||
Store 97(color) 125
|
||||
Store 134(param) 129
|
||||
Store 135(param) 132
|
||||
137: 7(int) FunctionCall 26(foo2(f1;vf3;i1;) 134(param) 135(param) 136(param)
|
||||
138: 7(int) Load 136(param)
|
||||
Store 133(tempArg) 138
|
||||
Store 128(tempReturn) 137
|
||||
140: 7(int) Load 133(tempArg)
|
||||
141: 18(float) ConvertSToF 140
|
||||
Store 139(arg) 141
|
||||
142: 7(int) Load 128(tempReturn)
|
||||
143: 18(float) ConvertSToF 142
|
||||
Store 126(ret) 143
|
||||
144: 18(float) Load 126(ret)
|
||||
145: 18(float) Load 139(arg)
|
||||
146: 18(float) FAdd 144 145
|
||||
147: 7(int) ConvertFToS 146
|
||||
148: 7(int) Load 97(color)
|
||||
149: 7(int) IAdd 148 147
|
||||
Store 97(color) 149
|
||||
150: 7(int) FunctionCall 29(foo3()
|
||||
151: 7(int) Load 97(color)
|
||||
152: 7(int) IAdd 151 150
|
||||
Store 97(color) 152
|
||||
156: 7(int) Load 97(color)
|
||||
157: 18(float) ConvertSToF 156
|
||||
158: 153(fvec4) CompositeConstruct 157 157 157 157
|
||||
Store 155(gl_FragColor) 158
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
16(foo(i1;i1;i1;i1;i1;i1;): 7(int) Function None 9
|
||||
10(a): 8(ptr) FunctionParameter
|
||||
11(b): 7(int) FunctionParameter
|
||||
12(c): 8(ptr) FunctionParameter
|
||||
13(d): 7(int) FunctionParameter
|
||||
14(e): 8(ptr) FunctionParameter
|
||||
15(f): 8(ptr) FunctionParameter
|
||||
17: Label
|
||||
31(sum): 8(ptr) Variable Function
|
||||
32: 7(int) Load 10(a)
|
||||
33: 7(int) IAdd 32 11(b)
|
||||
34: 7(int) Load 12(c)
|
||||
35: 7(int) IAdd 33 34
|
||||
36: 7(int) IAdd 35 13(d)
|
||||
37: 7(int) Load 15(f)
|
||||
38: 7(int) IAdd 36 37
|
||||
Store 31(sum) 38
|
||||
40: 7(int) Load 10(a)
|
||||
41: 7(int) IMul 40 39
|
||||
Store 10(a) 41
|
||||
42: 7(int) Load 12(c)
|
||||
43: 7(int) IMul 42 39
|
||||
Store 12(c) 43
|
||||
Store 14(e) 44
|
||||
45: 7(int) Load 15(f)
|
||||
46: 7(int) IMul 45 39
|
||||
Store 15(f) 46
|
||||
47: 7(int) Load 10(a)
|
||||
48: 7(int) IMul 39 11(b)
|
||||
49: 7(int) IAdd 47 48
|
||||
50: 7(int) Load 12(c)
|
||||
51: 7(int) IAdd 49 50
|
||||
52: 7(int) IMul 39 13(d)
|
||||
53: 7(int) IAdd 51 52
|
||||
54: 7(int) Load 14(e)
|
||||
55: 7(int) IAdd 53 54
|
||||
56: 7(int) Load 15(f)
|
||||
57: 7(int) IAdd 55 56
|
||||
58: 7(int) Load 31(sum)
|
||||
59: 7(int) IAdd 58 57
|
||||
Store 31(sum) 59
|
||||
60: 7(int) Load 31(sum)
|
||||
ReturnValue 60
|
||||
FunctionEnd
|
||||
26(foo2(f1;vf3;i1;): 7(int) Function None 22
|
||||
23(a): 19(ptr) FunctionParameter
|
||||
24(b): 21(ptr) FunctionParameter
|
||||
25(r): 8(ptr) FunctionParameter
|
||||
27: Label
|
||||
63: 18(float) Load 23(a)
|
||||
64: 18(float) FMul 62 63
|
||||
65: 7(int) ConvertFToS 64
|
||||
Store 25(r) 65
|
||||
67: 20(fvec3) Load 24(b)
|
||||
68: 18(float) CompositeExtract 67 1
|
||||
69: 18(float) FMul 66 68
|
||||
70: 7(int) ConvertFToS 69
|
||||
ReturnValue 70
|
||||
FunctionEnd
|
||||
29(foo3(): 7(int) Function None 28
|
||||
30: Label
|
||||
74: 18(float) Load 73(u)
|
||||
77: 76(bool) FOrdGreaterThan 74 75
|
||||
SelectionMerge 79 None
|
||||
BranchConditional 77 78 79
|
||||
78: Label
|
||||
Kill
|
||||
79: Label
|
||||
ReturnValue 83
|
||||
FunctionEnd
|
61
Test/baseResults/spv.length.frag.out
Normal file
61
Test/baseResults/spv.length.frag.out
Normal file
@ -0,0 +1,61 @@
|
||||
spv.length.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 34
|
||||
|
||||
Source GLSL 120
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "t"
|
||||
Name 15 "v"
|
||||
Name 27 "gl_FragColor"
|
||||
Name 33 "u"
|
||||
Decorate 15(v) Smooth
|
||||
Decorate 27(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 33(u) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 2
|
||||
9: TypePointer Function 8(fvec2)
|
||||
11: TypeInt 32 0
|
||||
12: 11(int) Constant 2
|
||||
13: TypeArray 8(fvec2) 12
|
||||
14: TypePointer Input 13
|
||||
15(v): 14(ptr) Variable Input
|
||||
16: TypeInt 32 1
|
||||
17: 16(int) Constant 0
|
||||
18: TypePointer Input 8(fvec2)
|
||||
21: 16(int) Constant 1
|
||||
25: TypeVector 7(float) 4
|
||||
26: TypePointer Output 25(fvec4)
|
||||
27(gl_FragColor): 26(ptr) Variable Output
|
||||
28: 7(float) Constant 1106247680
|
||||
29: 25(fvec4) ConstantComposite 28 28 28 28
|
||||
30: 11(int) Constant 3
|
||||
31: TypeArray 25(fvec4) 30
|
||||
32: TypePointer UniformConstant 31
|
||||
33(u): 32(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(t): 9(ptr) Variable Function
|
||||
19: 18(ptr) AccessChain 15(v) 17
|
||||
20: 8(fvec2) Load 19
|
||||
22: 18(ptr) AccessChain 15(v) 21
|
||||
23: 8(fvec2) Load 22
|
||||
24: 8(fvec2) FAdd 20 23
|
||||
Store 10(t) 24
|
||||
Store 27(gl_FragColor) 29
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
220
Test/baseResults/spv.localAggregates.frag.out
Normal file
220
Test/baseResults/spv.localAggregates.frag.out
Normal file
@ -0,0 +1,220 @@
|
||||
spv.localAggregates.frag
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:5: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 134
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "s1"
|
||||
MemberName 9(s1) 0 "i"
|
||||
MemberName 9(s1) 1 "f"
|
||||
Name 11 "s2"
|
||||
MemberName 11(s2) 0 "i"
|
||||
MemberName 11(s2) 1 "f"
|
||||
MemberName 11(s2) 2 "s1_1"
|
||||
MemberName 11(s2) 3 "bleh"
|
||||
Name 13 "locals2"
|
||||
Name 14 "s3"
|
||||
MemberName 14(s3) 0 "s2_1"
|
||||
MemberName 14(s3) 1 "i"
|
||||
MemberName 14(s3) 2 "f"
|
||||
MemberName 14(s3) 3 "s1_1"
|
||||
Name 16 "foo3"
|
||||
Name 37 "localFArray"
|
||||
Name 41 "coord"
|
||||
Name 48 "localIArray"
|
||||
Name 67 "x"
|
||||
Name 69 "localArray"
|
||||
Name 74 "i"
|
||||
Name 81 "a"
|
||||
Name 87 "condition"
|
||||
Name 95 "color"
|
||||
Name 105 "gl_FragColor"
|
||||
Name 124 "sampler"
|
||||
Name 130 "foo"
|
||||
Name 131 "foo2"
|
||||
Name 133 "uFloatArray"
|
||||
Decorate 41(coord) Smooth
|
||||
Decorate 95(color) Smooth
|
||||
Decorate 105(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 130(foo) NoStaticUse
|
||||
Decorate 131(foo2) NoStaticUse
|
||||
Decorate 133(uFloatArray) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypeFloat 32
|
||||
9(s1): TypeStruct 7(int) 8(float)
|
||||
10: TypeVector 8(float) 4
|
||||
11(s2): TypeStruct 7(int) 8(float) 9(s1) 10(fvec4)
|
||||
12: TypePointer Function 11(s2)
|
||||
14(s3): TypeStruct 11(s2) 7(int) 8(float) 9(s1)
|
||||
15: TypePointer UniformConstant 14(s3)
|
||||
16(foo3): 15(ptr) Variable UniformConstant
|
||||
17: 7(int) Constant 0
|
||||
18: TypePointer UniformConstant 11(s2)
|
||||
21: TypePointer UniformConstant 7(int)
|
||||
24: TypeBool
|
||||
28: 7(int) Constant 2
|
||||
29: 7(int) Constant 1
|
||||
30: 8(float) Constant 1065353216
|
||||
31: TypePointer Function 8(float)
|
||||
33: TypeInt 32 0
|
||||
34: 33(int) Constant 16
|
||||
35: TypeArray 8(float) 34
|
||||
36: TypePointer Function 35
|
||||
38: 7(int) Constant 4
|
||||
39: TypeVector 8(float) 2
|
||||
40: TypePointer Input 39(fvec2)
|
||||
41(coord): 40(ptr) Variable Input
|
||||
45: 33(int) Constant 8
|
||||
46: TypeArray 7(int) 45
|
||||
47: TypePointer Function 46
|
||||
51: TypePointer Function 7(int)
|
||||
68: 7(int) Constant 5
|
||||
78: 7(int) Constant 16
|
||||
83: 8(float) Constant 0
|
||||
87(condition): 21(ptr) Variable UniformConstant
|
||||
93: 7(int) Constant 3
|
||||
94: TypePointer Input 10(fvec4)
|
||||
95(color): 94(ptr) Variable Input
|
||||
97: TypePointer Function 10(fvec4)
|
||||
104: TypePointer Output 10(fvec4)
|
||||
105(gl_FragColor): 104(ptr) Variable Output
|
||||
122: TypeSampler8(float) 2D filter+texture
|
||||
123: TypePointer UniformConstant 122
|
||||
124(sampler): 123(ptr) Variable UniformConstant
|
||||
129: TypePointer UniformConstant 9(s1)
|
||||
130(foo): 129(ptr) Variable UniformConstant
|
||||
131(foo2): 18(ptr) Variable UniformConstant
|
||||
132: TypePointer UniformConstant 35
|
||||
133(uFloatArray): 132(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13(locals2): 12(ptr) Variable Function
|
||||
37(localFArray): 36(ptr) Variable Function
|
||||
48(localIArray): 47(ptr) Variable Function
|
||||
67(x): 51(ptr) Variable Function
|
||||
69(localArray): 36(ptr) Variable Function
|
||||
74(i): 51(ptr) Variable Function
|
||||
81(a): 36(ptr) Variable Function
|
||||
19: 18(ptr) AccessChain 16(foo3) 17
|
||||
20: 11(s2) Load 19
|
||||
Store 13(locals2) 20
|
||||
22: 21(ptr) AccessChain 16(foo3) 17 17
|
||||
23: 7(int) Load 22
|
||||
25: 24(bool) SGreaterThan 23 17
|
||||
SelectionMerge 27 None
|
||||
BranchConditional 25 26 53
|
||||
26: Label
|
||||
32: 31(ptr) AccessChain 13(locals2) 28 29
|
||||
Store 32 30
|
||||
42: 39(fvec2) Load 41(coord)
|
||||
43: 8(float) CompositeExtract 42 0
|
||||
44: 31(ptr) AccessChain 37(localFArray) 38
|
||||
Store 44 43
|
||||
49: 21(ptr) AccessChain 16(foo3) 17 17
|
||||
50: 7(int) Load 49
|
||||
52: 51(ptr) AccessChain 48(localIArray) 28
|
||||
Store 52 50
|
||||
Branch 27
|
||||
53: Label
|
||||
54: 39(fvec2) Load 41(coord)
|
||||
55: 8(float) CompositeExtract 54 0
|
||||
56: 31(ptr) AccessChain 13(locals2) 28 29
|
||||
Store 56 55
|
||||
57: 31(ptr) AccessChain 37(localFArray) 38
|
||||
Store 57 30
|
||||
58: 51(ptr) AccessChain 48(localIArray) 28
|
||||
Store 58 17
|
||||
Branch 27
|
||||
27: Label
|
||||
59: 51(ptr) AccessChain 48(localIArray) 28
|
||||
60: 7(int) Load 59
|
||||
61: 24(bool) IEqual 60 17
|
||||
SelectionMerge 63 None
|
||||
BranchConditional 61 62 63
|
||||
62: Label
|
||||
64: 31(ptr) AccessChain 37(localFArray) 38
|
||||
65: 8(float) Load 64
|
||||
66: 8(float) FAdd 65 30
|
||||
Store 64 66
|
||||
Branch 63
|
||||
63: Label
|
||||
Store 67(x) 68
|
||||
70: 7(int) Load 67(x)
|
||||
71: 39(fvec2) Load 41(coord)
|
||||
72: 8(float) CompositeExtract 71 0
|
||||
73: 31(ptr) AccessChain 69(localArray) 70
|
||||
Store 73 72
|
||||
Store 74(i) 17
|
||||
Branch 75
|
||||
75: Label
|
||||
77: 7(int) Load 74(i)
|
||||
79: 24(bool) SLessThan 77 78
|
||||
LoopMerge 76 None
|
||||
BranchConditional 79 80 76
|
||||
80: Label
|
||||
82: 7(int) Load 74(i)
|
||||
84: 31(ptr) AccessChain 81(a) 82
|
||||
Store 84 83
|
||||
85: 7(int) Load 74(i)
|
||||
86: 7(int) IAdd 85 29
|
||||
Store 74(i) 86
|
||||
Branch 75
|
||||
76: Label
|
||||
88: 7(int) Load 87(condition)
|
||||
89: 24(bool) IEqual 88 29
|
||||
SelectionMerge 91 None
|
||||
BranchConditional 89 90 91
|
||||
90: Label
|
||||
92: 35 Load 69(localArray)
|
||||
Store 81(a) 92
|
||||
Branch 91
|
||||
91: Label
|
||||
96: 10(fvec4) Load 95(color)
|
||||
98: 97(ptr) AccessChain 13(locals2) 93
|
||||
Store 98 96
|
||||
99: 39(fvec2) Load 41(coord)
|
||||
100: 8(float) CompositeExtract 99 1
|
||||
101: 97(ptr) AccessChain 13(locals2) 93
|
||||
102: 10(fvec4) Load 101
|
||||
103: 10(fvec4) CompositeInsert 100 102 2
|
||||
Store 101 103
|
||||
106: 97(ptr) AccessChain 13(locals2) 93
|
||||
107: 10(fvec4) Load 106
|
||||
108: 31(ptr) AccessChain 37(localFArray) 38
|
||||
109: 8(float) Load 108
|
||||
110: 31(ptr) AccessChain 13(locals2) 28 29
|
||||
111: 8(float) Load 110
|
||||
112: 8(float) FAdd 109 111
|
||||
113: 7(int) Load 67(x)
|
||||
114: 31(ptr) AccessChain 69(localArray) 113
|
||||
115: 8(float) Load 114
|
||||
116: 8(float) FAdd 112 115
|
||||
117: 7(int) Load 67(x)
|
||||
118: 31(ptr) AccessChain 81(a) 117
|
||||
119: 8(float) Load 118
|
||||
120: 8(float) FAdd 116 119
|
||||
121: 10(fvec4) VectorTimesScalar 107 120
|
||||
125: 122 Load 124(sampler)
|
||||
126: 39(fvec2) Load 41(coord)
|
||||
127: 10(fvec4) TextureSample 125 126
|
||||
128: 10(fvec4) FMul 121 127
|
||||
Store 105(gl_FragColor) 128
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
1113
Test/baseResults/spv.loops.frag.out
Normal file
1113
Test/baseResults/spv.loops.frag.out
Normal file
File diff suppressed because it is too large
Load Diff
352
Test/baseResults/spv.loopsArtificial.frag.out
Normal file
352
Test/baseResults/spv.loopsArtificial.frag.out
Normal file
@ -0,0 +1,352 @@
|
||||
spv.loopsArtificial.frag
|
||||
WARNING: 0:14: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 192
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 12 "BaseColor"
|
||||
Name 19 "bigColor4"
|
||||
Name 26 "d4"
|
||||
Name 79 "d13"
|
||||
Name 145 "gl_FragColor"
|
||||
Name 147 "bigColor"
|
||||
Name 148 "bigColor1_1"
|
||||
Name 149 "bigColor1_2"
|
||||
Name 150 "bigColor1_3"
|
||||
Name 151 "bigColor2"
|
||||
Name 152 "bigColor3"
|
||||
Name 153 "bigColor5"
|
||||
Name 154 "bigColor6"
|
||||
Name 155 "bigColor7"
|
||||
Name 156 "bigColor8"
|
||||
Name 157 "d"
|
||||
Name 158 "d2"
|
||||
Name 159 "d3"
|
||||
Name 160 "d5"
|
||||
Name 161 "d6"
|
||||
Name 162 "d7"
|
||||
Name 163 "d8"
|
||||
Name 164 "d9"
|
||||
Name 165 "d10"
|
||||
Name 166 "d11"
|
||||
Name 167 "d12"
|
||||
Name 168 "d14"
|
||||
Name 169 "d15"
|
||||
Name 170 "d16"
|
||||
Name 171 "d17"
|
||||
Name 172 "d18"
|
||||
Name 173 "d19"
|
||||
Name 174 "d20"
|
||||
Name 175 "d21"
|
||||
Name 176 "d22"
|
||||
Name 177 "d23"
|
||||
Name 178 "d24"
|
||||
Name 179 "d25"
|
||||
Name 180 "d26"
|
||||
Name 181 "d27"
|
||||
Name 182 "d28"
|
||||
Name 183 "d29"
|
||||
Name 184 "d30"
|
||||
Name 185 "d31"
|
||||
Name 186 "d32"
|
||||
Name 187 "d33"
|
||||
Name 188 "d34"
|
||||
Name 191 "Count"
|
||||
Decorate 12(BaseColor) Smooth
|
||||
Decorate 145(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 147(bigColor) NoStaticUse
|
||||
Decorate 148(bigColor1_1) NoStaticUse
|
||||
Decorate 149(bigColor1_2) NoStaticUse
|
||||
Decorate 150(bigColor1_3) NoStaticUse
|
||||
Decorate 151(bigColor2) NoStaticUse
|
||||
Decorate 152(bigColor3) NoStaticUse
|
||||
Decorate 153(bigColor5) NoStaticUse
|
||||
Decorate 154(bigColor6) NoStaticUse
|
||||
Decorate 155(bigColor7) NoStaticUse
|
||||
Decorate 156(bigColor8) NoStaticUse
|
||||
Decorate 157(d) NoStaticUse
|
||||
Decorate 158(d2) NoStaticUse
|
||||
Decorate 159(d3) NoStaticUse
|
||||
Decorate 160(d5) NoStaticUse
|
||||
Decorate 161(d6) NoStaticUse
|
||||
Decorate 162(d7) NoStaticUse
|
||||
Decorate 163(d8) NoStaticUse
|
||||
Decorate 164(d9) NoStaticUse
|
||||
Decorate 165(d10) NoStaticUse
|
||||
Decorate 166(d11) NoStaticUse
|
||||
Decorate 167(d12) NoStaticUse
|
||||
Decorate 168(d14) NoStaticUse
|
||||
Decorate 169(d15) NoStaticUse
|
||||
Decorate 170(d16) NoStaticUse
|
||||
Decorate 171(d17) NoStaticUse
|
||||
Decorate 172(d18) NoStaticUse
|
||||
Decorate 173(d19) NoStaticUse
|
||||
Decorate 174(d20) NoStaticUse
|
||||
Decorate 175(d21) NoStaticUse
|
||||
Decorate 176(d22) NoStaticUse
|
||||
Decorate 177(d23) NoStaticUse
|
||||
Decorate 178(d24) NoStaticUse
|
||||
Decorate 179(d25) NoStaticUse
|
||||
Decorate 180(d26) NoStaticUse
|
||||
Decorate 181(d27) NoStaticUse
|
||||
Decorate 182(d28) NoStaticUse
|
||||
Decorate 183(d29) NoStaticUse
|
||||
Decorate 184(d30) NoStaticUse
|
||||
Decorate 185(d31) NoStaticUse
|
||||
Decorate 186(d32) NoStaticUse
|
||||
Decorate 187(d33) NoStaticUse
|
||||
Decorate 188(d34) NoStaticUse
|
||||
Decorate 191(Count) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(BaseColor): 11(ptr) Variable Input
|
||||
18: TypePointer UniformConstant 8(fvec4)
|
||||
19(bigColor4): 18(ptr) Variable UniformConstant
|
||||
25: TypePointer UniformConstant 7(float)
|
||||
26(d4): 25(ptr) Variable UniformConstant
|
||||
28: TypeBool
|
||||
32: 7(float) Constant 1073741824
|
||||
46: 7(float) Constant 1065353216
|
||||
79(d13): 25(ptr) Variable UniformConstant
|
||||
144: TypePointer Output 8(fvec4)
|
||||
145(gl_FragColor): 144(ptr) Variable Output
|
||||
147(bigColor): 18(ptr) Variable UniformConstant
|
||||
148(bigColor1_1): 18(ptr) Variable UniformConstant
|
||||
149(bigColor1_2): 18(ptr) Variable UniformConstant
|
||||
150(bigColor1_3): 18(ptr) Variable UniformConstant
|
||||
151(bigColor2): 18(ptr) Variable UniformConstant
|
||||
152(bigColor3): 18(ptr) Variable UniformConstant
|
||||
153(bigColor5): 18(ptr) Variable UniformConstant
|
||||
154(bigColor6): 18(ptr) Variable UniformConstant
|
||||
155(bigColor7): 18(ptr) Variable UniformConstant
|
||||
156(bigColor8): 18(ptr) Variable UniformConstant
|
||||
157(d): 25(ptr) Variable UniformConstant
|
||||
158(d2): 25(ptr) Variable UniformConstant
|
||||
159(d3): 25(ptr) Variable UniformConstant
|
||||
160(d5): 25(ptr) Variable UniformConstant
|
||||
161(d6): 25(ptr) Variable UniformConstant
|
||||
162(d7): 25(ptr) Variable UniformConstant
|
||||
163(d8): 25(ptr) Variable UniformConstant
|
||||
164(d9): 25(ptr) Variable UniformConstant
|
||||
165(d10): 25(ptr) Variable UniformConstant
|
||||
166(d11): 25(ptr) Variable UniformConstant
|
||||
167(d12): 25(ptr) Variable UniformConstant
|
||||
168(d14): 25(ptr) Variable UniformConstant
|
||||
169(d15): 25(ptr) Variable UniformConstant
|
||||
170(d16): 25(ptr) Variable UniformConstant
|
||||
171(d17): 25(ptr) Variable UniformConstant
|
||||
172(d18): 25(ptr) Variable UniformConstant
|
||||
173(d19): 25(ptr) Variable UniformConstant
|
||||
174(d20): 25(ptr) Variable UniformConstant
|
||||
175(d21): 25(ptr) Variable UniformConstant
|
||||
176(d22): 25(ptr) Variable UniformConstant
|
||||
177(d23): 25(ptr) Variable UniformConstant
|
||||
178(d24): 25(ptr) Variable UniformConstant
|
||||
179(d25): 25(ptr) Variable UniformConstant
|
||||
180(d26): 25(ptr) Variable UniformConstant
|
||||
181(d27): 25(ptr) Variable UniformConstant
|
||||
182(d28): 25(ptr) Variable UniformConstant
|
||||
183(d29): 25(ptr) Variable UniformConstant
|
||||
184(d30): 25(ptr) Variable UniformConstant
|
||||
185(d31): 25(ptr) Variable UniformConstant
|
||||
186(d32): 25(ptr) Variable UniformConstant
|
||||
187(d33): 25(ptr) Variable UniformConstant
|
||||
188(d34): 25(ptr) Variable UniformConstant
|
||||
189: TypeInt 32 1
|
||||
190: TypePointer UniformConstant 189(int)
|
||||
191(Count): 190(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(color): 9(ptr) Variable Function
|
||||
13: 8(fvec4) Load 12(BaseColor)
|
||||
Store 10(color) 13
|
||||
Branch 14
|
||||
14: Label
|
||||
LoopMerge 15 None
|
||||
Branch 16
|
||||
16: Label
|
||||
20: 8(fvec4) Load 19(bigColor4)
|
||||
21: 8(fvec4) Load 10(color)
|
||||
22: 8(fvec4) FAdd 21 20
|
||||
Store 10(color) 22
|
||||
23: 8(fvec4) Load 10(color)
|
||||
24: 7(float) CompositeExtract 23 0
|
||||
27: 7(float) Load 26(d4)
|
||||
29: 28(bool) FOrdLessThan 24 27
|
||||
SelectionMerge 31 None
|
||||
BranchConditional 29 30 31
|
||||
30: Label
|
||||
33: 8(fvec4) Load 10(color)
|
||||
34: 7(float) CompositeExtract 33 2
|
||||
35: 7(float) FAdd 34 32
|
||||
36: 8(fvec4) Load 10(color)
|
||||
37: 8(fvec4) CompositeInsert 35 36 2
|
||||
Store 10(color) 37
|
||||
38: 8(fvec4) Load 10(color)
|
||||
39: 7(float) CompositeExtract 38 2
|
||||
40: 7(float) Load 26(d4)
|
||||
41: 28(bool) FOrdLessThan 39 40
|
||||
SelectionMerge 43 None
|
||||
BranchConditional 41 42 43
|
||||
42: Label
|
||||
44: 8(fvec4) Load 10(color)
|
||||
45: 7(float) CompositeExtract 44 0
|
||||
47: 7(float) FAdd 45 46
|
||||
48: 8(fvec4) Load 10(color)
|
||||
49: 8(fvec4) CompositeInsert 47 48 0
|
||||
Store 10(color) 49
|
||||
Branch 17
|
||||
43: Label
|
||||
Branch 31
|
||||
31: Label
|
||||
51: 8(fvec4) Load 10(color)
|
||||
52: 7(float) CompositeExtract 51 1
|
||||
53: 7(float) Load 26(d4)
|
||||
54: 28(bool) FOrdLessThan 52 53
|
||||
SelectionMerge 56 None
|
||||
BranchConditional 54 55 63
|
||||
55: Label
|
||||
57: 7(float) Load 26(d4)
|
||||
58: 8(fvec4) Load 10(color)
|
||||
59: 7(float) CompositeExtract 58 1
|
||||
60: 7(float) FAdd 59 57
|
||||
61: 8(fvec4) Load 10(color)
|
||||
62: 8(fvec4) CompositeInsert 60 61 1
|
||||
Store 10(color) 62
|
||||
Branch 56
|
||||
63: Label
|
||||
64: 7(float) Load 26(d4)
|
||||
65: 8(fvec4) Load 10(color)
|
||||
66: 7(float) CompositeExtract 65 0
|
||||
67: 7(float) FAdd 66 64
|
||||
68: 8(fvec4) Load 10(color)
|
||||
69: 8(fvec4) CompositeInsert 67 68 0
|
||||
Store 10(color) 69
|
||||
Branch 56
|
||||
56: Label
|
||||
Branch 17
|
||||
17: Label
|
||||
70: 8(fvec4) Load 10(color)
|
||||
71: 7(float) CompositeExtract 70 2
|
||||
72: 7(float) Load 26(d4)
|
||||
73: 28(bool) FOrdLessThan 71 72
|
||||
BranchConditional 73 74 15
|
||||
74: Label
|
||||
Branch 14
|
||||
15: Label
|
||||
Branch 75
|
||||
75: Label
|
||||
77: 8(fvec4) Load 10(color)
|
||||
78: 7(float) CompositeExtract 77 3
|
||||
80: 7(float) Load 79(d13)
|
||||
81: 28(bool) FOrdLessThan 78 80
|
||||
LoopMerge 76 None
|
||||
BranchConditional 81 82 76
|
||||
82: Label
|
||||
83: 8(fvec4) Load 10(color)
|
||||
84: 7(float) CompositeExtract 83 2
|
||||
85: 7(float) Load 79(d13)
|
||||
86: 28(bool) FOrdLessThan 84 85
|
||||
SelectionMerge 88 None
|
||||
BranchConditional 86 87 92
|
||||
87: Label
|
||||
89: 8(fvec4) Load 10(color)
|
||||
90: 8(fvec4) CompositeConstruct 46 46 46 46
|
||||
91: 8(fvec4) FAdd 89 90
|
||||
Store 10(color) 91
|
||||
Branch 88
|
||||
92: Label
|
||||
93: 8(fvec4) Load 10(color)
|
||||
94: 8(fvec4) CompositeConstruct 46 46 46 46
|
||||
95: 8(fvec4) FSub 93 94
|
||||
Store 10(color) 95
|
||||
Branch 88
|
||||
88: Label
|
||||
96: 8(fvec4) Load 19(bigColor4)
|
||||
97: 8(fvec4) Load 10(color)
|
||||
98: 8(fvec4) FAdd 97 96
|
||||
Store 10(color) 98
|
||||
99: 8(fvec4) Load 10(color)
|
||||
100: 7(float) CompositeExtract 99 0
|
||||
101: 7(float) Load 26(d4)
|
||||
102: 28(bool) FOrdLessThan 100 101
|
||||
SelectionMerge 104 None
|
||||
BranchConditional 102 103 104
|
||||
103: Label
|
||||
105: 8(fvec4) Load 10(color)
|
||||
106: 7(float) CompositeExtract 105 2
|
||||
107: 7(float) FAdd 106 32
|
||||
108: 8(fvec4) Load 10(color)
|
||||
109: 8(fvec4) CompositeInsert 107 108 2
|
||||
Store 10(color) 109
|
||||
110: 8(fvec4) Load 10(color)
|
||||
111: 7(float) CompositeExtract 110 2
|
||||
112: 7(float) Load 26(d4)
|
||||
113: 28(bool) FOrdLessThan 111 112
|
||||
SelectionMerge 115 None
|
||||
BranchConditional 113 114 115
|
||||
114: Label
|
||||
116: 8(fvec4) Load 10(color)
|
||||
117: 7(float) CompositeExtract 116 0
|
||||
118: 7(float) FAdd 117 46
|
||||
119: 8(fvec4) Load 10(color)
|
||||
120: 8(fvec4) CompositeInsert 118 119 0
|
||||
Store 10(color) 120
|
||||
Branch 75
|
||||
115: Label
|
||||
Branch 104
|
||||
104: Label
|
||||
122: 8(fvec4) Load 10(color)
|
||||
123: 7(float) CompositeExtract 122 1
|
||||
124: 7(float) Load 26(d4)
|
||||
125: 28(bool) FOrdLessThan 123 124
|
||||
SelectionMerge 127 None
|
||||
BranchConditional 125 126 134
|
||||
126: Label
|
||||
128: 7(float) Load 26(d4)
|
||||
129: 8(fvec4) Load 10(color)
|
||||
130: 7(float) CompositeExtract 129 1
|
||||
131: 7(float) FAdd 130 128
|
||||
132: 8(fvec4) Load 10(color)
|
||||
133: 8(fvec4) CompositeInsert 131 132 1
|
||||
Store 10(color) 133
|
||||
Branch 127
|
||||
134: Label
|
||||
135: 7(float) Load 26(d4)
|
||||
136: 8(fvec4) Load 10(color)
|
||||
137: 7(float) CompositeExtract 136 0
|
||||
138: 7(float) FAdd 137 135
|
||||
139: 8(fvec4) Load 10(color)
|
||||
140: 8(fvec4) CompositeInsert 138 139 0
|
||||
Store 10(color) 140
|
||||
Branch 127
|
||||
127: Label
|
||||
Branch 75
|
||||
76: Label
|
||||
141: 8(fvec4) Load 10(color)
|
||||
142: 8(fvec4) CompositeConstruct 46 46 46 46
|
||||
143: 8(fvec4) FAdd 141 142
|
||||
Store 10(color) 143
|
||||
146: 8(fvec4) Load 10(color)
|
||||
Store 145(gl_FragColor) 146
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
142
Test/baseResults/spv.matFun.vert.out
Normal file
142
Test/baseResults/spv.matFun.vert.out
Normal file
@ -0,0 +1,142 @@
|
||||
spv.matFun.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 94
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 15 "xf(mf33;vf3;"
|
||||
Name 13 "m"
|
||||
Name 14 "v"
|
||||
Name 22 "Mat3(mf44;"
|
||||
Name 21 "m"
|
||||
Name 27 "mxv(mf44;vf3;"
|
||||
Name 25 "m4"
|
||||
Name 26 "v"
|
||||
Name 64 "param"
|
||||
Name 70 "gl_Position"
|
||||
Name 72 "m4"
|
||||
Name 74 "v3"
|
||||
Name 75 "param"
|
||||
Name 77 "param"
|
||||
Name 81 "m3"
|
||||
Name 82 "param"
|
||||
Name 84 "param"
|
||||
Name 93 "gl_VertexID"
|
||||
Decorate 70(gl_Position) BuiltIn Position
|
||||
Decorate 93(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 93(gl_VertexID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 3
|
||||
9: TypeMatrix 8(fvec3) 3
|
||||
10: TypePointer Function 9
|
||||
11: TypePointer Function 8(fvec3)
|
||||
12: TypeFunction 8(fvec3) 10(ptr) 11(ptr)
|
||||
17: TypeVector 7(float) 4
|
||||
18: TypeMatrix 17(fvec4) 4
|
||||
19: TypePointer Function 18
|
||||
20: TypeFunction 9 19(ptr)
|
||||
24: TypeFunction 8(fvec3) 19(ptr) 11(ptr)
|
||||
33: TypeInt 32 1
|
||||
34: 33(int) Constant 0
|
||||
35: TypePointer Function 17(fvec4)
|
||||
39: 33(int) Constant 1
|
||||
43: 33(int) Constant 2
|
||||
47: 7(float) Constant 1065353216
|
||||
48: 7(float) Constant 0
|
||||
69: TypePointer Output 17(fvec4)
|
||||
70(gl_Position): 69(ptr) Variable Output
|
||||
71: TypePointer UniformConstant 18
|
||||
72(m4): 71(ptr) Variable UniformConstant
|
||||
73: TypePointer Input 8(fvec3)
|
||||
74(v3): 73(ptr) Variable Input
|
||||
80: TypePointer UniformConstant 9
|
||||
81(m3): 80(ptr) Variable UniformConstant
|
||||
92: TypePointer Input 33(int)
|
||||
93(gl_VertexID): 92(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
75(param): 19(ptr) Variable Function
|
||||
77(param): 11(ptr) Variable Function
|
||||
82(param): 10(ptr) Variable Function
|
||||
84(param): 11(ptr) Variable Function
|
||||
76: 18 Load 72(m4)
|
||||
Store 75(param) 76
|
||||
78: 8(fvec3) Load 74(v3)
|
||||
Store 77(param) 78
|
||||
79: 8(fvec3) FunctionCall 27(mxv(mf44;vf3;) 75(param) 77(param)
|
||||
83: 9 Load 81(m3)
|
||||
Store 82(param) 83
|
||||
85: 8(fvec3) Load 74(v3)
|
||||
Store 84(param) 85
|
||||
86: 8(fvec3) FunctionCall 15(xf(mf33;vf3;) 82(param) 84(param)
|
||||
87: 8(fvec3) FAdd 79 86
|
||||
88: 7(float) CompositeExtract 87 0
|
||||
89: 7(float) CompositeExtract 87 1
|
||||
90: 7(float) CompositeExtract 87 2
|
||||
91: 17(fvec4) CompositeConstruct 88 89 90 47
|
||||
Store 70(gl_Position) 91
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
15(xf(mf33;vf3;): 8(fvec3) Function None 12
|
||||
13(m): 10(ptr) FunctionParameter
|
||||
14(v): 11(ptr) FunctionParameter
|
||||
16: Label
|
||||
29: 8(fvec3) Load 14(v)
|
||||
30: 9 Load 13(m)
|
||||
31: 8(fvec3) VectorTimesMatrix 29 30
|
||||
ReturnValue 31
|
||||
FunctionEnd
|
||||
22(Mat3(mf44;): 9 Function None 20
|
||||
21(m): 19(ptr) FunctionParameter
|
||||
23: Label
|
||||
36: 35(ptr) AccessChain 21(m) 34
|
||||
37: 17(fvec4) Load 36
|
||||
38: 8(fvec3) VectorShuffle 37 37 0 1 2
|
||||
40: 35(ptr) AccessChain 21(m) 39
|
||||
41: 17(fvec4) Load 40
|
||||
42: 8(fvec3) VectorShuffle 41 41 0 1 2
|
||||
44: 35(ptr) AccessChain 21(m) 43
|
||||
45: 17(fvec4) Load 44
|
||||
46: 8(fvec3) VectorShuffle 45 45 0 1 2
|
||||
49: 7(float) CompositeExtract 38 0
|
||||
50: 7(float) CompositeExtract 38 1
|
||||
51: 7(float) CompositeExtract 38 2
|
||||
52: 7(float) CompositeExtract 42 0
|
||||
53: 7(float) CompositeExtract 42 1
|
||||
54: 7(float) CompositeExtract 42 2
|
||||
55: 7(float) CompositeExtract 46 0
|
||||
56: 7(float) CompositeExtract 46 1
|
||||
57: 7(float) CompositeExtract 46 2
|
||||
58: 8(fvec3) CompositeConstruct 49 50 51
|
||||
59: 8(fvec3) CompositeConstruct 52 53 54
|
||||
60: 8(fvec3) CompositeConstruct 55 56 57
|
||||
61: 9 CompositeConstruct 58 59 60
|
||||
ReturnValue 61
|
||||
FunctionEnd
|
||||
27(mxv(mf44;vf3;): 8(fvec3) Function None 24
|
||||
25(m4): 19(ptr) FunctionParameter
|
||||
26(v): 11(ptr) FunctionParameter
|
||||
28: Label
|
||||
64(param): 19(ptr) Variable Function
|
||||
63: 8(fvec3) Load 26(v)
|
||||
65: 18 Load 25(m4)
|
||||
Store 64(param) 65
|
||||
66: 9 FunctionCall 22(Mat3(mf44;) 64(param)
|
||||
67: 8(fvec3) VectorTimesMatrix 63 66
|
||||
ReturnValue 67
|
||||
FunctionEnd
|
12
Test/baseResults/spv.matrix.frag.out
Normal file
12
Test/baseResults/spv.matrix.frag.out
Normal file
@ -0,0 +1,12 @@
|
||||
spv.matrix.frag
|
||||
WARNING: 0:6: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:17: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:22: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: Composite comparison of non-vectors
|
12
Test/baseResults/spv.matrix2.frag.out
Normal file
12
Test/baseResults/spv.matrix2.frag.out
Normal file
@ -0,0 +1,12 @@
|
||||
spv.matrix2.frag
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:13: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:15: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: binary operation on matrix
|
10
Test/baseResults/spv.newTexture.frag.out
Normal file
10
Test/baseResults/spv.newTexture.frag.out
Normal file
@ -0,0 +1,10 @@
|
||||
spv.newTexture.frag
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: texel fetch
|
123
Test/baseResults/spv.nonSquare.vert.out
Normal file
123
Test/baseResults/spv.nonSquare.vert.out
Normal file
@ -0,0 +1,123 @@
|
||||
spv.nonSquare.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 91
|
||||
|
||||
Source GLSL 120
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 10 "a"
|
||||
Name 13 "v3"
|
||||
Name 17 "m23"
|
||||
Name 20 "b"
|
||||
Name 23 "m32"
|
||||
Name 29 "gl_Position"
|
||||
Name 56 "v4"
|
||||
Decorate 29(gl_Position) BuiltIn Position
|
||||
Decorate 75 NoStaticUse
|
||||
Decorate 79 NoStaticUse
|
||||
Decorate 90 NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 2
|
||||
9: TypePointer Function 8(fvec2)
|
||||
11: TypeVector 7(float) 3
|
||||
12: TypePointer Input 11(fvec3)
|
||||
13(v3): 12(ptr) Variable Input
|
||||
15: TypeMatrix 11(fvec3) 2
|
||||
16: TypePointer Function 15
|
||||
21: TypeMatrix 8(fvec2) 3
|
||||
22: TypePointer UniformConstant 21
|
||||
23(m32): 22(ptr) Variable UniformConstant
|
||||
27: TypeVector 7(float) 4
|
||||
28: TypePointer Output 27(fvec4)
|
||||
29(gl_Position): 28(ptr) Variable Output
|
||||
32: TypeMatrix 11(fvec3) 3
|
||||
36: 7(float) Constant 0
|
||||
41: TypeMatrix 27(fvec4) 4
|
||||
42: 7(float) Constant 1077936128
|
||||
43: 7(float) Constant 1086324736
|
||||
44: 27(fvec4) ConstantComposite 42 43 36 36
|
||||
45: 7(float) Constant 1091567616
|
||||
46: 7(float) Constant 1094713344
|
||||
47: 27(fvec4) ConstantComposite 45 46 36 36
|
||||
48: 7(float) Constant 1097859072
|
||||
49: 7(float) Constant 1099956224
|
||||
50: 27(fvec4) ConstantComposite 48 49 36 36
|
||||
51: 7(float) Constant 1101529088
|
||||
52: 7(float) Constant 1103101952
|
||||
53: 27(fvec4) ConstantComposite 51 52 36 36
|
||||
54: 41 ConstantComposite 44 47 50 53
|
||||
55: TypePointer Input 27(fvec4)
|
||||
56(v4): 55(ptr) Variable Input
|
||||
60: 7(float) Constant 1112014848
|
||||
61: 7(float) Constant 1121714176
|
||||
62: 7(float) Constant 1126825984
|
||||
63: 7(float) Constant 1130758144
|
||||
64: 27(fvec4) ConstantComposite 60 61 62 63
|
||||
66: 7(float) Constant 1106247680
|
||||
67: 7(float) Constant 1114636288
|
||||
68: 27(fvec4) ConstantComposite 66 67 36 36
|
||||
70: 7(float) Constant 1101004800
|
||||
71: 7(float) Constant 1092616192
|
||||
72: 7(float) Constant 1084227584
|
||||
73: 27(fvec4) ConstantComposite 70 71 43 72
|
||||
75: 8(fvec2) ConstantComposite 71 70
|
||||
76: TypeMatrix 27(fvec4) 2
|
||||
77: 27(fvec4) ConstantComposite 42 36 36 36
|
||||
78: 27(fvec4) ConstantComposite 36 42 36 36
|
||||
79: 76 ConstantComposite 77 78
|
||||
80: TypeMatrix 8(fvec2) 4
|
||||
81: 7(float) Constant 1065353216
|
||||
82: 7(float) Constant 1073741824
|
||||
83: 8(fvec2) ConstantComposite 81 82
|
||||
84: 7(float) Constant 1082130432
|
||||
85: 8(fvec2) ConstantComposite 42 84
|
||||
86: 8(fvec2) ConstantComposite 72 43
|
||||
87: 7(float) Constant 1088421888
|
||||
88: 7(float) Constant 1090519040
|
||||
89: 8(fvec2) ConstantComposite 87 88
|
||||
90: 80 ConstantComposite 83 85 86 89
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(a): 9(ptr) Variable Function
|
||||
17(m23): 16(ptr) Variable Function
|
||||
20(b): 9(ptr) Variable Function
|
||||
14: 11(fvec3) Load 13(v3)
|
||||
18: 15 Load 17(m23)
|
||||
19: 8(fvec2) VectorTimesMatrix 14 18
|
||||
Store 10(a) 19
|
||||
24: 21 Load 23(m32)
|
||||
25: 11(fvec3) Load 13(v3)
|
||||
26: 8(fvec2) MatrixTimesVector 24 25
|
||||
Store 20(b) 26
|
||||
30: 15 Load 17(m23)
|
||||
31: 21 Load 23(m32)
|
||||
33: 32 MatrixTimesMatrix 30 31
|
||||
34: 11(fvec3) Load 13(v3)
|
||||
35: 11(fvec3) MatrixTimesVector 33 34
|
||||
37: 7(float) CompositeExtract 35 0
|
||||
38: 7(float) CompositeExtract 35 1
|
||||
39: 7(float) CompositeExtract 35 2
|
||||
40: 27(fvec4) CompositeConstruct 37 38 39 36
|
||||
57: 27(fvec4) Load 56(v4)
|
||||
58: 27(fvec4) MatrixTimesVector 54 57
|
||||
59: 27(fvec4) FAdd 40 58
|
||||
65: 27(fvec4) FAdd 59 64
|
||||
69: 27(fvec4) FAdd 65 68
|
||||
74: 27(fvec4) FAdd 69 73
|
||||
Store 29(gl_Position) 74
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
182
Test/baseResults/spv.precision.frag.out
Normal file
182
Test/baseResults/spv.precision.frag.out
Normal file
@ -0,0 +1,182 @@
|
||||
spv.precision.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 111
|
||||
|
||||
Source GLSL 300
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 13 "foo(vf3;"
|
||||
Name 12 "mv3"
|
||||
Name 20 "boolfun(vb2;"
|
||||
Name 19 "bv2"
|
||||
Name 24 "highfin"
|
||||
Name 37 "sum"
|
||||
Name 39 "uniform_medium"
|
||||
Name 41 "uniform_high"
|
||||
Name 47 "uniform_low"
|
||||
Name 52 "arg1"
|
||||
Name 54 "arg2"
|
||||
Name 56 "d"
|
||||
Name 58 "lowfin"
|
||||
Name 60 "mediumfin"
|
||||
Name 64 "global_highp"
|
||||
Name 68 "local_highp"
|
||||
Name 72 "mediumfout"
|
||||
Name 101 "ub2"
|
||||
Name 102 "param"
|
||||
Decorate 24(highfin) PrecisionHigh
|
||||
Decorate 24(highfin) Smooth
|
||||
Decorate 37(sum) PrecisionLow
|
||||
Decorate 39(uniform_medium) PrecisionMedium
|
||||
Decorate 41(uniform_high) PrecisionHigh
|
||||
Decorate 47(uniform_low) PrecisionLow
|
||||
Decorate 52(arg1) PrecisionLow
|
||||
Decorate 54(arg2) PrecisionMedium
|
||||
Decorate 56(d) PrecisionLow
|
||||
Decorate 58(lowfin) PrecisionLow
|
||||
Decorate 58(lowfin) Smooth
|
||||
Decorate 60(mediumfin) PrecisionMedium
|
||||
Decorate 60(mediumfin) Smooth
|
||||
Decorate 64(global_highp) PrecisionHigh
|
||||
Decorate 68(local_highp) PrecisionHigh
|
||||
Decorate 72(mediumfout) PrecisionMedium
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 3
|
||||
9: TypePointer Function 8(fvec3)
|
||||
10: TypeVector 7(float) 2
|
||||
11: TypeFunction 10(fvec2) 9(ptr)
|
||||
15: TypeBool
|
||||
16: TypeVector 15(bool) 2
|
||||
17: TypePointer Function 16(bvec2)
|
||||
18: TypeFunction 15(bool) 17(ptr)
|
||||
22: TypeVector 7(float) 4
|
||||
23: TypePointer Input 22(fvec4)
|
||||
24(highfin): 23(ptr) Variable Input
|
||||
29: 15(bool) ConstantFalse
|
||||
30: 15(bool) ConstantTrue
|
||||
31: 16(bvec2) ConstantComposite 29 30
|
||||
35: TypeInt 32 1
|
||||
36: TypePointer Function 35(int)
|
||||
38: TypePointer UniformConstant 35(int)
|
||||
39(uniform_medium): 38(ptr) Variable UniformConstant
|
||||
41(uniform_high): 38(ptr) Variable UniformConstant
|
||||
47(uniform_low): 38(ptr) Variable UniformConstant
|
||||
51: TypePointer Function 7(float)
|
||||
53: 7(float) Constant 1078774989
|
||||
55: 7(float) Constant 1232730691
|
||||
57: TypePointer Input 7(float)
|
||||
58(lowfin): 57(ptr) Variable Input
|
||||
60(mediumfin): 57(ptr) Variable Input
|
||||
63: TypePointer PrivateGlobal 7(float)
|
||||
64(global_highp): 63(ptr) Variable PrivateGlobal
|
||||
67: TypePointer Function 22(fvec4)
|
||||
71: TypePointer Output 22(fvec4)
|
||||
72(mediumfout): 71(ptr) Variable Output
|
||||
81: 35(int) Constant 4
|
||||
83: TypeVector 35(int) 2
|
||||
100: TypePointer UniformConstant 16(bvec2)
|
||||
101(ub2): 100(ptr) Variable UniformConstant
|
||||
108: 7(float) Constant 1065353216
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
37(sum): 36(ptr) Variable Function
|
||||
52(arg1): 51(ptr) Variable Function
|
||||
54(arg2): 51(ptr) Variable Function
|
||||
56(d): 51(ptr) Variable Function
|
||||
68(local_highp): 67(ptr) Variable Function
|
||||
102(param): 17(ptr) Variable Function
|
||||
40: 35(int) Load 39(uniform_medium)
|
||||
42: 35(int) Load 41(uniform_high)
|
||||
43: 35(int) IAdd 40 42
|
||||
Store 37(sum) 43
|
||||
44: 35(int) Load 41(uniform_high)
|
||||
45: 35(int) Load 37(sum)
|
||||
46: 35(int) IAdd 45 44
|
||||
Store 37(sum) 46
|
||||
48: 35(int) Load 47(uniform_low)
|
||||
49: 35(int) Load 37(sum)
|
||||
50: 35(int) IAdd 49 48
|
||||
Store 37(sum) 50
|
||||
Store 52(arg1) 53
|
||||
Store 54(arg2) 55
|
||||
59: 7(float) Load 58(lowfin)
|
||||
61: 7(float) Load 60(mediumfin)
|
||||
62: 7(float) ExtInst 1(GLSL.std.450) 59(distance) 59 61
|
||||
Store 56(d) 62
|
||||
65: 22(fvec4) Load 24(highfin)
|
||||
66: 7(float) ExtInst 1(GLSL.std.450) 58(length) 65
|
||||
Store 64(global_highp) 66
|
||||
69: 7(float) Load 64(global_highp)
|
||||
70: 22(fvec4) CompositeConstruct 69 69 69 69
|
||||
Store 68(local_highp) 70
|
||||
73: 7(float) Load 56(d)
|
||||
74: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 73
|
||||
75: 22(fvec4) CompositeConstruct 74 74 74 74
|
||||
76: 7(float) Load 54(arg2)
|
||||
77: 22(fvec4) CompositeConstruct 76 76 76 76
|
||||
78: 22(fvec4) FAdd 75 77
|
||||
79: 22(fvec4) Load 68(local_highp)
|
||||
80: 22(fvec4) FAdd 78 79
|
||||
Store 72(mediumfout) 80
|
||||
82: 35(int) Load 47(uniform_low)
|
||||
84: 83(ivec2) CompositeConstruct 82 82
|
||||
85: 35(int) Load 41(uniform_high)
|
||||
86: 83(ivec2) CompositeConstruct 85 85
|
||||
87: 83(ivec2) IMul 84 86
|
||||
88: 35(int) Load 41(uniform_high)
|
||||
89: 83(ivec2) CompositeConstruct 88 88
|
||||
90: 83(ivec2) IAdd 87 89
|
||||
91: 35(int) CompositeExtract 90 0
|
||||
92: 35(int) IAdd 81 91
|
||||
93: 35(int) Load 37(sum)
|
||||
94: 35(int) IAdd 93 92
|
||||
Store 37(sum) 94
|
||||
95: 35(int) Load 37(sum)
|
||||
96: 7(float) ConvertSToF 95
|
||||
97: 22(fvec4) CompositeConstruct 96 96 96 96
|
||||
98: 22(fvec4) Load 72(mediumfout)
|
||||
99: 22(fvec4) FAdd 98 97
|
||||
Store 72(mediumfout) 99
|
||||
103: 16(bvec2) Load 101(ub2)
|
||||
Store 102(param) 103
|
||||
104: 15(bool) FunctionCall 20(boolfun(vb2;) 102(param)
|
||||
SelectionMerge 106 None
|
||||
BranchConditional 104 105 106
|
||||
105: Label
|
||||
107: 22(fvec4) Load 72(mediumfout)
|
||||
109: 22(fvec4) CompositeConstruct 108 108 108 108
|
||||
110: 22(fvec4) FAdd 107 109
|
||||
Store 72(mediumfout) 110
|
||||
Branch 106
|
||||
106: Label
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
13(foo(vf3;): 10(fvec2) Function None 11
|
||||
12(mv3): 9(ptr) FunctionParameter
|
||||
14: Label
|
||||
25: 22(fvec4) Load 24(highfin)
|
||||
26: 10(fvec2) VectorShuffle 25 25 0 1
|
||||
ReturnValue 26
|
||||
FunctionEnd
|
||||
20(boolfun(vb2;): 15(bool) Function None 18
|
||||
19(bv2): 17(ptr) FunctionParameter
|
||||
21: Label
|
||||
28: 16(bvec2) Load 19(bv2)
|
||||
32: 16(bvec2) IEqual 28 31
|
||||
33: 15(bool) All 32
|
||||
ReturnValue 33
|
||||
FunctionEnd
|
153
Test/baseResults/spv.prepost.frag.out
Normal file
153
Test/baseResults/spv.prepost.frag.out
Normal file
@ -0,0 +1,153 @@
|
||||
spv.prepost.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 97
|
||||
|
||||
Source GLSL 140
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "index"
|
||||
Name 15 "s"
|
||||
MemberName 15(s) 0 "y"
|
||||
Name 17 "str"
|
||||
Name 23 "t"
|
||||
Name 51 "x"
|
||||
Name 62 "y"
|
||||
Name 67 "z"
|
||||
Name 74 "v"
|
||||
Name 93 "gl_FragColor"
|
||||
Decorate 93(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
10: 7(int) Constant 5
|
||||
11: TypeFloat 32
|
||||
12: TypeInt 32 0
|
||||
13: 12(int) Constant 5
|
||||
14: TypeArray 11(float) 13
|
||||
15(s): TypeStruct 14
|
||||
16: TypePointer Function 15(s)
|
||||
18: 7(int) Constant 0
|
||||
19: 7(int) Constant 4
|
||||
20: 11(float) Constant 1073741824
|
||||
21: TypePointer Function 11(float)
|
||||
25: 7(int) Constant 1
|
||||
29: 11(float) Constant 1065353216
|
||||
72: TypeVector 11(float) 4
|
||||
73: TypePointer Function 72(fvec4)
|
||||
75: 11(float) Constant 1077936128
|
||||
76: 11(float) Constant 1082130432
|
||||
77: 72(fvec4) ConstantComposite 29 20 75 76
|
||||
92: TypePointer Output 72(fvec4)
|
||||
93(gl_FragColor): 92(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(index): 8(ptr) Variable Function
|
||||
17(str): 16(ptr) Variable Function
|
||||
23(t): 21(ptr) Variable Function
|
||||
51(x): 21(ptr) Variable Function
|
||||
62(y): 21(ptr) Variable Function
|
||||
67(z): 21(ptr) Variable Function
|
||||
74(v): 73(ptr) Variable Function
|
||||
Store 9(index) 10
|
||||
22: 21(ptr) AccessChain 17(str) 18 19
|
||||
Store 22 20
|
||||
24: 7(int) Load 9(index)
|
||||
26: 7(int) ISub 24 25
|
||||
Store 9(index) 26
|
||||
27: 21(ptr) AccessChain 17(str) 18 26
|
||||
28: 11(float) Load 27
|
||||
30: 11(float) FAdd 28 29
|
||||
Store 27 30
|
||||
Store 23(t) 30
|
||||
31: 11(float) Load 23(t)
|
||||
32: 21(ptr) AccessChain 17(str) 18 19
|
||||
33: 11(float) Load 32
|
||||
34: 11(float) FAdd 33 31
|
||||
35: 21(ptr) AccessChain 17(str) 18 19
|
||||
Store 35 34
|
||||
36: 21(ptr) AccessChain 17(str) 18 19
|
||||
37: 11(float) Load 36
|
||||
38: 11(float) FSub 37 29
|
||||
Store 36 38
|
||||
Store 23(t) 37
|
||||
39: 7(int) Load 9(index)
|
||||
40: 7(int) IAdd 39 25
|
||||
Store 9(index) 40
|
||||
41: 11(float) Load 23(t)
|
||||
42: 21(ptr) AccessChain 17(str) 18 39
|
||||
43: 11(float) Load 42
|
||||
44: 11(float) FAdd 43 41
|
||||
45: 21(ptr) AccessChain 17(str) 18 39
|
||||
Store 45 44
|
||||
46: 7(int) Load 9(index)
|
||||
47: 7(int) ISub 46 25
|
||||
Store 9(index) 47
|
||||
48: 21(ptr) AccessChain 17(str) 18 47
|
||||
49: 11(float) Load 48
|
||||
50: 11(float) FSub 49 29
|
||||
Store 48 50
|
||||
52: 21(ptr) AccessChain 17(str) 18 19
|
||||
53: 11(float) Load 52
|
||||
Store 51(x) 53
|
||||
54: 11(float) Load 51(x)
|
||||
55: 11(float) FAdd 54 29
|
||||
Store 51(x) 55
|
||||
56: 11(float) Load 51(x)
|
||||
57: 11(float) FSub 56 29
|
||||
Store 51(x) 57
|
||||
58: 11(float) Load 51(x)
|
||||
59: 11(float) FAdd 58 29
|
||||
Store 51(x) 59
|
||||
60: 11(float) Load 51(x)
|
||||
61: 11(float) FSub 60 29
|
||||
Store 51(x) 61
|
||||
63: 11(float) Load 51(x)
|
||||
64: 11(float) Load 51(x)
|
||||
65: 11(float) FAdd 64 29
|
||||
Store 51(x) 65
|
||||
66: 11(float) FMul 63 65
|
||||
Store 62(y) 66
|
||||
68: 11(float) Load 62(y)
|
||||
69: 11(float) Load 51(x)
|
||||
70: 11(float) FSub 69 29
|
||||
Store 51(x) 70
|
||||
71: 11(float) FMul 68 69
|
||||
Store 67(z) 71
|
||||
Store 74(v) 77
|
||||
78: 72(fvec4) Load 74(v)
|
||||
79: 11(float) CompositeExtract 78 2
|
||||
80: 11(float) FSub 79 29
|
||||
81: 72(fvec4) Load 74(v)
|
||||
82: 72(fvec4) CompositeInsert 80 81 2
|
||||
Store 74(v) 82
|
||||
83: 72(fvec4) Load 74(v)
|
||||
84: 72(fvec4) CompositeInsert 79 83 1
|
||||
Store 74(v) 84
|
||||
85: 72(fvec4) Load 74(v)
|
||||
86: 11(float) CompositeExtract 85 3
|
||||
87: 11(float) FSub 86 29
|
||||
88: 72(fvec4) Load 74(v)
|
||||
89: 72(fvec4) CompositeInsert 87 88 3
|
||||
Store 74(v) 89
|
||||
90: 72(fvec4) Load 74(v)
|
||||
91: 72(fvec4) CompositeInsert 87 90 0
|
||||
Store 74(v) 91
|
||||
94: 11(float) Load 67(z)
|
||||
95: 72(fvec4) Load 74(v)
|
||||
96: 72(fvec4) VectorTimesScalar 94 95
|
||||
Store 93(gl_FragColor) 96
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
67
Test/baseResults/spv.qualifiers.vert.out
Normal file
67
Test/baseResults/spv.qualifiers.vert.out
Normal file
@ -0,0 +1,67 @@
|
||||
spv.qualifiers.vert
|
||||
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 26
|
||||
|
||||
Source GLSL 430
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 10 "outVc"
|
||||
Name 12 "inV"
|
||||
Name 14 "outVs"
|
||||
Name 16 "outVf"
|
||||
Name 18 "outVn"
|
||||
Name 20 "outVcn"
|
||||
Name 24 "gl_VertexID"
|
||||
Name 25 "gl_InstanceID"
|
||||
Decorate 10(outVc) Smooth
|
||||
Decorate 14(outVs) Smooth
|
||||
Decorate 16(outVf) Flat
|
||||
Decorate 18(outVn) Noperspective
|
||||
Decorate 20(outVcn) Noperspective
|
||||
Decorate 24(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 24(gl_VertexID) NoStaticUse
|
||||
Decorate 25(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 25(gl_InstanceID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Output 8(fvec4)
|
||||
10(outVc): 9(ptr) Variable Output
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(inV): 11(ptr) Variable Input
|
||||
14(outVs): 9(ptr) Variable Output
|
||||
16(outVf): 9(ptr) Variable Output
|
||||
18(outVn): 9(ptr) Variable Output
|
||||
20(outVcn): 9(ptr) Variable Output
|
||||
22: TypeInt 32 1
|
||||
23: TypePointer Input 22(int)
|
||||
24(gl_VertexID): 23(ptr) Variable Input
|
||||
25(gl_InstanceID): 23(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
13: 8(fvec4) Load 12(inV)
|
||||
Store 10(outVc) 13
|
||||
15: 8(fvec4) Load 12(inV)
|
||||
Store 14(outVs) 15
|
||||
17: 8(fvec4) Load 12(inV)
|
||||
Store 16(outVf) 17
|
||||
19: 8(fvec4) Load 12(inV)
|
||||
Store 18(outVn) 19
|
||||
21: 8(fvec4) Load 12(inV)
|
||||
Store 20(outVcn) 21
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
64
Test/baseResults/spv.set.vert.out
Normal file
64
Test/baseResults/spv.set.vert.out
Normal file
@ -0,0 +1,64 @@
|
||||
spv.set.vert
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 25
|
||||
|
||||
Source GLSL 450
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 11 "setBuf"
|
||||
MemberName 11(setBuf) 0 "color"
|
||||
Name 13 "setBufInst"
|
||||
Name 21 "sampler"
|
||||
Name 23 "gl_VertexID"
|
||||
Name 24 "gl_InstanceID"
|
||||
Decorate 10(color) Smooth
|
||||
Decorate 11(setBuf) GLSLShared
|
||||
Decorate 11(setBuf) BufferBlock
|
||||
Decorate 13(setBufInst) DescriptorSet 0
|
||||
Decorate 13(setBufInst) Binding 8
|
||||
Decorate 21(sampler) DescriptorSet 4
|
||||
Decorate 21(sampler) Binding 7
|
||||
Decorate 21(sampler) NoStaticUse
|
||||
Decorate 23(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 23(gl_VertexID) NoStaticUse
|
||||
Decorate 24(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 24(gl_InstanceID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Output 8(fvec4)
|
||||
10(color): 9(ptr) Variable Output
|
||||
11(setBuf): TypeStruct 8(fvec4)
|
||||
12: TypePointer Uniform 11(setBuf)
|
||||
13(setBufInst): 12(ptr) Variable Uniform
|
||||
14: TypeInt 32 1
|
||||
15: 14(int) Constant 0
|
||||
16: TypePointer Uniform 8(fvec4)
|
||||
19: TypeSampler7(float) 2D filter+texture
|
||||
20: TypePointer UniformConstant 19
|
||||
21(sampler): 20(ptr) Variable UniformConstant
|
||||
22: TypePointer Input 14(int)
|
||||
23(gl_VertexID): 22(ptr) Variable Input
|
||||
24(gl_InstanceID): 22(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
17: 16(ptr) AccessChain 13(setBufInst) 15
|
||||
18: 8(fvec4) Load 17
|
||||
Store 10(color) 18
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
53
Test/baseResults/spv.simpleFunctionCall.frag.out
Normal file
53
Test/baseResults/spv.simpleFunctionCall.frag.out
Normal file
@ -0,0 +1,53 @@
|
||||
spv.simpleFunctionCall.frag
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 23
|
||||
|
||||
Source GLSL 150
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "foo("
|
||||
Name 13 "BaseColor"
|
||||
Name 17 "gl_FragColor"
|
||||
Name 20 "bigColor"
|
||||
Name 22 "d"
|
||||
Decorate 13(BaseColor) Smooth
|
||||
Decorate 17(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 20(bigColor) NoStaticUse
|
||||
Decorate 22(d) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypeFunction 8(fvec4)
|
||||
12: TypePointer Input 8(fvec4)
|
||||
13(BaseColor): 12(ptr) Variable Input
|
||||
16: TypePointer Output 8(fvec4)
|
||||
17(gl_FragColor): 16(ptr) Variable Output
|
||||
19: TypePointer UniformConstant 8(fvec4)
|
||||
20(bigColor): 19(ptr) Variable UniformConstant
|
||||
21: TypePointer UniformConstant 7(float)
|
||||
22(d): 21(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
18: 8(fvec4) FunctionCall 10(foo()
|
||||
Store 17(gl_FragColor) 18
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
10(foo(): 8(fvec4) Function None 9
|
||||
11: Label
|
||||
14: 8(fvec4) Load 13(BaseColor)
|
||||
ReturnValue 14
|
||||
FunctionEnd
|
78
Test/baseResults/spv.simpleMat.vert.out
Normal file
78
Test/baseResults/spv.simpleMat.vert.out
Normal file
@ -0,0 +1,78 @@
|
||||
spv.simpleMat.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 44
|
||||
|
||||
Source GLSL 330
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 10 "glPos"
|
||||
Name 13 "mvp"
|
||||
Name 16 "v"
|
||||
Name 20 "f"
|
||||
Name 24 "am3"
|
||||
Name 35 "arraym"
|
||||
Name 42 "gl_VertexID"
|
||||
Name 43 "gl_InstanceID"
|
||||
Decorate 10(glPos) Smooth
|
||||
Decorate 20(f) Smooth
|
||||
Decorate 42(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 42(gl_VertexID) NoStaticUse
|
||||
Decorate 43(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 43(gl_InstanceID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Output 8(fvec4)
|
||||
10(glPos): 9(ptr) Variable Output
|
||||
11: TypeMatrix 8(fvec4) 4
|
||||
12: TypePointer UniformConstant 11
|
||||
13(mvp): 12(ptr) Variable UniformConstant
|
||||
15: TypePointer Input 8(fvec4)
|
||||
16(v): 15(ptr) Variable Input
|
||||
19: TypePointer Output 7(float)
|
||||
20(f): 19(ptr) Variable Output
|
||||
21: TypeVector 7(float) 3
|
||||
22: TypeMatrix 21(fvec3) 3
|
||||
23: TypePointer Input 22
|
||||
24(am3): 23(ptr) Variable Input
|
||||
25: TypeInt 32 1
|
||||
26: 25(int) Constant 2
|
||||
27: TypePointer Input 21(fvec3)
|
||||
31: TypeInt 32 0
|
||||
32: 31(int) Constant 3
|
||||
33: TypeArray 11 32
|
||||
34: TypePointer Input 33
|
||||
35(arraym): 34(ptr) Variable Input
|
||||
36: 25(int) Constant 1
|
||||
41: TypePointer Input 25(int)
|
||||
42(gl_VertexID): 41(ptr) Variable Input
|
||||
43(gl_InstanceID): 41(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
14: 11 Load 13(mvp)
|
||||
17: 8(fvec4) Load 16(v)
|
||||
18: 8(fvec4) MatrixTimesVector 14 17
|
||||
Store 10(glPos) 18
|
||||
28: 27(ptr) AccessChain 24(am3) 26
|
||||
29: 21(fvec3) Load 28
|
||||
30: 7(float) CompositeExtract 29 1
|
||||
37: 15(ptr) AccessChain 35(arraym) 36 26
|
||||
38: 8(fvec4) Load 37
|
||||
39: 7(float) CompositeExtract 38 3
|
||||
40: 7(float) FAdd 30 39
|
||||
Store 20(f) 40
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
98
Test/baseResults/spv.structAssignment.frag.out
Normal file
98
Test/baseResults/spv.structAssignment.frag.out
Normal file
@ -0,0 +1,98 @@
|
||||
spv.structAssignment.frag
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 50
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "lunarStruct1"
|
||||
MemberName 9(lunarStruct1) 0 "i"
|
||||
MemberName 9(lunarStruct1) 1 "f"
|
||||
Name 10 "lunarStruct2"
|
||||
MemberName 10(lunarStruct2) 0 "i"
|
||||
MemberName 10(lunarStruct2) 1 "f"
|
||||
MemberName 10(lunarStruct2) 2 "s1_1"
|
||||
Name 11 "lunarStruct3"
|
||||
MemberName 11(lunarStruct3) 0 "s2_1"
|
||||
MemberName 11(lunarStruct3) 1 "i"
|
||||
MemberName 11(lunarStruct3) 2 "f"
|
||||
MemberName 11(lunarStruct3) 3 "s1_1"
|
||||
Name 13 "foo3"
|
||||
Name 23 "locals2"
|
||||
Name 28 "foo2"
|
||||
Name 32 "gl_FragColor"
|
||||
Name 40 "sampler"
|
||||
Name 44 "coord"
|
||||
Name 49 "foo"
|
||||
Decorate 32(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 44(coord) Smooth
|
||||
Decorate 49(foo) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypeFloat 32
|
||||
9(lunarStruct1): TypeStruct 7(int) 8(float)
|
||||
10(lunarStruct2): TypeStruct 7(int) 8(float) 9(lunarStruct1)
|
||||
11(lunarStruct3): TypeStruct 10(lunarStruct2) 7(int) 8(float) 9(lunarStruct1)
|
||||
12: TypePointer UniformConstant 11(lunarStruct3)
|
||||
13(foo3): 12(ptr) Variable UniformConstant
|
||||
14: 7(int) Constant 0
|
||||
15: TypePointer UniformConstant 7(int)
|
||||
18: TypeBool
|
||||
22: TypePointer Function 10(lunarStruct2)
|
||||
24: TypePointer UniformConstant 10(lunarStruct2)
|
||||
28(foo2): 24(ptr) Variable UniformConstant
|
||||
30: TypeVector 8(float) 4
|
||||
31: TypePointer Output 30(fvec4)
|
||||
32(gl_FragColor): 31(ptr) Variable Output
|
||||
33: 7(int) Constant 2
|
||||
34: 7(int) Constant 1
|
||||
35: TypePointer Function 8(float)
|
||||
38: TypeSampler8(float) 2D filter+texture
|
||||
39: TypePointer UniformConstant 38
|
||||
40(sampler): 39(ptr) Variable UniformConstant
|
||||
42: TypeVector 8(float) 2
|
||||
43: TypePointer Input 42(fvec2)
|
||||
44(coord): 43(ptr) Variable Input
|
||||
48: TypePointer UniformConstant 9(lunarStruct1)
|
||||
49(foo): 48(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
23(locals2): 22(ptr) Variable Function
|
||||
16: 15(ptr) AccessChain 13(foo3) 14 14
|
||||
17: 7(int) Load 16
|
||||
19: 18(bool) SGreaterThan 17 14
|
||||
SelectionMerge 21 None
|
||||
BranchConditional 19 20 27
|
||||
20: Label
|
||||
25: 24(ptr) AccessChain 13(foo3) 14
|
||||
26:10(lunarStruct2) Load 25
|
||||
Store 23(locals2) 26
|
||||
Branch 21
|
||||
27: Label
|
||||
29:10(lunarStruct2) Load 28(foo2)
|
||||
Store 23(locals2) 29
|
||||
Branch 21
|
||||
21: Label
|
||||
36: 35(ptr) AccessChain 23(locals2) 33 34
|
||||
37: 8(float) Load 36
|
||||
41: 38 Load 40(sampler)
|
||||
45: 42(fvec2) Load 44(coord)
|
||||
46: 30(fvec4) TextureSample 41 45
|
||||
47: 30(fvec4) VectorTimesScalar 37 46
|
||||
Store 32(gl_FragColor) 47
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
193
Test/baseResults/spv.structDeref.frag.out
Normal file
193
Test/baseResults/spv.structDeref.frag.out
Normal file
@ -0,0 +1,193 @@
|
||||
spv.structDeref.frag
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 120
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "s0"
|
||||
MemberName 9(s0) 0 "i"
|
||||
Name 10 "s1"
|
||||
MemberName 10(s1) 0 "i"
|
||||
MemberName 10(s1) 1 "f"
|
||||
MemberName 10(s1) 2 "s0_1"
|
||||
Name 11 "s2"
|
||||
MemberName 11(s2) 0 "i"
|
||||
MemberName 11(s2) 1 "f"
|
||||
MemberName 11(s2) 2 "s1_1"
|
||||
Name 15 "s3"
|
||||
MemberName 15(s3) 0 "s2_1"
|
||||
MemberName 15(s3) 1 "i"
|
||||
MemberName 15(s3) 2 "f"
|
||||
MemberName 15(s3) 3 "s1_1"
|
||||
Name 17 "foo3"
|
||||
Name 28 "locals2"
|
||||
Name 41 "fArray"
|
||||
Name 47 "locals1Array"
|
||||
Name 50 "foo1"
|
||||
Name 54 "locals0"
|
||||
Name 55 "s00"
|
||||
MemberName 55(s00) 0 "s0_0"
|
||||
Name 57 "locals00"
|
||||
Name 62 "coord"
|
||||
Name 69 "foo0"
|
||||
Name 84 "foo00"
|
||||
Name 97 "gl_FragColor"
|
||||
Name 113 "sampler"
|
||||
Name 119 "foo2"
|
||||
Decorate 62(coord) Smooth
|
||||
Decorate 97(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 119(foo2) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypeFloat 32
|
||||
9(s0): TypeStruct 7(int)
|
||||
10(s1): TypeStruct 7(int) 8(float) 9(s0)
|
||||
11(s2): TypeStruct 7(int) 8(float) 10(s1)
|
||||
12: TypeInt 32 0
|
||||
13: 12(int) Constant 12
|
||||
14: TypeArray 11(s2) 13
|
||||
15(s3): TypeStruct 14 7(int) 8(float) 10(s1)
|
||||
16: TypePointer UniformConstant 15(s3)
|
||||
17(foo3): 16(ptr) Variable UniformConstant
|
||||
18: 7(int) Constant 0
|
||||
19: 7(int) Constant 9
|
||||
20: TypePointer UniformConstant 7(int)
|
||||
23: TypeBool
|
||||
27: TypePointer Function 11(s2)
|
||||
29: 7(int) Constant 1
|
||||
30: 8(float) Constant 1065353216
|
||||
31: TypePointer Function 8(float)
|
||||
33: 7(int) Constant 2
|
||||
34: 9(s0) ConstantComposite 18
|
||||
35: 10(s1) ConstantComposite 18 30 34
|
||||
36: TypePointer Function 10(s1)
|
||||
38: 12(int) Constant 6
|
||||
39: TypeArray 8(float) 38
|
||||
40: TypePointer Function 39
|
||||
42: 8(float) Constant 0
|
||||
43: 39 ConstantComposite 42 42 42 42 42 42
|
||||
44: 12(int) Constant 10
|
||||
45: TypeArray 10(s1) 44
|
||||
46: TypePointer Function 45
|
||||
48: 7(int) Constant 6
|
||||
49: TypePointer UniformConstant 10(s1)
|
||||
50(foo1): 49(ptr) Variable UniformConstant
|
||||
53: TypePointer Function 9(s0)
|
||||
55(s00): TypeStruct 9(s0)
|
||||
56: TypePointer Function 55(s00)
|
||||
58: 55(s00) ConstantComposite 34
|
||||
60: TypeVector 8(float) 2
|
||||
61: TypePointer Input 60(fvec2)
|
||||
62(coord): 61(ptr) Variable Input
|
||||
68: TypePointer UniformConstant 9(s0)
|
||||
69(foo0): 68(ptr) Variable UniformConstant
|
||||
73: 8(float) Constant 1073741824
|
||||
74: 8(float) Constant 1077936128
|
||||
75: 8(float) Constant 1082130432
|
||||
76: 8(float) Constant 1084227584
|
||||
77: 39 ConstantComposite 42 30 73 74 75 76
|
||||
83: TypePointer UniformConstant 55(s00)
|
||||
84(foo00): 83(ptr) Variable UniformConstant
|
||||
86: TypePointer Function 7(int)
|
||||
89: 7(int) Constant 5
|
||||
95: TypeVector 8(float) 4
|
||||
96: TypePointer Output 95(fvec4)
|
||||
97(gl_FragColor): 96(ptr) Variable Output
|
||||
104: 7(int) Constant 3
|
||||
111: TypeSampler8(float) 2D filter+texture
|
||||
112: TypePointer UniformConstant 111
|
||||
113(sampler): 112(ptr) Variable UniformConstant
|
||||
118: TypePointer UniformConstant 11(s2)
|
||||
119(foo2): 118(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
28(locals2): 27(ptr) Variable Function
|
||||
41(fArray): 40(ptr) Variable Function
|
||||
47(locals1Array): 46(ptr) Variable Function
|
||||
54(locals0): 53(ptr) Variable Function
|
||||
57(locals00): 56(ptr) Variable Function
|
||||
21: 20(ptr) AccessChain 17(foo3) 18 19 18
|
||||
22: 7(int) Load 21
|
||||
24: 23(bool) SGreaterThan 22 18
|
||||
SelectionMerge 26 None
|
||||
BranchConditional 24 25 59
|
||||
25: Label
|
||||
32: 31(ptr) AccessChain 28(locals2) 29
|
||||
Store 32 30
|
||||
37: 36(ptr) AccessChain 28(locals2) 33
|
||||
Store 37 35
|
||||
Store 41(fArray) 43
|
||||
51: 10(s1) Load 50(foo1)
|
||||
52: 36(ptr) AccessChain 47(locals1Array) 48
|
||||
Store 52 51
|
||||
Store 54(locals0) 34
|
||||
Store 57(locals00) 58
|
||||
Branch 26
|
||||
59: Label
|
||||
63: 60(fvec2) Load 62(coord)
|
||||
64: 8(float) CompositeExtract 63 0
|
||||
65: 31(ptr) AccessChain 28(locals2) 29
|
||||
Store 65 64
|
||||
66: 60(fvec2) Load 62(coord)
|
||||
67: 8(float) CompositeExtract 66 1
|
||||
70: 9(s0) Load 69(foo0)
|
||||
71: 10(s1) CompositeConstruct 29 67 70
|
||||
72: 36(ptr) AccessChain 28(locals2) 33
|
||||
Store 72 71
|
||||
Store 41(fArray) 77
|
||||
78: 36(ptr) AccessChain 28(locals2) 33
|
||||
79: 10(s1) Load 78
|
||||
80: 36(ptr) AccessChain 47(locals1Array) 48
|
||||
Store 80 79
|
||||
81: 68(ptr) AccessChain 50(foo1) 33
|
||||
82: 9(s0) Load 81
|
||||
Store 54(locals0) 82
|
||||
85: 55(s00) Load 84(foo00)
|
||||
Store 57(locals00) 85
|
||||
Branch 26
|
||||
26: Label
|
||||
87: 86(ptr) AccessChain 54(locals0) 18
|
||||
88: 7(int) Load 87
|
||||
90: 23(bool) SGreaterThan 88 89
|
||||
SelectionMerge 92 None
|
||||
BranchConditional 90 91 92
|
||||
91: Label
|
||||
93: 53(ptr) AccessChain 57(locals00) 18
|
||||
94: 9(s0) Load 93
|
||||
Store 54(locals0) 94
|
||||
Branch 92
|
||||
92: Label
|
||||
98: 86(ptr) AccessChain 54(locals0) 18
|
||||
99: 7(int) Load 98
|
||||
100: 8(float) ConvertSToF 99
|
||||
101: 31(ptr) AccessChain 47(locals1Array) 48 29
|
||||
102: 8(float) Load 101
|
||||
103: 8(float) FAdd 100 102
|
||||
105: 31(ptr) AccessChain 41(fArray) 104
|
||||
106: 8(float) Load 105
|
||||
107: 8(float) FAdd 103 106
|
||||
108: 31(ptr) AccessChain 28(locals2) 33 29
|
||||
109: 8(float) Load 108
|
||||
110: 8(float) FAdd 107 109
|
||||
114: 111 Load 113(sampler)
|
||||
115: 60(fvec2) Load 62(coord)
|
||||
116: 95(fvec4) TextureSample 114 115
|
||||
117: 95(fvec4) VectorTimesScalar 110 116
|
||||
Store 97(gl_FragColor) 117
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
105
Test/baseResults/spv.structure.frag.out
Normal file
105
Test/baseResults/spv.structure.frag.out
Normal file
@ -0,0 +1,105 @@
|
||||
spv.structure.frag
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 61
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "scale"
|
||||
Name 19 "lunarStruct1"
|
||||
MemberName 19(lunarStruct1) 0 "i"
|
||||
MemberName 19(lunarStruct1) 1 "f"
|
||||
MemberName 19(lunarStruct1) 2 "color"
|
||||
Name 22 "lunarStruct2"
|
||||
MemberName 22(lunarStruct2) 0 "i"
|
||||
MemberName 22(lunarStruct2) 1 "f"
|
||||
MemberName 22(lunarStruct2) 2 "s1_1"
|
||||
Name 25 "foo2"
|
||||
Name 47 "gl_FragColor"
|
||||
Name 51 "sampler"
|
||||
Name 55 "coord"
|
||||
Name 60 "foo"
|
||||
Decorate 47(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 55(coord) Smooth
|
||||
Decorate 60(foo) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypePointer Function 7(float)
|
||||
10: 7(float) Constant 0
|
||||
11: TypeInt 32 1
|
||||
12: TypeInt 32 0
|
||||
13: 12(int) Constant 5
|
||||
14: TypeArray 11(int) 13
|
||||
15: 12(int) Constant 4
|
||||
16: TypeArray 7(float) 15
|
||||
17: TypeVector 7(float) 4
|
||||
18: TypeArray 17(fvec4) 13
|
||||
19(lunarStruct1): TypeStruct 11(int) 16 18
|
||||
20: 12(int) Constant 7
|
||||
21: TypeArray 19(lunarStruct1) 20
|
||||
22(lunarStruct2): TypeStruct 14 7(float) 21
|
||||
23: TypeArray 22(lunarStruct2) 13
|
||||
24: TypePointer UniformConstant 23
|
||||
25(foo2): 24(ptr) Variable UniformConstant
|
||||
26: 11(int) Constant 3
|
||||
27: 11(int) Constant 0
|
||||
28: 11(int) Constant 4
|
||||
29: TypePointer UniformConstant 11(int)
|
||||
32: TypeBool
|
||||
36: 11(int) Constant 2
|
||||
37: TypePointer UniformConstant 17(fvec4)
|
||||
42: 11(int) Constant 1
|
||||
43: TypePointer UniformConstant 7(float)
|
||||
46: TypePointer Output 17(fvec4)
|
||||
47(gl_FragColor): 46(ptr) Variable Output
|
||||
49: TypeSampler7(float) 2D filter+texture
|
||||
50: TypePointer UniformConstant 49
|
||||
51(sampler): 50(ptr) Variable UniformConstant
|
||||
53: TypeVector 7(float) 2
|
||||
54: TypePointer Input 53(fvec2)
|
||||
55(coord): 54(ptr) Variable Input
|
||||
59: TypePointer UniformConstant 19(lunarStruct1)
|
||||
60(foo): 59(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(scale): 8(ptr) Variable Function
|
||||
Store 9(scale) 10
|
||||
30: 29(ptr) AccessChain 25(foo2) 26 27 28
|
||||
31: 11(int) Load 30
|
||||
33: 32(bool) SGreaterThan 31 27
|
||||
SelectionMerge 35 None
|
||||
BranchConditional 33 34 41
|
||||
34: Label
|
||||
38: 37(ptr) AccessChain 25(foo2) 26 36 36 36 26
|
||||
39: 17(fvec4) Load 38
|
||||
40: 7(float) CompositeExtract 39 0
|
||||
Store 9(scale) 40
|
||||
Branch 35
|
||||
41: Label
|
||||
44: 43(ptr) AccessChain 25(foo2) 26 36 36 42 26
|
||||
45: 7(float) Load 44
|
||||
Store 9(scale) 45
|
||||
Branch 35
|
||||
35: Label
|
||||
48: 7(float) Load 9(scale)
|
||||
52: 49 Load 51(sampler)
|
||||
56: 53(fvec2) Load 55(coord)
|
||||
57: 17(fvec4) TextureSample 52 56
|
||||
58: 17(fvec4) VectorTimesScalar 48 57
|
||||
Store 47(gl_FragColor) 58
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
382
Test/baseResults/spv.switch.frag.out
Normal file
382
Test/baseResults/spv.switch.frag.out
Normal file
@ -0,0 +1,382 @@
|
||||
spv.switch.frag
|
||||
WARNING: 0:121: 'switch' : last case/default label not followed by statements
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 249
|
||||
|
||||
Source GLSL 300
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 16 "foo1(vf4;vf4;i1;"
|
||||
Name 13 "v1"
|
||||
Name 14 "v2"
|
||||
Name 15 "i1"
|
||||
Name 21 "foo2(vf4;vf4;i1;"
|
||||
Name 18 "v1"
|
||||
Name 19 "v2"
|
||||
Name 20 "i1"
|
||||
Name 59 "local"
|
||||
Name 61 "c"
|
||||
Name 72 "f"
|
||||
Name 74 "x"
|
||||
Name 128 "d"
|
||||
Name 154 "i"
|
||||
Name 172 "j"
|
||||
Name 222 "color"
|
||||
Name 228 "v"
|
||||
Name 229 "param"
|
||||
Name 231 "param"
|
||||
Name 233 "param"
|
||||
Name 239 "param"
|
||||
Name 241 "param"
|
||||
Name 243 "param"
|
||||
Decorate 59(local) PrecisionMedium
|
||||
Decorate 61(c) PrecisionMedium
|
||||
Decorate 72(f) PrecisionMedium
|
||||
Decorate 74(x) PrecisionMedium
|
||||
Decorate 74(x) Smooth
|
||||
Decorate 128(d) PrecisionMedium
|
||||
Decorate 154(i) PrecisionMedium
|
||||
Decorate 172(j) PrecisionMedium
|
||||
Decorate 222(color) PrecisionMedium
|
||||
Decorate 228(v) PrecisionMedium
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
10: TypeInt 32 1
|
||||
11: TypePointer Function 10(int)
|
||||
12: TypeFunction 8(fvec4) 9(ptr) 9(ptr) 11(ptr)
|
||||
37: 7(float) Constant 0
|
||||
38: 8(fvec4) ConstantComposite 37 37 37 37
|
||||
48: 7(float) Constant 1065353216
|
||||
49: 8(fvec4) ConstantComposite 48 48 48 48
|
||||
60: TypePointer UniformConstant 10(int)
|
||||
61(c): 60(ptr) Variable UniformConstant
|
||||
64: 10(int) Constant 1
|
||||
71: TypePointer Function 7(float)
|
||||
73: TypePointer Input 7(float)
|
||||
74(x): 73(ptr) Variable Input
|
||||
128(d): 60(ptr) Variable UniformConstant
|
||||
155: 10(int) Constant 0
|
||||
159: 10(int) Constant 10
|
||||
160: TypeBool
|
||||
173: 10(int) Constant 20
|
||||
177: 10(int) Constant 30
|
||||
183: 7(float) Constant 1120429670
|
||||
203: 7(float) Constant 1079739679
|
||||
221: TypePointer Output 7(float)
|
||||
222(color): 221(ptr) Variable Output
|
||||
227: TypePointer UniformConstant 8(fvec4)
|
||||
228(v): 227(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
59(local): 11(ptr) Variable Function
|
||||
72(f): 71(ptr) Variable Function
|
||||
154(i): 11(ptr) Variable Function
|
||||
172(j): 11(ptr) Variable Function
|
||||
229(param): 9(ptr) Variable Function
|
||||
231(param): 9(ptr) Variable Function
|
||||
233(param): 11(ptr) Variable Function
|
||||
239(param): 9(ptr) Variable Function
|
||||
241(param): 9(ptr) Variable Function
|
||||
243(param): 11(ptr) Variable Function
|
||||
62: 10(int) Load 61(c)
|
||||
Store 59(local) 62
|
||||
63: 10(int) Load 59(local)
|
||||
65: 10(int) IAdd 63 64
|
||||
Store 59(local) 65
|
||||
66: 10(int) Load 61(c)
|
||||
SelectionMerge 70 None
|
||||
Switch 66 69
|
||||
case 1: 67
|
||||
case 2: 68
|
||||
67: Label
|
||||
75: 7(float) Load 74(x)
|
||||
76: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 75
|
||||
Store 72(f) 76
|
||||
Branch 70
|
||||
68: Label
|
||||
78: 7(float) Load 74(x)
|
||||
79: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 78
|
||||
Store 72(f) 79
|
||||
Branch 70
|
||||
69: Label
|
||||
81: 7(float) Load 74(x)
|
||||
82: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 81
|
||||
Store 72(f) 82
|
||||
Branch 70
|
||||
70: Label
|
||||
84: 10(int) Load 61(c)
|
||||
SelectionMerge 88 None
|
||||
Switch 84 87
|
||||
case 1: 85
|
||||
case 2: 86
|
||||
85: Label
|
||||
89: 7(float) Load 74(x)
|
||||
90: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 89
|
||||
91: 7(float) Load 72(f)
|
||||
92: 7(float) FAdd 91 90
|
||||
Store 72(f) 92
|
||||
Branch 86
|
||||
86: Label
|
||||
93: 7(float) Load 74(x)
|
||||
94: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 93
|
||||
95: 7(float) Load 72(f)
|
||||
96: 7(float) FAdd 95 94
|
||||
Store 72(f) 96
|
||||
Branch 88
|
||||
87: Label
|
||||
98: 7(float) Load 74(x)
|
||||
99: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 98
|
||||
100: 7(float) Load 72(f)
|
||||
101: 7(float) FAdd 100 99
|
||||
Store 72(f) 101
|
||||
Branch 88
|
||||
88: Label
|
||||
103: 10(int) Load 61(c)
|
||||
SelectionMerge 106 None
|
||||
Switch 103 106
|
||||
case 1: 104
|
||||
case 2: 105
|
||||
104: Label
|
||||
107: 7(float) Load 74(x)
|
||||
108: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 107
|
||||
109: 7(float) Load 72(f)
|
||||
110: 7(float) FAdd 109 108
|
||||
Store 72(f) 110
|
||||
Branch 106
|
||||
105: Label
|
||||
112: 7(float) Load 74(x)
|
||||
113: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 112
|
||||
114: 7(float) Load 72(f)
|
||||
115: 7(float) FAdd 114 113
|
||||
Store 72(f) 115
|
||||
Branch 106
|
||||
106: Label
|
||||
118: 10(int) Load 61(c)
|
||||
SelectionMerge 122 None
|
||||
Switch 118 121
|
||||
case 1: 119
|
||||
case 2: 120
|
||||
119: Label
|
||||
123: 7(float) Load 74(x)
|
||||
124: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 123
|
||||
125: 7(float) Load 72(f)
|
||||
126: 7(float) FAdd 125 124
|
||||
Store 72(f) 126
|
||||
Branch 122
|
||||
120: Label
|
||||
129: 10(int) Load 128(d)
|
||||
SelectionMerge 132 None
|
||||
Switch 129 132
|
||||
case 1: 130
|
||||
case 2: 131
|
||||
130: Label
|
||||
133: 7(float) Load 74(x)
|
||||
134: 7(float) Load 74(x)
|
||||
135: 7(float) FMul 133 134
|
||||
136: 7(float) Load 74(x)
|
||||
137: 7(float) FMul 135 136
|
||||
138: 7(float) Load 72(f)
|
||||
139: 7(float) FAdd 138 137
|
||||
Store 72(f) 139
|
||||
Branch 132
|
||||
131: Label
|
||||
141: 7(float) Load 74(x)
|
||||
142: 7(float) Load 74(x)
|
||||
143: 7(float) FMul 141 142
|
||||
144: 7(float) Load 72(f)
|
||||
145: 7(float) FAdd 144 143
|
||||
Store 72(f) 145
|
||||
Branch 132
|
||||
132: Label
|
||||
Branch 122
|
||||
121: Label
|
||||
149: 7(float) Load 74(x)
|
||||
150: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 149
|
||||
151: 7(float) Load 72(f)
|
||||
152: 7(float) FAdd 151 150
|
||||
Store 72(f) 152
|
||||
Branch 122
|
||||
122: Label
|
||||
Store 154(i) 155
|
||||
Branch 156
|
||||
156: Label
|
||||
158: 10(int) Load 154(i)
|
||||
161: 160(bool) SLessThan 158 159
|
||||
LoopMerge 157 None
|
||||
BranchConditional 161 162 157
|
||||
162: Label
|
||||
163: 10(int) Load 61(c)
|
||||
SelectionMerge 167 None
|
||||
Switch 163 166
|
||||
case 1: 164
|
||||
case 2: 165
|
||||
164: Label
|
||||
168: 7(float) Load 74(x)
|
||||
169: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 168
|
||||
170: 7(float) Load 72(f)
|
||||
171: 7(float) FAdd 170 169
|
||||
Store 72(f) 171
|
||||
Store 172(j) 173
|
||||
Branch 174
|
||||
174: Label
|
||||
176: 10(int) Load 172(j)
|
||||
178: 160(bool) SLessThan 176 177
|
||||
LoopMerge 175 None
|
||||
BranchConditional 178 179 175
|
||||
179: Label
|
||||
180: 7(float) Load 72(f)
|
||||
181: 7(float) FAdd 180 48
|
||||
Store 72(f) 181
|
||||
182: 7(float) Load 72(f)
|
||||
184: 160(bool) FOrdLessThan 182 183
|
||||
SelectionMerge 186 None
|
||||
BranchConditional 184 185 186
|
||||
185: Label
|
||||
Branch 175
|
||||
186: Label
|
||||
188: 10(int) Load 172(j)
|
||||
189: 10(int) IAdd 188 64
|
||||
Store 172(j) 189
|
||||
Branch 174
|
||||
175: Label
|
||||
Branch 167
|
||||
165: Label
|
||||
191: 7(float) Load 74(x)
|
||||
192: 7(float) ExtInst 1(GLSL.std.450) 11(cos) 191
|
||||
193: 7(float) Load 72(f)
|
||||
194: 7(float) FAdd 193 192
|
||||
Store 72(f) 194
|
||||
Branch 167
|
||||
166: Label
|
||||
197: 7(float) Load 74(x)
|
||||
198: 7(float) ExtInst 1(GLSL.std.450) 12(tan) 197
|
||||
199: 7(float) Load 72(f)
|
||||
200: 7(float) FAdd 199 198
|
||||
Store 72(f) 200
|
||||
Branch 167
|
||||
167: Label
|
||||
202: 7(float) Load 72(f)
|
||||
204: 160(bool) FOrdLessThan 202 203
|
||||
SelectionMerge 206 None
|
||||
BranchConditional 204 205 206
|
||||
205: Label
|
||||
Branch 157
|
||||
206: Label
|
||||
208: 10(int) Load 154(i)
|
||||
209: 10(int) IAdd 208 64
|
||||
Store 154(i) 209
|
||||
Branch 156
|
||||
157: Label
|
||||
210: 10(int) Load 61(c)
|
||||
SelectionMerge 213 None
|
||||
Switch 210 213
|
||||
case 1: 211
|
||||
case 2: 212
|
||||
211: Label
|
||||
214: 7(float) Load 74(x)
|
||||
215: 7(float) ExtInst 1(GLSL.std.450) 10(sin) 214
|
||||
216: 7(float) Load 72(f)
|
||||
217: 7(float) FAdd 216 215
|
||||
Store 72(f) 217
|
||||
Branch 213
|
||||
212: Label
|
||||
Branch 213
|
||||
213: Label
|
||||
223: 7(float) Load 72(f)
|
||||
224: 10(int) Load 59(local)
|
||||
225: 7(float) ConvertSToF 224
|
||||
226: 7(float) FAdd 223 225
|
||||
Store 222(color) 226
|
||||
230: 8(fvec4) Load 228(v)
|
||||
Store 229(param) 230
|
||||
232: 8(fvec4) Load 228(v)
|
||||
Store 231(param) 232
|
||||
234: 10(int) Load 61(c)
|
||||
Store 233(param) 234
|
||||
235: 8(fvec4) FunctionCall 16(foo1(vf4;vf4;i1;) 229(param) 231(param) 233(param)
|
||||
236: 7(float) CompositeExtract 235 1
|
||||
237: 7(float) Load 222(color)
|
||||
238: 7(float) FAdd 237 236
|
||||
Store 222(color) 238
|
||||
240: 8(fvec4) Load 228(v)
|
||||
Store 239(param) 240
|
||||
242: 8(fvec4) Load 228(v)
|
||||
Store 241(param) 242
|
||||
244: 10(int) Load 61(c)
|
||||
Store 243(param) 244
|
||||
245: 8(fvec4) FunctionCall 21(foo2(vf4;vf4;i1;) 239(param) 241(param) 243(param)
|
||||
246: 7(float) CompositeExtract 245 2
|
||||
247: 7(float) Load 222(color)
|
||||
248: 7(float) FAdd 247 246
|
||||
Store 222(color) 248
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
16(foo1(vf4;vf4;i1;): 8(fvec4) Function None 12
|
||||
13(v1): 9(ptr) FunctionParameter
|
||||
14(v2): 9(ptr) FunctionParameter
|
||||
15(i1): 11(ptr) FunctionParameter
|
||||
17: Label
|
||||
23: 10(int) Load 15(i1)
|
||||
SelectionMerge 27 None
|
||||
Switch 23 27
|
||||
case 0: 24
|
||||
case 2: 25
|
||||
case 1: 25
|
||||
case 3: 26
|
||||
24: Label
|
||||
28: 8(fvec4) Load 13(v1)
|
||||
ReturnValue 28
|
||||
25: Label
|
||||
30: 8(fvec4) Load 14(v2)
|
||||
ReturnValue 30
|
||||
26: Label
|
||||
32: 8(fvec4) Load 13(v1)
|
||||
33: 8(fvec4) Load 14(v2)
|
||||
34: 8(fvec4) FMul 32 33
|
||||
ReturnValue 34
|
||||
27: Label
|
||||
ReturnValue 38
|
||||
FunctionEnd
|
||||
21(foo2(vf4;vf4;i1;): 8(fvec4) Function None 12
|
||||
18(v1): 9(ptr) FunctionParameter
|
||||
19(v2): 9(ptr) FunctionParameter
|
||||
20(i1): 11(ptr) FunctionParameter
|
||||
22: Label
|
||||
40: 10(int) Load 20(i1)
|
||||
SelectionMerge 45 None
|
||||
Switch 40 45
|
||||
case 0: 41
|
||||
case 2: 42
|
||||
case 1: 43
|
||||
case 3: 44
|
||||
41: Label
|
||||
46: 8(fvec4) Load 18(v1)
|
||||
ReturnValue 46
|
||||
42: Label
|
||||
ReturnValue 49
|
||||
43: Label
|
||||
51: 8(fvec4) Load 19(v2)
|
||||
ReturnValue 51
|
||||
44: Label
|
||||
53: 8(fvec4) Load 18(v1)
|
||||
54: 8(fvec4) Load 19(v2)
|
||||
55: 8(fvec4) FMul 53 54
|
||||
ReturnValue 55
|
||||
45: Label
|
||||
ReturnValue 38
|
||||
FunctionEnd
|
179
Test/baseResults/spv.swizzle.frag.out
Normal file
179
Test/baseResults/spv.swizzle.frag.out
Normal file
@ -0,0 +1,179 @@
|
||||
spv.swizzle.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 112
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "blendscale"
|
||||
Name 13 "w"
|
||||
Name 15 "u"
|
||||
Name 17 "w_dep"
|
||||
Name 19 "w_reorder"
|
||||
Name 21 "w2"
|
||||
Name 23 "w_flow"
|
||||
Name 30 "t"
|
||||
Name 49 "w_undef"
|
||||
Name 56 "p"
|
||||
Name 70 "gl_FragColor"
|
||||
Name 82 "c"
|
||||
Name 84 "rep"
|
||||
Name 111 "blend"
|
||||
Decorate 30(t) Smooth
|
||||
Decorate 70(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 111(blend) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypePointer Function 7(float)
|
||||
10: 7(float) Constant 1071971828
|
||||
11: TypeVector 7(float) 4
|
||||
12: TypePointer Function 11(fvec4)
|
||||
14: TypePointer UniformConstant 11(fvec4)
|
||||
15(u): 14(ptr) Variable UniformConstant
|
||||
28: TypeVector 7(float) 2
|
||||
29: TypePointer Input 28(fvec2)
|
||||
30(t): 29(ptr) Variable Input
|
||||
54: TypeBool
|
||||
55: TypePointer UniformConstant 54(bool)
|
||||
56(p): 55(ptr) Variable UniformConstant
|
||||
69: TypePointer Output 11(fvec4)
|
||||
70(gl_FragColor): 69(ptr) Variable Output
|
||||
81: TypePointer Function 28(fvec2)
|
||||
85: 7(float) Constant 0
|
||||
86: 7(float) Constant 1065353216
|
||||
87: 11(fvec4) ConstantComposite 85 85 85 86
|
||||
93: 7(float) Constant 3212836864
|
||||
104: 7(float) Constant 1079613850
|
||||
110: TypePointer UniformConstant 7(float)
|
||||
111(blend): 110(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(blendscale): 8(ptr) Variable Function
|
||||
13(w): 12(ptr) Variable Function
|
||||
17(w_dep): 12(ptr) Variable Function
|
||||
19(w_reorder): 12(ptr) Variable Function
|
||||
21(w2): 12(ptr) Variable Function
|
||||
23(w_flow): 12(ptr) Variable Function
|
||||
49(w_undef): 12(ptr) Variable Function
|
||||
82(c): 81(ptr) Variable Function
|
||||
84(rep): 12(ptr) Variable Function
|
||||
Store 9(blendscale) 10
|
||||
16: 11(fvec4) Load 15(u)
|
||||
Store 13(w) 16
|
||||
18: 11(fvec4) Load 15(u)
|
||||
Store 17(w_dep) 18
|
||||
20: 11(fvec4) Load 15(u)
|
||||
Store 19(w_reorder) 20
|
||||
22: 11(fvec4) Load 15(u)
|
||||
Store 21(w2) 22
|
||||
24: 11(fvec4) Load 15(u)
|
||||
Store 23(w_flow) 24
|
||||
25: 7(float) Load 9(blendscale)
|
||||
26: 11(fvec4) Load 19(w_reorder)
|
||||
27: 11(fvec4) CompositeInsert 25 26 2
|
||||
Store 19(w_reorder) 27
|
||||
31: 28(fvec2) Load 30(t)
|
||||
32: 11(fvec4) Load 13(w)
|
||||
33: 11(fvec4) VectorShuffle 32 31 0 5 2 4
|
||||
Store 13(w) 33
|
||||
34: 7(float) Load 9(blendscale)
|
||||
35: 11(fvec4) Load 19(w_reorder)
|
||||
36: 11(fvec4) CompositeInsert 34 35 0
|
||||
Store 19(w_reorder) 36
|
||||
37: 11(fvec4) Load 15(u)
|
||||
38: 11(fvec4) VectorShuffle 37 37 2 3 0 1
|
||||
Store 21(w2) 38
|
||||
39: 7(float) Load 9(blendscale)
|
||||
40: 11(fvec4) Load 19(w_reorder)
|
||||
41: 11(fvec4) CompositeInsert 39 40 1
|
||||
Store 19(w_reorder) 41
|
||||
42: 11(fvec4) Load 21(w2)
|
||||
43: 28(fvec2) VectorShuffle 42 42 0 2
|
||||
44: 11(fvec4) Load 17(w_dep)
|
||||
45: 11(fvec4) VectorShuffle 44 43 4 5 2 3
|
||||
Store 17(w_dep) 45
|
||||
46: 28(fvec2) Load 30(t)
|
||||
47: 11(fvec4) Load 17(w_dep)
|
||||
48: 11(fvec4) VectorShuffle 47 46 0 1 4 5
|
||||
Store 17(w_dep) 48
|
||||
50: 11(fvec4) Load 15(u)
|
||||
51: 28(fvec2) VectorShuffle 50 50 2 3
|
||||
52: 11(fvec4) Load 49(w_undef)
|
||||
53: 11(fvec4) VectorShuffle 52 51 4 5 2 3
|
||||
Store 49(w_undef) 53
|
||||
57: 54(bool) Load 56(p)
|
||||
SelectionMerge 59 None
|
||||
BranchConditional 57 58 64
|
||||
58: Label
|
||||
60: 28(fvec2) Load 30(t)
|
||||
61: 7(float) CompositeExtract 60 0
|
||||
62: 11(fvec4) Load 23(w_flow)
|
||||
63: 11(fvec4) CompositeInsert 61 62 0
|
||||
Store 23(w_flow) 63
|
||||
Branch 59
|
||||
64: Label
|
||||
65: 28(fvec2) Load 30(t)
|
||||
66: 7(float) CompositeExtract 65 1
|
||||
67: 11(fvec4) Load 23(w_flow)
|
||||
68: 11(fvec4) CompositeInsert 66 67 0
|
||||
Store 23(w_flow) 68
|
||||
Branch 59
|
||||
59: Label
|
||||
71: 11(fvec4) Load 19(w_reorder)
|
||||
72: 11(fvec4) Load 49(w_undef)
|
||||
73: 11(fvec4) Load 13(w)
|
||||
74: 11(fvec4) Load 21(w2)
|
||||
75: 11(fvec4) FMul 73 74
|
||||
76: 11(fvec4) Load 17(w_dep)
|
||||
77: 11(fvec4) FMul 75 76
|
||||
78: 11(fvec4) Load 23(w_flow)
|
||||
79: 11(fvec4) FMul 77 78
|
||||
80: 11(fvec4) ExtInst 1(GLSL.std.450) 36(mix) 71 72 79
|
||||
Store 70(gl_FragColor) 80
|
||||
83: 28(fvec2) Load 30(t)
|
||||
Store 82(c) 83
|
||||
Store 84(rep) 87
|
||||
88: 28(fvec2) Load 82(c)
|
||||
89: 7(float) CompositeExtract 88 0
|
||||
90: 54(bool) FOrdLessThan 89 85
|
||||
SelectionMerge 92 None
|
||||
BranchConditional 90 91 92
|
||||
91: Label
|
||||
94: 28(fvec2) Load 82(c)
|
||||
95: 7(float) CompositeExtract 94 0
|
||||
96: 7(float) FMul 95 93
|
||||
97: 28(fvec2) Load 82(c)
|
||||
98: 28(fvec2) CompositeInsert 96 97 0
|
||||
Store 82(c) 98
|
||||
Branch 92
|
||||
92: Label
|
||||
99: 28(fvec2) Load 82(c)
|
||||
100: 7(float) CompositeExtract 99 0
|
||||
101: 54(bool) FOrdLessThanEqual 100 86
|
||||
SelectionMerge 103 None
|
||||
BranchConditional 101 102 103
|
||||
102: Label
|
||||
105: 11(fvec4) Load 84(rep)
|
||||
106: 11(fvec4) CompositeInsert 104 105 0
|
||||
Store 84(rep) 106
|
||||
Branch 103
|
||||
103: Label
|
||||
107: 11(fvec4) Load 84(rep)
|
||||
108: 11(fvec4) Load 70(gl_FragColor)
|
||||
109: 11(fvec4) FAdd 108 107
|
||||
Store 70(gl_FragColor) 109
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
90
Test/baseResults/spv.test.frag.out
Normal file
90
Test/baseResults/spv.test.frag.out
Normal file
@ -0,0 +1,90 @@
|
||||
spv.test.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 54
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "blendscale"
|
||||
Name 13 "v"
|
||||
Name 16 "texSampler2D"
|
||||
Name 20 "t"
|
||||
Name 23 "scale"
|
||||
Name 30 "w"
|
||||
Name 33 "texSampler3D"
|
||||
Name 37 "coords"
|
||||
Name 43 "gl_FragColor"
|
||||
Name 46 "u"
|
||||
Name 49 "blend"
|
||||
Decorate 20(t) Smooth
|
||||
Decorate 37(coords) Smooth
|
||||
Decorate 43(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypePointer Function 7(float)
|
||||
10: 7(float) Constant 1071971828
|
||||
11: TypeVector 7(float) 4
|
||||
12: TypePointer Function 11(fvec4)
|
||||
14: TypeSampler7(float) 2D filter+texture
|
||||
15: TypePointer UniformConstant 14
|
||||
16(texSampler2D): 15(ptr) Variable UniformConstant
|
||||
18: TypeVector 7(float) 2
|
||||
19: TypePointer Input 18(fvec2)
|
||||
20(t): 19(ptr) Variable Input
|
||||
22: TypePointer UniformConstant 18(fvec2)
|
||||
23(scale): 22(ptr) Variable UniformConstant
|
||||
31: TypeSampler7(float) 3D filter+texture
|
||||
32: TypePointer UniformConstant 31
|
||||
33(texSampler3D): 32(ptr) Variable UniformConstant
|
||||
35: TypeVector 7(float) 3
|
||||
36: TypePointer Input 35(fvec3)
|
||||
37(coords): 36(ptr) Variable Input
|
||||
42: TypePointer Output 11(fvec4)
|
||||
43(gl_FragColor): 42(ptr) Variable Output
|
||||
45: TypePointer UniformConstant 11(fvec4)
|
||||
46(u): 45(ptr) Variable UniformConstant
|
||||
48: TypePointer UniformConstant 7(float)
|
||||
49(blend): 48(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(blendscale): 8(ptr) Variable Function
|
||||
13(v): 12(ptr) Variable Function
|
||||
30(w): 12(ptr) Variable Function
|
||||
Store 9(blendscale) 10
|
||||
17: 14 Load 16(texSampler2D)
|
||||
21: 18(fvec2) Load 20(t)
|
||||
24: 18(fvec2) Load 23(scale)
|
||||
25: 18(fvec2) FAdd 21 24
|
||||
26: 18(fvec2) Load 23(scale)
|
||||
27: 18(fvec2) FDiv 25 26
|
||||
28: 11(fvec4) TextureSample 17 27
|
||||
29: 11(fvec4) VectorShuffle 28 28 3 2 1 0
|
||||
Store 13(v) 29
|
||||
34: 31 Load 33(texSampler3D)
|
||||
38: 35(fvec3) Load 37(coords)
|
||||
39: 11(fvec4) TextureSample 34 38
|
||||
40: 11(fvec4) Load 13(v)
|
||||
41: 11(fvec4) FAdd 39 40
|
||||
Store 30(w) 41
|
||||
44: 11(fvec4) Load 30(w)
|
||||
47: 11(fvec4) Load 46(u)
|
||||
50: 7(float) Load 49(blend)
|
||||
51: 7(float) Load 9(blendscale)
|
||||
52: 7(float) FMul 50 51
|
||||
53: 11(fvec4) ExtInst 1(GLSL.std.450) 36(mix) 44 47 52
|
||||
Store 43(gl_FragColor) 53
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
10
Test/baseResults/spv.test.vert.out
Normal file
10
Test/baseResults/spv.test.vert.out
Normal file
@ -0,0 +1,10 @@
|
||||
spv.test.vert
|
||||
WARNING: 0:5: attribute deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: ftransform()
|
11
Test/baseResults/spv.texture.frag.out
Normal file
11
Test/baseResults/spv.texture.frag.out
Normal file
@ -0,0 +1,11 @@
|
||||
spv.texture.frag
|
||||
WARNING: 0:14: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:15: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
Missing functionality: texel fetch
|
186
Test/baseResults/spv.texture.vert.out
Normal file
186
Test/baseResults/spv.texture.vert.out
Normal file
@ -0,0 +1,186 @@
|
||||
spv.texture.vert
|
||||
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 132
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4
|
||||
Name 4 "main"
|
||||
Name 9 "lod"
|
||||
Name 11 "coords1D"
|
||||
Name 15 "coords3D"
|
||||
Name 21 "coords4D"
|
||||
Name 24 "color"
|
||||
Name 29 "texSampler1D"
|
||||
Name 39 "coords2D"
|
||||
Name 53 "texSampler2D"
|
||||
Name 74 "texSampler3D"
|
||||
Name 89 "texSamplerCube"
|
||||
Name 98 "shadowSampler1D"
|
||||
Name 107 "shadowSampler2D"
|
||||
Name 127 "gl_Position"
|
||||
Name 131 "gl_VertexID"
|
||||
Decorate 127(gl_Position) BuiltIn Position
|
||||
Decorate 131(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 131(gl_VertexID) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypePointer Function 7(float)
|
||||
10: 7(float) Constant 1077936128
|
||||
12: 7(float) Constant 1071971828
|
||||
13: TypeVector 7(float) 3
|
||||
14: TypePointer Function 13(fvec3)
|
||||
16: 7(float) Constant 1076753334
|
||||
17: 7(float) Constant 1079836148
|
||||
18: 13(fvec3) ConstantComposite 12 16 17
|
||||
19: TypeVector 7(float) 4
|
||||
20: TypePointer Function 19(fvec4)
|
||||
22: 7(float) Constant 1073741824
|
||||
23: 19(fvec4) ConstantComposite 12 16 17 22
|
||||
25: 7(float) Constant 0
|
||||
26: 19(fvec4) ConstantComposite 25 25 25 25
|
||||
27: TypeSampler7(float) 1D filter+texture
|
||||
28: TypePointer UniformConstant 27
|
||||
29(texSampler1D): 28(ptr) Variable UniformConstant
|
||||
37: TypeVector 7(float) 2
|
||||
38: TypePointer Input 37(fvec2)
|
||||
39(coords2D): 38(ptr) Variable Input
|
||||
51: TypeSampler7(float) 2D filter+texture
|
||||
52: TypePointer UniformConstant 51
|
||||
53(texSampler2D): 52(ptr) Variable UniformConstant
|
||||
72: TypeSampler7(float) 3D filter+texture
|
||||
73: TypePointer UniformConstant 72
|
||||
74(texSampler3D): 73(ptr) Variable UniformConstant
|
||||
87: TypeSampler7(float) Cube filter+texture
|
||||
88: TypePointer UniformConstant 87
|
||||
89(texSamplerCube): 88(ptr) Variable UniformConstant
|
||||
96: TypeSampler7(float) 1D filter+texture depth
|
||||
97: TypePointer UniformConstant 96
|
||||
98(shadowSampler1D): 97(ptr) Variable UniformConstant
|
||||
105: TypeSampler7(float) 2D filter+texture depth
|
||||
106: TypePointer UniformConstant 105
|
||||
107(shadowSampler2D): 106(ptr) Variable UniformConstant
|
||||
126: TypePointer Output 19(fvec4)
|
||||
127(gl_Position): 126(ptr) Variable Output
|
||||
129: TypeInt 32 1
|
||||
130: TypePointer Input 129(int)
|
||||
131(gl_VertexID): 130(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(lod): 8(ptr) Variable Function
|
||||
11(coords1D): 8(ptr) Variable Function
|
||||
15(coords3D): 14(ptr) Variable Function
|
||||
21(coords4D): 20(ptr) Variable Function
|
||||
24(color): 20(ptr) Variable Function
|
||||
Store 9(lod) 10
|
||||
Store 11(coords1D) 12
|
||||
Store 15(coords3D) 18
|
||||
Store 21(coords4D) 23
|
||||
Store 24(color) 26
|
||||
30: 27 Load 29(texSampler1D)
|
||||
31: 7(float) Load 11(coords1D)
|
||||
32: 7(float) Load 9(lod)
|
||||
33: 19(fvec4) TextureSampleLod 30 31 32
|
||||
34: 19(fvec4) Load 24(color)
|
||||
35: 19(fvec4) FAdd 34 33
|
||||
Store 24(color) 35
|
||||
36: 27 Load 29(texSampler1D)
|
||||
40: 37(fvec2) Load 39(coords2D)
|
||||
41: 7(float) Load 9(lod)
|
||||
42: 19(fvec4) TextureSampleProjLod 36 40 41
|
||||
43: 19(fvec4) Load 24(color)
|
||||
44: 19(fvec4) FAdd 43 42
|
||||
Store 24(color) 44
|
||||
45: 27 Load 29(texSampler1D)
|
||||
46: 19(fvec4) Load 21(coords4D)
|
||||
47: 7(float) Load 9(lod)
|
||||
48: 19(fvec4) TextureSampleProjLod 45 46 47
|
||||
49: 19(fvec4) Load 24(color)
|
||||
50: 19(fvec4) FAdd 49 48
|
||||
Store 24(color) 50
|
||||
54: 51 Load 53(texSampler2D)
|
||||
55: 37(fvec2) Load 39(coords2D)
|
||||
56: 7(float) Load 9(lod)
|
||||
57: 19(fvec4) TextureSampleLod 54 55 56
|
||||
58: 19(fvec4) Load 24(color)
|
||||
59: 19(fvec4) FAdd 58 57
|
||||
Store 24(color) 59
|
||||
60: 51 Load 53(texSampler2D)
|
||||
61: 13(fvec3) Load 15(coords3D)
|
||||
62: 7(float) Load 9(lod)
|
||||
63: 19(fvec4) TextureSampleProjLod 60 61 62
|
||||
64: 19(fvec4) Load 24(color)
|
||||
65: 19(fvec4) FAdd 64 63
|
||||
Store 24(color) 65
|
||||
66: 51 Load 53(texSampler2D)
|
||||
67: 19(fvec4) Load 21(coords4D)
|
||||
68: 7(float) Load 9(lod)
|
||||
69: 19(fvec4) TextureSampleProjLod 66 67 68
|
||||
70: 19(fvec4) Load 24(color)
|
||||
71: 19(fvec4) FAdd 70 69
|
||||
Store 24(color) 71
|
||||
75: 72 Load 74(texSampler3D)
|
||||
76: 13(fvec3) Load 15(coords3D)
|
||||
77: 7(float) Load 9(lod)
|
||||
78: 19(fvec4) TextureSampleLod 75 76 77
|
||||
79: 19(fvec4) Load 24(color)
|
||||
80: 19(fvec4) FAdd 79 78
|
||||
Store 24(color) 80
|
||||
81: 72 Load 74(texSampler3D)
|
||||
82: 19(fvec4) Load 21(coords4D)
|
||||
83: 7(float) Load 9(lod)
|
||||
84: 19(fvec4) TextureSampleProjLod 81 82 83
|
||||
85: 19(fvec4) Load 24(color)
|
||||
86: 19(fvec4) FAdd 85 84
|
||||
Store 24(color) 86
|
||||
90: 87 Load 89(texSamplerCube)
|
||||
91: 13(fvec3) Load 15(coords3D)
|
||||
92: 7(float) Load 9(lod)
|
||||
93: 19(fvec4) TextureSampleLod 90 91 92
|
||||
94: 19(fvec4) Load 24(color)
|
||||
95: 19(fvec4) FAdd 94 93
|
||||
Store 24(color) 95
|
||||
99: 96 Load 98(shadowSampler1D)
|
||||
100: 13(fvec3) Load 15(coords3D)
|
||||
101: 7(float) Load 9(lod)
|
||||
102: 19(fvec4) TextureSampleLod 99 100 101
|
||||
103: 19(fvec4) Load 24(color)
|
||||
104: 19(fvec4) FAdd 103 102
|
||||
Store 24(color) 104
|
||||
108: 105 Load 107(shadowSampler2D)
|
||||
109: 13(fvec3) Load 15(coords3D)
|
||||
110: 7(float) Load 9(lod)
|
||||
111: 19(fvec4) TextureSampleLod 108 109 110
|
||||
112: 19(fvec4) Load 24(color)
|
||||
113: 19(fvec4) FAdd 112 111
|
||||
Store 24(color) 113
|
||||
114: 96 Load 98(shadowSampler1D)
|
||||
115: 19(fvec4) Load 21(coords4D)
|
||||
116: 7(float) Load 9(lod)
|
||||
117: 19(fvec4) TextureSampleProjLod 114 115 116
|
||||
118: 19(fvec4) Load 24(color)
|
||||
119: 19(fvec4) FAdd 118 117
|
||||
Store 24(color) 119
|
||||
120: 105 Load 107(shadowSampler2D)
|
||||
121: 19(fvec4) Load 21(coords4D)
|
||||
122: 7(float) Load 9(lod)
|
||||
123: 19(fvec4) TextureSampleProjLod 120 121 122
|
||||
124: 19(fvec4) Load 24(color)
|
||||
125: 19(fvec4) FAdd 124 123
|
||||
Store 24(color) 125
|
||||
128: 19(fvec4) Load 24(color)
|
||||
Store 127(gl_Position) 128
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
347
Test/baseResults/spv.types.frag.out
Normal file
347
Test/baseResults/spv.types.frag.out
Normal file
@ -0,0 +1,347 @@
|
||||
spv.types.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 264
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "b"
|
||||
Name 11 "u_b"
|
||||
Name 13 "i_b"
|
||||
Name 18 "b2"
|
||||
Name 20 "u_b2"
|
||||
Name 23 "i_b2"
|
||||
Name 36 "b3"
|
||||
Name 38 "u_b3"
|
||||
Name 41 "i_b3"
|
||||
Name 60 "b4"
|
||||
Name 62 "u_b4"
|
||||
Name 65 "i_b4"
|
||||
Name 90 "i"
|
||||
Name 92 "u_i"
|
||||
Name 95 "i_i"
|
||||
Name 100 "i2"
|
||||
Name 102 "u_i2"
|
||||
Name 105 "i_i2"
|
||||
Name 110 "i3"
|
||||
Name 112 "u_i3"
|
||||
Name 115 "i_i3"
|
||||
Name 120 "i4"
|
||||
Name 122 "u_i4"
|
||||
Name 125 "i_i4"
|
||||
Name 130 "f"
|
||||
Name 132 "u_f"
|
||||
Name 135 "i_f"
|
||||
Name 140 "f2"
|
||||
Name 142 "u_f2"
|
||||
Name 145 "i_f2"
|
||||
Name 150 "f3"
|
||||
Name 152 "u_f3"
|
||||
Name 155 "i_f3"
|
||||
Name 160 "f4"
|
||||
Name 162 "u_f4"
|
||||
Name 165 "i_f4"
|
||||
Name 169 "gl_FragColor"
|
||||
Decorate 95(i_i) Flat
|
||||
Decorate 105(i_i2) Flat
|
||||
Decorate 115(i_i3) Flat
|
||||
Decorate 125(i_i4) Flat
|
||||
Decorate 135(i_f) Smooth
|
||||
Decorate 145(i_f2) Smooth
|
||||
Decorate 155(i_f3) Smooth
|
||||
Decorate 165(i_f4) Smooth
|
||||
Decorate 169(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeBool
|
||||
8: TypePointer Function 7(bool)
|
||||
10: TypePointer UniformConstant 7(bool)
|
||||
11(u_b): 10(ptr) Variable UniformConstant
|
||||
13(i_b): 10(ptr) Variable UniformConstant
|
||||
16: TypeVector 7(bool) 2
|
||||
17: TypePointer Function 16(bvec2)
|
||||
19: TypePointer UniformConstant 16(bvec2)
|
||||
20(u_b2): 19(ptr) Variable UniformConstant
|
||||
23(i_b2): 19(ptr) Variable UniformConstant
|
||||
34: TypeVector 7(bool) 3
|
||||
35: TypePointer Function 34(bvec3)
|
||||
37: TypePointer UniformConstant 34(bvec3)
|
||||
38(u_b3): 37(ptr) Variable UniformConstant
|
||||
41(i_b3): 37(ptr) Variable UniformConstant
|
||||
58: TypeVector 7(bool) 4
|
||||
59: TypePointer Function 58(bvec4)
|
||||
61: TypePointer UniformConstant 58(bvec4)
|
||||
62(u_b4): 61(ptr) Variable UniformConstant
|
||||
65(i_b4): 61(ptr) Variable UniformConstant
|
||||
88: TypeInt 32 1
|
||||
89: TypePointer Function 88(int)
|
||||
91: TypePointer UniformConstant 88(int)
|
||||
92(u_i): 91(ptr) Variable UniformConstant
|
||||
94: TypePointer Input 88(int)
|
||||
95(i_i): 94(ptr) Variable Input
|
||||
98: TypeVector 88(int) 2
|
||||
99: TypePointer Function 98(ivec2)
|
||||
101: TypePointer UniformConstant 98(ivec2)
|
||||
102(u_i2): 101(ptr) Variable UniformConstant
|
||||
104: TypePointer Input 98(ivec2)
|
||||
105(i_i2): 104(ptr) Variable Input
|
||||
108: TypeVector 88(int) 3
|
||||
109: TypePointer Function 108(ivec3)
|
||||
111: TypePointer UniformConstant 108(ivec3)
|
||||
112(u_i3): 111(ptr) Variable UniformConstant
|
||||
114: TypePointer Input 108(ivec3)
|
||||
115(i_i3): 114(ptr) Variable Input
|
||||
118: TypeVector 88(int) 4
|
||||
119: TypePointer Function 118(ivec4)
|
||||
121: TypePointer UniformConstant 118(ivec4)
|
||||
122(u_i4): 121(ptr) Variable UniformConstant
|
||||
124: TypePointer Input 118(ivec4)
|
||||
125(i_i4): 124(ptr) Variable Input
|
||||
128: TypeFloat 32
|
||||
129: TypePointer Function 128(float)
|
||||
131: TypePointer UniformConstant 128(float)
|
||||
132(u_f): 131(ptr) Variable UniformConstant
|
||||
134: TypePointer Input 128(float)
|
||||
135(i_f): 134(ptr) Variable Input
|
||||
138: TypeVector 128(float) 2
|
||||
139: TypePointer Function 138(fvec2)
|
||||
141: TypePointer UniformConstant 138(fvec2)
|
||||
142(u_f2): 141(ptr) Variable UniformConstant
|
||||
144: TypePointer Input 138(fvec2)
|
||||
145(i_f2): 144(ptr) Variable Input
|
||||
148: TypeVector 128(float) 3
|
||||
149: TypePointer Function 148(fvec3)
|
||||
151: TypePointer UniformConstant 148(fvec3)
|
||||
152(u_f3): 151(ptr) Variable UniformConstant
|
||||
154: TypePointer Input 148(fvec3)
|
||||
155(i_f3): 154(ptr) Variable Input
|
||||
158: TypeVector 128(float) 4
|
||||
159: TypePointer Function 158(fvec4)
|
||||
161: TypePointer UniformConstant 158(fvec4)
|
||||
162(u_f4): 161(ptr) Variable UniformConstant
|
||||
164: TypePointer Input 158(fvec4)
|
||||
165(i_f4): 164(ptr) Variable Input
|
||||
168: TypePointer Output 158(fvec4)
|
||||
169(gl_FragColor): 168(ptr) Variable Output
|
||||
261: 128(float) Constant 1065353216
|
||||
262: 158(fvec4) ConstantComposite 261 261 261 261
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(b): 8(ptr) Variable Function
|
||||
18(b2): 17(ptr) Variable Function
|
||||
36(b3): 35(ptr) Variable Function
|
||||
60(b4): 59(ptr) Variable Function
|
||||
90(i): 89(ptr) Variable Function
|
||||
100(i2): 99(ptr) Variable Function
|
||||
110(i3): 109(ptr) Variable Function
|
||||
120(i4): 119(ptr) Variable Function
|
||||
130(f): 129(ptr) Variable Function
|
||||
140(f2): 139(ptr) Variable Function
|
||||
150(f3): 149(ptr) Variable Function
|
||||
160(f4): 159(ptr) Variable Function
|
||||
170: 159(ptr) Variable Function
|
||||
12: 7(bool) Load 11(u_b)
|
||||
14: 7(bool) Load 13(i_b)
|
||||
15: 7(bool) LogicalAnd 12 14
|
||||
Store 9(b) 15
|
||||
21: 16(bvec2) Load 20(u_b2)
|
||||
22: 7(bool) CompositeExtract 21 0
|
||||
24: 16(bvec2) Load 23(i_b2)
|
||||
25: 7(bool) CompositeExtract 24 0
|
||||
26: 7(bool) LogicalAnd 22 25
|
||||
27: 16(bvec2) Load 20(u_b2)
|
||||
28: 7(bool) CompositeExtract 27 1
|
||||
29: 7(bool) LogicalAnd 26 28
|
||||
30: 16(bvec2) Load 23(i_b2)
|
||||
31: 7(bool) CompositeExtract 30 1
|
||||
32: 7(bool) LogicalAnd 29 31
|
||||
33: 16(bvec2) CompositeConstruct 32 32
|
||||
Store 18(b2) 33
|
||||
39: 34(bvec3) Load 38(u_b3)
|
||||
40: 7(bool) CompositeExtract 39 0
|
||||
42: 34(bvec3) Load 41(i_b3)
|
||||
43: 7(bool) CompositeExtract 42 0
|
||||
44: 7(bool) LogicalAnd 40 43
|
||||
45: 34(bvec3) Load 38(u_b3)
|
||||
46: 7(bool) CompositeExtract 45 1
|
||||
47: 7(bool) LogicalAnd 44 46
|
||||
48: 34(bvec3) Load 41(i_b3)
|
||||
49: 7(bool) CompositeExtract 48 1
|
||||
50: 7(bool) LogicalAnd 47 49
|
||||
51: 34(bvec3) Load 38(u_b3)
|
||||
52: 7(bool) CompositeExtract 51 2
|
||||
53: 7(bool) LogicalAnd 50 52
|
||||
54: 34(bvec3) Load 41(i_b3)
|
||||
55: 7(bool) CompositeExtract 54 2
|
||||
56: 7(bool) LogicalAnd 53 55
|
||||
57: 34(bvec3) CompositeConstruct 56 56 56
|
||||
Store 36(b3) 57
|
||||
63: 58(bvec4) Load 62(u_b4)
|
||||
64: 7(bool) CompositeExtract 63 0
|
||||
66: 58(bvec4) Load 65(i_b4)
|
||||
67: 7(bool) CompositeExtract 66 0
|
||||
68: 7(bool) LogicalAnd 64 67
|
||||
69: 58(bvec4) Load 62(u_b4)
|
||||
70: 7(bool) CompositeExtract 69 1
|
||||
71: 7(bool) LogicalAnd 68 70
|
||||
72: 58(bvec4) Load 65(i_b4)
|
||||
73: 7(bool) CompositeExtract 72 1
|
||||
74: 7(bool) LogicalAnd 71 73
|
||||
75: 58(bvec4) Load 62(u_b4)
|
||||
76: 7(bool) CompositeExtract 75 2
|
||||
77: 7(bool) LogicalAnd 74 76
|
||||
78: 58(bvec4) Load 65(i_b4)
|
||||
79: 7(bool) CompositeExtract 78 2
|
||||
80: 7(bool) LogicalAnd 77 79
|
||||
81: 58(bvec4) Load 62(u_b4)
|
||||
82: 7(bool) CompositeExtract 81 3
|
||||
83: 7(bool) LogicalAnd 80 82
|
||||
84: 58(bvec4) Load 65(i_b4)
|
||||
85: 7(bool) CompositeExtract 84 3
|
||||
86: 7(bool) LogicalAnd 83 85
|
||||
87: 58(bvec4) CompositeConstruct 86 86 86 86
|
||||
Store 60(b4) 87
|
||||
93: 88(int) Load 92(u_i)
|
||||
96: 88(int) Load 95(i_i)
|
||||
97: 88(int) IAdd 93 96
|
||||
Store 90(i) 97
|
||||
103: 98(ivec2) Load 102(u_i2)
|
||||
106: 98(ivec2) Load 105(i_i2)
|
||||
107: 98(ivec2) IAdd 103 106
|
||||
Store 100(i2) 107
|
||||
113: 108(ivec3) Load 112(u_i3)
|
||||
116: 108(ivec3) Load 115(i_i3)
|
||||
117: 108(ivec3) IAdd 113 116
|
||||
Store 110(i3) 117
|
||||
123: 118(ivec4) Load 122(u_i4)
|
||||
126: 118(ivec4) Load 125(i_i4)
|
||||
127: 118(ivec4) IAdd 123 126
|
||||
Store 120(i4) 127
|
||||
133: 128(float) Load 132(u_f)
|
||||
136: 128(float) Load 135(i_f)
|
||||
137: 128(float) FAdd 133 136
|
||||
Store 130(f) 137
|
||||
143: 138(fvec2) Load 142(u_f2)
|
||||
146: 138(fvec2) Load 145(i_f2)
|
||||
147: 138(fvec2) FAdd 143 146
|
||||
Store 140(f2) 147
|
||||
153: 148(fvec3) Load 152(u_f3)
|
||||
156: 148(fvec3) Load 155(i_f3)
|
||||
157: 148(fvec3) FAdd 153 156
|
||||
Store 150(f3) 157
|
||||
163: 158(fvec4) Load 162(u_f4)
|
||||
166: 158(fvec4) Load 165(i_f4)
|
||||
167: 158(fvec4) FAdd 163 166
|
||||
Store 160(f4) 167
|
||||
171: 7(bool) Load 9(b)
|
||||
172: 16(bvec2) Load 18(b2)
|
||||
173: 7(bool) CompositeExtract 172 0
|
||||
174: 7(bool) LogicalOr 171 173
|
||||
175: 16(bvec2) Load 18(b2)
|
||||
176: 7(bool) CompositeExtract 175 1
|
||||
177: 7(bool) LogicalOr 174 176
|
||||
178: 34(bvec3) Load 36(b3)
|
||||
179: 7(bool) CompositeExtract 178 0
|
||||
180: 7(bool) LogicalOr 177 179
|
||||
181: 34(bvec3) Load 36(b3)
|
||||
182: 7(bool) CompositeExtract 181 1
|
||||
183: 7(bool) LogicalOr 180 182
|
||||
184: 34(bvec3) Load 36(b3)
|
||||
185: 7(bool) CompositeExtract 184 2
|
||||
186: 7(bool) LogicalOr 183 185
|
||||
187: 58(bvec4) Load 60(b4)
|
||||
188: 7(bool) CompositeExtract 187 0
|
||||
189: 7(bool) LogicalOr 186 188
|
||||
190: 58(bvec4) Load 60(b4)
|
||||
191: 7(bool) CompositeExtract 190 1
|
||||
192: 7(bool) LogicalOr 189 191
|
||||
193: 58(bvec4) Load 60(b4)
|
||||
194: 7(bool) CompositeExtract 193 2
|
||||
195: 7(bool) LogicalOr 192 194
|
||||
196: 58(bvec4) Load 60(b4)
|
||||
197: 7(bool) CompositeExtract 196 3
|
||||
198: 7(bool) LogicalOr 195 197
|
||||
SelectionMerge 200 None
|
||||
BranchConditional 198 199 260
|
||||
199: Label
|
||||
201: 88(int) Load 90(i)
|
||||
202: 98(ivec2) Load 100(i2)
|
||||
203: 88(int) CompositeExtract 202 0
|
||||
204: 88(int) IAdd 201 203
|
||||
205: 98(ivec2) Load 100(i2)
|
||||
206: 88(int) CompositeExtract 205 1
|
||||
207: 88(int) IAdd 204 206
|
||||
208: 108(ivec3) Load 110(i3)
|
||||
209: 88(int) CompositeExtract 208 0
|
||||
210: 88(int) IAdd 207 209
|
||||
211: 108(ivec3) Load 110(i3)
|
||||
212: 88(int) CompositeExtract 211 1
|
||||
213: 88(int) IAdd 210 212
|
||||
214: 108(ivec3) Load 110(i3)
|
||||
215: 88(int) CompositeExtract 214 2
|
||||
216: 88(int) IAdd 213 215
|
||||
217: 118(ivec4) Load 120(i4)
|
||||
218: 88(int) CompositeExtract 217 0
|
||||
219: 88(int) IAdd 216 218
|
||||
220: 118(ivec4) Load 120(i4)
|
||||
221: 88(int) CompositeExtract 220 1
|
||||
222: 88(int) IAdd 219 221
|
||||
223: 118(ivec4) Load 120(i4)
|
||||
224: 88(int) CompositeExtract 223 2
|
||||
225: 88(int) IAdd 222 224
|
||||
226: 118(ivec4) Load 120(i4)
|
||||
227: 88(int) CompositeExtract 226 3
|
||||
228: 88(int) IAdd 225 227
|
||||
229: 128(float) ConvertSToF 228
|
||||
230: 128(float) Load 130(f)
|
||||
231: 128(float) FAdd 229 230
|
||||
232: 138(fvec2) Load 140(f2)
|
||||
233: 128(float) CompositeExtract 232 0
|
||||
234: 128(float) FAdd 231 233
|
||||
235: 138(fvec2) Load 140(f2)
|
||||
236: 128(float) CompositeExtract 235 1
|
||||
237: 128(float) FAdd 234 236
|
||||
238: 148(fvec3) Load 150(f3)
|
||||
239: 128(float) CompositeExtract 238 0
|
||||
240: 128(float) FAdd 237 239
|
||||
241: 148(fvec3) Load 150(f3)
|
||||
242: 128(float) CompositeExtract 241 1
|
||||
243: 128(float) FAdd 240 242
|
||||
244: 148(fvec3) Load 150(f3)
|
||||
245: 128(float) CompositeExtract 244 2
|
||||
246: 128(float) FAdd 243 245
|
||||
247: 158(fvec4) Load 160(f4)
|
||||
248: 128(float) CompositeExtract 247 0
|
||||
249: 128(float) FAdd 246 248
|
||||
250: 158(fvec4) Load 160(f4)
|
||||
251: 128(float) CompositeExtract 250 1
|
||||
252: 128(float) FAdd 249 251
|
||||
253: 158(fvec4) Load 160(f4)
|
||||
254: 128(float) CompositeExtract 253 2
|
||||
255: 128(float) FAdd 252 254
|
||||
256: 158(fvec4) Load 160(f4)
|
||||
257: 128(float) CompositeExtract 256 3
|
||||
258: 128(float) FAdd 255 257
|
||||
259: 158(fvec4) CompositeConstruct 258 258 258 258
|
||||
Store 170 259
|
||||
Branch 200
|
||||
260: Label
|
||||
Store 170 262
|
||||
Branch 200
|
||||
200: Label
|
||||
263: 158(fvec4) Load 170
|
||||
Store 169(gl_FragColor) 263
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
357
Test/baseResults/spv.uint.frag.out
Normal file
357
Test/baseResults/spv.uint.frag.out
Normal file
@ -0,0 +1,357 @@
|
||||
spv.uint.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 206
|
||||
|
||||
Source GLSL 300
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "count"
|
||||
Name 13 "u"
|
||||
Name 16 "t"
|
||||
Name 54 "shiftedii"
|
||||
Name 56 "shiftedui"
|
||||
Name 58 "shiftediu"
|
||||
Name 59 "shifteduu"
|
||||
Name 67 "c"
|
||||
Name 70 "usampler"
|
||||
Name 75 "tc"
|
||||
Name 108 "af"
|
||||
Name 112 "ab"
|
||||
Name 116 "ai"
|
||||
Name 151 "mask1"
|
||||
Name 153 "mask2"
|
||||
Name 155 "mask3"
|
||||
Name 159 "mask4"
|
||||
Name 199 "f"
|
||||
Name 201 "v"
|
||||
Name 203 "i"
|
||||
Name 205 "b"
|
||||
Decorate 9(count) PrecisionMedium
|
||||
Decorate 13(u) PrecisionMedium
|
||||
Decorate 16(t) PrecisionMedium
|
||||
Decorate 16(t) Flat
|
||||
Decorate 54(shiftedii) PrecisionMedium
|
||||
Decorate 56(shiftedui) PrecisionMedium
|
||||
Decorate 58(shiftediu) PrecisionMedium
|
||||
Decorate 59(shifteduu) PrecisionMedium
|
||||
Decorate 67(c) PrecisionMedium
|
||||
Decorate 70(usampler) PrecisionMedium
|
||||
Decorate 75(tc) PrecisionMedium
|
||||
Decorate 75(tc) Smooth
|
||||
Decorate 108(af) PrecisionMedium
|
||||
Decorate 116(ai) PrecisionMedium
|
||||
Decorate 151(mask1) PrecisionMedium
|
||||
Decorate 153(mask2) PrecisionMedium
|
||||
Decorate 155(mask3) PrecisionMedium
|
||||
Decorate 159(mask4) PrecisionMedium
|
||||
Decorate 199(f) PrecisionMedium
|
||||
Decorate 199(f) Smooth
|
||||
Decorate 199(f) NoStaticUse
|
||||
Decorate 201(v) PrecisionMedium
|
||||
Decorate 201(v) NoStaticUse
|
||||
Decorate 203(i) PrecisionMedium
|
||||
Decorate 203(i) NoStaticUse
|
||||
Decorate 205(b) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
10: 7(int) Constant 1
|
||||
11: TypeInt 32 0
|
||||
12: TypePointer Function 11(int)
|
||||
14: TypeVector 11(int) 2
|
||||
15: TypePointer Input 14(ivec2)
|
||||
16(t): 15(ptr) Variable Input
|
||||
19: 11(int) Constant 3
|
||||
21: TypeBool
|
||||
22: 21(bool) ConstantTrue
|
||||
25: 7(int) Constant 2
|
||||
30: 7(int) Constant 3
|
||||
33: 21(bool) ConstantFalse
|
||||
36: 7(int) Constant 5
|
||||
41: 7(int) Constant 7
|
||||
46: 7(int) Constant 11
|
||||
51: 7(int) Constant 13
|
||||
55: 7(int) Constant 4294967295
|
||||
57: 11(int) Constant 4194303
|
||||
65: TypeVector 11(int) 4
|
||||
66: TypePointer Output 65(ivec4)
|
||||
67(c): 66(ptr) Variable Output
|
||||
68: TypeSampler11(int) 2D filter+texture
|
||||
69: TypePointer UniformConstant 68
|
||||
70(usampler): 69(ptr) Variable UniformConstant
|
||||
72: TypeFloat 32
|
||||
73: TypeVector 72(float) 2
|
||||
74: TypePointer Input 73(fvec2)
|
||||
75(tc): 74(ptr) Variable Input
|
||||
85: 72(float) Constant 1065353216
|
||||
97: 72(float) Constant 1073741824
|
||||
98: 73(fvec2) ConstantComposite 97 97
|
||||
103: 11(int) Constant 4
|
||||
107: TypePointer Function 72(float)
|
||||
111: TypePointer Function 21(bool)
|
||||
114: 11(int) Constant 0
|
||||
122: 11(int) Constant 1
|
||||
133: 7(int) Constant 17
|
||||
138: 7(int) Constant 19
|
||||
143: 7(int) Constant 23
|
||||
148: 7(int) Constant 27
|
||||
152: 11(int) Constant 161
|
||||
154: 11(int) Constant 2576
|
||||
157: 7(int) Constant 4
|
||||
160: 11(int) Constant 2737
|
||||
198: TypePointer Input 72(float)
|
||||
199(f): 198(ptr) Variable Input
|
||||
200: TypePointer UniformConstant 65(ivec4)
|
||||
201(v): 200(ptr) Variable UniformConstant
|
||||
202: TypePointer UniformConstant 7(int)
|
||||
203(i): 202(ptr) Variable UniformConstant
|
||||
204: TypePointer UniformConstant 21(bool)
|
||||
205(b): 204(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(count): 8(ptr) Variable Function
|
||||
13(u): 12(ptr) Variable Function
|
||||
54(shiftedii): 8(ptr) Variable Function
|
||||
56(shiftedui): 12(ptr) Variable Function
|
||||
58(shiftediu): 8(ptr) Variable Function
|
||||
59(shifteduu): 12(ptr) Variable Function
|
||||
108(af): 107(ptr) Variable Function
|
||||
112(ab): 111(ptr) Variable Function
|
||||
116(ai): 8(ptr) Variable Function
|
||||
151(mask1): 12(ptr) Variable Function
|
||||
153(mask2): 12(ptr) Variable Function
|
||||
155(mask3): 12(ptr) Variable Function
|
||||
159(mask4): 12(ptr) Variable Function
|
||||
Store 9(count) 10
|
||||
17: 14(ivec2) Load 16(t)
|
||||
18: 11(int) CompositeExtract 17 1
|
||||
20: 11(int) IAdd 18 19
|
||||
Store 13(u) 20
|
||||
SelectionMerge 24 None
|
||||
BranchConditional 22 23 24
|
||||
23: Label
|
||||
26: 7(int) Load 9(count)
|
||||
27: 7(int) IMul 26 25
|
||||
Store 9(count) 27
|
||||
Branch 24
|
||||
24: Label
|
||||
SelectionMerge 29 None
|
||||
BranchConditional 22 28 29
|
||||
28: Label
|
||||
31: 7(int) Load 9(count)
|
||||
32: 7(int) IMul 31 30
|
||||
Store 9(count) 32
|
||||
Branch 29
|
||||
29: Label
|
||||
SelectionMerge 35 None
|
||||
BranchConditional 33 34 35
|
||||
34: Label
|
||||
37: 7(int) Load 9(count)
|
||||
38: 7(int) IMul 37 36
|
||||
Store 9(count) 38
|
||||
Branch 35
|
||||
35: Label
|
||||
SelectionMerge 40 None
|
||||
BranchConditional 22 39 40
|
||||
39: Label
|
||||
42: 7(int) Load 9(count)
|
||||
43: 7(int) IMul 42 41
|
||||
Store 9(count) 43
|
||||
Branch 40
|
||||
40: Label
|
||||
SelectionMerge 45 None
|
||||
BranchConditional 22 44 45
|
||||
44: Label
|
||||
47: 7(int) Load 9(count)
|
||||
48: 7(int) IMul 47 46
|
||||
Store 9(count) 48
|
||||
Branch 45
|
||||
45: Label
|
||||
SelectionMerge 50 None
|
||||
BranchConditional 33 49 50
|
||||
49: Label
|
||||
52: 7(int) Load 9(count)
|
||||
53: 7(int) IMul 52 51
|
||||
Store 9(count) 53
|
||||
Branch 50
|
||||
50: Label
|
||||
Store 54(shiftedii) 55
|
||||
Store 56(shiftedui) 57
|
||||
Store 58(shiftediu) 55
|
||||
Store 59(shifteduu) 57
|
||||
60: 7(int) Load 54(shiftedii)
|
||||
61: 7(int) Load 58(shiftediu)
|
||||
62: 21(bool) IEqual 60 61
|
||||
SelectionMerge 64 None
|
||||
BranchConditional 62 63 64
|
||||
63: Label
|
||||
71: 68 Load 70(usampler)
|
||||
76: 73(fvec2) Load 75(tc)
|
||||
77: 65(ivec4) TextureSample 71 76
|
||||
Store 67(c) 77
|
||||
Branch 64
|
||||
64: Label
|
||||
78: 11(int) Load 56(shiftedui)
|
||||
79: 11(int) Load 59(shifteduu)
|
||||
80: 21(bool) IEqual 78 79
|
||||
SelectionMerge 82 None
|
||||
BranchConditional 80 81 82
|
||||
81: Label
|
||||
83: 68 Load 70(usampler)
|
||||
84: 73(fvec2) Load 75(tc)
|
||||
86: 73(fvec2) CompositeConstruct 85 85
|
||||
87: 73(fvec2) FAdd 84 86
|
||||
88: 65(ivec4) TextureSample 83 87
|
||||
Store 67(c) 88
|
||||
Branch 82
|
||||
82: Label
|
||||
89: 7(int) Load 54(shiftedii)
|
||||
90: 11(int) Load 56(shiftedui)
|
||||
91: 7(int) Bitcast 90
|
||||
92: 21(bool) IEqual 89 91
|
||||
SelectionMerge 94 None
|
||||
BranchConditional 92 93 94
|
||||
93: Label
|
||||
95: 68 Load 70(usampler)
|
||||
96: 73(fvec2) Load 75(tc)
|
||||
99: 73(fvec2) FSub 96 98
|
||||
100: 65(ivec4) TextureSample 95 99
|
||||
Store 67(c) 100
|
||||
Branch 94
|
||||
94: Label
|
||||
101: 14(ivec2) Load 16(t)
|
||||
102: 11(int) CompositeExtract 101 0
|
||||
104: 21(bool) UGreaterThan 102 103
|
||||
SelectionMerge 106 None
|
||||
BranchConditional 104 105 106
|
||||
105: Label
|
||||
109: 11(int) Load 13(u)
|
||||
110: 72(float) ConvertUToF 109
|
||||
Store 108(af) 110
|
||||
113: 11(int) Load 13(u)
|
||||
115: 21(bool) INotEqual 113 114
|
||||
Store 112(ab) 115
|
||||
117: 11(int) Load 13(u)
|
||||
118: 7(int) Bitcast 117
|
||||
Store 116(ai) 118
|
||||
119: 72(float) Load 108(af)
|
||||
120: 11(int) ConvertFToU 119
|
||||
121: 21(bool) Load 112(ab)
|
||||
123: 11(int) Select 121 122 114
|
||||
124: 7(int) Load 116(ai)
|
||||
125: 11(int) Bitcast 124
|
||||
126: 7(int) Load 9(count)
|
||||
127: 11(int) Bitcast 126
|
||||
128: 65(ivec4) CompositeConstruct 120 123 125 127
|
||||
129: 65(ivec4) Load 67(c)
|
||||
130: 65(ivec4) IAdd 129 128
|
||||
Store 67(c) 130
|
||||
Branch 106
|
||||
106: Label
|
||||
SelectionMerge 132 None
|
||||
BranchConditional 22 131 132
|
||||
131: Label
|
||||
134: 7(int) Load 9(count)
|
||||
135: 7(int) IMul 134 133
|
||||
Store 9(count) 135
|
||||
Branch 132
|
||||
132: Label
|
||||
SelectionMerge 137 None
|
||||
BranchConditional 33 136 137
|
||||
136: Label
|
||||
139: 7(int) Load 9(count)
|
||||
140: 7(int) IMul 139 138
|
||||
Store 9(count) 140
|
||||
Branch 137
|
||||
137: Label
|
||||
SelectionMerge 142 None
|
||||
BranchConditional 22 141 142
|
||||
141: Label
|
||||
144: 7(int) Load 9(count)
|
||||
145: 7(int) IMul 144 143
|
||||
Store 9(count) 145
|
||||
Branch 142
|
||||
142: Label
|
||||
SelectionMerge 147 None
|
||||
BranchConditional 22 146 147
|
||||
146: Label
|
||||
149: 7(int) Load 9(count)
|
||||
150: 7(int) IMul 149 148
|
||||
Store 9(count) 150
|
||||
Branch 147
|
||||
147: Label
|
||||
Store 151(mask1) 152
|
||||
Store 153(mask2) 154
|
||||
156: 11(int) Load 151(mask1)
|
||||
158: 11(int) ShiftLeftLogical 156 157
|
||||
Store 155(mask3) 158
|
||||
Store 159(mask4) 160
|
||||
161: 11(int) Load 155(mask3)
|
||||
162: 11(int) Load 153(mask2)
|
||||
163: 21(bool) IEqual 161 162
|
||||
SelectionMerge 165 None
|
||||
BranchConditional 163 164 165
|
||||
164: Label
|
||||
166: 7(int) Load 9(count)
|
||||
167: 7(int) IMul 166 25
|
||||
Store 9(count) 167
|
||||
Branch 165
|
||||
165: Label
|
||||
168: 11(int) Load 155(mask3)
|
||||
169: 11(int) Load 151(mask1)
|
||||
170: 11(int) BitwiseAnd 168 169
|
||||
171: 21(bool) INotEqual 170 114
|
||||
SelectionMerge 173 None
|
||||
BranchConditional 171 172 173
|
||||
172: Label
|
||||
174: 7(int) Load 9(count)
|
||||
175: 7(int) IMul 174 30
|
||||
Store 9(count) 175
|
||||
Branch 173
|
||||
173: Label
|
||||
176: 11(int) Load 151(mask1)
|
||||
177: 11(int) Load 155(mask3)
|
||||
178: 11(int) BitwiseOr 176 177
|
||||
179: 11(int) Load 159(mask4)
|
||||
180: 21(bool) IEqual 178 179
|
||||
SelectionMerge 182 None
|
||||
BranchConditional 180 181 182
|
||||
181: Label
|
||||
183: 7(int) Load 9(count)
|
||||
184: 7(int) IMul 183 36
|
||||
Store 9(count) 184
|
||||
Branch 182
|
||||
182: Label
|
||||
185: 11(int) Load 151(mask1)
|
||||
186: 11(int) Load 159(mask4)
|
||||
187: 11(int) BitwiseXor 185 186
|
||||
188: 21(bool) IEqual 187 154
|
||||
SelectionMerge 190 None
|
||||
BranchConditional 188 189 190
|
||||
189: Label
|
||||
191: 7(int) Load 9(count)
|
||||
192: 7(int) IMul 191 41
|
||||
Store 9(count) 192
|
||||
Branch 190
|
||||
190: Label
|
||||
193: 7(int) Load 9(count)
|
||||
194: 11(int) Bitcast 193
|
||||
195: 65(ivec4) CompositeConstruct 194 194 194 194
|
||||
196: 65(ivec4) Load 67(c)
|
||||
197: 65(ivec4) IAdd 196 195
|
||||
Store 67(c) 197
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
82
Test/baseResults/spv.uniformArray.frag.out
Normal file
82
Test/baseResults/spv.uniformArray.frag.out
Normal file
@ -0,0 +1,82 @@
|
||||
spv.uniformArray.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 52
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "texColor"
|
||||
Name 15 "color"
|
||||
Name 26 "inColor"
|
||||
Name 36 "alpha"
|
||||
Name 47 "gl_FragColor"
|
||||
Name 51 "texSampler2D"
|
||||
Decorate 47(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 51(texSampler2D) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypeInt 32 0
|
||||
12: 11(int) Constant 6
|
||||
13: TypeArray 8(fvec4) 12
|
||||
14: TypePointer UniformConstant 13
|
||||
15(color): 14(ptr) Variable UniformConstant
|
||||
16: TypeInt 32 1
|
||||
17: 16(int) Constant 1
|
||||
18: TypePointer UniformConstant 8(fvec4)
|
||||
24: TypeVector 7(float) 3
|
||||
25: TypePointer UniformConstant 24(fvec3)
|
||||
26(inColor): 25(ptr) Variable UniformConstant
|
||||
33: 11(int) Constant 16
|
||||
34: TypeArray 7(float) 33
|
||||
35: TypePointer UniformConstant 34
|
||||
36(alpha): 35(ptr) Variable UniformConstant
|
||||
37: 16(int) Constant 12
|
||||
38: TypePointer UniformConstant 7(float)
|
||||
46: TypePointer Output 8(fvec4)
|
||||
47(gl_FragColor): 46(ptr) Variable Output
|
||||
49: TypeSampler7(float) 2D filter+texture
|
||||
50: TypePointer UniformConstant 49
|
||||
51(texSampler2D): 50(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(texColor): 9(ptr) Variable Function
|
||||
19: 18(ptr) AccessChain 15(color) 17
|
||||
20: 8(fvec4) Load 19
|
||||
21: 18(ptr) AccessChain 15(color) 17
|
||||
22: 8(fvec4) Load 21
|
||||
23: 8(fvec4) FAdd 20 22
|
||||
Store 10(texColor) 23
|
||||
27: 24(fvec3) Load 26(inColor)
|
||||
28: 8(fvec4) Load 10(texColor)
|
||||
29: 24(fvec3) VectorShuffle 28 28 0 1 2
|
||||
30: 24(fvec3) FAdd 29 27
|
||||
31: 8(fvec4) Load 10(texColor)
|
||||
32: 8(fvec4) VectorShuffle 31 30 4 5 6 3
|
||||
Store 10(texColor) 32
|
||||
39: 38(ptr) AccessChain 36(alpha) 37
|
||||
40: 7(float) Load 39
|
||||
41: 8(fvec4) Load 10(texColor)
|
||||
42: 7(float) CompositeExtract 41 3
|
||||
43: 7(float) FAdd 42 40
|
||||
44: 8(fvec4) Load 10(texColor)
|
||||
45: 8(fvec4) CompositeInsert 43 44 3
|
||||
Store 10(texColor) 45
|
||||
48: 8(fvec4) Load 10(texColor)
|
||||
Store 47(gl_FragColor) 48
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
147
Test/baseResults/spv.variableArrayIndex.frag.out
Normal file
147
Test/baseResults/spv.variableArrayIndex.frag.out
Normal file
@ -0,0 +1,147 @@
|
||||
spv.variableArrayIndex.frag
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 93
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 9 "iLocal"
|
||||
Name 11 "Count"
|
||||
Name 14 "lunarStruct1"
|
||||
MemberName 14(lunarStruct1) 0 "i"
|
||||
MemberName 14(lunarStruct1) 1 "f"
|
||||
Name 15 "lunarStruct2"
|
||||
MemberName 15(lunarStruct2) 0 "i"
|
||||
MemberName 15(lunarStruct2) 1 "f"
|
||||
MemberName 15(lunarStruct2) 2 "s1_1"
|
||||
Name 19 "lunarStruct3"
|
||||
MemberName 19(lunarStruct3) 0 "s2_1"
|
||||
MemberName 19(lunarStruct3) 1 "i"
|
||||
MemberName 19(lunarStruct3) 2 "f"
|
||||
MemberName 19(lunarStruct3) 3 "s1_1"
|
||||
Name 21 "foo3"
|
||||
Name 31 "scale"
|
||||
Name 35 "foo2"
|
||||
Name 37 "foo"
|
||||
Name 55 "gl_FragColor"
|
||||
Name 59 "sampler"
|
||||
Name 63 "coord"
|
||||
Name 69 "constructed"
|
||||
Decorate 55(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 63(coord) Smooth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeInt 32 1
|
||||
8: TypePointer Function 7(int)
|
||||
10: TypePointer UniformConstant 7(int)
|
||||
11(Count): 10(ptr) Variable UniformConstant
|
||||
13: TypeFloat 32
|
||||
14(lunarStruct1): TypeStruct 7(int) 13(float)
|
||||
15(lunarStruct2): TypeStruct 7(int) 13(float) 14(lunarStruct1)
|
||||
16: TypeInt 32 0
|
||||
17: 16(int) Constant 3
|
||||
18: TypeArray 15(lunarStruct2) 17
|
||||
19(lunarStruct3): TypeStruct 18 7(int) 13(float) 14(lunarStruct1)
|
||||
20: TypePointer UniformConstant 19(lunarStruct3)
|
||||
21(foo3): 20(ptr) Variable UniformConstant
|
||||
22: 7(int) Constant 0
|
||||
23: 7(int) Constant 1
|
||||
26: TypeBool
|
||||
30: TypePointer Function 13(float)
|
||||
32: 16(int) Constant 5
|
||||
33: TypeArray 15(lunarStruct2) 32
|
||||
34: TypePointer UniformConstant 33
|
||||
35(foo2): 34(ptr) Variable UniformConstant
|
||||
36: TypePointer UniformConstant 14(lunarStruct1)
|
||||
37(foo): 36(ptr) Variable UniformConstant
|
||||
42: 7(int) Constant 2
|
||||
47: TypePointer UniformConstant 13(float)
|
||||
53: TypeVector 13(float) 4
|
||||
54: TypePointer Output 53(fvec4)
|
||||
55(gl_FragColor): 54(ptr) Variable Output
|
||||
57: TypeSampler13(float) 2D filter+texture
|
||||
58: TypePointer UniformConstant 57
|
||||
59(sampler): 58(ptr) Variable UniformConstant
|
||||
61: TypeVector 13(float) 2
|
||||
62: TypePointer Input 61(fvec2)
|
||||
63(coord): 62(ptr) Variable Input
|
||||
67: TypeArray 61(fvec2) 17
|
||||
68: TypePointer Function 67
|
||||
73: 13(float) Constant 1065353216
|
||||
74: 13(float) Constant 1073741824
|
||||
75: 61(fvec2) ConstantComposite 73 74
|
||||
79: TypePointer Function 61(fvec2)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(iLocal): 8(ptr) Variable Function
|
||||
31(scale): 30(ptr) Variable Function
|
||||
69(constructed): 68(ptr) Variable Function
|
||||
12: 7(int) Load 11(Count)
|
||||
Store 9(iLocal) 12
|
||||
24: 10(ptr) AccessChain 21(foo3) 22 23 22
|
||||
25: 7(int) Load 24
|
||||
27: 26(bool) SGreaterThan 25 22
|
||||
SelectionMerge 29 None
|
||||
BranchConditional 27 28 50
|
||||
28: Label
|
||||
38: 10(ptr) AccessChain 37(foo) 22
|
||||
39: 7(int) Load 38
|
||||
40: 10(ptr) AccessChain 21(foo3) 22 39 22
|
||||
41: 7(int) Load 40
|
||||
43: 7(int) IAdd 41 42
|
||||
44: 7(int) Load 9(iLocal)
|
||||
45: 7(int) IAdd 44 23
|
||||
Store 9(iLocal) 45
|
||||
46: 7(int) IAdd 43 45
|
||||
48: 47(ptr) AccessChain 35(foo2) 46 42 23
|
||||
49: 13(float) Load 48
|
||||
Store 31(scale) 49
|
||||
Branch 29
|
||||
50: Label
|
||||
51: 47(ptr) AccessChain 21(foo3) 22 22 42 23
|
||||
52: 13(float) Load 51
|
||||
Store 31(scale) 52
|
||||
Branch 29
|
||||
29: Label
|
||||
56: 13(float) Load 31(scale)
|
||||
60: 57 Load 59(sampler)
|
||||
64: 61(fvec2) Load 63(coord)
|
||||
65: 53(fvec4) TextureSample 60 64
|
||||
66: 53(fvec4) VectorTimesScalar 56 65
|
||||
Store 55(gl_FragColor) 66
|
||||
70: 61(fvec2) Load 63(coord)
|
||||
71: 13(float) Load 31(scale)
|
||||
72: 61(fvec2) CompositeConstruct 71 71
|
||||
76: 67 CompositeConstruct 70 72 75
|
||||
Store 69(constructed) 76
|
||||
77: 10(ptr) AccessChain 37(foo) 22
|
||||
78: 7(int) Load 77
|
||||
80: 79(ptr) AccessChain 69(constructed) 78
|
||||
81: 61(fvec2) Load 80
|
||||
82: 10(ptr) AccessChain 37(foo) 22
|
||||
83: 7(int) Load 82
|
||||
84: 79(ptr) AccessChain 69(constructed) 83
|
||||
85: 61(fvec2) Load 84
|
||||
86: 13(float) CompositeExtract 81 0
|
||||
87: 13(float) CompositeExtract 81 1
|
||||
88: 13(float) CompositeExtract 85 0
|
||||
89: 13(float) CompositeExtract 85 1
|
||||
90: 53(fvec4) CompositeConstruct 86 87 88 89
|
||||
91: 53(fvec4) Load 55(gl_FragColor)
|
||||
92: 53(fvec4) FAdd 91 90
|
||||
Store 55(gl_FragColor) 92
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
99
Test/baseResults/spv.varyingArray.frag.out
Normal file
99
Test/baseResults/spv.varyingArray.frag.out
Normal file
@ -0,0 +1,99 @@
|
||||
spv.varyingArray.frag
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:6: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:8: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 61
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "texColor"
|
||||
Name 13 "texSampler2D"
|
||||
Name 19 "gl_TexCoord"
|
||||
Name 34 "color"
|
||||
Name 39 "alpha"
|
||||
Name 44 "gl_FragColor"
|
||||
Name 48 "foo"
|
||||
Decorate 19(gl_TexCoord) Smooth
|
||||
Decorate 34(color) Smooth
|
||||
Decorate 39(alpha) Smooth
|
||||
Decorate 44(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 48(foo) Smooth
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypeSampler7(float) 2D filter+texture
|
||||
12: TypePointer UniformConstant 11
|
||||
13(texSampler2D): 12(ptr) Variable UniformConstant
|
||||
15: TypeInt 32 0
|
||||
16: 15(int) Constant 6
|
||||
17: TypeArray 8(fvec4) 16
|
||||
18: TypePointer Input 17
|
||||
19(gl_TexCoord): 18(ptr) Variable Input
|
||||
20: TypeInt 32 1
|
||||
21: 20(int) Constant 4
|
||||
22: TypePointer Input 8(fvec4)
|
||||
25: 20(int) Constant 5
|
||||
29: TypeVector 7(float) 2
|
||||
34(color): 22(ptr) Variable Input
|
||||
38: TypePointer Input 7(float)
|
||||
39(alpha): 38(ptr) Variable Input
|
||||
43: TypePointer Output 8(fvec4)
|
||||
44(gl_FragColor): 43(ptr) Variable Output
|
||||
45: 15(int) Constant 3
|
||||
46: TypeArray 8(fvec4) 45
|
||||
47: TypePointer Input 46
|
||||
48(foo): 47(ptr) Variable Input
|
||||
49: 20(int) Constant 1
|
||||
52: 20(int) Constant 0
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(texColor): 9(ptr) Variable Function
|
||||
14: 11 Load 13(texSampler2D)
|
||||
23: 22(ptr) AccessChain 19(gl_TexCoord) 21
|
||||
24: 8(fvec4) Load 23
|
||||
26: 22(ptr) AccessChain 19(gl_TexCoord) 25
|
||||
27: 8(fvec4) Load 26
|
||||
28: 8(fvec4) FAdd 24 27
|
||||
30: 7(float) CompositeExtract 28 0
|
||||
31: 7(float) CompositeExtract 28 1
|
||||
32: 29(fvec2) CompositeConstruct 30 31
|
||||
33: 8(fvec4) TextureSample 14 32
|
||||
Store 10(texColor) 33
|
||||
35: 8(fvec4) Load 34(color)
|
||||
36: 8(fvec4) Load 10(texColor)
|
||||
37: 8(fvec4) FAdd 36 35
|
||||
Store 10(texColor) 37
|
||||
40: 7(float) Load 39(alpha)
|
||||
41: 8(fvec4) Load 10(texColor)
|
||||
42: 8(fvec4) CompositeInsert 40 41 3
|
||||
Store 10(texColor) 42
|
||||
50: 22(ptr) AccessChain 48(foo) 49
|
||||
51: 8(fvec4) Load 50
|
||||
53: 22(ptr) AccessChain 19(gl_TexCoord) 52
|
||||
54: 8(fvec4) Load 53
|
||||
55: 8(fvec4) FAdd 51 54
|
||||
56: 22(ptr) AccessChain 19(gl_TexCoord) 21
|
||||
57: 8(fvec4) Load 56
|
||||
58: 8(fvec4) FAdd 55 57
|
||||
59: 8(fvec4) Load 10(texColor)
|
||||
60: 8(fvec4) FAdd 58 59
|
||||
Store 44(gl_FragColor) 60
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
109
Test/baseResults/spv.varyingArrayIndirect.frag.out
Normal file
109
Test/baseResults/spv.varyingArrayIndirect.frag.out
Normal file
@ -0,0 +1,109 @@
|
||||
spv.varyingArrayIndirect.frag
|
||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:6: varying deprecated in version 130; may be removed in future release
|
||||
WARNING: 0:8: varying deprecated in version 130; may be removed in future release
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 69
|
||||
|
||||
Source GLSL 130
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "texColor"
|
||||
Name 13 "texSampler2D"
|
||||
Name 19 "userIn"
|
||||
Name 22 "b"
|
||||
Name 30 "gl_TexCoord"
|
||||
Name 31 "a"
|
||||
Name 45 "color"
|
||||
Name 50 "alpha"
|
||||
Name 55 "gl_FragColor"
|
||||
Decorate 19(userIn) Smooth
|
||||
Decorate 30(gl_TexCoord) Smooth
|
||||
Decorate 45(color) Smooth
|
||||
Decorate 50(alpha) Smooth
|
||||
Decorate 55(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypeSampler7(float) 2D filter+texture
|
||||
12: TypePointer UniformConstant 11
|
||||
13(texSampler2D): 12(ptr) Variable UniformConstant
|
||||
15: TypeInt 32 0
|
||||
16: 15(int) Constant 2
|
||||
17: TypeArray 8(fvec4) 16
|
||||
18: TypePointer Input 17
|
||||
19(userIn): 18(ptr) Variable Input
|
||||
20: TypeInt 32 1
|
||||
21: TypePointer UniformConstant 20(int)
|
||||
22(b): 21(ptr) Variable UniformConstant
|
||||
24: TypePointer Input 8(fvec4)
|
||||
27: 15(int) Constant 6
|
||||
28: TypeArray 8(fvec4) 27
|
||||
29: TypePointer Input 28
|
||||
30(gl_TexCoord): 29(ptr) Variable Input
|
||||
31(a): 21(ptr) Variable UniformConstant
|
||||
36: 20(int) Constant 5
|
||||
40: TypeVector 7(float) 2
|
||||
45(color): 24(ptr) Variable Input
|
||||
49: TypePointer Input 7(float)
|
||||
50(alpha): 49(ptr) Variable Input
|
||||
54: TypePointer Output 8(fvec4)
|
||||
55(gl_FragColor): 54(ptr) Variable Output
|
||||
56: 20(int) Constant 0
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(texColor): 9(ptr) Variable Function
|
||||
14: 11 Load 13(texSampler2D)
|
||||
23: 20(int) Load 22(b)
|
||||
25: 24(ptr) AccessChain 19(userIn) 23
|
||||
26: 8(fvec4) Load 25
|
||||
32: 20(int) Load 31(a)
|
||||
33: 24(ptr) AccessChain 30(gl_TexCoord) 32
|
||||
34: 8(fvec4) Load 33
|
||||
35: 8(fvec4) FAdd 26 34
|
||||
37: 24(ptr) AccessChain 30(gl_TexCoord) 36
|
||||
38: 8(fvec4) Load 37
|
||||
39: 8(fvec4) FAdd 35 38
|
||||
41: 7(float) CompositeExtract 39 0
|
||||
42: 7(float) CompositeExtract 39 1
|
||||
43: 40(fvec2) CompositeConstruct 41 42
|
||||
44: 8(fvec4) TextureSample 14 43
|
||||
Store 10(texColor) 44
|
||||
46: 8(fvec4) Load 45(color)
|
||||
47: 8(fvec4) Load 10(texColor)
|
||||
48: 8(fvec4) FAdd 47 46
|
||||
Store 10(texColor) 48
|
||||
51: 7(float) Load 50(alpha)
|
||||
52: 8(fvec4) Load 10(texColor)
|
||||
53: 8(fvec4) CompositeInsert 51 52 3
|
||||
Store 10(texColor) 53
|
||||
57: 24(ptr) AccessChain 30(gl_TexCoord) 56
|
||||
58: 8(fvec4) Load 57
|
||||
59: 20(int) Load 22(b)
|
||||
60: 24(ptr) AccessChain 30(gl_TexCoord) 59
|
||||
61: 8(fvec4) Load 60
|
||||
62: 8(fvec4) FAdd 58 61
|
||||
63: 8(fvec4) Load 10(texColor)
|
||||
64: 8(fvec4) FAdd 62 63
|
||||
65: 20(int) Load 31(a)
|
||||
66: 24(ptr) AccessChain 19(userIn) 65
|
||||
67: 8(fvec4) Load 66
|
||||
68: 8(fvec4) FAdd 64 67
|
||||
Store 55(gl_FragColor) 68
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
81
Test/baseResults/spv.voidFunction.frag.out
Normal file
81
Test/baseResults/spv.voidFunction.frag.out
Normal file
@ -0,0 +1,81 @@
|
||||
spv.voidFunction.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 43
|
||||
|
||||
Source GLSL 120
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 7 "foo("
|
||||
Name 9 "foo2("
|
||||
Name 13 "bar"
|
||||
Name 23 "outColor"
|
||||
Name 25 "bigColor"
|
||||
Name 36 "gl_FragColor"
|
||||
Name 40 "BaseColor"
|
||||
Name 42 "d"
|
||||
Decorate 36(gl_FragColor) BuiltIn FragColor
|
||||
Decorate 40(BaseColor) Smooth
|
||||
Decorate 40(BaseColor) NoStaticUse
|
||||
Decorate 42(d) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
11: TypeFloat 32
|
||||
12: TypePointer PrivateGlobal 11(float)
|
||||
13(bar): 12(ptr) Variable PrivateGlobal
|
||||
14: 11(float) Constant 1073741824
|
||||
16: 11(float) Constant 1065353216
|
||||
21: TypeVector 11(float) 4
|
||||
22: TypePointer Function 21(fvec4)
|
||||
24: TypePointer UniformConstant 21(fvec4)
|
||||
25(bigColor): 24(ptr) Variable UniformConstant
|
||||
35: TypePointer Output 21(fvec4)
|
||||
36(gl_FragColor): 35(ptr) Variable Output
|
||||
39: TypePointer Input 21(fvec4)
|
||||
40(BaseColor): 39(ptr) Variable Input
|
||||
41: TypePointer UniformConstant 11(float)
|
||||
42(d): 41(ptr) Variable UniformConstant
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
23(outColor): 22(ptr) Variable Function
|
||||
Store 13(bar) 14
|
||||
26: 21(fvec4) Load 25(bigColor)
|
||||
Store 23(outColor) 26
|
||||
27: 2 FunctionCall 7(foo()
|
||||
28: 2 FunctionCall 9(foo2()
|
||||
29: 11(float) Load 13(bar)
|
||||
30: 21(fvec4) Load 23(outColor)
|
||||
31: 11(float) CompositeExtract 30 0
|
||||
32: 11(float) FAdd 31 29
|
||||
33: 21(fvec4) Load 23(outColor)
|
||||
34: 21(fvec4) CompositeInsert 32 33 0
|
||||
Store 23(outColor) 34
|
||||
37: 21(fvec4) Load 23(outColor)
|
||||
Store 36(gl_FragColor) 37
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
7(foo(): 2 Function None 3
|
||||
8: Label
|
||||
15: 11(float) Load 13(bar)
|
||||
17: 11(float) FAdd 15 16
|
||||
Store 13(bar) 17
|
||||
Return
|
||||
FunctionEnd
|
||||
9(foo2(): 2 Function None 3
|
||||
10: Label
|
||||
19: 11(float) Load 13(bar)
|
||||
20: 11(float) FAdd 19 16
|
||||
Store 13(bar) 20
|
||||
Return
|
||||
FunctionEnd
|
64
Test/baseResults/spv.whileLoop.frag.out
Normal file
64
Test/baseResults/spv.whileLoop.frag.out
Normal file
@ -0,0 +1,64 @@
|
||||
spv.whileLoop.frag
|
||||
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 32
|
||||
|
||||
Source GLSL 110
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4
|
||||
Name 4 "main"
|
||||
Name 10 "color"
|
||||
Name 12 "BaseColor"
|
||||
Name 19 "d"
|
||||
Name 25 "bigColor"
|
||||
Name 30 "gl_FragColor"
|
||||
Decorate 12(BaseColor) Smooth
|
||||
Decorate 30(gl_FragColor) BuiltIn FragColor
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
7: TypeFloat 32
|
||||
8: TypeVector 7(float) 4
|
||||
9: TypePointer Function 8(fvec4)
|
||||
11: TypePointer Input 8(fvec4)
|
||||
12(BaseColor): 11(ptr) Variable Input
|
||||
18: TypePointer UniformConstant 7(float)
|
||||
19(d): 18(ptr) Variable UniformConstant
|
||||
21: TypeBool
|
||||
24: TypePointer UniformConstant 8(fvec4)
|
||||
25(bigColor): 24(ptr) Variable UniformConstant
|
||||
29: TypePointer Output 8(fvec4)
|
||||
30(gl_FragColor): 29(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
10(color): 9(ptr) Variable Function
|
||||
13: 8(fvec4) Load 12(BaseColor)
|
||||
Store 10(color) 13
|
||||
Branch 14
|
||||
14: Label
|
||||
16: 8(fvec4) Load 10(color)
|
||||
17: 7(float) CompositeExtract 16 0
|
||||
20: 7(float) Load 19(d)
|
||||
22: 21(bool) FOrdLessThan 17 20
|
||||
LoopMerge 15 None
|
||||
BranchConditional 22 23 15
|
||||
23: Label
|
||||
26: 8(fvec4) Load 25(bigColor)
|
||||
27: 8(fvec4) Load 10(color)
|
||||
28: 8(fvec4) FAdd 27 26
|
||||
Store 10(color) 28
|
||||
Branch 14
|
||||
15: Label
|
||||
31: 8(fvec4) Load 10(color)
|
||||
Store 30(gl_FragColor) 31
|
||||
Branch 6
|
||||
6: Label
|
||||
Return
|
||||
FunctionEnd
|
25
Test/spv.100ops.frag
Normal file
25
Test/spv.100ops.frag
Normal file
@ -0,0 +1,25 @@
|
||||
#version 100
|
||||
|
||||
lowp float foo();
|
||||
|
||||
uniform int low, high;
|
||||
|
||||
lowp float face1 = 11.0;
|
||||
|
||||
void main()
|
||||
{
|
||||
int z = 3;
|
||||
|
||||
if (2 * low + 1 < high)
|
||||
++z;
|
||||
|
||||
gl_FragColor = face1 * vec4(z) + foo();
|
||||
}
|
||||
|
||||
lowp float face2 = -2.0;
|
||||
|
||||
lowp float foo()
|
||||
{
|
||||
// testing if face2 initializer insert logic is correct in main
|
||||
return face2;
|
||||
}
|
119
Test/spv.130.frag
Normal file
119
Test/spv.130.frag
Normal file
@ -0,0 +1,119 @@
|
||||
#version 130
|
||||
#extension GL_ARB_texture_gather : enable
|
||||
|
||||
vec3 a;
|
||||
float b;
|
||||
|
||||
in vec4 i;
|
||||
out vec4 o;
|
||||
out ivec3 io;
|
||||
out uvec4 uo;
|
||||
|
||||
flat in float fflat;
|
||||
smooth in float fsmooth;
|
||||
noperspective in float fnop;
|
||||
|
||||
uniform samplerCube sampC;
|
||||
|
||||
in vec4 gl_Color;
|
||||
flat in vec4 gl_Color;
|
||||
|
||||
#extension GL_ARB_texture_rectangle : enable
|
||||
|
||||
uniform sampler2D samp2D;
|
||||
uniform sampler2DShadow samp2DS;
|
||||
uniform sampler2DRect samp2DR;
|
||||
uniform sampler2DArray samp2DA;
|
||||
|
||||
void bar3()
|
||||
{
|
||||
o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1));
|
||||
o += textureGatherOffset(samp2DA, vec3(0.3), ivec2(1));
|
||||
}
|
||||
|
||||
#extension GL_ARB_gpu_shader5 : enable
|
||||
|
||||
void bar4()
|
||||
{
|
||||
o += textureGatherOffset(samp2DR, vec2(0.3), ivec2(1));
|
||||
o += textureGatherOffset(samp2DS, vec2(0.3), 1.3, ivec2(1));
|
||||
o += textureGatherOffset(samp2D, vec2(0.3), ivec2(1), 2);
|
||||
}
|
||||
|
||||
#extension GL_ARB_texture_cube_map_array : enable
|
||||
|
||||
uniform samplerCubeArray Sca;
|
||||
uniform isamplerCubeArray Isca;
|
||||
uniform usamplerCubeArray Usca;
|
||||
uniform samplerCubeArrayShadow Scas;
|
||||
|
||||
void bar5()
|
||||
{
|
||||
io = textureSize(Sca, 3);
|
||||
o += texture(Sca, i);
|
||||
io += texture(Isca, i, 0.7).xyz;
|
||||
uo = texture(Usca, i);
|
||||
|
||||
o += textureLod(Sca, i, 1.7);
|
||||
a = textureSize(Scas, 3);
|
||||
float f = texture(Scas, i, i.y);
|
||||
ivec4 c = textureGrad(Isca, i, vec3(0.1), vec3(0.2));
|
||||
o += vec4(a, f + c);
|
||||
}
|
||||
|
||||
#extension GL_ARB_shading_language_420pack : enable
|
||||
|
||||
const int ai[3] = { 10, 23, 32 };
|
||||
uniform layout(binding=0) sampler2D bounds;
|
||||
|
||||
void bar6()
|
||||
{
|
||||
mat4x3 m43;
|
||||
float a1 = m43[3].y;
|
||||
//int a2 = m43.length(); // ERROR until shading_language_420pack is fully implemented
|
||||
const float b = 2 * a1;
|
||||
//a.x = gl_MinProgramTexelOffset + gl_MaxProgramTexelOffset; // ERROR until shading_language_420pack is fully implemented
|
||||
}
|
||||
|
||||
|
||||
#extension GL_ARB_texture_rectangle : enable
|
||||
#extension GL_ARB_shader_texture_lod : require
|
||||
|
||||
uniform sampler2D s2D;
|
||||
uniform sampler2DRect s2DR;
|
||||
uniform sampler2DRectShadow s2DRS;
|
||||
uniform sampler1D s1D;
|
||||
uniform sampler2DShadow s2DS;
|
||||
|
||||
uniform float f;
|
||||
uniform vec2 v2;
|
||||
uniform vec3 v3;
|
||||
uniform vec4 v4;
|
||||
|
||||
void bar7()
|
||||
{
|
||||
vec4 v;
|
||||
|
||||
o += texture2DRect(s2DR, v2);
|
||||
o += texture2DRectProj(s2DR, v3);
|
||||
o += texture2DRectProj(s2DR, v4);
|
||||
o += shadow2DRect(s2DRS, v3);
|
||||
o += shadow2DRectProj(s2DRS, v4);
|
||||
|
||||
o += texture1DGradARB(s1D, f, f, f);
|
||||
o += texture2DProjGradARB(s2D, v, v2, v2);
|
||||
o += shadow2DProjGradARB(s2DS, v, v2, v2);
|
||||
|
||||
o += shadow2DRectProjGradARB(s2DRS, v, v2, v2);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
o = textureGather(sampC, vec3(0.2));
|
||||
o.y = gl_ClipDistance[3];
|
||||
bar3();
|
||||
bar4();
|
||||
bar5();
|
||||
bar6();
|
||||
bar7();
|
||||
}
|
41
Test/spv.140.frag
Normal file
41
Test/spv.140.frag
Normal file
@ -0,0 +1,41 @@
|
||||
#version 140
|
||||
|
||||
in vec4 k;
|
||||
out vec4 o;
|
||||
|
||||
in float gl_ClipDistance[5];
|
||||
|
||||
layout(row_major) uniform;
|
||||
|
||||
uniform sampler2D samp2Da[3];
|
||||
|
||||
layout(std140) uniform bn {
|
||||
layout(row_major) mat4 matra[4];
|
||||
layout(column_major) mat4 matca[4];
|
||||
layout(row_major) mat4 matr;
|
||||
layout(column_major) mat4 matc;
|
||||
mat4 matrdef;
|
||||
};
|
||||
|
||||
uniform sampler2DRect sampR;
|
||||
uniform isamplerBuffer sampB;
|
||||
|
||||
float foo();
|
||||
|
||||
void main()
|
||||
{
|
||||
o.y = gl_ClipDistance[2];
|
||||
o.z = gl_ClipDistance[int(k)];
|
||||
o.w = float(textureSize(sampR) + textureSize(sampB)) / 100.0;
|
||||
o.z = foo();
|
||||
}
|
||||
|
||||
// Test extra-function initializers
|
||||
|
||||
float i1 = gl_FrontFacing ? -2.0 : 2.0;
|
||||
float i2 = 102;
|
||||
|
||||
float foo()
|
||||
{
|
||||
return i1 + i2;
|
||||
}
|
39
Test/spv.150.geom
Normal file
39
Test/spv.150.geom
Normal file
@ -0,0 +1,39 @@
|
||||
#version 150 core
|
||||
|
||||
layout(triangles_adjacency) in;
|
||||
layout(max_vertices = 30) out;
|
||||
layout(stream = 3, triangle_strip) out;
|
||||
|
||||
in fromVertex {
|
||||
in vec3 color;
|
||||
} fromV[];
|
||||
|
||||
out toFragment {
|
||||
out vec3 color;
|
||||
} toF;
|
||||
|
||||
out fromVertex {
|
||||
vec3 color;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
color = fromV[0].color;
|
||||
//?? gl_ClipDistance[3] = gl_in[1].gl_ClipDistance[2];
|
||||
gl_Position = gl_in[0].gl_Position;
|
||||
gl_PointSize = gl_in[3].gl_PointSize;
|
||||
gl_PrimitiveID = gl_PrimitiveIDIn;
|
||||
gl_Layer = 2;
|
||||
|
||||
EmitVertex();
|
||||
|
||||
color = 2 * fromV[0].color;
|
||||
gl_Position = 2.0 * gl_in[0].gl_Position;
|
||||
gl_PointSize = 2.0 * gl_in[3].gl_PointSize;
|
||||
gl_PrimitiveID = gl_PrimitiveIDIn + 1;
|
||||
gl_Layer = 3;
|
||||
|
||||
EmitVertex();
|
||||
|
||||
EndPrimitive();
|
||||
}
|
39
Test/spv.150.vert
Normal file
39
Test/spv.150.vert
Normal file
@ -0,0 +1,39 @@
|
||||
#version 150 core
|
||||
|
||||
in vec4 iv4;
|
||||
|
||||
uniform float ps;
|
||||
uniform int ui;
|
||||
|
||||
invariant gl_Position;
|
||||
|
||||
struct s1 {
|
||||
int a;
|
||||
int a2;
|
||||
vec4 b[3];
|
||||
};
|
||||
|
||||
struct s2 {
|
||||
int c;
|
||||
s1 d[4];
|
||||
};
|
||||
|
||||
out s2 s2out;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = iv4;
|
||||
gl_PointSize = ps;
|
||||
gl_ClipDistance[2] = iv4.x;
|
||||
int i;
|
||||
s2out.d[i].b[2].w = ps;
|
||||
|
||||
// test recovery from nonsupported built-ins
|
||||
//float n1 = noise1(2.4);
|
||||
//n1 = noise1(vec4(n1));
|
||||
//vec2 n2 = noise2(vec3(n1));
|
||||
//vec3 n3 = noise3(n2);
|
||||
//vec4 n4 = noise4(n3);
|
||||
}
|
||||
|
||||
out float gl_ClipDistance[4];
|
17
Test/spv.300BuiltIns.vert
Normal file
17
Test/spv.300BuiltIns.vert
Normal file
@ -0,0 +1,17 @@
|
||||
#version 300 es
|
||||
|
||||
in mediump float ps;
|
||||
|
||||
invariant gl_Position;
|
||||
|
||||
void main()
|
||||
{
|
||||
mediump int i = (4 * gl_VertexID - 10);
|
||||
mediump int j = (4 * gl_VertexID - 10);
|
||||
|
||||
gl_Position = vec4(ps);
|
||||
gl_Position *= float(i);
|
||||
|
||||
gl_PointSize = ps;
|
||||
gl_PointSize *= float(j);
|
||||
}
|
22
Test/spv.300layout.frag
Normal file
22
Test/spv.300layout.frag
Normal file
@ -0,0 +1,22 @@
|
||||
#version 300 es
|
||||
|
||||
precision mediump float;
|
||||
|
||||
in vec4 pos;
|
||||
in vec3 color;
|
||||
|
||||
layout(location = 7) out vec3 c;
|
||||
layout(LocatioN = 3) out vec4 p[2];
|
||||
|
||||
struct S {
|
||||
vec3 c;
|
||||
float f;
|
||||
};
|
||||
|
||||
in S s;
|
||||
|
||||
void main()
|
||||
{
|
||||
c = color + s.c;
|
||||
p[1] = pos * s.f;
|
||||
}
|
49
Test/spv.300layout.vert
Normal file
49
Test/spv.300layout.vert
Normal file
@ -0,0 +1,49 @@
|
||||
#version 300 es
|
||||
|
||||
layout(location = 7) in vec3 c;
|
||||
layout(LocatioN = 3) in vec4 p;
|
||||
layout(location = 9) in ivec2 aiv2;
|
||||
out vec4 pos;
|
||||
out vec3 color;
|
||||
flat out int iout;
|
||||
|
||||
layout(shared, column_major, row_major) uniform; // default is now shared and row_major
|
||||
|
||||
layout(std140) uniform Transform { // layout of this block is std140
|
||||
mat4 M1; // row_major
|
||||
layout(column_major) mat4 M2; // column major
|
||||
mat3 N1; // row_major
|
||||
int iuin;
|
||||
} tblock;
|
||||
|
||||
uniform T2 { // layout of this block is shared
|
||||
bool b;
|
||||
mat4 t2m;
|
||||
};
|
||||
|
||||
layout(column_major) uniform T3 { // shared and column_major
|
||||
mat4 M3; // column_major
|
||||
layout(row_major) mat4 M4; // row major
|
||||
mat2x3 N2; // column_major
|
||||
uvec3 uv3a[4];
|
||||
};
|
||||
|
||||
uniform uint uiuin;
|
||||
|
||||
struct S {
|
||||
vec3 c;
|
||||
float f;
|
||||
};
|
||||
|
||||
out S s;
|
||||
|
||||
void main()
|
||||
{
|
||||
pos = p * (tblock.M1 + tblock.M2 + M4 + M3 + t2m);
|
||||
color = c * tblock.N1;
|
||||
iout = tblock.iuin + int(uiuin) + aiv2.y;
|
||||
s.c = c;
|
||||
s.f = p.x;
|
||||
if (N2[1] != vec3(1.0) || uv3a[2] != uvec3(5))
|
||||
++s.c;
|
||||
}
|
49
Test/spv.300layoutp.vert
Normal file
49
Test/spv.300layoutp.vert
Normal file
@ -0,0 +1,49 @@
|
||||
#version 300 es
|
||||
|
||||
layout(location = 7) in vec3 c;
|
||||
layout(LocatioN = 3) in vec4 p;
|
||||
layout(location = 9) in ivec2 aiv2;
|
||||
out vec4 pos;
|
||||
out vec3 color;
|
||||
flat out int iout;
|
||||
|
||||
layout(shared, column_major, row_major) uniform; // default is now shared and row_major
|
||||
|
||||
layout(std140) uniform Transform { // layout of this block is std140
|
||||
mat4 M1; // row_major
|
||||
layout(column_major) mat4 M2; // column major
|
||||
mat3 N1; // row_major
|
||||
int iuin;
|
||||
} tblock;
|
||||
|
||||
uniform T2 { // layout of this block is shared
|
||||
bool b;
|
||||
mat4 t2m;
|
||||
};
|
||||
|
||||
layout(column_major) uniform T3 { // shared and column_major
|
||||
mat4 M3; // column_major
|
||||
layout(row_major) mat4 M4; // row major
|
||||
mat2x3 N2; // column_major
|
||||
uvec3 uv3a[4];
|
||||
};
|
||||
|
||||
uniform uint uiuin;
|
||||
|
||||
struct S {
|
||||
vec3 c;
|
||||
float f;
|
||||
};
|
||||
|
||||
out S s;
|
||||
|
||||
void main()
|
||||
{
|
||||
pos = p * (tblock.M1 * tblock.M2 * M4 * M3 * t2m);
|
||||
color = c * tblock.N1;
|
||||
iout = tblock.iuin + int(uiuin) + aiv2.y;
|
||||
s.c = c;
|
||||
s.f = p.x;
|
||||
if (N2[1] != vec3(1.0) || uv3a[2] != uvec3(5))
|
||||
++s.c;
|
||||
}
|
37
Test/spv.310.comp
Normal file
37
Test/spv.310.comp
Normal file
@ -0,0 +1,37 @@
|
||||
#version 310 es
|
||||
|
||||
precision highp float;
|
||||
|
||||
layout (local_size_x = 16, local_size_y = 32, local_size_z = 4) in;
|
||||
|
||||
shared float s;
|
||||
shared int i;
|
||||
|
||||
buffer outb {
|
||||
float f;
|
||||
float g;
|
||||
float h;
|
||||
vec3 uns[]; // this makes it look like the "second" set of 3 floats in a struct, which LLVM
|
||||
// takes advantage of when optimizing, giving confusing results, like thinking
|
||||
// &outbname.uns[18].x == &outbname[9].uns.x
|
||||
} outbname;
|
||||
|
||||
buffer outbna {
|
||||
int k;
|
||||
vec4 na;
|
||||
} outbnamena;
|
||||
|
||||
buffer outs {
|
||||
vec4 va[];
|
||||
} outnames;
|
||||
|
||||
void main()
|
||||
{
|
||||
barrier();
|
||||
outbname.f = s;
|
||||
outbnamena.na = vec4(s);
|
||||
s = outbname.uns[18].x; // TODO: see note above
|
||||
//outbname.uns[17] = vec3(3.0); // TODO: see note above, this one bitcasts, which isn't handled
|
||||
outbname.uns[i] = vec3(s);
|
||||
outnames.va[gl_LocalInvocationID.x] = vec4(s);
|
||||
}
|
26
Test/spv.330.geom
Normal file
26
Test/spv.330.geom
Normal file
@ -0,0 +1,26 @@
|
||||
#version 330 core
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
in gl_PerVertex
|
||||
{
|
||||
float gl_ClipDistance[1];
|
||||
vec4 gl_Position;
|
||||
} gl_in[];
|
||||
|
||||
out gl_PerVertex
|
||||
{
|
||||
vec4 gl_Position;
|
||||
float gl_ClipDistance[1];
|
||||
};
|
||||
|
||||
layout( triangles ) in;
|
||||
layout( triangle_strip, max_vertices = 3 ) out;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 v;
|
||||
gl_Position = gl_in[1].gl_Position;
|
||||
gl_ClipDistance[0] = gl_in[1].gl_ClipDistance[0];
|
||||
EmitVertex();
|
||||
EndPrimitive();
|
||||
}
|
42
Test/spv.400.frag
Normal file
42
Test/spv.400.frag
Normal file
@ -0,0 +1,42 @@
|
||||
#version 400 core
|
||||
|
||||
in vec2 c2D;
|
||||
flat in int i;
|
||||
out vec4 outp;
|
||||
out ivec4 ioutp;
|
||||
out uvec4 uoutp;
|
||||
uniform sampler2D arrayedSampler[5];
|
||||
uniform usampler2DRect samp2dr;
|
||||
uniform isampler2DArray isamp2DA;
|
||||
uniform sampler2DRectShadow u2drs;
|
||||
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
layout(location = 6) in vec4 vl2;
|
||||
|
||||
void foo23()
|
||||
{
|
||||
const ivec2[3] offsets = ivec2[3](ivec2(1,2), ivec2(3,4), ivec2(15,16));
|
||||
|
||||
outp.x += textureProjGradOffset(u2drs, outp, vec2(0.0), vec2(0.0), offsets[1]);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 v;
|
||||
v = texture(arrayedSampler[i], c2D);
|
||||
outp.x = gl_ClipDistance[1];
|
||||
outp.yzw = v.yzw;
|
||||
|
||||
ivec2 offsets[4];
|
||||
const ivec2 constOffsets[4] = ivec2[4](ivec2(1,2), ivec2(3,4), ivec2(15,16), ivec2(-2,0));
|
||||
uoutp = textureGatherOffsets(samp2dr, c2D, constOffsets, 2);
|
||||
outp += textureGather(arrayedSampler[0], c2D);
|
||||
ioutp = textureGatherOffset(isamp2DA, vec3(0.1), ivec2(1), 3);
|
||||
ioutp += textureGatherOffset(isamp2DA, vec3(0.1), ivec2(1), 1+2);
|
||||
ioutp += textureGatherOffset(isamp2DA, vec3(0.1), ivec2(i));
|
||||
|
||||
outp += gl_FragCoord + vl2;
|
||||
foo23();
|
||||
}
|
||||
|
43
Test/spv.400.tesc
Normal file
43
Test/spv.400.tesc
Normal file
@ -0,0 +1,43 @@
|
||||
#version 400 core
|
||||
|
||||
layout(vertices = 4) out;
|
||||
int outa[gl_out.length()];
|
||||
|
||||
patch out vec4 patchOut;
|
||||
|
||||
void main()
|
||||
{
|
||||
barrier();
|
||||
|
||||
int a = gl_MaxTessControlInputComponents +
|
||||
gl_MaxTessControlOutputComponents +
|
||||
gl_MaxTessControlTextureImageUnits +
|
||||
gl_MaxTessControlUniformComponents +
|
||||
gl_MaxTessControlTotalOutputComponents;
|
||||
|
||||
vec4 p = gl_in[1].gl_Position;
|
||||
float ps = gl_in[1].gl_PointSize;
|
||||
float cd = gl_in[1].gl_ClipDistance[2];
|
||||
|
||||
int pvi = gl_PatchVerticesIn;
|
||||
int pid = gl_PrimitiveID;
|
||||
int iid = gl_InvocationID;
|
||||
|
||||
gl_out[1].gl_Position = p;
|
||||
gl_out[1].gl_PointSize = ps;
|
||||
gl_out[1].gl_ClipDistance[1] = cd;
|
||||
|
||||
gl_TessLevelOuter[3] = 3.2;
|
||||
gl_TessLevelInner[1] = 1.3;
|
||||
}
|
||||
|
||||
in vec2 inb[];
|
||||
in vec2 ind[gl_MaxPatchVertices];
|
||||
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
layout(location = 3) in vec4 ivla[];
|
||||
layout(location = 4) in vec4 ivlb[];
|
||||
|
||||
layout(location = 3) out vec4 ovla[];
|
||||
layout(location = 4) out vec4 ovlb[];
|
52
Test/spv.400.tese
Normal file
52
Test/spv.400.tese
Normal file
@ -0,0 +1,52 @@
|
||||
#version 400 core
|
||||
|
||||
layout(triangles, ccw) in;
|
||||
|
||||
layout(fractional_odd_spacing) in;
|
||||
|
||||
layout(point_mode) in;
|
||||
|
||||
patch in vec4 patchIn;
|
||||
|
||||
void main()
|
||||
{
|
||||
int a = gl_MaxTessEvaluationInputComponents +
|
||||
gl_MaxTessEvaluationOutputComponents +
|
||||
gl_MaxTessEvaluationTextureImageUnits +
|
||||
gl_MaxTessEvaluationUniformComponents +
|
||||
gl_MaxTessPatchComponents +
|
||||
gl_MaxPatchVertices +
|
||||
gl_MaxTessGenLevel;
|
||||
|
||||
vec4 p = gl_in[1].gl_Position;
|
||||
float ps = gl_in[1].gl_PointSize;
|
||||
float cd = gl_in[1].gl_ClipDistance[2];
|
||||
|
||||
int pvi = gl_PatchVerticesIn;
|
||||
int pid = gl_PrimitiveID;
|
||||
vec3 tc = gl_TessCoord;
|
||||
float tlo = gl_TessLevelOuter[3];
|
||||
float tli = gl_TessLevelInner[1];
|
||||
|
||||
gl_Position = p;
|
||||
gl_PointSize = ps;
|
||||
gl_ClipDistance[2] = cd;
|
||||
}
|
||||
|
||||
#extension GL_ARB_separate_shader_objects : enable
|
||||
|
||||
in vec2 inb[];
|
||||
in vec2 ind[gl_MaxPatchVertices];
|
||||
|
||||
in testblb {
|
||||
int f;
|
||||
} blb[];
|
||||
|
||||
in testbld {
|
||||
int f;
|
||||
} bld[gl_MaxPatchVertices];
|
||||
|
||||
layout(location = 23) in vec4 ivla[];
|
||||
layout(location = 24) in vec4 ivlb[];
|
||||
|
||||
layout(location = 23) out vec4 ovla[2];
|
43
Test/spv.420.geom
Normal file
43
Test/spv.420.geom
Normal file
@ -0,0 +1,43 @@
|
||||
#version 420 core
|
||||
|
||||
layout(triangles) in;
|
||||
|
||||
in gl_PerVertex {
|
||||
float gl_PointSize;
|
||||
} gl_in[];
|
||||
|
||||
out gl_PerVertex {
|
||||
float gl_PointSize;
|
||||
};
|
||||
|
||||
layout(line_strip) out;
|
||||
layout(max_vertices = 127) out;
|
||||
layout(invocations = 4) in;
|
||||
|
||||
uniform sampler2D s2D;
|
||||
in vec2 coord[];
|
||||
uniform vec4 v4;
|
||||
uniform int i;
|
||||
|
||||
void main()
|
||||
{
|
||||
float p = gl_in[1].gl_PointSize;
|
||||
gl_PointSize = p;
|
||||
gl_ViewportIndex = 7;
|
||||
|
||||
EmitStreamVertex(1);
|
||||
EndStreamPrimitive(0);
|
||||
EmitVertex();
|
||||
EndPrimitive();
|
||||
int id = gl_InvocationID;
|
||||
|
||||
const ivec2 offsets[5] =
|
||||
{
|
||||
ivec2(0,1),
|
||||
ivec2(1,-2),
|
||||
ivec2(0,3),
|
||||
ivec2(-3,0),
|
||||
ivec2(2,1)
|
||||
};
|
||||
vec4 v = textureGatherOffset(s2D, coord[0], offsets[i].xy);
|
||||
}
|
32
Test/spv.430.vert
Normal file
32
Test/spv.430.vert
Normal file
@ -0,0 +1,32 @@
|
||||
#version 430 core
|
||||
|
||||
layout(location = 4) uniform vec4 uv4;
|
||||
|
||||
out gl_PerVertex {
|
||||
float gl_ClipDistance[];
|
||||
};
|
||||
|
||||
const float cx = 4.20;
|
||||
const float dx = 4.20;
|
||||
in vec4 bad[10];
|
||||
highp in vec4 badorder;
|
||||
out invariant vec4 badorder2;
|
||||
out flat vec4 badorder3;
|
||||
|
||||
uniform float f;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_ClipDistance[2] = 3.7;
|
||||
|
||||
if (bad[0].x == cx.x)
|
||||
badorder3 = bad[0];
|
||||
|
||||
gl_ClipDistance[0] = f.x;
|
||||
}
|
||||
|
||||
layout(binding = 3) uniform boundblock { int aoeu; } boundInst;
|
||||
layout(binding = 7) uniform anonblock { int aoeu; } ;
|
||||
layout(binding = 4) uniform sampler2D sampb1;
|
||||
layout(binding = 5) uniform sampler2D sampb2[10];
|
||||
layout(binding = 31) uniform sampler2D sampb4;
|
166
Test/spv.Operations.frag
Normal file
166
Test/spv.Operations.frag
Normal file
@ -0,0 +1,166 @@
|
||||
#version 130
|
||||
|
||||
uniform ivec4 uiv4;
|
||||
uniform vec4 uv4;
|
||||
uniform bool ub;
|
||||
uniform bvec4 ub41, ub42;
|
||||
uniform float uf;
|
||||
uniform int ui;
|
||||
|
||||
#ifdef TEST_POST_110
|
||||
uniform uvec4 uuv4;
|
||||
uniform unsigned int uui;
|
||||
#endif
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 v;
|
||||
float f;
|
||||
bool b;
|
||||
bvec4 bv4;
|
||||
int i;
|
||||
#ifdef TEST_POST_110
|
||||
uint u;
|
||||
#endif
|
||||
|
||||
// floating point
|
||||
v = radians(uv4);
|
||||
v += degrees(v);
|
||||
v += (i = ui*ui, sin(v));
|
||||
v += cos(v);
|
||||
v += tan(v);
|
||||
v += asin(v);
|
||||
v += acos(v);
|
||||
|
||||
v += atan(v);
|
||||
v += sinh(v);
|
||||
v += cosh(v);
|
||||
v += tanh(v);
|
||||
v += asinh(v);
|
||||
v += acosh(v);
|
||||
v += atanh(v);
|
||||
|
||||
v += pow(v, v);
|
||||
v += exp(v);
|
||||
v += log(v);
|
||||
v += exp2(v);
|
||||
v += log2(v);
|
||||
v += sqrt(v);
|
||||
v += inversesqrt(v);
|
||||
v += abs(v);
|
||||
v += sign(v);
|
||||
v += floor(v);
|
||||
|
||||
#ifdef TEST_POST_110
|
||||
v += trunc(v);
|
||||
v += round(v);
|
||||
v += roundEven(v);
|
||||
#endif
|
||||
|
||||
v += ceil(v);
|
||||
v += fract(v);
|
||||
v += mod(v, v);
|
||||
v += mod(v, v.x);
|
||||
|
||||
#ifdef TEST_POST_110
|
||||
v += modf(v, v);
|
||||
#endif
|
||||
|
||||
v += min(v, uv4);
|
||||
v += max(v, uv4);
|
||||
v += clamp(v, uv4, uv4);
|
||||
v += mix(v,v,v);
|
||||
|
||||
#ifdef TEST_POST_110
|
||||
v += mix(v,v,ub);
|
||||
v += intBitsToFloat(v);
|
||||
v += uintBitsToFloat(v);
|
||||
v += fma(v);
|
||||
v += frexp(v);
|
||||
v += ldexp(v);
|
||||
v += unpackUnorm2x16(v);
|
||||
v += unpackUnorm4x8(v);
|
||||
v += unpackSnorm4x8(v);
|
||||
#endif
|
||||
|
||||
v += step(v,v);
|
||||
v += smoothstep(v,v,v);
|
||||
v += step(uf,v);
|
||||
v += smoothstep(uf,uf,v);
|
||||
v += normalize(v);
|
||||
v += faceforward(v, v, v);
|
||||
v += reflect(v, v);
|
||||
v += refract(v, v, uf);
|
||||
v += dFdx(v);
|
||||
v += dFdy(v);
|
||||
v += fwidth(v);
|
||||
//noise*(v);
|
||||
|
||||
#ifdef TEST_POST_110
|
||||
// signed integer
|
||||
i += abs(ui);
|
||||
i += sign(i);
|
||||
i += min(i, ui);
|
||||
i += max(i, ui);
|
||||
i += clamp(i, ui, ui);
|
||||
|
||||
floatsBitsToInt(v);
|
||||
packUnorm2x16(v);
|
||||
packUnorm4x8(v);
|
||||
packSnorm4x8(v);
|
||||
|
||||
// unsigned integer
|
||||
u = abs(uui);
|
||||
u += sign(u);
|
||||
u += min(u, uui);
|
||||
u += max(u, uui);
|
||||
u += clamp(u, uui, uui);
|
||||
u += floatsBitToInt(v);
|
||||
u += packUnorm2x16(v);
|
||||
u += packUnorm4x8(v);
|
||||
u += packSnorm4x8(v);
|
||||
u += floatBitsToUInt(v);
|
||||
#endif
|
||||
|
||||
// bool
|
||||
#ifdef TEST_POST_110
|
||||
b = isnan(uf);
|
||||
b = isinf(v);
|
||||
#endif
|
||||
b = any(lessThan(v, uv4));
|
||||
b = (b && any(lessThanEqual(v, uv4)));
|
||||
b = (b && any(greaterThan(v, uv4)));
|
||||
b = (b && any(greaterThanEqual(v, uv4)));
|
||||
b = (b && any(equal(ub41, ub42)));
|
||||
b = (b && any(notEqual(ub41, ub42)));
|
||||
b = (b && any(ub41));
|
||||
b = (b && all(ub41));
|
||||
b = (b && any(not(ub41)));
|
||||
|
||||
i = ((i + ui) * i - ui) / i;
|
||||
i = i % ui;
|
||||
if (i == ui || i != ui && i == ui ^^ i != 2)
|
||||
++i;
|
||||
|
||||
f = ((uf + uf) * uf - uf) / uf;
|
||||
|
||||
f += length(v);
|
||||
f += distance(v, v);
|
||||
f += dot(v, v);
|
||||
f += dot(f, uf);
|
||||
f += cross(v.xyz, v.xyz).x;
|
||||
|
||||
if (f == uf || f != uf && f != 2.0)
|
||||
++f;
|
||||
|
||||
i &= ui;
|
||||
i |= 0x42;
|
||||
i ^= ui;
|
||||
i %= 17;
|
||||
i >>= 2;
|
||||
i <<= ui;
|
||||
i = ~i;
|
||||
b = !b;
|
||||
|
||||
gl_FragColor = b ? vec4(i) + vec4(f) + v : v;
|
||||
}
|
51
Test/spv.aggOps.frag
Normal file
51
Test/spv.aggOps.frag
Normal file
@ -0,0 +1,51 @@
|
||||
#version 130
|
||||
|
||||
uniform sampler2D sampler;
|
||||
varying mediump vec2 coord;
|
||||
|
||||
varying vec4 u, w;
|
||||
|
||||
struct s1 {
|
||||
int i;
|
||||
float f;
|
||||
};
|
||||
|
||||
struct s2 {
|
||||
int i;
|
||||
float f;
|
||||
s1 s1_1;
|
||||
};
|
||||
|
||||
uniform s1 foo1;
|
||||
uniform s2 foo2a;
|
||||
uniform s2 foo2b;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 v;
|
||||
s1 a[3], b[3];
|
||||
a = s1[3](s1(int(u.x), u.y), s1(int(u.z), u.w), s1(14, 14.0));
|
||||
b = s1[3](s1(17, 17.0), s1(int(w.x), w.y), s1(int(w.z), w.w));
|
||||
|
||||
if (foo2a == foo2b)
|
||||
v = texture2D(sampler, coord);
|
||||
else
|
||||
v = texture2D(sampler, 2.0*coord);
|
||||
|
||||
if (u == v)
|
||||
v *= 3.0;
|
||||
|
||||
if (u != v)
|
||||
v *= 4.0;
|
||||
|
||||
if (coord == v.yw)
|
||||
v *= 5.0;
|
||||
|
||||
if (a == b)
|
||||
v *= 6.0;
|
||||
|
||||
if (a != b)
|
||||
v *= 7.0;
|
||||
|
||||
gl_FragColor = v;
|
||||
}
|
36
Test/spv.always-discard.frag
Normal file
36
Test/spv.always-discard.frag
Normal file
@ -0,0 +1,36 @@
|
||||
#version 110
|
||||
varying vec2 tex_coord;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec4 white = vec4(1.0);
|
||||
vec4 black = vec4(0.2);
|
||||
vec4 color = white;
|
||||
|
||||
// First, cut out our circle
|
||||
float x = tex_coord.x*2.0 - 1.0;
|
||||
float y = tex_coord.y*2.0 - 1.0;
|
||||
|
||||
float radius = sqrt(x*x + y*y);
|
||||
if (radius > 1.0) {
|
||||
if (radius > 1.1) {
|
||||
++color;
|
||||
}
|
||||
|
||||
gl_FragColor = color;
|
||||
|
||||
if (radius > 1.2) {
|
||||
++color;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
discard;
|
||||
|
||||
// If we're near an edge, darken us a tiny bit
|
||||
if (radius >= 0.75)
|
||||
color -= abs(pow(radius, 16.0)/2.0);
|
||||
|
||||
gl_FragColor = color;
|
||||
|
||||
}
|
19
Test/spv.always-discard2.frag
Normal file
19
Test/spv.always-discard2.frag
Normal file
@ -0,0 +1,19 @@
|
||||
#version 110
|
||||
varying vec2 tex_coord;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec4 white = vec4(1.0);
|
||||
vec4 black = vec4(0.2);
|
||||
vec4 color = white;
|
||||
|
||||
// First, cut out our circle
|
||||
float x = tex_coord.x*2.0 - 1.0;
|
||||
float y = tex_coord.y*2.0 - 1.0;
|
||||
|
||||
discard;
|
||||
|
||||
|
||||
gl_FragColor = color;
|
||||
|
||||
}
|
14
Test/spv.conditionalDiscard.frag
Normal file
14
Test/spv.conditionalDiscard.frag
Normal file
@ -0,0 +1,14 @@
|
||||
#version 110
|
||||
|
||||
uniform sampler2D tex;
|
||||
varying vec2 coord;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec4 v = texture2D(tex, coord);
|
||||
|
||||
if (v == vec4(0.1,0.2,0.3,0.4))
|
||||
discard;
|
||||
|
||||
gl_FragColor = v;
|
||||
}
|
112
Test/spv.conversion.frag
Normal file
112
Test/spv.conversion.frag
Normal file
@ -0,0 +1,112 @@
|
||||
#version 130
|
||||
|
||||
uniform bool u_b;
|
||||
uniform bvec2 u_b2;
|
||||
uniform bvec3 u_b3;
|
||||
uniform bvec4 u_b4;
|
||||
|
||||
uniform int u_i;
|
||||
uniform ivec2 u_i2;
|
||||
uniform ivec3 u_i3;
|
||||
uniform ivec4 u_i4;
|
||||
|
||||
uniform float u_f;
|
||||
uniform vec2 u_f2;
|
||||
uniform vec3 u_f3;
|
||||
uniform vec4 u_f4;
|
||||
|
||||
uniform bool i_b;
|
||||
uniform bvec2 i_b2;
|
||||
uniform bvec3 i_b3;
|
||||
uniform bvec4 i_b4;
|
||||
|
||||
flat in int i_i;
|
||||
flat in ivec2 i_i2;
|
||||
flat in ivec3 i_i3;
|
||||
flat in ivec4 i_i4;
|
||||
|
||||
in float i_f;
|
||||
in vec2 i_f2;
|
||||
in vec3 i_f3;
|
||||
in vec4 i_f4;
|
||||
|
||||
void main()
|
||||
{
|
||||
bool b = bool(u_i) ^^ bool(u_f);
|
||||
bvec2 b2 = bvec2(u_i, u_f);
|
||||
bvec3 b3 = bvec3(u_i, u_f, i_i);
|
||||
bvec4 b4 = bvec4(u_i, u_f, i_i, i_f);
|
||||
|
||||
int i = int(u_f) + int(b);
|
||||
ivec2 i2 = ivec2(u_f2) + ivec2(b2);
|
||||
ivec3 i3 = ivec3(u_f3) + ivec3(b3);
|
||||
ivec4 i4 = ivec4(u_f4) + ivec4(b4);
|
||||
|
||||
float f = i;
|
||||
vec2 f2 = i2;
|
||||
vec3 f3 = i3;
|
||||
vec4 f4 = i4;
|
||||
|
||||
f += (float(i) + float(b));
|
||||
f2 -= vec2(i2) + vec2(b2);
|
||||
f3 /= vec3(i3) + vec3(b3);
|
||||
f4 += vec4(i4) + vec4(b4);
|
||||
|
||||
f4 += vec4(bvec4(i_i4));
|
||||
f4 += vec4(bvec4(u_f4));
|
||||
|
||||
f += f - i;
|
||||
f2 += vec2(f, i) + i2;
|
||||
f3 += i3 + vec3(f, i, f);
|
||||
f4 += vec4(b, i, f, i) + i4;
|
||||
|
||||
f2 += vec2(f, i) * i;
|
||||
f3 += vec3(f, i, f) + i;
|
||||
f4 += i - vec4(b, i, f, i);
|
||||
|
||||
i2 += ivec2(f, i);
|
||||
i3 += ivec3(f, i, f);
|
||||
i4 += ivec4(b, i, f, i);
|
||||
|
||||
if (f < i || i < f ||
|
||||
f2 == i2 ||
|
||||
i3 != f3)
|
||||
f = (b ? i : f2.x) + (b2.x ? f3.x : i2.y);
|
||||
|
||||
gl_FragColor =
|
||||
b ||
|
||||
b2.x ||
|
||||
b2.y ||
|
||||
b3.x ||
|
||||
b3.y ||
|
||||
b3.z ||
|
||||
b4.x ||
|
||||
b4.y ||
|
||||
b4.z ||
|
||||
b4.w ? vec4(
|
||||
i +
|
||||
i2.x +
|
||||
i2.y +
|
||||
i3.x +
|
||||
i3.y +
|
||||
i3.z +
|
||||
i4.x +
|
||||
i4.y +
|
||||
i4.z +
|
||||
i4.w +
|
||||
f +
|
||||
f2.x +
|
||||
f2.y +
|
||||
f3.x +
|
||||
f3.y +
|
||||
f3.z +
|
||||
f4.x +
|
||||
f4.y +
|
||||
f4.z +
|
||||
f4.w) : vec4(1.0);
|
||||
|
||||
// with constants...
|
||||
ivec4 cv2 = ivec4(1.0);
|
||||
bvec4 cv5 = bvec4(cv2);
|
||||
gl_FragColor += float(cv5);
|
||||
}
|
8
Test/spv.dataOut.frag
Normal file
8
Test/spv.dataOut.frag
Normal file
@ -0,0 +1,8 @@
|
||||
#version 130
|
||||
|
||||
varying vec4 Color;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragData[1] = Color;
|
||||
}
|
10
Test/spv.dataOutIndirect.frag
Normal file
10
Test/spv.dataOutIndirect.frag
Normal file
@ -0,0 +1,10 @@
|
||||
#version 130
|
||||
|
||||
varying vec4 Color;
|
||||
|
||||
uniform int i;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragData[i] = Color;
|
||||
}
|
12
Test/spv.dataOutIndirect.vert
Normal file
12
Test/spv.dataOutIndirect.vert
Normal file
@ -0,0 +1,12 @@
|
||||
#version 130
|
||||
|
||||
attribute vec4 color;
|
||||
varying vec4 colorOut[6];
|
||||
|
||||
void main()
|
||||
{
|
||||
for (int i = 1; i < 5; ++i)
|
||||
colorOut[i] = color;
|
||||
|
||||
gl_Position = colorOut[2];
|
||||
}
|
36
Test/spv.deepRvalue.frag
Normal file
36
Test/spv.deepRvalue.frag
Normal file
@ -0,0 +1,36 @@
|
||||
#version 120
|
||||
|
||||
uniform sampler2D sampler;
|
||||
|
||||
vec4 v1 = vec4(2.0, 3.0, 5.0, 7.0);
|
||||
vec4 v2 = vec4(11.0, 13.0, 17.0, 19.0);
|
||||
vec4 v3 = vec4(23.0, 29.0, 31.0, 37.0);
|
||||
vec4 v4 = vec4(41.0, 43.0, 47.0, 53.0);
|
||||
|
||||
struct str {
|
||||
int a;
|
||||
vec2 b[3];
|
||||
bool c;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
mat4 m = mat4(v1, v2, v3, v4);
|
||||
|
||||
mat4 mm = matrixCompMult(m, m);
|
||||
float f = mm[1].w; // should be 19 * 19 = 361
|
||||
|
||||
// do a deep access to a spontaneous r-value
|
||||
float g = matrixCompMult(m, m)[2].y; // should be 29 * 29 = 841
|
||||
|
||||
float h = str(1, vec2[3](vec2(2.0, 3.0), vec2(4.0, 5.0), vec2(6.0, 7.0)), true).b[1][1]; // should be 5.0
|
||||
|
||||
float i = texture2D(sampler, vec2(0.5,0.5)).y;
|
||||
|
||||
i += (i > 0.1 ? v1 : v2)[3];
|
||||
|
||||
str t;
|
||||
i += (t = str(1, vec2[3](vec2(2.0, 3.0), vec2(4.0, 5.0), vec2(6.0, 7.0)), true)).b[2].y; // should be 7.0
|
||||
|
||||
gl_FragColor = vec4(f, g, h, i);
|
||||
}
|
10
Test/spv.depthOut.frag
Normal file
10
Test/spv.depthOut.frag
Normal file
@ -0,0 +1,10 @@
|
||||
#version 130
|
||||
|
||||
varying vec4 Color;
|
||||
varying float Depth;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragDepth = Depth;
|
||||
gl_FragColor = Color;
|
||||
}
|
35
Test/spv.discard-dce.frag
Normal file
35
Test/spv.discard-dce.frag
Normal file
@ -0,0 +1,35 @@
|
||||
#version 110
|
||||
varying vec2 tex_coord;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec4 white = vec4(1.0);
|
||||
vec4 black = vec4(0.2);
|
||||
vec4 color = white;
|
||||
|
||||
// First, cut out our circle
|
||||
float x = tex_coord.x*2.0 - 1.0;
|
||||
float y = tex_coord.y*2.0 - 1.0;
|
||||
|
||||
float radius = sqrt(x*x + y*y);
|
||||
if (radius > 1.0) {
|
||||
if (radius > 1.1) {
|
||||
++color;
|
||||
}
|
||||
|
||||
gl_FragColor = color;
|
||||
|
||||
if (radius > 1.2) {
|
||||
++color;
|
||||
}
|
||||
|
||||
discard;
|
||||
}
|
||||
|
||||
// If we're near an edge, darken us a tiny bit
|
||||
if (radius >= 0.75)
|
||||
color -= abs(pow(radius, 16.0)/2.0);
|
||||
|
||||
gl_FragColor = color;
|
||||
|
||||
}
|
16
Test/spv.doWhileLoop.frag
Normal file
16
Test/spv.doWhileLoop.frag
Normal file
@ -0,0 +1,16 @@
|
||||
#version 110
|
||||
|
||||
uniform vec4 bigColor;
|
||||
varying vec4 BaseColor;
|
||||
uniform float d;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 color = BaseColor;
|
||||
|
||||
do {
|
||||
color += bigColor;
|
||||
} while (color.x < d);
|
||||
|
||||
gl_FragColor = color;
|
||||
}
|
102
Test/spv.earlyReturnDiscard.frag
Normal file
102
Test/spv.earlyReturnDiscard.frag
Normal file
@ -0,0 +1,102 @@
|
||||
#version 110
|
||||
|
||||
uniform float d;
|
||||
uniform vec4 bigColor, smallColor;
|
||||
uniform vec4 otherColor;
|
||||
|
||||
varying float c;
|
||||
|
||||
uniform float threshhold;
|
||||
uniform float threshhold2;
|
||||
uniform float threshhold3;
|
||||
|
||||
uniform float minimum;
|
||||
|
||||
varying vec4 BaseColor;
|
||||
|
||||
uniform bool b;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 color = BaseColor;
|
||||
vec4 color2;
|
||||
|
||||
color2 = otherColor;
|
||||
|
||||
if (c > d)
|
||||
color += bigColor;
|
||||
else
|
||||
color += smallColor;
|
||||
|
||||
if (color.z < minimum)
|
||||
return;
|
||||
|
||||
color.z++;
|
||||
|
||||
if (color.z > threshhold)
|
||||
discard;
|
||||
|
||||
color++;
|
||||
|
||||
// Two path, different rest
|
||||
if (color.w > threshhold2) {
|
||||
if (color.z > threshhold2)
|
||||
return;
|
||||
else if (b)
|
||||
color.z++;
|
||||
else {
|
||||
if (color.x < minimum) {
|
||||
discard;
|
||||
} else {
|
||||
color++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (b)
|
||||
discard;
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// // Two path, shared rest
|
||||
// if (color.w > threshhold2) {
|
||||
// if (color.z > threshhold2)
|
||||
// return;
|
||||
// else if (b)
|
||||
// color++;
|
||||
// else {
|
||||
// if (color.x < minimum) {
|
||||
// discard;
|
||||
// } else {
|
||||
// color++;
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// if (b)
|
||||
// discard;
|
||||
// else
|
||||
// return;
|
||||
// }
|
||||
|
||||
|
||||
// // One path
|
||||
// if (color.w > threshhold2) {
|
||||
// if (color.z > threshhold2)
|
||||
// return;
|
||||
// else {
|
||||
// if (color.x < minimum) {
|
||||
// discard;
|
||||
// } else {
|
||||
// color++;
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// if (b)
|
||||
// discard;
|
||||
// else
|
||||
// return;
|
||||
// }
|
||||
|
||||
gl_FragColor = color * color2;
|
||||
}
|
23
Test/spv.flowControl.frag
Normal file
23
Test/spv.flowControl.frag
Normal file
@ -0,0 +1,23 @@
|
||||
#version 120
|
||||
|
||||
uniform float d;
|
||||
uniform vec4 bigColor, smallColor;
|
||||
uniform vec4 otherColor;
|
||||
|
||||
varying float c;
|
||||
varying vec4 BaseColor;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 color = BaseColor;
|
||||
vec4 color2;
|
||||
|
||||
color2 = otherColor;
|
||||
|
||||
if (c > d)
|
||||
color += bigColor;
|
||||
else
|
||||
color += smallColor;
|
||||
|
||||
gl_FragColor = color * color2;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user