mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-14 13:51:04 +00:00
414eb60482
The existing test harness is a homemade shell script. All the tests and the expected results are written in plain text files. The harness just reads in a test, invoke the glslangValidator binary on it, and compare the result with the golden file. All tests are kinda integration tests. This patch add Google Test as an external project, which provides a new harness for reading shader source files, compile to SPIR-V, and then compare with the expected output.
72 lines
3.4 KiB
Plaintext
72 lines
3.4 KiB
Plaintext
spv.330.geom
|
|
|
|
Linked geometry stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 32
|
|
|
|
Capability Geometry
|
|
Capability ClipDistance
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Geometry 4 "main" 13 20
|
|
ExecutionMode 4 Triangles
|
|
ExecutionMode 4 Invocations 1
|
|
ExecutionMode 4 OutputTriangleStrip
|
|
ExecutionMode 4 OutputVertices 3
|
|
Source GLSL 330
|
|
SourceExtension "GL_ARB_separate_shader_objects"
|
|
Name 4 "main"
|
|
Name 11 "gl_PerVertex"
|
|
MemberName 11(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 11(gl_PerVertex) 1 "gl_ClipDistance"
|
|
Name 13 ""
|
|
Name 16 "gl_PerVertex"
|
|
MemberName 16(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 16(gl_PerVertex) 1 "gl_ClipDistance"
|
|
Name 20 "gl_in"
|
|
MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 11(gl_PerVertex) 1 BuiltIn ClipDistance
|
|
Decorate 11(gl_PerVertex) Block
|
|
MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 16(gl_PerVertex) 1 BuiltIn ClipDistance
|
|
Decorate 16(gl_PerVertex) Block
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypeInt 32 0
|
|
9: 8(int) Constant 1
|
|
10: TypeArray 6(float) 9
|
|
11(gl_PerVertex): TypeStruct 7(fvec4) 10
|
|
12: TypePointer Output 11(gl_PerVertex)
|
|
13: 12(ptr) Variable Output
|
|
14: TypeInt 32 1
|
|
15: 14(int) Constant 0
|
|
16(gl_PerVertex): TypeStruct 7(fvec4) 10
|
|
17: 8(int) Constant 3
|
|
18: TypeArray 16(gl_PerVertex) 17
|
|
19: TypePointer Input 18
|
|
20(gl_in): 19(ptr) Variable Input
|
|
21: 14(int) Constant 1
|
|
22: TypePointer Input 7(fvec4)
|
|
25: TypePointer Output 7(fvec4)
|
|
27: TypePointer Input 6(float)
|
|
30: TypePointer Output 6(float)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
23: 22(ptr) AccessChain 20(gl_in) 21 15
|
|
24: 7(fvec4) Load 23
|
|
26: 25(ptr) AccessChain 13 15
|
|
Store 26 24
|
|
28: 27(ptr) AccessChain 20(gl_in) 21 21 15
|
|
29: 6(float) Load 28
|
|
31: 30(ptr) AccessChain 13 21 15
|
|
Store 31 29
|
|
EmitVertex
|
|
EndPrimitive
|
|
Return
|
|
FunctionEnd
|