layout(set=0, binding=0) inout int2[] sizes; // in1, in2, out
layout(set=0, binding=1) in float data1[];
layout(set=0, binding=2) in float data2[];
layout(set=1, binding=0) out float resultData[];

void main() {
    sizes[2] = int2(sizes[0].x, sizes[1].y);

    int2 resultCell = int2(sk_ThreadPosition.x, sk_ThreadPosition.y);
    float result = 0.0;
    for (int i = 0; i < sizes[0].y; ++i) {
      int a = i + resultCell.x * sizes[0].y;
      int b = resultCell.y + i * sizes[1].y;
      result += data1[a] * data2[b];
    }

    int index = resultCell.y + resultCell.x * sizes[1].y;
    resultData[index] = result;
}
