1hlsl.structIoFourWay.frag 2Shader version: 500 3gl_FragCoord origin is upper left 4using depth_greater 50:? Sequence 60: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}) 70:15 Function Parameters: 80:15 't' ( in structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 90:? Sequence 100:17 Branch: Return with expression 110:17 'local' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 120:15 Function Definition: main( ( temp void) 130:15 Function Parameters: 140:? Sequence 150:15 Sequence 160:15 move second child to first child ( temp float) 170:15 f: direct index for structure ( temp float) 180:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 190:15 Constant: 200:15 0 (const int) 210:? 't.f' (layout( location=0) in float) 220:15 move second child to first child ( temp float) 230:15 g: direct index for structure ( temp float) 240:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 250:15 Constant: 260:15 1 (const int) 270:? 't.g' (layout( location=1) centroid in float) 280:15 move second child to first child ( temp float) 290:15 d: direct index for structure ( temp float) 300:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 310:15 Constant: 320:15 2 (const int) 330:? 't.d' (layout( location=2) in float) 340:15 move second child to first child ( temp 4-component vector of float) 350:15 normal: direct index for structure ( temp 4-component vector of float) 360:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 370:15 Constant: 380:15 3 (const int) 390:? 't.normal' (layout( location=3) in 4-component vector of float) 400:15 Sequence 410: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}) 420:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 430: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}) 440:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 450:15 move second child to first child ( temp float) 460:? '@entryPointOutput.f' (layout( location=0) out float) 470:15 f: direct index for structure ( temp float) 480:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 490:15 Constant: 500:15 0 (const int) 510:15 move second child to first child ( temp float) 520:? '@entryPointOutput.g' (layout( location=1) out float) 530:15 g: direct index for structure ( temp float) 540:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 550:15 Constant: 560:15 1 (const int) 570:15 move second child to first child ( temp float) 580:? '@entryPointOutput.d' ( out float FragDepth) 590:15 d: direct index for structure ( temp float) 600:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 610:15 Constant: 620:15 2 (const int) 630:15 move second child to first child ( temp 4-component vector of float) 640:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 650:15 normal: direct index for structure ( temp 4-component vector of float) 660:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 670:15 Constant: 680:15 3 (const int) 690:? Linker Objects 700:? '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}) 710:? '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}) 720:? '@entryPointOutput.d' ( out float FragDepth) 730:? '@entryPointOutput.f' (layout( location=0) out float) 740:? '@entryPointOutput.g' (layout( location=1) out float) 750:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 760:? 't.f' (layout( location=0) in float) 770:? 't.g' (layout( location=1) centroid in float) 780:? 't.d' (layout( location=2) in float) 790:? 't.normal' (layout( location=3) in 4-component vector of float) 80 81 82Linked fragment stage: 83 84 85Shader version: 500 86gl_FragCoord origin is upper left 87using depth_greater 880:? Sequence 890: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}) 900:15 Function Parameters: 910:15 't' ( in structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 920:? Sequence 930:17 Branch: Return with expression 940:17 'local' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 950:15 Function Definition: main( ( temp void) 960:15 Function Parameters: 970:? Sequence 980:15 Sequence 990:15 move second child to first child ( temp float) 1000:15 f: direct index for structure ( temp float) 1010:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1020:15 Constant: 1030:15 0 (const int) 1040:? 't.f' (layout( location=0) in float) 1050:15 move second child to first child ( temp float) 1060:15 g: direct index for structure ( temp float) 1070:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1080:15 Constant: 1090:15 1 (const int) 1100:? 't.g' (layout( location=1) centroid in float) 1110:15 move second child to first child ( temp float) 1120:15 d: direct index for structure ( temp float) 1130:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1140:15 Constant: 1150:15 2 (const int) 1160:? 't.d' (layout( location=2) in float) 1170:15 move second child to first child ( temp 4-component vector of float) 1180:15 normal: direct index for structure ( temp 4-component vector of float) 1190:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1200:15 Constant: 1210:15 3 (const int) 1220:? 't.normal' (layout( location=3) in 4-component vector of float) 1230:15 Sequence 1240: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}) 1250:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1260: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}) 1270:? 't' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1280:15 move second child to first child ( temp float) 1290:? '@entryPointOutput.f' (layout( location=0) out float) 1300:15 f: direct index for structure ( temp float) 1310:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1320:15 Constant: 1330:15 0 (const int) 1340:15 move second child to first child ( temp float) 1350:? '@entryPointOutput.g' (layout( location=1) out float) 1360:15 g: direct index for structure ( temp float) 1370:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1380:15 Constant: 1390:15 1 (const int) 1400:15 move second child to first child ( temp float) 1410:? '@entryPointOutput.d' ( out float FragDepth) 1420:15 d: direct index for structure ( temp float) 1430:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1440:15 Constant: 1450:15 2 (const int) 1460:15 move second child to first child ( temp 4-component vector of float) 1470:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 1480:15 normal: direct index for structure ( temp 4-component vector of float) 1490:15 'flattenTemp' ( temp structure{ temp float f, temp float g, temp float d, temp 4-component vector of float normal}) 1500:15 Constant: 1510:15 3 (const int) 1520:? Linker Objects 1530:? '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}) 1540:? '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}) 1550:? '@entryPointOutput.d' ( out float FragDepth) 1560:? '@entryPointOutput.f' (layout( location=0) out float) 1570:? '@entryPointOutput.g' (layout( location=1) out float) 1580:? '@entryPointOutput.normal' (layout( location=2) out 4-component vector of float) 1590:? 't.f' (layout( location=0) in float) 1600:? 't.g' (layout( location=1) centroid in float) 1610:? 't.d' (layout( location=2) in float) 1620:? '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 MemberDecorate 62(buff) 0 Offset 96 224 Decorate 62(buff) Block 225 Decorate 64 DescriptorSet 0 226 2: TypeVoid 227 3: TypeFunction 2 228 6: TypeFloat 32 229 7: TypeVector 6(float) 4 230 8(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) 231 9: TypePointer Function 8(T) 232 10: TypeFunction 8(T) 9(ptr) 233 19: TypeInt 32 1 234 20: 19(int) Constant 0 235 21: TypePointer Input 6(float) 236 22(t.f): 21(ptr) Variable Input 237 24: TypePointer Function 6(float) 238 26: 19(int) Constant 1 239 27(t.g): 21(ptr) Variable Input 240 30: 19(int) Constant 2 241 31(t.d): 21(ptr) Variable Input 242 34: 19(int) Constant 3 243 35: TypePointer Input 7(fvec4) 244 36(t.normal): 35(ptr) Variable Input 245 38: TypePointer Function 7(fvec4) 246 44: TypePointer Output 6(float) 24745(@entryPointOutput.f): 44(ptr) Variable Output 24848(@entryPointOutput.g): 44(ptr) Variable Output 24951(@entryPointOutput.d): 44(ptr) Variable Output 250 54: TypePointer Output 7(fvec4) 25155(@entryPointOutput.normal): 54(ptr) Variable Output 252 58(T): TypeStruct 6(float) 6(float) 6(float) 7(fvec4) 253 59($Global): TypeStruct 58(T) 254 60: TypePointer Uniform 59($Global) 255 61: 60(ptr) Variable Uniform 256 62(buff): TypeStruct 58(T) 257 63: TypePointer Uniform 62(buff) 258 64: 63(ptr) Variable Uniform 259 4(main): 2 Function None 3 260 5: Label 261 18(t): 9(ptr) Variable Function 262 40(flattenTemp): 9(ptr) Variable Function 263 41(param): 9(ptr) Variable Function 264 23: 6(float) Load 22(t.f) 265 25: 24(ptr) AccessChain 18(t) 20 266 Store 25 23 267 28: 6(float) Load 27(t.g) 268 29: 24(ptr) AccessChain 18(t) 26 269 Store 29 28 270 32: 6(float) Load 31(t.d) 271 33: 24(ptr) AccessChain 18(t) 30 272 Store 33 32 273 37: 7(fvec4) Load 36(t.normal) 274 39: 38(ptr) AccessChain 18(t) 34 275 Store 39 37 276 42: 8(T) Load 18(t) 277 Store 41(param) 42 278 43: 8(T) FunctionCall 12(@main(struct-T-f1-f1-f1-vf41;) 41(param) 279 Store 40(flattenTemp) 43 280 46: 24(ptr) AccessChain 40(flattenTemp) 20 281 47: 6(float) Load 46 282 Store 45(@entryPointOutput.f) 47 283 49: 24(ptr) AccessChain 40(flattenTemp) 26 284 50: 6(float) Load 49 285 Store 48(@entryPointOutput.g) 50 286 52: 24(ptr) AccessChain 40(flattenTemp) 30 287 53: 6(float) Load 52 288 Store 51(@entryPointOutput.d) 53 289 56: 38(ptr) AccessChain 40(flattenTemp) 34 290 57: 7(fvec4) Load 56 291 Store 55(@entryPointOutput.normal) 57 292 Return 293 FunctionEnd 29412(@main(struct-T-f1-f1-f1-vf41;): 8(T) Function None 10 295 11(t): 9(ptr) FunctionParameter 296 13: Label 297 14(local): 9(ptr) Variable Function 298 15: 8(T) Load 14(local) 299 ReturnValue 15 300 FunctionEnd 301