struct TaskPayload
{
    float a;
    float b;
    int c;
};

static const uint3 gl_WorkGroupSize = uint3(1u, 1u, 1u);

groupshared TaskPayload _payload;

void task_main()
{
    _payload.a = 1.2000000476837158203125f;
    _payload.b = 2.2999999523162841796875f;
    _payload.c = 3;
    DispatchMesh(1u, 2u, 3u, _payload);
}

[numthreads(1, 1, 1)]
void main()
{
    task_main();
}
