Well it rearranges into a separate buffer anyway, it should be safe to do it directly from RAM, or am I misunderstanding something? The rearrange isn't in-place.