blob: f5f63f2c548759ca2e3c2ca235283943bf35bf76 [file]
#include <dx/linalg.h>
using namespace dx::linalg;
using Matrix_left_i8_8x8 = Matrix<ComponentType::I8, 8, 8, MatrixUse::A, MatrixScope::Wave>;
using Matrix_right_u8_8x8 = Matrix<ComponentType::U8, 8, 8, MatrixUse::B, MatrixScope::Wave>;
RWByteAddressBuffer ibuffer : register(u0);
RWByteAddressBuffer ubuffer : register(u1);
[numthreads(64, 1, 1)]
void main() {
uint v = 0u;
ibuffer.GetDimensions(v);
if ((((0u + (64u * 7u)) + 8u) <= ((v / 4u) * 4u))) {
Matrix_left_i8_8x8::Splat(int(0)).Store(ibuffer, 0u, 64u, MatrixLayout::RowMajor);
}
uint v_1 = 0u;
ubuffer.GetDimensions(v_1);
if ((((0u + (64u * 7u)) + 8u) <= ((v_1 / 4u) * 4u))) {
Matrix_right_u8_8x8::Splat(0u).Store(ubuffer, 0u, 64u, MatrixLayout::RowMajor);
}
uint v_2 = 0u;
ibuffer.GetDimensions(v_2);
if ((((0u + (64u * 7u)) + 8u) <= ((v_2 / 4u) * 4u))) {
Matrix_left_i8_8x8::Splat(int(-42)).Store(ibuffer, 0u, 64u, MatrixLayout::RowMajor);
}
uint v_3 = 0u;
ubuffer.GetDimensions(v_3);
if ((((0u + (64u * 7u)) + 8u) <= ((v_3 / 4u) * 4u))) {
Matrix_right_u8_8x8::Splat(42u).Store(ubuffer, 0u, 64u, MatrixLayout::RowMajor);
}
}