Add support for asynchronous RenderingDevice.buffer_get_data()
(hardware readbacks)
#7886
Labels
RenderingDevice.buffer_get_data()
(hardware readbacks)
#7886
Describe the project you are working on
Voxel game mostly running on GPU using compute shaders.
Describe the problem or limitation you are having in your project
Every time I want to read something on the GPU from the CPU, it stalls the compute pipeline to have up to date data.
var output_bytes := rd.buffer_get_data(buffer)
The performance penalty is very high.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Asynchronous function to read data when it is ready (can be a few frames delayed), without stalling the pipeline. Unity uses this: https://docs.unity3d.com/ScriptReference/Rendering.AsyncGPUReadback.html
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
If this enhancement will not be used often, can it be worked around with a few lines of script?
Not that I know of
Is there a reason why this should be core and not an add-on in the asset library?
I don't believe you can write this in an addon?
The text was updated successfully, but these errors were encountered: