mirror of
https://github.com/RPCS3/glslang.git
synced 2025-01-13 06:21:33 +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.
91 lines
4.2 KiB
Plaintext
91 lines
4.2 KiB
Plaintext
spv.test.frag
|
|
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 55
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 20 22 37 43 46 49
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 400
|
|
Name 4 "main"
|
|
Name 8 "blendscale"
|
|
Name 12 "v"
|
|
Name 16 "texSampler2D"
|
|
Name 20 "t"
|
|
Name 22 "scale"
|
|
Name 29 "w"
|
|
Name 33 "texSampler3D"
|
|
Name 37 "coords"
|
|
Name 43 "gl_FragColor"
|
|
Name 46 "u"
|
|
Name 49 "blend"
|
|
Decorate 16(texSampler2D) DescriptorSet 0
|
|
Decorate 33(texSampler3D) DescriptorSet 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypePointer Function 6(float)
|
|
9: 6(float) Constant 1071971828
|
|
10: TypeVector 6(float) 4
|
|
11: TypePointer Function 10(fvec4)
|
|
13: TypeImage 6(float) 2D sampled format:Unknown
|
|
14: TypeSampledImage 13
|
|
15: TypePointer UniformConstant 14
|
|
16(texSampler2D): 15(ptr) Variable UniformConstant
|
|
18: TypeVector 6(float) 2
|
|
19: TypePointer Input 18(fvec2)
|
|
20(t): 19(ptr) Variable Input
|
|
22(scale): 19(ptr) Variable Input
|
|
30: TypeImage 6(float) 3D sampled format:Unknown
|
|
31: TypeSampledImage 30
|
|
32: TypePointer UniformConstant 31
|
|
33(texSampler3D): 32(ptr) Variable UniformConstant
|
|
35: TypeVector 6(float) 3
|
|
36: TypePointer Input 35(fvec3)
|
|
37(coords): 36(ptr) Variable Input
|
|
42: TypePointer Output 10(fvec4)
|
|
43(gl_FragColor): 42(ptr) Variable Output
|
|
45: TypePointer Input 10(fvec4)
|
|
46(u): 45(ptr) Variable Input
|
|
48: TypePointer Input 6(float)
|
|
49(blend): 48(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(blendscale): 7(ptr) Variable Function
|
|
12(v): 11(ptr) Variable Function
|
|
29(w): 11(ptr) Variable Function
|
|
Store 8(blendscale) 9
|
|
17: 14 Load 16(texSampler2D)
|
|
21: 18(fvec2) Load 20(t)
|
|
23: 18(fvec2) Load 22(scale)
|
|
24: 18(fvec2) FAdd 21 23
|
|
25: 18(fvec2) Load 22(scale)
|
|
26: 18(fvec2) FDiv 24 25
|
|
27: 10(fvec4) ImageSampleImplicitLod 17 26
|
|
28: 10(fvec4) VectorShuffle 27 27 3 2 1 0
|
|
Store 12(v) 28
|
|
34: 31 Load 33(texSampler3D)
|
|
38: 35(fvec3) Load 37(coords)
|
|
39: 10(fvec4) ImageSampleImplicitLod 34 38
|
|
40: 10(fvec4) Load 12(v)
|
|
41: 10(fvec4) FAdd 39 40
|
|
Store 29(w) 41
|
|
44: 10(fvec4) Load 29(w)
|
|
47: 10(fvec4) Load 46(u)
|
|
50: 6(float) Load 49(blend)
|
|
51: 6(float) Load 8(blendscale)
|
|
52: 6(float) FMul 50 51
|
|
53: 10(fvec4) CompositeConstruct 52 52 52 52
|
|
54: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 44 47 53
|
|
Store 43(gl_FragColor) 54
|
|
Return
|
|
FunctionEnd
|