1 hlsl.structIoFourWay.frag 2 Shader version: 500 3 gl_FragCoord origin is upper left 4 using depth_greater 5 0:? Sequence 6 0:15 Function Definition: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 7 0:15 Function Parameters: 8 0:15 't' ( in structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 9 0:? Sequence 10 0:17 Branch: Return with expression 11 0:17 'local' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 12 0:15 Function Definition: main( ( temp void) 13 0:15 Function Parameters: 14 0:? Sequence 15 0:15 Sequence 16 0:15 move second child to first child ( temp float) 17 0:15 f: direct index for structure ( temp float) 18 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 19 0:15 Constant: 20 0:15 0 (const int) 21 0:? 't.f' (layout( location=0) in float) 22 0:15 move second child to first child ( temp float) 23 0:15 g: direct index for structure ( temp float) 24 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 25 0:15 Constant: 26 0:15 1 (const int) 27 0:? 't.g' (layout( location=1) centroid in float) 28 0:15 move second child to first child ( temp float) 29 0:15 d: direct index for structure ( temp float) 30 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 31 0:15 Constant: 32 0:15 2 (const int) 33 0:? 't.d' (layout( location=2) in float) 34 0:15 move second child to first child ( temp 4-component vector of float) 35 0:15 normal: direct index for structure ( temp 4-component vector of float) 36 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 37 0:15 Constant: 38 0:15 3 (const int) 39 0:? 't.normal' (layout( location=3) in 4-component vector of float) 40 0:15 Sequence 41 0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 42 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 43 0:15 Function Call: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 44 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 45 0:15 move second child to first child ( temp float) 46 0:? '@entryPointOutput.f' (layout( location=0) out float) 47 0:15 f: direct index for structure ( temp float) 48 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 49 0:15 Constant: 50 0:15 0 (const int) 51 0:15 move second child to first child ( temp float) 52 0:? '@entryPointOutput.g' (layout( location=1) out float) 53 0:15 g: direct index for structure ( temp float) 54 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 55 0:15 Constant: 56 0:15 1 (const int) 57 0:15 move second child to first child ( temp float) 58 0:? '@entryPointOutput.d' ( out float FragDepth) 59 0:15 d: direct index for structure ( temp float) 60 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 61 0:15 Constant: 62 0:15 2 (const int) 63 0:15 move second child to first child ( temp 4-component vector of float) 64 0:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 65 0:15 normal: direct index for structure ( temp 4-component vector of float) 66 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 67 0:15 Constant: 68 0:15 3 (const int) 69 0:? Linker Objects 70 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f, temp float g, temp float d, temp 4-component vector of float normal} s}) 71 0:? 'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{layout( offset=68) temp float f, temp float g, temp float d, temp 4-component vector of float normal} t}) 72 0:? '@entryPointOutput.d' ( out float FragDepth) 73 0:? '@entryPointOutput.f' (layout( location=0) out float) 74 0:? '@entryPointOutput.g' (layout( location=1) out float) 75 0:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 76 0:? 't.f' (layout( location=0) in float) 77 0:? 't.g' (layout( location=1) centroid in float) 78 0:? 't.d' (layout( location=2) in float) 79 0:? 't.normal' (layout( location=3) in 4-component vector of float) 80 81 82 Linked fragment stage: 83 84 85 Shader version: 500 86 gl_FragCoord origin is upper left 87 using depth_greater 88 0:? Sequence 89 0:15 Function Definition: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 90 0:15 Function Parameters: 91 0:15 't' ( in structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 92 0:? Sequence 93 0:17 Branch: Return with expression 94 0:17 'local' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 95 0:15 Function Definition: main( ( temp void) 96 0:15 Function Parameters: 97 0:? Sequence 98 0:15 Sequence 99 0:15 move second child to first child ( temp float) 100 0:15 f: direct index for structure ( temp float) 101 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 102 0:15 Constant: 103 0:15 0 (const int) 104 0:? 't.f' (layout( location=0) in float) 105 0:15 move second child to first child ( temp float) 106 0:15 g: direct index for structure ( temp float) 107 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 108 0:15 Constant: 109 0:15 1 (const int) 110 0:? 't.g' (layout( location=1) centroid in float) 111 0:15 move second child to first child ( temp float) 112 0:15 d: direct index for structure ( temp float) 113 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 114 0:15 Constant: 115 0:15 2 (const int) 116 0:? 't.d' (layout( location=2) in float) 117 0:15 move second child to first child ( temp 4-component vector of float) 118 0:15 normal: direct index for structure ( temp 4-component vector of float) 119 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 120 0:15 Constant: 121 0:15 3 (const int) 122 0:? 't.normal' (layout( location=3) in 4-component vector of float) 123 0:15 Sequence 124 0:15 move second child to first child ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 125 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 126 0:15 Function Call: @main(struct-T-f1-f1-f1-vf41; ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 127 0:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 128 0:15 move second child to first child ( temp float) 129 0:? '@entryPointOutput.f' (layout( location=0) out float) 130 0:15 f: direct index for structure ( temp float) 131 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 132 0:15 Constant: 133 0:15 0 (const int) 134 0:15 move second child to first child ( temp float) 135 0:? '@entryPointOutput.g' (layout( location=1) out float) 136 0:15 g: direct index for structure ( temp float) 137 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 138 0:15 Constant: 139 0:15 1 (const int) 140 0:15 move second child to first child ( temp float) 141 0:? '@entryPointOutput.d' ( out float FragDepth) 142 0:15 d: direct index for structure ( temp float) 143 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 144 0:15 Constant: 145 0:15 2 (const int) 146 0:15 move second child to first child ( temp 4-component vector of float) 147 0:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 148 0:15 normal: direct index for structure ( temp 4-component vector of float) 149 0:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 150 0:15 Constant: 151 0:15 3 (const int) 152 0:? Linker Objects 153 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f, temp float g, temp float d, temp 4-component vector of float normal} s}) 154 0:? 'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{layout( offset=68) temp float f, temp float g, temp float d, temp 4-component vector of float normal} t}) 155 0:? '@entryPointOutput.d' ( out float FragDepth) 156 0:? '@entryPointOutput.f' (layout( location=0) out float) 157 0:? '@entryPointOutput.g' (layout( location=1) out float) 158 0:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 159 0:? 't.f' (layout( location=0) in float) 160 0:? 't.g' (layout( location=1) centroid in float) 161 0:? 't.d' (layout( location=2) in float) 162 0:? 't.normal' (layout( location=3) in 4-component vector of float) 163 164 // Module Version 10000 165 // Generated by (magic number): 80007 166 // Id's are bound by 65 167 168 Capability Shader 169 1: ExtInstImport "GLSL.std.450" 170 MemoryModel Logical GLSL450 171 EntryPoint Fragment 4 "main" 22 27 31 36 45 48 51 55 172 ExecutionMode 4 OriginUpperLeft 173 ExecutionMode 4 DepthGreater 174 ExecutionMode 4 DepthReplacing 175 Source HLSL 500 176 Name 4 "main" 177 Name 8 "T" 178 MemberName 8(T) 0 "f" 179 MemberName 8(T) 1 "g" 180 MemberName 8(T) 2 "d" 181 MemberName 8(T) 3 "normal" 182 Name 12 "@main(struct-T-f1-f1-f1-vf41;" 183 Name 11 "t" 184 Name 14 "local" 185 Name 18 "t" 186 Name 22 "t.f" 187 Name 27 "t.g" 188 Name 31 "t.d" 189 Name 36 "t.normal" 190 Name 40 "flattenTemp" 191 Name 41 "param" 192 Name 45 "@entryPointOutput.f" 193 Name 48 "@entryPointOutput.g" 194 Name 51 "@entryPointOutput.d" 195 Name 55 "@entryPointOutput.normal" 196 Name 58 "T" 197 MemberName 58(T) 0 "f" 198 MemberName 58(T) 1 "g" 199 MemberName 58(T) 2 "d" 200 MemberName 58(T) 3 "normal" 201 Name 59 "$Global" 202 MemberName 59($Global) 0 "s" 203 Name 61 "" 204 Name 62 "buff" 205 MemberName 62(buff) 0 "t" 206 Name 64 "" 207 Decorate 22(t.f) Location 0 208 Decorate 27(t.g) Centroid 209 Decorate 27(t.g) Location 1 210 Decorate 31(t.d) Location 2 211 Decorate 36(t.normal) Location 3 212 Decorate 45(@entryPointOutput.f) Location 0 213 Decorate 48(@entryPointOutput.g) Location 1 214 Decorate 51(@entryPointOutput.d) BuiltIn FragDepth 215 Decorate 55(@entryPointOutput.normal) Location 2 216 MemberDecorate 58(T) 0 Offset 68 217 MemberDecorate 58(T) 1 Offset 72 218 MemberDecorate 58(T) 2 Offset 76 219 MemberDecorate 58(T) 3 Offset 80 220 MemberDecorate 59($Global) 0 Offset 0 221 Decorate 59($Global) Block 222 Decorate 61 DescriptorSet 0 223 Decorate 61 Binding 0 224 MemberDecorate 62(buff) 0 Offset 96 225 Decorate 62(buff) Block 226 Decorate 64 DescriptorSet 0 227 Decorate 64 Binding 0 228 2: TypeVoid 229 3: TypeFunction 2 230 6: TypeFloat 32 231 7: TypeVector 6(float) 4 232 8(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) 233 9: TypePointer Function 8(T) 234 10: TypeFunction 8(T) 9(ptr) 235 19: TypeInt 32 1 236 20: 19(int) Constant 0 237 21: TypePointer Input 6(float) 238 22(t.f): 21(ptr) Variable Input 239 24: TypePointer Function 6(float) 240 26: 19(int) Constant 1 241 27(t.g): 21(ptr) Variable Input 242 30: 19(int) Constant 2 243 31(t.d): 21(ptr) Variable Input 244 34: 19(int) Constant 3 245 35: TypePointer Input 7(fvec4) 246 36(t.normal): 35(ptr) Variable Input 247 38: TypePointer Function 7(fvec4) 248 44: TypePointer Output 6(float) 249 45(@entryPointOutput.f): 44(ptr) Variable Output 250 48(@entryPointOutput.g): 44(ptr) Variable Output 251 51(@entryPointOutput.d): 44(ptr) Variable Output 252 54: TypePointer Output 7(fvec4) 253 55(@entryPointOutput.normal): 54(ptr) Variable Output 254 58(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) 255 59($Global): TypeStruct 58(T) 256 60: TypePointer Uniform 59($Global) 257 61: 60(ptr) Variable Uniform 258 62(buff): TypeStruct 58(T) 259 63: TypePointer Uniform 62(buff) 260 64: 63(ptr) Variable Uniform 261 4(main): 2 Function None 3 262 5: Label 263 18(t): 9(ptr) Variable Function 264 40(flattenTemp): 9(ptr) Variable Function 265 41(param): 9(ptr) Variable Function 266 23: 6(float) Load 22(t.f) 267 25: 24(ptr) AccessChain 18(t) 20 268 Store 25 23 269 28: 6(float) Load 27(t.g) 270 29: 24(ptr) AccessChain 18(t) 26 271 Store 29 28 272 32: 6(float) Load 31(t.d) 273 33: 24(ptr) AccessChain 18(t) 30 274 Store 33 32 275 37: 7(fvec4) Load 36(t.normal) 276 39: 38(ptr) AccessChain 18(t) 34 277 Store 39 37 278 42: 8(T) Load 18(t) 279 Store 41(param) 42 280 43: 8(T) FunctionCall 12(@main(struct-T-f1-f1-f1-vf41;) 41(param) 281 Store 40(flattenTemp) 43 282 46: 24(ptr) AccessChain 40(flattenTemp) 20 283 47: 6(float) Load 46 284 Store 45(@entryPointOutput.f) 47 285 49: 24(ptr) AccessChain 40(flattenTemp) 26 286 50: 6(float) Load 49 287 Store 48(@entryPointOutput.g) 50 288 52: 24(ptr) AccessChain 40(flattenTemp) 30 289 53: 6(float) Load 52 290 Store 51(@entryPointOutput.d) 53 291 56: 38(ptr) AccessChain 40(flattenTemp) 34 292 57: 7(fvec4) Load 56 293 Store 55(@entryPointOutput.normal) 57 294 Return 295 FunctionEnd 296 12(@main(struct-T-f1-f1-f1-vf41;): 8(T) Function None 10 297 11(t): 9(ptr) FunctionParameter 298 13: Label 299 14(local): 9(ptr) Variable Function 300 15: 8(T) Load 14(local) 301 ReturnValue 15 302 FunctionEnd 303