| spv.debugInfo.frag |
| // Module Version 10000 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 187 |
| |
| Capability Shader |
| 2: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint Fragment 5 "main" 30 104 |
| ExecutionMode 5 OriginLowerLeft |
| 1: String "spv.debugInfo.frag" |
| Source GLSL 450 1 "// OpModuleProcessed no-storage-format |
| // OpModuleProcessed resource-set-binding 3 |
| // OpModuleProcessed auto-map-bindings |
| // OpModuleProcessed auto-map-locations |
| // OpModuleProcessed client opengl100 |
| // OpModuleProcessed target-env opengl |
| // OpModuleProcessed relaxed-errors |
| // OpModuleProcessed suppress-warnings |
| // OpModuleProcessed hlsl-offsets |
| // OpModuleProcessed entry-point main |
| #line 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; |
| } |
| |
| float testBranch(float x, float y) |
| { |
| float result = 0; |
| bool b = x > 0; |
| |
| // branch with load |
| if (b) { |
| result += 1; |
| } |
| else { |
| result -= 1; |
| } |
| |
| // branch with expression |
| if (x > y) { |
| result += x - y; |
| } |
| |
| // selection with load |
| result += b ? |
| 1 : -1; |
| |
| // selection with expression |
| result += x < y ? |
| y : |
| float(b); |
| |
| return result; |
| } |
| |
| void main() |
| { |
| outv = foo(s); |
| outv += testBranch(inv.x, inv.y); |
| 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 20 "testBranch(f1;f1;" |
| Name 18 "x" |
| Name 19 "y" |
| Name 23 "r" |
| Name 30 "inv" |
| Name 56 "result" |
| Name 59 "b" |
| Name 104 "outv" |
| Name 105 "S" |
| MemberName 105(S) 0 "a" |
| Name 106 "ubuf" |
| MemberName 106(ubuf) 0 "s" |
| Name 108 "" |
| Name 109 "param" |
| Name 116 "param" |
| Name 120 "param" |
| Name 131 "s2d" |
| Name 161 "i" |
| Decorate 30(inv) Location 0 |
| Decorate 104(outv) Location 0 |
| MemberDecorate 105(S) 0 Offset 0 |
| MemberDecorate 106(ubuf) 0 Offset 0 |
| Decorate 106(ubuf) Block |
| Decorate 108 DescriptorSet 3 |
| Decorate 108 Binding 0 |
| Decorate 131(s2d) Location 0 |
| Decorate 131(s2d) DescriptorSet 3 |
| Decorate 131(s2d) Binding 1 |
| 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 10(float) |
| 17: TypeFunction 10(float) 16(ptr) 16(ptr) |
| 22: TypePointer Function 11(fvec4) |
| 24: 7(int) Constant 0 |
| 25: TypePointer Function 7(int) |
| 29: TypePointer Input 11(fvec4) |
| 30(inv): 29(ptr) Variable Input |
| 34: 10(float) Constant 1065353216 |
| 37: TypeInt 32 0 |
| 38: 37(int) Constant 0 |
| 41: 10(float) Constant 1077936128 |
| 42: TypeBool |
| 50: 10(float) Constant 1073741824 |
| 57: 10(float) Constant 0 |
| 58: TypePointer Function 42(bool) |
| 81: 7(int) Constant 1 |
| 82: 7(int) Constant 4294967295 |
| 103: TypePointer Output 11(fvec4) |
| 104(outv): 103(ptr) Variable Output |
| 105(S): TypeStruct 7(int) |
| 106(ubuf): TypeStruct 105(S) |
| 107: TypePointer Uniform 106(ubuf) |
| 108: 107(ptr) Variable Uniform |
| 110: TypePointer Uniform 105(S) |
| 117: TypePointer Input 10(float) |
| 121: 37(int) Constant 1 |
| 128: TypeImage 10(float) 2D sampled format:Unknown |
| 129: TypeSampledImage 128 |
| 130: TypePointer UniformConstant 129 |
| 131(s2d): 130(ptr) Variable UniformConstant |
| 133: TypeVector 10(float) 2 |
| 134: 10(float) Constant 1056964608 |
| 135: 133(fvec2) ConstantComposite 134 134 |
| 139: TypePointer Uniform 7(int) |
| 168: 7(int) Constant 10 |
| 174: TypePointer Output 10(float) |
| 177: 10(float) Constant 1092616192 |
| Line 1 58 11 |
| 5(main): 3 Function None 4 |
| 6: Label |
| 109(param): 9(ptr) Variable Function |
| 116(param): 16(ptr) Variable Function |
| 120(param): 16(ptr) Variable Function |
| 161(i): 25(ptr) Variable Function |
| 179: 22(ptr) Variable Function |
| Line 1 60 0 |
| 111: 110(ptr) AccessChain 108 24 |
| 112: 105(S) Load 111 |
| 113: 7(int) CompositeExtract 112 0 |
| 114: 25(ptr) AccessChain 109(param) 24 |
| Store 114 113 |
| 115: 11(fvec4) FunctionCall 14(foo(struct-S-i11;) 109(param) |
| Store 104(outv) 115 |
| Line 1 61 0 |
| 118: 117(ptr) AccessChain 30(inv) 38 |
| 119: 10(float) Load 118 |
| Store 116(param) 119 |
| 122: 117(ptr) AccessChain 30(inv) 121 |
| 123: 10(float) Load 122 |
| Store 120(param) 123 |
| 124: 10(float) FunctionCall 20(testBranch(f1;f1;) 116(param) 120(param) |
| 125: 11(fvec4) Load 104(outv) |
| 126: 11(fvec4) CompositeConstruct 124 124 124 124 |
| 127: 11(fvec4) FAdd 125 126 |
| Store 104(outv) 127 |
| Line 1 62 0 |
| 132: 129 Load 131(s2d) |
| 136: 11(fvec4) ImageSampleImplicitLod 132 135 |
| 137: 11(fvec4) Load 104(outv) |
| 138: 11(fvec4) FAdd 137 136 |
| Store 104(outv) 138 |
| Line 1 64 0 |
| 140: 139(ptr) AccessChain 108 24 24 |
| 141: 7(int) Load 140 |
| SelectionMerge 145 None |
| Switch 141 144 |
| case 10: 142 |
| case 20: 143 |
| 144: Label |
| Line 1 73 0 |
| 156: 11(fvec4) Load 104(outv) |
| 157: 11(fvec4) CompositeConstruct 34 34 34 34 |
| 158: 11(fvec4) FSub 156 157 |
| Store 104(outv) 158 |
| Line 1 74 0 |
| Branch 145 |
| 142: Label |
| Line 1 66 0 |
| 146: 11(fvec4) Load 104(outv) |
| 147: 11(fvec4) CompositeConstruct 34 34 34 34 |
| 148: 11(fvec4) FAdd 146 147 |
| Store 104(outv) 148 |
| Line 1 67 0 |
| Branch 145 |
| 143: Label |
| Line 1 69 0 |
| 150: 11(fvec4) Load 104(outv) |
| 151: 11(fvec4) VectorTimesScalar 150 50 |
| Store 104(outv) 151 |
| Line 1 70 0 |
| 152: 11(fvec4) Load 104(outv) |
| 153: 11(fvec4) CompositeConstruct 34 34 34 34 |
| 154: 11(fvec4) FAdd 152 153 |
| Store 104(outv) 154 |
| Line 1 71 0 |
| Branch 145 |
| 145: Label |
| Line 1 77 0 |
| Store 161(i) 24 |
| Branch 162 |
| 162: Label |
| Line 1 77 0 |
| LoopMerge 164 165 None |
| Branch 166 |
| 166: Label |
| Line 1 77 0 |
| 167: 7(int) Load 161(i) |
| 169: 42(bool) SLessThan 167 168 |
| BranchConditional 169 163 164 |
| 163: Label |
| Line 1 78 0 |
| 170: 11(fvec4) Load 104(outv) |
| 171: 11(fvec4) VectorTimesScalar 170 41 |
| Store 104(outv) 171 |
| Branch 165 |
| 165: Label |
| Line 1 77 0 |
| 172: 7(int) Load 161(i) |
| 173: 7(int) IAdd 172 81 |
| Store 161(i) 173 |
| Branch 162 |
| 164: Label |
| Line 1 80 0 |
| 175: 174(ptr) AccessChain 104(outv) 38 |
| 176: 10(float) Load 175 |
| 178: 42(bool) FOrdLessThan 176 177 |
| SelectionMerge 181 None |
| BranchConditional 178 180 184 |
| 180: Label |
| Line 1 81 0 |
| 182: 11(fvec4) Load 104(outv) |
| 183: 11(fvec4) ExtInst 2(GLSL.std.450) 13(Sin) 182 |
| Store 104(outv) 183 |
| Store 179 183 |
| Branch 181 |
| 184: Label |
| Line 1 82 0 |
| 185: 11(fvec4) Load 104(outv) |
| 186: 11(fvec4) ExtInst 2(GLSL.std.450) 14(Cos) 185 |
| Store 104(outv) 186 |
| Store 179 186 |
| Branch 181 |
| 181: Label |
| Return |
| FunctionEnd |
| Line 1 16 13 |
| 14(foo(struct-S-i11;): 11(fvec4) Function None 12 |
| 13(s): 9(ptr) FunctionParameter |
| 15: Label |
| 23(r): 22(ptr) Variable Function |
| Line 1 18 0 |
| 26: 25(ptr) AccessChain 13(s) 24 |
| 27: 7(int) Load 26 |
| 28: 10(float) ConvertSToF 27 |
| 31: 11(fvec4) Load 30(inv) |
| 32: 11(fvec4) VectorTimesScalar 31 28 |
| Store 23(r) 32 |
| Line 1 19 0 |
| 33: 11(fvec4) Load 23(r) |
| 35: 11(fvec4) CompositeConstruct 34 34 34 34 |
| 36: 11(fvec4) FAdd 33 35 |
| Store 23(r) 36 |
| Line 1 20 0 |
| 39: 16(ptr) AccessChain 23(r) 38 |
| 40: 10(float) Load 39 |
| 43: 42(bool) FOrdGreaterThan 40 41 |
| SelectionMerge 45 None |
| BranchConditional 43 44 49 |
| 44: Label |
| Line 1 21 0 |
| 46: 11(fvec4) Load 23(r) |
| 47: 11(fvec4) CompositeConstruct 34 34 34 34 |
| 48: 11(fvec4) FSub 46 47 |
| Store 23(r) 48 |
| Branch 45 |
| 49: Label |
| Line 1 23 0 |
| 51: 11(fvec4) Load 23(r) |
| 52: 11(fvec4) VectorTimesScalar 51 50 |
| Store 23(r) 52 |
| Branch 45 |
| 45: Label |
| Line 1 25 0 |
| 53: 11(fvec4) Load 23(r) |
| ReturnValue 53 |
| FunctionEnd |
| Line 1 28 34 |
| 20(testBranch(f1;f1;): 10(float) Function None 17 |
| 18(x): 16(ptr) FunctionParameter |
| 19(y): 16(ptr) FunctionParameter |
| 21: Label |
| 56(result): 16(ptr) Variable Function |
| 59(b): 58(ptr) Variable Function |
| 90: 16(ptr) Variable Function |
| Line 1 30 0 |
| Store 56(result) 57 |
| Line 1 31 0 |
| 60: 10(float) Load 18(x) |
| 61: 42(bool) FOrdGreaterThan 60 57 |
| Store 59(b) 61 |
| Line 1 34 0 |
| 62: 42(bool) Load 59(b) |
| SelectionMerge 64 None |
| BranchConditional 62 63 67 |
| 63: Label |
| Line 1 35 0 |
| 65: 10(float) Load 56(result) |
| 66: 10(float) FAdd 65 34 |
| Store 56(result) 66 |
| Branch 64 |
| 67: Label |
| Line 1 38 0 |
| 68: 10(float) Load 56(result) |
| 69: 10(float) FSub 68 34 |
| Store 56(result) 69 |
| Branch 64 |
| 64: Label |
| Line 1 42 0 |
| 70: 10(float) Load 18(x) |
| 71: 10(float) Load 19(y) |
| 72: 42(bool) FOrdGreaterThan 70 71 |
| SelectionMerge 74 None |
| BranchConditional 72 73 74 |
| 73: Label |
| Line 1 43 0 |
| 75: 10(float) Load 18(x) |
| 76: 10(float) Load 19(y) |
| 77: 10(float) FSub 75 76 |
| 78: 10(float) Load 56(result) |
| 79: 10(float) FAdd 78 77 |
| Store 56(result) 79 |
| Branch 74 |
| 74: Label |
| Line 1 47 0 |
| 80: 42(bool) Load 59(b) |
| 83: 7(int) Select 80 81 82 |
| 84: 10(float) ConvertSToF 83 |
| 85: 10(float) Load 56(result) |
| 86: 10(float) FAdd 85 84 |
| Store 56(result) 86 |
| Line 1 51 0 |
| 87: 10(float) Load 18(x) |
| 88: 10(float) Load 19(y) |
| 89: 42(bool) FOrdLessThan 87 88 |
| SelectionMerge 92 None |
| BranchConditional 89 91 94 |
| 91: Label |
| Line 1 52 0 |
| 93: 10(float) Load 19(y) |
| Store 90 93 |
| Branch 92 |
| 94: Label |
| Line 1 53 0 |
| 95: 42(bool) Load 59(b) |
| 96: 10(float) Select 95 34 57 |
| Store 90 96 |
| Branch 92 |
| 92: Label |
| 97: 10(float) Load 90 |
| Line 1 51 0 |
| 98: 10(float) Load 56(result) |
| 99: 10(float) FAdd 98 97 |
| Store 56(result) 99 |
| Line 1 55 0 |
| 100: 10(float) Load 56(result) |
| ReturnValue 100 |
| FunctionEnd |