| 123456789101112131415161718192021222324 |
- // Run: %dxc -T vs_6_0 -E main
- struct S {
- uint a;
- bool2 b;
- float2x2 c;
- };
- struct T {
- S x;
- int y;
- };
- void main() {
- // TODO: Okay, we are not acutally generating constants here.
- // We should optimize to use OpConstantComposite for the following.
- // CHECK: [[b:%\d+]] = OpCompositeConstruct %v2bool %true %false
- // CHECK-NEXT: [[c1:%\d+]] = OpCompositeConstruct %v2float %float_1 %float_2
- // CHECK-NEXT: [[c2:%\d+]] = OpCompositeConstruct %v2float %float_3 %float_4
- // CHECK-NEXT: [[c:%\d+]] = OpCompositeConstruct %mat2v2float [[c1]] [[c2]]
- // CHECK-NEXT: [[s:%\d+]] = OpCompositeConstruct %S %uint_1 [[b]] [[c]]
- // CHECK-NEXT: {{%\d+}} = OpCompositeConstruct %T [[s]] %int_5
- T t = {1, true, false, 1.0, 2.0, 3.0, 4.0, 5};
- }
|