| hlsl.struct.split.trivial.vert |
| Shader version: 500 |
| 0:? Sequence |
| 0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) |
| 0:16 Function Parameters: |
| 0:16 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) |
| 0:16 'Pos_loose' ( in 4-component vector of float) |
| 0:? Sequence |
| 0:19 move second child to first child ( temp 4-component vector of float) |
| 0:19 Pos: direct index for structure ( temp 4-component vector of float) |
| 0:19 'vsout' ( temp structure{ temp 4-component vector of float Pos}) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 add ( temp 4-component vector of float) |
| 0:19 Pos_in: direct index for structure ( temp 4-component vector of float) |
| 0:19 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 'Pos_loose' ( in 4-component vector of float) |
| 0:21 Branch: Return with expression |
| 0:21 'vsout' ( temp structure{ temp 4-component vector of float Pos}) |
| 0:16 Function Definition: main( ( temp void) |
| 0:16 Function Parameters: |
| 0:? Sequence |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:16 Pos_in: direct index for structure ( temp 4-component vector of float) |
| 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:? 'Pos_loose' ( temp 4-component vector of float) |
| 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) |
| 0:16 Pos: direct index for structure ( temp 4-component vector of float) |
| 0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) |
| 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) |
| 0:? 'Pos_loose' ( temp 4-component vector of float) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) |
| 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) |
| 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) |
| |
| |
| Linked vertex stage: |
| |
| |
| Shader version: 500 |
| 0:? Sequence |
| 0:16 Function Definition: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) |
| 0:16 Function Parameters: |
| 0:16 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) |
| 0:16 'Pos_loose' ( in 4-component vector of float) |
| 0:? Sequence |
| 0:19 move second child to first child ( temp 4-component vector of float) |
| 0:19 Pos: direct index for structure ( temp 4-component vector of float) |
| 0:19 'vsout' ( temp structure{ temp 4-component vector of float Pos}) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 add ( temp 4-component vector of float) |
| 0:19 Pos_in: direct index for structure ( temp 4-component vector of float) |
| 0:19 'vsin' ( in structure{ temp 4-component vector of float Pos_in}) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:19 'Pos_loose' ( in 4-component vector of float) |
| 0:21 Branch: Return with expression |
| 0:21 'vsout' ( temp structure{ temp 4-component vector of float Pos}) |
| 0:16 Function Definition: main( ( temp void) |
| 0:16 Function Parameters: |
| 0:? Sequence |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:16 Pos_in: direct index for structure ( temp 4-component vector of float) |
| 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:? 'Pos_loose' ( temp 4-component vector of float) |
| 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) |
| 0:16 Sequence |
| 0:16 move second child to first child ( temp 4-component vector of float) |
| 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) |
| 0:16 Pos: direct index for structure ( temp 4-component vector of float) |
| 0:16 Function Call: @main(struct-VS_INPUT-vf41;vf4; ( temp structure{ temp 4-component vector of float Pos}) |
| 0:? 'vsin' ( temp structure{ temp 4-component vector of float Pos_in}) |
| 0:? 'Pos_loose' ( temp 4-component vector of float) |
| 0:16 Constant: |
| 0:16 0 (const int) |
| 0:? Linker Objects |
| 0:? '@entryPointOutput.Pos' ( out 4-component vector of float Position) |
| 0:? 'vsin.Pos_in' (layout( location=0) in 4-component vector of float) |
| 0:? 'Pos_loose' (layout( location=1) in 4-component vector of float) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80008 |
| // Id's are bound by 45 |
| |
| Capability Shader |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Vertex 4 "main" 31 35 38 |
| Source HLSL 500 |
| Name 4 "main" |
| Name 8 "VS_INPUT" |
| MemberName 8(VS_INPUT) 0 "Pos_in" |
| Name 11 "VS_OUTPUT" |
| MemberName 11(VS_OUTPUT) 0 "Pos" |
| Name 15 "@main(struct-VS_INPUT-vf41;vf4;" |
| Name 13 "vsin" |
| Name 14 "Pos_loose" |
| Name 18 "vsout" |
| Name 29 "vsin" |
| Name 31 "vsin.Pos_in" |
| Name 34 "Pos_loose" |
| Name 35 "Pos_loose" |
| Name 38 "@entryPointOutput.Pos" |
| Name 39 "param" |
| Name 41 "param" |
| Decorate 31(vsin.Pos_in) Location 0 |
| Decorate 35(Pos_loose) Location 1 |
| Decorate 38(@entryPointOutput.Pos) BuiltIn Position |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeFloat 32 |
| 7: TypeVector 6(float) 4 |
| 8(VS_INPUT): TypeStruct 7(fvec4) |
| 9: TypePointer Function 8(VS_INPUT) |
| 10: TypePointer Function 7(fvec4) |
| 11(VS_OUTPUT): TypeStruct 7(fvec4) |
| 12: TypeFunction 11(VS_OUTPUT) 9(ptr) 10(ptr) |
| 17: TypePointer Function 11(VS_OUTPUT) |
| 19: TypeInt 32 1 |
| 20: 19(int) Constant 0 |
| 30: TypePointer Input 7(fvec4) |
| 31(vsin.Pos_in): 30(ptr) Variable Input |
| 35(Pos_loose): 30(ptr) Variable Input |
| 37: TypePointer Output 7(fvec4) |
| 38(@entryPointOutput.Pos): 37(ptr) Variable Output |
| 4(main): 2 Function None 3 |
| 5: Label |
| 29(vsin): 9(ptr) Variable Function |
| 34(Pos_loose): 10(ptr) Variable Function |
| 39(param): 9(ptr) Variable Function |
| 41(param): 10(ptr) Variable Function |
| 32: 7(fvec4) Load 31(vsin.Pos_in) |
| 33: 10(ptr) AccessChain 29(vsin) 20 |
| Store 33 32 |
| 36: 7(fvec4) Load 35(Pos_loose) |
| Store 34(Pos_loose) 36 |
| 40: 8(VS_INPUT) Load 29(vsin) |
| Store 39(param) 40 |
| 42: 7(fvec4) Load 34(Pos_loose) |
| Store 41(param) 42 |
| 43:11(VS_OUTPUT) FunctionCall 15(@main(struct-VS_INPUT-vf41;vf4;) 39(param) 41(param) |
| 44: 7(fvec4) CompositeExtract 43 0 |
| Store 38(@entryPointOutput.Pos) 44 |
| Return |
| FunctionEnd |
| 15(@main(struct-VS_INPUT-vf41;vf4;):11(VS_OUTPUT) Function None 12 |
| 13(vsin): 9(ptr) FunctionParameter |
| 14(Pos_loose): 10(ptr) FunctionParameter |
| 16: Label |
| 18(vsout): 17(ptr) Variable Function |
| 21: 10(ptr) AccessChain 13(vsin) 20 |
| 22: 7(fvec4) Load 21 |
| 23: 7(fvec4) Load 14(Pos_loose) |
| 24: 7(fvec4) FAdd 22 23 |
| 25: 10(ptr) AccessChain 18(vsout) 20 |
| Store 25 24 |
| 26:11(VS_OUTPUT) Load 18(vsout) |
| ReturnValue 26 |
| FunctionEnd |