blob: 96cff799c7335ed3f45e2a66eb6f7334fa5bdd99 [file] [log] [blame]
spv.16bitxfb.vert
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 59
Capability Shader
Capability Float16
Capability Int16
Capability TransformFeedback
Capability StorageInputOutput16
Extension "SPV_KHR_16bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 12 18 36 39 46 49
ExecutionMode 4 Xfb
Source GLSL 450
SourceExtension "GL_AMD_gpu_shader_half_float"
SourceExtension "GL_AMD_gpu_shader_int16"
Name 4 "main"
Name 9 "of16v3"
Name 12 "if16v4"
Name 16 "F16Out"
MemberName 16(F16Out) 0 "of16"
MemberName 16(F16Out) 1 "of16v2"
Name 18 ""
Name 36 "oi16v3"
Name 39 "ii16v4"
Name 44 "I16Out"
MemberName 44(I16Out) 0 "ou16"
MemberName 44(I16Out) 1 "ou16v2"
Name 46 ""
Name 49 "iu16v4"
Decorate 9(of16v3) Location 0
Decorate 9(of16v3) XfbBuffer 0
Decorate 9(of16v3) XfbStride 6
Decorate 9(of16v3) Offset 0
Decorate 12(if16v4) Location 0
MemberDecorate 16(F16Out) 0 Offset 0
MemberDecorate 16(F16Out) 1 Offset 2
Decorate 16(F16Out) Block
Decorate 18 Location 1
Decorate 18 XfbBuffer 1
Decorate 18 XfbStride 6
Decorate 36(oi16v3) Location 5
Decorate 36(oi16v3) XfbBuffer 2
Decorate 36(oi16v3) XfbStride 6
Decorate 36(oi16v3) Offset 0
Decorate 39(ii16v4) Location 1
MemberDecorate 44(I16Out) 0 Offset 0
MemberDecorate 44(I16Out) 1 Offset 2
Decorate 44(I16Out) Block
Decorate 46 Location 6
Decorate 46 XfbBuffer 3
Decorate 46 XfbStride 6
Decorate 49(iu16v4) Location 2
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 16
7: TypeVector 6(float16_t) 3
8: TypePointer Output 7(f16vec3)
9(of16v3): 8(ptr) Variable Output
10: TypeVector 6(float16_t) 4
11: TypePointer Input 10(f16vec4)
12(if16v4): 11(ptr) Variable Input
15: TypeVector 6(float16_t) 2
16(F16Out): TypeStruct 6(float16_t) 15(f16vec2)
17: TypePointer Output 16(F16Out)
18: 17(ptr) Variable Output
19: TypeInt 32 1
20: 19(int) Constant 0
21: TypeInt 32 0
22: 21(int) Constant 0
23: TypePointer Input 6(float16_t)
26: TypePointer Output 6(float16_t)
28: 19(int) Constant 1
31: TypePointer Output 15(f16vec2)
33: TypeInt 16 1
34: TypeVector 33(int16_t) 3
35: TypePointer Output 34(i16vec3)
36(oi16v3): 35(ptr) Variable Output
37: TypeVector 33(int16_t) 4
38: TypePointer Input 37(i16vec4)
39(ii16v4): 38(ptr) Variable Input
42: TypeInt 16 0
43: TypeVector 42(int16_t) 2
44(I16Out): TypeStruct 42(int16_t) 43(i16vec2)
45: TypePointer Output 44(I16Out)
46: 45(ptr) Variable Output
47: TypeVector 42(int16_t) 4
48: TypePointer Input 47(i16vec4)
49(iu16v4): 48(ptr) Variable Input
50: TypePointer Input 42(int16_t)
53: TypePointer Output 42(int16_t)
57: TypePointer Output 43(i16vec2)
4(main): 2 Function None 3
5: Label
13: 10(f16vec4) Load 12(if16v4)
14: 7(f16vec3) VectorShuffle 13 13 0 1 2
Store 9(of16v3) 14
24: 23(ptr) AccessChain 12(if16v4) 22
25:6(float16_t) Load 24
27: 26(ptr) AccessChain 18 20
Store 27 25
29: 10(f16vec4) Load 12(if16v4)
30: 15(f16vec2) VectorShuffle 29 29 0 1
32: 31(ptr) AccessChain 18 28
Store 32 30
40: 37(i16vec4) Load 39(ii16v4)
41: 34(i16vec3) VectorShuffle 40 40 0 1 2
Store 36(oi16v3) 41
51: 50(ptr) AccessChain 49(iu16v4) 22
52: 42(int16_t) Load 51
54: 53(ptr) AccessChain 46 20
Store 54 52
55: 47(i16vec4) Load 49(iu16v4)
56: 43(i16vec2) VectorShuffle 55 55 0 1
58: 57(ptr) AccessChain 46 28
Store 58 56
Return
FunctionEnd