| SKIP: FAILED |
| |
| struct Inner { |
| int scalar_i32; |
| float scalar_f32; |
| }; |
| |
| |
| RWByteAddressBuffer sb : register(u0); |
| void v(uint offset, Inner obj) { |
| sb.Store((offset + 0u), asuint(obj.scalar_i32)); |
| sb.Store((offset + 4u), asuint(obj.scalar_f32)); |
| } |
| |
| void v_1(uint offset, Inner obj[4]) { |
| { |
| uint v_2 = 0u; |
| v_2 = 0u; |
| while(true) { |
| uint v_3 = v_2; |
| if ((v_3 >= 4u)) { |
| break; |
| } |
| Inner v_4 = obj[v_3]; |
| v((offset + (v_3 * 8u)), v_4); |
| { |
| v_2 = (v_3 + 1u); |
| } |
| continue; |
| } |
| } |
| } |
| |
| void v_5(uint offset, float3 obj[2]) { |
| { |
| uint v_6 = 0u; |
| v_6 = 0u; |
| while(true) { |
| uint v_7 = v_6; |
| if ((v_7 >= 2u)) { |
| break; |
| } |
| sb.Store3((offset + (v_7 * 16u)), asuint(obj[v_7])); |
| { |
| v_6 = (v_7 + 1u); |
| } |
| continue; |
| } |
| } |
| } |
| |
| void v_8(uint offset, float4x4 obj) { |
| sb.Store4((offset + 0u), asuint(obj[0u])); |
| sb.Store4((offset + 16u), asuint(obj[1u])); |
| sb.Store4((offset + 32u), asuint(obj[2u])); |
| sb.Store4((offset + 48u), asuint(obj[3u])); |
| } |
| |
| void v_9(uint offset, float4x3 obj) { |
| sb.Store3((offset + 0u), asuint(obj[0u])); |
| sb.Store3((offset + 16u), asuint(obj[1u])); |
| sb.Store3((offset + 32u), asuint(obj[2u])); |
| sb.Store3((offset + 48u), asuint(obj[3u])); |
| } |
| |
| void v_10(uint offset, float4x2 obj) { |
| sb.Store2((offset + 0u), asuint(obj[0u])); |
| sb.Store2((offset + 8u), asuint(obj[1u])); |
| sb.Store2((offset + 16u), asuint(obj[2u])); |
| sb.Store2((offset + 24u), asuint(obj[3u])); |
| } |
| |
| void v_11(uint offset, float3x4 obj) { |
| sb.Store4((offset + 0u), asuint(obj[0u])); |
| sb.Store4((offset + 16u), asuint(obj[1u])); |
| sb.Store4((offset + 32u), asuint(obj[2u])); |
| } |
| |
| void v_12(uint offset, float3x3 obj) { |
| sb.Store3((offset + 0u), asuint(obj[0u])); |
| sb.Store3((offset + 16u), asuint(obj[1u])); |
| sb.Store3((offset + 32u), asuint(obj[2u])); |
| } |
| |
| void v_13(uint offset, float3x2 obj) { |
| sb.Store2((offset + 0u), asuint(obj[0u])); |
| sb.Store2((offset + 8u), asuint(obj[1u])); |
| sb.Store2((offset + 16u), asuint(obj[2u])); |
| } |
| |
| void v_14(uint offset, float2x4 obj) { |
| sb.Store4((offset + 0u), asuint(obj[0u])); |
| sb.Store4((offset + 16u), asuint(obj[1u])); |
| } |
| |
| void v_15(uint offset, float2x3 obj) { |
| sb.Store3((offset + 0u), asuint(obj[0u])); |
| sb.Store3((offset + 16u), asuint(obj[1u])); |
| } |
| |
| void v_16(uint offset, float2x2 obj) { |
| sb.Store2((offset + 0u), asuint(obj[0u])); |
| sb.Store2((offset + 8u), asuint(obj[1u])); |
| } |
| |
| [numthreads(1, 1, 1)] |
| void main() { |
| sb.Store(0u, asuint(0.0f)); |
| sb.Store(4u, asuint(0)); |
| sb.Store(8u, 0u); |
| sb.Store2(16u, asuint((0.0f).xx)); |
| sb.Store2(24u, asuint((0).xx)); |
| sb.Store2(32u, (0u).xx); |
| sb.Store3(48u, asuint((0.0f).xxx)); |
| sb.Store3(64u, asuint((0).xxx)); |
| sb.Store3(80u, (0u).xxx); |
| sb.Store4(96u, asuint((0.0f).xxxx)); |
| sb.Store4(112u, asuint((0).xxxx)); |
| sb.Store4(128u, (0u).xxxx); |
| v_16(144u, float2x2((0.0f).xx, (0.0f).xx)); |
| v_15(160u, float2x3((0.0f).xxx, (0.0f).xxx)); |
| v_14(192u, float2x4((0.0f).xxxx, (0.0f).xxxx)); |
| v_13(224u, float3x2((0.0f).xx, (0.0f).xx, (0.0f).xx)); |
| v_12(256u, float3x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx)); |
| v_11(304u, float3x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx)); |
| v_10(352u, float4x2((0.0f).xx, (0.0f).xx, (0.0f).xx, (0.0f).xx)); |
| v_9(384u, float4x3((0.0f).xxx, (0.0f).xxx, (0.0f).xxx, (0.0f).xxx)); |
| v_8(448u, float4x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx)); |
| float3 v_17[2] = (float3[2])0; |
| v_5(512u, v_17); |
| Inner v_18 = (Inner)0; |
| v(544u, v_18); |
| Inner v_19[4] = (Inner[4])0; |
| v_1(552u, v_19); |
| } |
| |
| |
| tint executable returned error: exit status 0xe0000001 |