blob: 90c58135fb188ee25dc3e42dc5942356b6d42f02 [file] [log] [blame]
SKIP: FAILED
cbuffer cbuffer_u : register(b0, space0) {
uint4 u[1];
};
groupshared matrix<float16_t, 2, 2> w;
struct tint_symbol_1 {
uint local_invocation_index : SV_GroupIndex;
};
matrix<float16_t, 2, 2> tint_symbol_2(uint4 buffer[1], uint offset) {
const uint scalar_offset = ((offset + 0u)) / 4;
uint ubo_load = buffer[scalar_offset / 4][scalar_offset % 4];
const uint scalar_offset_1 = ((offset + 4u)) / 4;
uint ubo_load_1 = buffer[scalar_offset_1 / 4][scalar_offset_1 % 4];
return matrix<float16_t, 2, 2>(vector<float16_t, 2>(float16_t(f16tof32(ubo_load & 0xFFFF)), float16_t(f16tof32(ubo_load >> 16))), vector<float16_t, 2>(float16_t(f16tof32(ubo_load_1 & 0xFFFF)), float16_t(f16tof32(ubo_load_1 >> 16))));
}
void f_inner(uint local_invocation_index) {
{
w = matrix<float16_t, 2, 2>((float16_t(0.0h)).xx, (float16_t(0.0h)).xx);
}
GroupMemoryBarrierWithGroupSync();
w = tint_symbol_2(u, 0u);
uint ubo_load_2 = u[0].x;
w[1] = vector<float16_t, 2>(float16_t(f16tof32(ubo_load_2 & 0xFFFF)), float16_t(f16tof32(ubo_load_2 >> 16)));
uint ubo_load_3 = u[0].x;
w[1] = vector<float16_t, 2>(float16_t(f16tof32(ubo_load_3 & 0xFFFF)), float16_t(f16tof32(ubo_load_3 >> 16))).yx;
w[0][1] = float16_t(f16tof32(((u[0].y) & 0xFFFF)));
}
[numthreads(1, 1, 1)]
void f(tint_symbol_1 tint_symbol) {
f_inner(tint_symbol.local_invocation_index);
return;
}
FXC validation failure:
D:\Projects\RampUp\dawn\test\tint\buffer\Shader@0x0000022F004DAD50(4,20-28): error X3000: syntax error: unexpected token 'float16_t'