spirv: Fix order of barriers in SpvOpControlBarrier
I hope I'm not looking totally dumb, but if I'm not mistaken, the order of the barriers is wrong here.
Semantically, the memory barrier has to come first to wait for the completion of pending memory requests. Afterwards, the workgroups can be synchronized. Otherwise, it would be possible (although unlikely) that synchronized workgroups can succeed although some memory requests haven't completed yet - resulting in race conditions.