Faster way of reading RenderTarget data? copy GPU data from compute shader?

Hello everyone,

So I have updated VaOcean plugin to work in 4.10… everything works fine but there is one critical thing missing, FFT displacement readback on the CPU.
I have tried using the ReadFloat16Pixels function to read the pixel data from the displacement render target but it turns out to be way too expensive (adds about 7ms, essentially half the fps).

Now correct me if I’m wrong but there should be a way to access the data in a more direct way from the GPU memory.
Problem is… I have zero experience with compute shader UAVs and all that kind of stuff so I have no idea how I could go about doing that >.<

I could really use some help with this one.

Here is the github link of the recent commit which uses the ReadFloat16Pixels method.

I would greatly appreciate it if someone can take a look at it.

Thanks in advance!