| spv.debugInfo.frag |
| Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80001 |
| // Id's are bound by 126 |
| |
| Capability Shader |
| 2: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Fragment 5 "main" 24 52 |
| ExecutionMode 5 OriginUpperLeft |
| 1: String "spv.debugInfo.frag" |
| Source GLSL 450 1 "#version 450 |
| |
| struct S { |
| int a; |
| }; |
| |
| uniform ubuf { |
| S s; |
| }; |
| |
| uniform sampler2D s2d; |
| |
| layout(location = 0) in vec4 inv; |
| layout(location = 0) out vec4 outv; |
| |
| vec4 foo(S s) |
| { |
| vec4 r = s.a * inv; |
| ++r; |
| if (r.x > 3.0) |
| --r; |
| else |
| r *= 2; |
| |
| return r; |
| } |
| |
| void main() |
| { |
| outv = foo(s); |
| outv += texture(s2d, vec2(0.5)); |
| |
| switch (s.a) { |
| case 10: |
| ++outv; |
| break; |
| case 20: |
| outv = 2 * outv; |
| ++outv; |
| break; |
| default: |
| --outv; |
| break; |
| } |
| |
| for (int i = 0; i < 10; ++i) |
| outv *= 3.0; |
| |
| outv.x < 10.0 ? |
| outv = sin(outv) : |
| outv = cos(outv); |
| }" |
| Name 5 "main" |
| Name 8 "S" |
| MemberName 8(S) 0 "a" |
| Name 14 "foo(struct-S-i11;" |
| Name 13 "s" |
| Name 17 "r" |
| Name 24 "inv" |
| Name 52 "outv" |
| Name 53 "S" |
| MemberName 53(S) 0 "a" |
| Name 54 "ubuf" |
| MemberName 54(ubuf) 0 "s" |
| Name 56 "" |
| Name 57 "S" |
| MemberName 57(S) 0 "a" |
| Name 59 "param" |
| Name 69 "s2d" |
| Name 99 "i" |
| Decorate 24(inv) Location 0 |
| Decorate 52(outv) Location 0 |
| MemberDecorate 53(S) 0 Offset 0 |
| MemberDecorate 54(ubuf) 0 Offset 0 |
| Decorate 54(ubuf) Block |
| Decorate 56 DescriptorSet 0 |
| Decorate 69(s2d) DescriptorSet 0 |
| 3: TypeVoid |
| 4: TypeFunction 3 |
| 7: TypeInt 32 1 |
| 8(S): TypeStruct 7(int) |
| 9: TypePointer Function 8(S) |
| 10: TypeFloat 32 |
| 11: TypeVector 10(float) 4 |
| 12: TypeFunction 11(fvec4) 9(ptr) |
| 16: TypePointer Function 11(fvec4) |
| 18: 7(int) Constant 0 |
| 19: TypePointer Function 7(int) |
| 23: TypePointer Input 11(fvec4) |
| 24(inv): 23(ptr) Variable Input |
| 28: 10(float) Constant 1065353216 |
| 31: TypeInt 32 0 |
| 32: 31(int) Constant 0 |
| 33: TypePointer Function 10(float) |
| 36: 10(float) Constant 1077936128 |
| 37: TypeBool |
| 45: 10(float) Constant 1073741824 |
| 51: TypePointer Output 11(fvec4) |
| 52(outv): 51(ptr) Variable Output |
| 53(S): TypeStruct 7(int) |
| 54(ubuf): TypeStruct 53(S) |
| 55: TypePointer Uniform 54(ubuf) |
| 56: 55(ptr) Variable Uniform |
| 57(S): TypeStruct 7(int) |
| 58: TypePointer Function 57(S) |
| 60: TypePointer Uniform 53(S) |
| 66: TypeImage 10(float) 2D sampled format:Unknown |
| 67: TypeSampledImage 66 |
| 68: TypePointer UniformConstant 67 |
| 69(s2d): 68(ptr) Variable UniformConstant |
| 71: TypeVector 10(float) 2 |
| 72: 10(float) Constant 1056964608 |
| 73: 71(fvec2) ConstantComposite 72 72 |
| 77: TypePointer Uniform 7(int) |
| 106: 7(int) Constant 10 |
| 111: 7(int) Constant 1 |
| 114: TypePointer Output 10(float) |
| 117: 10(float) Constant 1092616192 |
| 5(main): 3 Function None 4 |
| 6: Label |
| 59(param): 58(ptr) Variable Function |
| 99(i): 19(ptr) Variable Function |
| 113: 16(ptr) Variable Function |
| Line 1 30 0 |
| 61: 60(ptr) AccessChain 56 18 |
| 62: 53(S) Load 61 |
| 63: 7(int) CompositeExtract 62 0 |
| 64: 19(ptr) AccessChain 59(param) 18 |
| Store 64 63 |
| 65: 11(fvec4) FunctionCall 14(foo(struct-S-i11;) 59(param) |
| Store 52(outv) 65 |
| Line 1 31 0 |
| 70: 67 Load 69(s2d) |
| 74: 11(fvec4) ImageSampleImplicitLod 70 73 |
| 75: 11(fvec4) Load 52(outv) |
| 76: 11(fvec4) FAdd 75 74 |
| Store 52(outv) 76 |
| Line 1 33 0 |
| 78: 77(ptr) AccessChain 56 18 18 |
| 79: 7(int) Load 78 |
| SelectionMerge 83 None |
| Switch 79 82 |
| case 10: 80 |
| case 20: 81 |
| 82: Label |
| Line 1 42 0 |
| 94: 11(fvec4) Load 52(outv) |
| 95: 11(fvec4) CompositeConstruct 28 28 28 28 |
| 96: 11(fvec4) FSub 94 95 |
| Store 52(outv) 96 |
| Line 1 43 0 |
| Branch 83 |
| 80: Label |
| Line 1 35 0 |
| 84: 11(fvec4) Load 52(outv) |
| 85: 11(fvec4) CompositeConstruct 28 28 28 28 |
| 86: 11(fvec4) FAdd 84 85 |
| Store 52(outv) 86 |
| Line 1 36 0 |
| Branch 83 |
| 81: Label |
| Line 1 38 0 |
| 88: 11(fvec4) Load 52(outv) |
| 89: 11(fvec4) VectorTimesScalar 88 45 |
| Store 52(outv) 89 |
| Line 1 39 0 |
| 90: 11(fvec4) Load 52(outv) |
| 91: 11(fvec4) CompositeConstruct 28 28 28 28 |
| 92: 11(fvec4) FAdd 90 91 |
| Store 52(outv) 92 |
| Line 1 40 0 |
| Branch 83 |
| 83: Label |
| Line 1 46 0 |
| Store 99(i) 18 |
| Branch 100 |
| 100: Label |
| LoopMerge 102 103 None |
| Branch 104 |
| 104: Label |
| 105: 7(int) Load 99(i) |
| 107: 37(bool) SLessThan 105 106 |
| BranchConditional 107 101 102 |
| 101: Label |
| Line 1 47 0 |
| 108: 11(fvec4) Load 52(outv) |
| 109: 11(fvec4) VectorTimesScalar 108 36 |
| Store 52(outv) 109 |
| Branch 103 |
| 103: Label |
| Line 1 46 0 |
| 110: 7(int) Load 99(i) |
| 112: 7(int) IAdd 110 111 |
| Store 99(i) 112 |
| Branch 100 |
| 102: Label |
| Line 1 49 0 |
| 115: 114(ptr) AccessChain 52(outv) 32 |
| 116: 10(float) Load 115 |
| 118: 37(bool) FOrdLessThan 116 117 |
| SelectionMerge 120 None |
| BranchConditional 118 119 123 |
| 119: Label |
| Line 1 50 0 |
| 121: 11(fvec4) Load 52(outv) |
| 122: 11(fvec4) ExtInst 2(GLSL.std.450) 13(Sin) 121 |
| Store 52(outv) 122 |
| Store 113 122 |
| Branch 120 |
| 123: Label |
| Line 1 51 0 |
| 124: 11(fvec4) Load 52(outv) |
| 125: 11(fvec4) ExtInst 2(GLSL.std.450) 14(Cos) 124 |
| Store 52(outv) 125 |
| Store 113 125 |
| Branch 120 |
| 120: Label |
| Return |
| FunctionEnd |
| 14(foo(struct-S-i11;): 11(fvec4) Function None 12 |
| 13(s): 9(ptr) FunctionParameter |
| 15: Label |
| 17(r): 16(ptr) Variable Function |
| Line 1 18 0 |
| 20: 19(ptr) AccessChain 13(s) 18 |
| 21: 7(int) Load 20 |
| 22: 10(float) ConvertSToF 21 |
| 25: 11(fvec4) Load 24(inv) |
| 26: 11(fvec4) VectorTimesScalar 25 22 |
| Store 17(r) 26 |
| Line 1 19 0 |
| 27: 11(fvec4) Load 17(r) |
| 29: 11(fvec4) CompositeConstruct 28 28 28 28 |
| 30: 11(fvec4) FAdd 27 29 |
| Store 17(r) 30 |
| Line 1 20 0 |
| 34: 33(ptr) AccessChain 17(r) 32 |
| 35: 10(float) Load 34 |
| 38: 37(bool) FOrdGreaterThan 35 36 |
| SelectionMerge 40 None |
| BranchConditional 38 39 44 |
| 39: Label |
| Line 1 21 0 |
| 41: 11(fvec4) Load 17(r) |
| 42: 11(fvec4) CompositeConstruct 28 28 28 28 |
| 43: 11(fvec4) FSub 41 42 |
| Store 17(r) 43 |
| Branch 40 |
| 44: Label |
| Line 1 23 0 |
| 46: 11(fvec4) Load 17(r) |
| 47: 11(fvec4) VectorTimesScalar 46 45 |
| Store 17(r) 47 |
| Branch 40 |
| 40: Label |
| Line 1 25 0 |
| 48: 11(fvec4) Load 17(r) |
| ReturnValue 48 |
| FunctionEnd |