blob: 249608a7f197f963e0007c18056c4f6bb6f6e1c2 [file]
SKIP: FAILED
DXC validation failure:
hlsl.hlsl:29:27: error: no matching function for call to 'Load'
Matrix_left_f32_8x8 m = Matrix_left_f32_8x8::Load(v, ((0u / 4u) + ((select(v_5, v_3, 0u) * 4u) / 4u)), select(v_5, v_4, 8u), MatrixLayout::ColMajor);
^~~~~~~~~~~~~~~~~~~~~~~~~
<built-in:hlsl>/dx/linalg.h:263:31: note: candidate function [with Align = 128] not viable: no known conversion from 'uint __attribute__((address_space(3)))[256]' to 'ByteAddressBuffer' for 1st argument
[[nodiscard]] static Matrix Load(ByteAddressBuffer Res, uint StartOffset,
^
<built-in:hlsl>/dx/linalg.h:272:31: note: candidate function [with Align = 128] not viable: no known conversion from 'uint __attribute__((address_space(3)))[256]' to 'RWByteAddressBuffer' for 1st argument
[[nodiscard]] static Matrix Load(RWByteAddressBuffer Res, uint StartOffset,
^
<built-in:hlsl>/dx/linalg.h:282:7: note: candidate template ignored: disabled by 'enable_if' [with T = unsigned int, Size = 256]
(hlsl::is_same<typename hlsl::strip_vector_type<T>::type,
^
hlsl.hlsl:33:5: error: no matching member function for call to 'Store'
m.Store(v, ((0u / 4u) + ((select(v_8, v_6, 0u) * 4u) / 4u)), select(v_8, v_7, 8u), MatrixLayout::RowMajor);
~~^~~~~
<built-in:hlsl>/dx/linalg.h:326:8: note: candidate function [with Align = 128] not viable: no known conversion from 'uint __attribute__((address_space(3)))[256]' to 'RWByteAddressBuffer' for 1st argument
void Store(RWByteAddressBuffer Res, uint StartOffset, uint Stride,
^
<built-in:hlsl>/dx/linalg.h:334:7: note: candidate template ignored: disabled by 'enable_if' [with T = unsigned int, Size = 256]
(hlsl::is_same<typename hlsl::strip_vector_type<T>::type,
^
#include <dx/linalg.h>
using namespace dx::linalg;
using Matrix_left_f32_8x8 = Matrix<ComponentType::F32, 8, 8, MatrixUse::A, MatrixScope::Wave>;
struct main_inputs {
uint tint_local_index : SV_GroupIndex;
};
groupshared uint v[256];
void main_inner(uint tint_local_index) {
{
uint v_1 = 0u;
v_1 = tint_local_index;
while(true) {
uint v_2 = v_1;
if ((v_2 >= 256u)) {
break;
}
v[((v_2 * 4u) / 4u)] = 0u;
{
v_1 = (v_2 + 32u);
}
}
}
GroupMemoryBarrierWithGroupSync();
uint v_3 = asuint(int(0));
uint v_4 = asuint(int(8));
bool v_5 = (((v_3 + (v_4 * 7u)) + 8u) <= ((1024u - 0u) / 4u));
Matrix_left_f32_8x8 m = Matrix_left_f32_8x8::Load(v, ((0u / 4u) + ((select(v_5, v_3, 0u) * 4u) / 4u)), select(v_5, v_4, 8u), MatrixLayout::ColMajor);
uint v_6 = asuint(int(0));
uint v_7 = asuint(int(8));
bool v_8 = (((v_6 + (v_7 * 7u)) + 8u) <= ((1024u - 0u) / 4u));
m.Store(v, ((0u / 4u) + ((select(v_8, v_6, 0u) * 4u) / 4u)), select(v_8, v_7, 8u), MatrixLayout::RowMajor);
}
[numthreads(32, 1, 1)]
void main(main_inputs inputs) {
main_inner(inputs.tint_local_index);
}
tint executable returned error: exit status 1