mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-19 09:16:32 +00:00
ac3707921e
Now, version 5.* is all connected to making the uint type, which doesn't quite work. Generator versions 4 and 6 do not do this.
310 lines
14 KiB
Plaintext
310 lines
14 KiB
Plaintext
hlsl.basic.geom
|
|
Shader version: 500
|
|
invocations = -1
|
|
max_vertices = 4
|
|
input primitive = triangles
|
|
output primitive = line_strip
|
|
0:? Sequence
|
|
0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
|
|
0:16 Function Parameters:
|
|
0:16 'VertexID' ( in 3-element array of uint)
|
|
0:16 'test' ( in 3-element array of uint)
|
|
0:16 'OutputStream' ( out structure{ temp float myfloat, temp int something})
|
|
0:? Sequence
|
|
0:19 move second child to first child ( temp float)
|
|
0:19 myfloat: direct index for structure ( temp float)
|
|
0:19 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:19 Constant:
|
|
0:19 0 (const int)
|
|
0:19 Convert uint to float ( temp float)
|
|
0:19 add ( temp uint)
|
|
0:19 add ( temp uint)
|
|
0:19 direct index ( temp uint)
|
|
0:19 'test' ( in 3-element array of uint)
|
|
0:19 Constant:
|
|
0:19 0 (const int)
|
|
0:19 direct index ( temp uint)
|
|
0:19 'test' ( in 3-element array of uint)
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:19 direct index ( temp uint)
|
|
0:19 'test' ( in 3-element array of uint)
|
|
0:19 Constant:
|
|
0:19 2 (const int)
|
|
0:20 move second child to first child ( temp int)
|
|
0:20 something: direct index for structure ( temp int)
|
|
0:20 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:20 Constant:
|
|
0:20 1 (const int)
|
|
0:20 Convert uint to int ( temp int)
|
|
0:20 direct index ( temp uint)
|
|
0:20 'VertexID' ( in 3-element array of uint)
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:22 Sequence
|
|
0:22 Sequence
|
|
0:22 move second child to first child ( temp float)
|
|
0:? 'OutputStream.myfloat' (layout( location=0) out float)
|
|
0:22 myfloat: direct index for structure ( temp float)
|
|
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 move second child to first child ( temp int)
|
|
0:? 'OutputStream.something' (layout( location=1) out int)
|
|
0:22 something: direct index for structure ( temp int)
|
|
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:22 Constant:
|
|
0:22 1 (const int)
|
|
0:22 EmitVertex ( temp void)
|
|
0:23 Sequence
|
|
0:23 Sequence
|
|
0:23 move second child to first child ( temp float)
|
|
0:? 'OutputStream.myfloat' (layout( location=0) out float)
|
|
0:23 myfloat: direct index for structure ( temp float)
|
|
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:23 Constant:
|
|
0:23 0 (const int)
|
|
0:23 move second child to first child ( temp int)
|
|
0:? 'OutputStream.something' (layout( location=1) out int)
|
|
0:23 something: direct index for structure ( temp int)
|
|
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:23 Constant:
|
|
0:23 1 (const int)
|
|
0:23 EmitVertex ( temp void)
|
|
0:24 EndPrimitive ( temp void)
|
|
0:16 Function Definition: main( ( temp void)
|
|
0:16 Function Parameters:
|
|
0:? Sequence
|
|
0:16 move second child to first child ( temp 3-element array of uint)
|
|
0:? 'VertexID' ( temp 3-element array of uint)
|
|
0:? 'VertexID' (layout( location=0) in 3-element array of uint)
|
|
0:16 move second child to first child ( temp 3-element array of uint)
|
|
0:? 'test' ( temp 3-element array of uint)
|
|
0:? 'test' (layout( location=1) in 3-element array of uint)
|
|
0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
|
|
0:? 'VertexID' ( temp 3-element array of uint)
|
|
0:? 'test' ( temp 3-element array of uint)
|
|
0:? 'OutputStream' ( temp structure{ temp float myfloat, temp int something})
|
|
0:? Linker Objects
|
|
0:? 'VertexID' (layout( location=0) in 3-element array of uint)
|
|
0:? 'test' (layout( location=1) in 3-element array of uint)
|
|
0:? 'OutputStream.myfloat' (layout( location=0) out float)
|
|
0:? 'OutputStream.something' (layout( location=1) out int)
|
|
|
|
|
|
Linked geometry stage:
|
|
|
|
|
|
Shader version: 500
|
|
invocations = 1
|
|
max_vertices = 4
|
|
input primitive = triangles
|
|
output primitive = line_strip
|
|
0:? Sequence
|
|
0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
|
|
0:16 Function Parameters:
|
|
0:16 'VertexID' ( in 3-element array of uint)
|
|
0:16 'test' ( in 3-element array of uint)
|
|
0:16 'OutputStream' ( out structure{ temp float myfloat, temp int something})
|
|
0:? Sequence
|
|
0:19 move second child to first child ( temp float)
|
|
0:19 myfloat: direct index for structure ( temp float)
|
|
0:19 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:19 Constant:
|
|
0:19 0 (const int)
|
|
0:19 Convert uint to float ( temp float)
|
|
0:19 add ( temp uint)
|
|
0:19 add ( temp uint)
|
|
0:19 direct index ( temp uint)
|
|
0:19 'test' ( in 3-element array of uint)
|
|
0:19 Constant:
|
|
0:19 0 (const int)
|
|
0:19 direct index ( temp uint)
|
|
0:19 'test' ( in 3-element array of uint)
|
|
0:19 Constant:
|
|
0:19 1 (const int)
|
|
0:19 direct index ( temp uint)
|
|
0:19 'test' ( in 3-element array of uint)
|
|
0:19 Constant:
|
|
0:19 2 (const int)
|
|
0:20 move second child to first child ( temp int)
|
|
0:20 something: direct index for structure ( temp int)
|
|
0:20 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:20 Constant:
|
|
0:20 1 (const int)
|
|
0:20 Convert uint to int ( temp int)
|
|
0:20 direct index ( temp uint)
|
|
0:20 'VertexID' ( in 3-element array of uint)
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:22 Sequence
|
|
0:22 Sequence
|
|
0:22 move second child to first child ( temp float)
|
|
0:? 'OutputStream.myfloat' (layout( location=0) out float)
|
|
0:22 myfloat: direct index for structure ( temp float)
|
|
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 move second child to first child ( temp int)
|
|
0:? 'OutputStream.something' (layout( location=1) out int)
|
|
0:22 something: direct index for structure ( temp int)
|
|
0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:22 Constant:
|
|
0:22 1 (const int)
|
|
0:22 EmitVertex ( temp void)
|
|
0:23 Sequence
|
|
0:23 Sequence
|
|
0:23 move second child to first child ( temp float)
|
|
0:? 'OutputStream.myfloat' (layout( location=0) out float)
|
|
0:23 myfloat: direct index for structure ( temp float)
|
|
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:23 Constant:
|
|
0:23 0 (const int)
|
|
0:23 move second child to first child ( temp int)
|
|
0:? 'OutputStream.something' (layout( location=1) out int)
|
|
0:23 something: direct index for structure ( temp int)
|
|
0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
|
|
0:23 Constant:
|
|
0:23 1 (const int)
|
|
0:23 EmitVertex ( temp void)
|
|
0:24 EndPrimitive ( temp void)
|
|
0:16 Function Definition: main( ( temp void)
|
|
0:16 Function Parameters:
|
|
0:? Sequence
|
|
0:16 move second child to first child ( temp 3-element array of uint)
|
|
0:? 'VertexID' ( temp 3-element array of uint)
|
|
0:? 'VertexID' (layout( location=0) in 3-element array of uint)
|
|
0:16 move second child to first child ( temp 3-element array of uint)
|
|
0:? 'test' ( temp 3-element array of uint)
|
|
0:? 'test' (layout( location=1) in 3-element array of uint)
|
|
0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
|
|
0:? 'VertexID' ( temp 3-element array of uint)
|
|
0:? 'test' ( temp 3-element array of uint)
|
|
0:? 'OutputStream' ( temp structure{ temp float myfloat, temp int something})
|
|
0:? Linker Objects
|
|
0:? 'VertexID' (layout( location=0) in 3-element array of uint)
|
|
0:? 'test' (layout( location=1) in 3-element array of uint)
|
|
0:? 'OutputStream.myfloat' (layout( location=0) out float)
|
|
0:? 'OutputStream.something' (layout( location=1) out int)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80006
|
|
// Id's are bound by 68
|
|
|
|
Capability Geometry
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Geometry 4 "main" 42 46 55 58
|
|
ExecutionMode 4 Triangles
|
|
ExecutionMode 4 Invocations 1
|
|
ExecutionMode 4 OutputLineStrip
|
|
ExecutionMode 4 OutputVertices 4
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 12 "PSInput"
|
|
MemberName 12(PSInput) 0 "myfloat"
|
|
MemberName 12(PSInput) 1 "something"
|
|
Name 18 "@main(u1[3];u1[3];struct-PSInput-f1-i11;"
|
|
Name 15 "VertexID"
|
|
Name 16 "test"
|
|
Name 17 "OutputStream"
|
|
Name 20 "Vert"
|
|
Name 42 "OutputStream.myfloat"
|
|
Name 46 "OutputStream.something"
|
|
Name 53 "VertexID"
|
|
Name 55 "VertexID"
|
|
Name 57 "test"
|
|
Name 58 "test"
|
|
Name 60 "OutputStream"
|
|
Name 61 "param"
|
|
Name 63 "param"
|
|
Name 65 "param"
|
|
Decorate 42(OutputStream.myfloat) Location 0
|
|
Decorate 46(OutputStream.something) Location 1
|
|
Decorate 55(VertexID) Location 0
|
|
Decorate 58(test) Location 1
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: 6(int) Constant 3
|
|
8: TypeArray 6(int) 7
|
|
9: TypePointer Function 8
|
|
10: TypeFloat 32
|
|
11: TypeInt 32 1
|
|
12(PSInput): TypeStruct 10(float) 11(int)
|
|
13: TypePointer Function 12(PSInput)
|
|
14: TypeFunction 2 9(ptr) 9(ptr) 13(ptr)
|
|
21: 11(int) Constant 0
|
|
22: TypePointer Function 6(int)
|
|
25: 11(int) Constant 1
|
|
29: 11(int) Constant 2
|
|
34: TypePointer Function 10(float)
|
|
39: TypePointer Function 11(int)
|
|
41: TypePointer Output 10(float)
|
|
42(OutputStream.myfloat): 41(ptr) Variable Output
|
|
45: TypePointer Output 11(int)
|
|
46(OutputStream.something): 45(ptr) Variable Output
|
|
54: TypePointer Input 8
|
|
55(VertexID): 54(ptr) Variable Input
|
|
58(test): 54(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
53(VertexID): 9(ptr) Variable Function
|
|
57(test): 9(ptr) Variable Function
|
|
60(OutputStream): 13(ptr) Variable Function
|
|
61(param): 9(ptr) Variable Function
|
|
63(param): 9(ptr) Variable Function
|
|
65(param): 13(ptr) Variable Function
|
|
56: 8 Load 55(VertexID)
|
|
Store 53(VertexID) 56
|
|
59: 8 Load 58(test)
|
|
Store 57(test) 59
|
|
62: 8 Load 53(VertexID)
|
|
Store 61(param) 62
|
|
64: 8 Load 57(test)
|
|
Store 63(param) 64
|
|
66: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 61(param) 63(param) 65(param)
|
|
67: 12(PSInput) Load 65(param)
|
|
Store 60(OutputStream) 67
|
|
Return
|
|
FunctionEnd
|
|
18(@main(u1[3];u1[3];struct-PSInput-f1-i11;): 2 Function None 14
|
|
15(VertexID): 9(ptr) FunctionParameter
|
|
16(test): 9(ptr) FunctionParameter
|
|
17(OutputStream): 13(ptr) FunctionParameter
|
|
19: Label
|
|
20(Vert): 13(ptr) Variable Function
|
|
23: 22(ptr) AccessChain 16(test) 21
|
|
24: 6(int) Load 23
|
|
26: 22(ptr) AccessChain 16(test) 25
|
|
27: 6(int) Load 26
|
|
28: 6(int) IAdd 24 27
|
|
30: 22(ptr) AccessChain 16(test) 29
|
|
31: 6(int) Load 30
|
|
32: 6(int) IAdd 28 31
|
|
33: 10(float) ConvertUToF 32
|
|
35: 34(ptr) AccessChain 20(Vert) 21
|
|
Store 35 33
|
|
36: 22(ptr) AccessChain 15(VertexID) 21
|
|
37: 6(int) Load 36
|
|
38: 11(int) Bitcast 37
|
|
40: 39(ptr) AccessChain 20(Vert) 25
|
|
Store 40 38
|
|
43: 34(ptr) AccessChain 20(Vert) 21
|
|
44: 10(float) Load 43
|
|
Store 42(OutputStream.myfloat) 44
|
|
47: 39(ptr) AccessChain 20(Vert) 25
|
|
48: 11(int) Load 47
|
|
Store 46(OutputStream.something) 48
|
|
EmitVertex
|
|
49: 34(ptr) AccessChain 20(Vert) 21
|
|
50: 10(float) Load 49
|
|
Store 42(OutputStream.myfloat) 50
|
|
51: 39(ptr) AccessChain 20(Vert) 25
|
|
52: 11(int) Load 51
|
|
Store 46(OutputStream.something) 52
|
|
EmitVertex
|
|
EndPrimitive
|
|
Return
|
|
FunctionEnd
|