| hlsl.instance.geom |
| Shader version: 500 |
| invocations = 5 |
| max_vertices = 3 |
| input primitive = triangles |
| output primitive = triangle_strip |
| 0:? Sequence |
| 0:10 Function Definition: @GeometryShader(struct-VertexShaderOutput-vf4-vf41[3];struct-VertexShaderOutput-vf4-vf41;u1; ( temp void) |
| 0:10 Function Parameters: |
| 0:10 'input' ( in 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 'output' ( out structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 'id' ( in uint) |
| 0:? Sequence |
| 0:12 Sequence |
| 0:12 move second child to first child ( temp int) |
| 0:12 'i' ( temp int) |
| 0:12 Constant: |
| 0:12 0 (const int) |
| 0:12 Loop with condition tested first: DontUnroll |
| 0:12 Loop Condition |
| 0:12 Compare Less Than ( temp bool) |
| 0:12 'i' ( temp int) |
| 0:12 Constant: |
| 0:12 3 (const int) |
| 0:12 Loop Body |
| 0:? Sequence |
| 0:14 Sequence |
| 0:14 Sequence |
| 0:14 move second child to first child ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 'flattenTemp' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 indirect index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 'input' ( in 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 'i' ( temp int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:? 'output.m_position' ( out 4-component vector of float Position) |
| 0:14 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:14 'flattenTemp' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:? 'output.m_color' (layout( location=0) out 4-component vector of float) |
| 0:14 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:14 'flattenTemp' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:14 EmitVertex ( temp void) |
| 0:12 Loop Terminal Expression |
| 0:12 Pre-Increment ( temp int) |
| 0:12 'i' ( temp int) |
| 0:16 EndPrimitive ( temp void) |
| 0:10 Function Definition: GeometryShader( ( temp void) |
| 0:10 Function Parameters: |
| 0:? Sequence |
| 0:10 Sequence |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 direct index ( in 4-component vector of float Position) |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 direct index (layout( location=0) in 4-component vector of float) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 direct index ( in 4-component vector of float Position) |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 direct index (layout( location=0) in 4-component vector of float) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 direct index ( in 4-component vector of float Position) |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 direct index (layout( location=0) in 4-component vector of float) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 move second child to first child ( temp uint) |
| 0:? 'id' ( temp uint) |
| 0:? 'id' ( in uint InvocationID) |
| 0:10 Function Call: @GeometryShader(struct-VertexShaderOutput-vf4-vf41[3];struct-VertexShaderOutput-vf4-vf41;u1; ( temp void) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'output' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'id' ( temp uint) |
| 0:? Linker Objects |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:? 'id' ( in uint InvocationID) |
| 0:? 'output.m_position' ( out 4-component vector of float Position) |
| 0:? 'output.m_color' (layout( location=0) out 4-component vector of float) |
| |
| |
| Linked geometry stage: |
| |
| |
| Shader version: 500 |
| invocations = 5 |
| max_vertices = 3 |
| input primitive = triangles |
| output primitive = triangle_strip |
| 0:? Sequence |
| 0:10 Function Definition: @GeometryShader(struct-VertexShaderOutput-vf4-vf41[3];struct-VertexShaderOutput-vf4-vf41;u1; ( temp void) |
| 0:10 Function Parameters: |
| 0:10 'input' ( in 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 'output' ( out structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 'id' ( in uint) |
| 0:? Sequence |
| 0:12 Sequence |
| 0:12 move second child to first child ( temp int) |
| 0:12 'i' ( temp int) |
| 0:12 Constant: |
| 0:12 0 (const int) |
| 0:12 Loop with condition tested first: DontUnroll |
| 0:12 Loop Condition |
| 0:12 Compare Less Than ( temp bool) |
| 0:12 'i' ( temp int) |
| 0:12 Constant: |
| 0:12 3 (const int) |
| 0:12 Loop Body |
| 0:? Sequence |
| 0:14 Sequence |
| 0:14 Sequence |
| 0:14 move second child to first child ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 'flattenTemp' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 indirect index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 'input' ( in 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 'i' ( temp int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:? 'output.m_position' ( out 4-component vector of float Position) |
| 0:14 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:14 'flattenTemp' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 Constant: |
| 0:14 0 (const int) |
| 0:14 move second child to first child ( temp 4-component vector of float) |
| 0:? 'output.m_color' (layout( location=0) out 4-component vector of float) |
| 0:14 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:14 'flattenTemp' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:14 Constant: |
| 0:14 1 (const int) |
| 0:14 EmitVertex ( temp void) |
| 0:12 Loop Terminal Expression |
| 0:12 Pre-Increment ( temp int) |
| 0:12 'i' ( temp int) |
| 0:16 EndPrimitive ( temp void) |
| 0:10 Function Definition: GeometryShader( ( temp void) |
| 0:10 Function Parameters: |
| 0:? Sequence |
| 0:10 Sequence |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 direct index ( in 4-component vector of float Position) |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 direct index (layout( location=0) in 4-component vector of float) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 direct index ( in 4-component vector of float Position) |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 direct index (layout( location=0) in 4-component vector of float) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_position: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 Constant: |
| 0:10 0 (const int) |
| 0:10 direct index ( in 4-component vector of float Position) |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 move second child to first child ( temp 4-component vector of float) |
| 0:10 m_color: direct index for structure ( temp 4-component vector of float) |
| 0:10 direct index ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 Constant: |
| 0:10 1 (const int) |
| 0:10 direct index (layout( location=0) in 4-component vector of float) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:10 Constant: |
| 0:10 2 (const int) |
| 0:10 move second child to first child ( temp uint) |
| 0:? 'id' ( temp uint) |
| 0:? 'id' ( in uint InvocationID) |
| 0:10 Function Call: @GeometryShader(struct-VertexShaderOutput-vf4-vf41[3];struct-VertexShaderOutput-vf4-vf41;u1; ( temp void) |
| 0:? 'input' ( temp 3-element array of structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'output' ( temp structure{ temp 4-component vector of float m_position, temp 4-component vector of float m_color}) |
| 0:? 'id' ( temp uint) |
| 0:? Linker Objects |
| 0:? 'input.m_position' ( in 3-element array of 4-component vector of float Position) |
| 0:? 'input.m_color' (layout( location=0) in 3-element array of 4-component vector of float) |
| 0:? 'id' ( in uint InvocationID) |
| 0:? 'output.m_position' ( out 4-component vector of float Position) |
| 0:? 'output.m_color' (layout( location=0) out 4-component vector of float) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 86 |
| |
| Capability Geometry |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Geometry 4 "GeometryShader" 39 43 52 57 76 |
| ExecutionMode 4 Triangles |
| ExecutionMode 4 Invocations 5 |
| ExecutionMode 4 OutputTriangleStrip |
| ExecutionMode 4 OutputVertices 3 |
| Source HLSL 500 |
| Name 4 "GeometryShader" |
| Name 8 "VertexShaderOutput" |
| MemberName 8(VertexShaderOutput) 0 "m_position" |
| MemberName 8(VertexShaderOutput) 1 "m_color" |
| Name 19 "@GeometryShader(struct-VertexShaderOutput-vf4-vf41[3];struct-VertexShaderOutput-vf4-vf41;u1;" |
| Name 16 "input" |
| Name 17 "output" |
| Name 18 "id" |
| Name 23 "i" |
| Name 34 "flattenTemp" |
| Name 39 "output.m_position" |
| Name 43 "output.m_color" |
| Name 49 "input" |
| Name 52 "input.m_position" |
| Name 57 "input.m_color" |
| Name 74 "id" |
| Name 76 "id" |
| Name 78 "output" |
| Name 79 "param" |
| Name 81 "param" |
| Name 82 "param" |
| Decorate 39(output.m_position) BuiltIn Position |
| Decorate 43(output.m_color) Location 0 |
| Decorate 52(input.m_position) BuiltIn Position |
| Decorate 57(input.m_color) Location 0 |
| Decorate 76(id) BuiltIn InvocationId |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypeVector 6(float) 4 |
| 8(VertexShaderOutput): TypeStruct 7(fvec4) 7(fvec4) |
| 9: TypeInt 32 0 |
| 10: 9(int) Constant 3 |
| 11: TypeArray 8(VertexShaderOutput) 10 |
| 12: TypePointer Function 11 |
| 13: TypePointer Function 8(VertexShaderOutput) |
| 14: TypePointer Function 9(int) |
| 15: TypeFunction 2 12(ptr) 13(ptr) 14(ptr) |
| 21: TypeInt 32 1 |
| 22: TypePointer Function 21(int) |
| 24: 21(int) Constant 0 |
| 31: 21(int) Constant 3 |
| 32: TypeBool |
| 38: TypePointer Output 7(fvec4) |
| 39(output.m_position): 38(ptr) Variable Output |
| 40: TypePointer Function 7(fvec4) |
| 43(output.m_color): 38(ptr) Variable Output |
| 44: 21(int) Constant 1 |
| 50: TypeArray 7(fvec4) 10 |
| 51: TypePointer Input 50 |
| 52(input.m_position): 51(ptr) Variable Input |
| 53: TypePointer Input 7(fvec4) |
| 57(input.m_color): 51(ptr) Variable Input |
| 67: 21(int) Constant 2 |
| 75: TypePointer Input 9(int) |
| 76(id): 75(ptr) Variable Input |
| 4(GeometryShader): 2 Function None 3 |
| 5: Label |
| 49(input): 12(ptr) Variable Function |
| 74(id): 14(ptr) Variable Function |
| 78(output): 13(ptr) Variable Function |
| 79(param): 12(ptr) Variable Function |
| 81(param): 13(ptr) Variable Function |
| 82(param): 14(ptr) Variable Function |
| 54: 53(ptr) AccessChain 52(input.m_position) 24 |
| 55: 7(fvec4) Load 54 |
| 56: 40(ptr) AccessChain 49(input) 24 24 |
| Store 56 55 |
| 58: 53(ptr) AccessChain 57(input.m_color) 24 |
| 59: 7(fvec4) Load 58 |
| 60: 40(ptr) AccessChain 49(input) 24 44 |
| Store 60 59 |
| 61: 53(ptr) AccessChain 52(input.m_position) 44 |
| 62: 7(fvec4) Load 61 |
| 63: 40(ptr) AccessChain 49(input) 44 24 |
| Store 63 62 |
| 64: 53(ptr) AccessChain 57(input.m_color) 44 |
| 65: 7(fvec4) Load 64 |
| 66: 40(ptr) AccessChain 49(input) 44 44 |
| Store 66 65 |
| 68: 53(ptr) AccessChain 52(input.m_position) 67 |
| 69: 7(fvec4) Load 68 |
| 70: 40(ptr) AccessChain 49(input) 67 24 |
| Store 70 69 |
| 71: 53(ptr) AccessChain 57(input.m_color) 67 |
| 72: 7(fvec4) Load 71 |
| 73: 40(ptr) AccessChain 49(input) 67 44 |
| Store 73 72 |
| 77: 9(int) Load 76(id) |
| Store 74(id) 77 |
| 80: 11 Load 49(input) |
| Store 79(param) 80 |
| 83: 9(int) Load 74(id) |
| Store 82(param) 83 |
| 84: 2 FunctionCall 19(@GeometryShader(struct-VertexShaderOutput-vf4-vf41[3];struct-VertexShaderOutput-vf4-vf41;u1;) 79(param) 81(param) 82(param) |
| 85:8(VertexShaderOutput) Load 81(param) |
| Store 78(output) 85 |
| Return |
| FunctionEnd |
| 19(@GeometryShader(struct-VertexShaderOutput-vf4-vf41[3];struct-VertexShaderOutput-vf4-vf41;u1;): 2 Function None 15 |
| 16(input): 12(ptr) FunctionParameter |
| 17(output): 13(ptr) FunctionParameter |
| 18(id): 14(ptr) FunctionParameter |
| 20: Label |
| 23(i): 22(ptr) Variable Function |
| 34(flattenTemp): 13(ptr) Variable Function |
| Store 23(i) 24 |
| Branch 25 |
| 25: Label |
| LoopMerge 27 28 DontUnroll |
| Branch 29 |
| 29: Label |
| 30: 21(int) Load 23(i) |
| 33: 32(bool) SLessThan 30 31 |
| BranchConditional 33 26 27 |
| 26: Label |
| 35: 21(int) Load 23(i) |
| 36: 13(ptr) AccessChain 16(input) 35 |
| 37:8(VertexShaderOutput) Load 36 |
| Store 34(flattenTemp) 37 |
| 41: 40(ptr) AccessChain 34(flattenTemp) 24 |
| 42: 7(fvec4) Load 41 |
| Store 39(output.m_position) 42 |
| 45: 40(ptr) AccessChain 34(flattenTemp) 44 |
| 46: 7(fvec4) Load 45 |
| Store 43(output.m_color) 46 |
| EmitVertex |
| Branch 28 |
| 28: Label |
| 47: 21(int) Load 23(i) |
| 48: 21(int) IAdd 47 44 |
| Store 23(i) 48 |
| Branch 25 |
| 27: Label |
| EndPrimitive |
| Return |
| FunctionEnd |