| hlsl.semantic.geom |
| Shader version: 500 |
| invocations = -1 |
| max_vertices = 4 |
| input primitive = triangles |
| output primitive = line_strip |
| 0:? Sequence |
| 0:13 Function Definition: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void) |
| 0:13 Function Parameters: |
| 0:13 'VertexID' ( in 3-element array of uint) |
| 0:13 'OutputStream' ( out structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:? Sequence |
| 0:15 Sequence |
| 0:15 Sequence |
| 0:15 move second child to first child ( temp float) |
| 0:? 'OutputStream.clip0' ( out float Position) |
| 0:15 clip0: direct index for structure ( temp float) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:? Sequence |
| 0:15 move second child to first child ( temp float) |
| 0:15 direct index ( out float ClipDistance) |
| 0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 clip0: direct index for structure ( temp float) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:? Sequence |
| 0:15 move second child to first child ( temp float) |
| 0:15 direct index ( out float CullDistance) |
| 0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 cull0: direct index for structure ( temp float) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 2 (const int) |
| 0:15 move second child to first child ( temp uint) |
| 0:? 'OutputStream.vpai' ( out uint ViewportIndex) |
| 0:15 vpai: direct index for structure ( temp uint) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 3 (const int) |
| 0:15 move second child to first child ( temp uint) |
| 0:? 'OutputStream.rtai' ( out uint Layer) |
| 0:15 rtai: direct index for structure ( temp uint) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 4 (const int) |
| 0:15 move second child to first child ( temp int) |
| 0:? 'OutputStream.ii' (layout( location=0) out int) |
| 0:15 ii: direct index for structure ( temp int) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 5 (const int) |
| 0:15 EmitVertex ( temp void) |
| 0:13 Function Definition: main( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 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:13 Function Call: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void) |
| 0:? 'VertexID' ( temp 3-element array of uint) |
| 0:? 'OutputStream' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:21 Function Definition: notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11; ( temp void) |
| 0:21 Function Parameters: |
| 0:21 'VertexID' ( in 2-element array of uint) |
| 0:21 'OutputStream' ( out structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:? Sequence |
| 0:23 Sequence |
| 0:23 Sequence |
| 0:23 move second child to first child ( temp float) |
| 0:? 'OutputStream.clip0' ( out float Position) |
| 0:23 clip0: direct index for structure ( temp float) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 0 (const int) |
| 0:? Sequence |
| 0:23 move second child to first child ( temp float) |
| 0:23 direct index ( out float ClipDistance) |
| 0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance) |
| 0:23 Constant: |
| 0:23 0 (const int) |
| 0:23 clip0: direct index for structure ( temp float) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 1 (const int) |
| 0:? Sequence |
| 0:23 move second child to first child ( temp float) |
| 0:23 direct index ( out float CullDistance) |
| 0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance) |
| 0:23 Constant: |
| 0:23 0 (const int) |
| 0:23 cull0: direct index for structure ( temp float) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 2 (const int) |
| 0:23 move second child to first child ( temp uint) |
| 0:? 'OutputStream.vpai' ( out uint ViewportIndex) |
| 0:23 vpai: direct index for structure ( temp uint) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 3 (const int) |
| 0:23 move second child to first child ( temp uint) |
| 0:? 'OutputStream.rtai' ( out uint Layer) |
| 0:23 rtai: direct index for structure ( temp uint) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 4 (const int) |
| 0:23 move second child to first child ( temp int) |
| 0:? 'OutputStream.ii' (layout( location=0) out int) |
| 0:23 ii: direct index for structure ( temp int) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 5 (const int) |
| 0:23 EmitVertex ( temp void) |
| 0:? Linker Objects |
| 0:? 'VertexID' (layout( location=0) in 3-element array of uint) |
| 0:? 'OutputStream.clip0' ( out float Position) |
| 0:? 'OutputStream.vpai' ( out uint ViewportIndex) |
| 0:? 'OutputStream.rtai' ( out uint Layer) |
| 0:? 'OutputStream.ii' (layout( location=0) out int) |
| 0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance) |
| 0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance) |
| |
| |
| Linked geometry stage: |
| |
| |
| Shader version: 500 |
| invocations = 1 |
| max_vertices = 4 |
| input primitive = triangles |
| output primitive = line_strip |
| 0:? Sequence |
| 0:13 Function Definition: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void) |
| 0:13 Function Parameters: |
| 0:13 'VertexID' ( in 3-element array of uint) |
| 0:13 'OutputStream' ( out structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:? Sequence |
| 0:15 Sequence |
| 0:15 Sequence |
| 0:15 move second child to first child ( temp float) |
| 0:? 'OutputStream.clip0' ( out float Position) |
| 0:15 clip0: direct index for structure ( temp float) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:? Sequence |
| 0:15 move second child to first child ( temp float) |
| 0:15 direct index ( out float ClipDistance) |
| 0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 clip0: direct index for structure ( temp float) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 1 (const int) |
| 0:? Sequence |
| 0:15 move second child to first child ( temp float) |
| 0:15 direct index ( out float CullDistance) |
| 0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance) |
| 0:15 Constant: |
| 0:15 0 (const int) |
| 0:15 cull0: direct index for structure ( temp float) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 2 (const int) |
| 0:15 move second child to first child ( temp uint) |
| 0:? 'OutputStream.vpai' ( out uint ViewportIndex) |
| 0:15 vpai: direct index for structure ( temp uint) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 3 (const int) |
| 0:15 move second child to first child ( temp uint) |
| 0:? 'OutputStream.rtai' ( out uint Layer) |
| 0:15 rtai: direct index for structure ( temp uint) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 4 (const int) |
| 0:15 move second child to first child ( temp int) |
| 0:? 'OutputStream.ii' (layout( location=0) out int) |
| 0:15 ii: direct index for structure ( temp int) |
| 0:15 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:15 Constant: |
| 0:15 5 (const int) |
| 0:15 EmitVertex ( temp void) |
| 0:13 Function Definition: main( ( temp void) |
| 0:13 Function Parameters: |
| 0:? Sequence |
| 0:13 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:13 Function Call: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void) |
| 0:? 'VertexID' ( temp 3-element array of uint) |
| 0:? 'OutputStream' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:21 Function Definition: notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11; ( temp void) |
| 0:21 Function Parameters: |
| 0:21 'VertexID' ( in 2-element array of uint) |
| 0:21 'OutputStream' ( out structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:? Sequence |
| 0:23 Sequence |
| 0:23 Sequence |
| 0:23 move second child to first child ( temp float) |
| 0:? 'OutputStream.clip0' ( out float Position) |
| 0:23 clip0: direct index for structure ( temp float) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 0 (const int) |
| 0:? Sequence |
| 0:23 move second child to first child ( temp float) |
| 0:23 direct index ( out float ClipDistance) |
| 0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance) |
| 0:23 Constant: |
| 0:23 0 (const int) |
| 0:23 clip0: direct index for structure ( temp float) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 1 (const int) |
| 0:? Sequence |
| 0:23 move second child to first child ( temp float) |
| 0:23 direct index ( out float CullDistance) |
| 0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance) |
| 0:23 Constant: |
| 0:23 0 (const int) |
| 0:23 cull0: direct index for structure ( temp float) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 2 (const int) |
| 0:23 move second child to first child ( temp uint) |
| 0:? 'OutputStream.vpai' ( out uint ViewportIndex) |
| 0:23 vpai: direct index for structure ( temp uint) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 3 (const int) |
| 0:23 move second child to first child ( temp uint) |
| 0:? 'OutputStream.rtai' ( out uint Layer) |
| 0:23 rtai: direct index for structure ( temp uint) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 4 (const int) |
| 0:23 move second child to first child ( temp int) |
| 0:? 'OutputStream.ii' (layout( location=0) out int) |
| 0:23 ii: direct index for structure ( temp int) |
| 0:23 's' ( temp structure{ temp float clip0, temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii}) |
| 0:23 Constant: |
| 0:23 5 (const int) |
| 0:23 EmitVertex ( temp void) |
| 0:? Linker Objects |
| 0:? 'VertexID' (layout( location=0) in 3-element array of uint) |
| 0:? 'OutputStream.clip0' ( out float Position) |
| 0:? 'OutputStream.vpai' ( out uint ViewportIndex) |
| 0:? 'OutputStream.rtai' ( out uint Layer) |
| 0:? 'OutputStream.ii' (layout( location=0) out int) |
| 0:? 'OutputStream.clip0' ( out 1-element array of float ClipDistance) |
| 0:? 'OutputStream.cull0' ( out 1-element array of float CullDistance) |
| |
| Validation failed |
| // Module Version 10000 |
| // Generated by (magic number): 8000a |
| // Id's are bound by 88 |
| |
| Capability Geometry |
| Capability ClipDistance |
| Capability CullDistance |
| Capability MultiViewport |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Geometry 4 "main" 28 37 42 48 53 58 65 |
| ExecutionMode 4 Triangles |
| ExecutionMode 4 Invocations 1 |
| ExecutionMode 4 OutputLineStrip |
| ExecutionMode 4 OutputVertices 4 |
| Source HLSL 500 |
| Name 4 "main" |
| Name 12 "S" |
| MemberName 12(S) 0 "clip0" |
| MemberName 12(S) 1 "clip0" |
| MemberName 12(S) 2 "cull0" |
| MemberName 12(S) 3 "vpai" |
| MemberName 12(S) 4 "rtai" |
| MemberName 12(S) 5 "ii" |
| Name 17 "@main(u1[3];struct-S-f1-f1-f1-u1-u1-i11;" |
| Name 15 "VertexID" |
| Name 16 "OutputStream" |
| Name 25 "notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11;" |
| Name 23 "VertexID" |
| Name 24 "OutputStream" |
| Name 28 "OutputStream.clip0" |
| Name 29 "s" |
| Name 37 "OutputStream.clip0" |
| Name 42 "OutputStream.cull0" |
| Name 48 "OutputStream.vpai" |
| Name 53 "OutputStream.rtai" |
| Name 58 "OutputStream.ii" |
| Name 63 "VertexID" |
| Name 65 "VertexID" |
| Name 67 "OutputStream" |
| Name 68 "param" |
| Name 70 "param" |
| Name 73 "s" |
| Decorate 28(OutputStream.clip0) BuiltIn Position |
| Decorate 37(OutputStream.clip0) BuiltIn ClipDistance |
| Decorate 42(OutputStream.cull0) BuiltIn CullDistance |
| Decorate 48(OutputStream.vpai) BuiltIn ViewportIndex |
| Decorate 53(OutputStream.rtai) BuiltIn Layer |
| Decorate 58(OutputStream.ii) Location 0 |
| Decorate 65(VertexID) Location 0 |
| 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(S): TypeStruct 10(float) 10(float) 10(float) 6(int) 6(int) 11(int) |
| 13: TypePointer Function 12(S) |
| 14: TypeFunction 2 9(ptr) 13(ptr) |
| 19: 6(int) Constant 2 |
| 20: TypeArray 6(int) 19 |
| 21: TypePointer Function 20 |
| 22: TypeFunction 2 21(ptr) 13(ptr) |
| 27: TypePointer Output 10(float) |
| 28(OutputStream.clip0): 27(ptr) Variable Output |
| 30: 11(int) Constant 0 |
| 31: TypePointer Function 10(float) |
| 34: 6(int) Constant 1 |
| 35: TypeArray 10(float) 34 |
| 36: TypePointer Output 35 |
| 37(OutputStream.clip0): 36(ptr) Variable Output |
| 38: 11(int) Constant 1 |
| 42(OutputStream.cull0): 36(ptr) Variable Output |
| 43: 11(int) Constant 2 |
| 47: TypePointer Output 6(int) |
| 48(OutputStream.vpai): 47(ptr) Variable Output |
| 49: 11(int) Constant 3 |
| 50: TypePointer Function 6(int) |
| 53(OutputStream.rtai): 47(ptr) Variable Output |
| 54: 11(int) Constant 4 |
| 57: TypePointer Output 11(int) |
| 58(OutputStream.ii): 57(ptr) Variable Output |
| 59: 11(int) Constant 5 |
| 60: TypePointer Function 11(int) |
| 64: TypePointer Input 8 |
| 65(VertexID): 64(ptr) Variable Input |
| 4(main): 2 Function None 3 |
| 5: Label |
| 63(VertexID): 9(ptr) Variable Function |
| 67(OutputStream): 13(ptr) Variable Function |
| 68(param): 9(ptr) Variable Function |
| 70(param): 13(ptr) Variable Function |
| 66: 8 Load 65(VertexID) |
| Store 63(VertexID) 66 |
| 69: 8 Load 63(VertexID) |
| Store 68(param) 69 |
| 71: 2 FunctionCall 17(@main(u1[3];struct-S-f1-f1-f1-u1-u1-i11;) 68(param) 70(param) |
| 72: 12(S) Load 70(param) |
| Store 67(OutputStream) 72 |
| Return |
| FunctionEnd |
| 17(@main(u1[3];struct-S-f1-f1-f1-u1-u1-i11;): 2 Function None 14 |
| 15(VertexID): 9(ptr) FunctionParameter |
| 16(OutputStream): 13(ptr) FunctionParameter |
| 18: Label |
| 29(s): 13(ptr) Variable Function |
| 32: 31(ptr) AccessChain 29(s) 30 |
| 33: 10(float) Load 32 |
| Store 28(OutputStream.clip0) 33 |
| 39: 31(ptr) AccessChain 29(s) 38 |
| 40: 10(float) Load 39 |
| 41: 27(ptr) AccessChain 37(OutputStream.clip0) 30 |
| Store 41 40 |
| 44: 31(ptr) AccessChain 29(s) 43 |
| 45: 10(float) Load 44 |
| 46: 27(ptr) AccessChain 42(OutputStream.cull0) 30 |
| Store 46 45 |
| 51: 50(ptr) AccessChain 29(s) 49 |
| 52: 6(int) Load 51 |
| Store 48(OutputStream.vpai) 52 |
| 55: 50(ptr) AccessChain 29(s) 54 |
| 56: 6(int) Load 55 |
| Store 53(OutputStream.rtai) 56 |
| 61: 60(ptr) AccessChain 29(s) 59 |
| 62: 11(int) Load 61 |
| Store 58(OutputStream.ii) 62 |
| EmitVertex |
| Return |
| FunctionEnd |
| 25(notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11;): 2 Function None 22 |
| 23(VertexID): 21(ptr) FunctionParameter |
| 24(OutputStream): 13(ptr) FunctionParameter |
| 26: Label |
| 73(s): 13(ptr) Variable Function |
| 74: 31(ptr) AccessChain 73(s) 30 |
| 75: 10(float) Load 74 |
| Store 28(OutputStream.clip0) 75 |
| 76: 31(ptr) AccessChain 73(s) 38 |
| 77: 10(float) Load 76 |
| 78: 27(ptr) AccessChain 37(OutputStream.clip0) 30 |
| Store 78 77 |
| 79: 31(ptr) AccessChain 73(s) 43 |
| 80: 10(float) Load 79 |
| 81: 27(ptr) AccessChain 42(OutputStream.cull0) 30 |
| Store 81 80 |
| 82: 50(ptr) AccessChain 73(s) 49 |
| 83: 6(int) Load 82 |
| Store 48(OutputStream.vpai) 83 |
| 84: 50(ptr) AccessChain 73(s) 54 |
| 85: 6(int) Load 84 |
| Store 53(OutputStream.rtai) 85 |
| 86: 60(ptr) AccessChain 73(s) 59 |
| 87: 11(int) Load 86 |
| Store 58(OutputStream.ii) 87 |
| EmitVertex |
| Return |
| FunctionEnd |