diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-08-30 22:52:09 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-08-30 23:26:11 +0300 |
commit | fe195f51d1a842087ba411488ec5a8b8979583ee (patch) | |
tree | 5fa00805fa337b351fc105c58047f0acf39daac0 /source/blender/gpu/intern | |
parent | 25237d2625078c6d14d744f288776299efd3c7c8 (diff) |
GPUStorageBuf: Add `read()` function to readback buffer data to host
This is not expected to be fast. This is only for inspecting the content
of the buffer for debugging or validation purpose.
Diffstat (limited to 'source/blender/gpu/intern')
-rw-r--r-- | source/blender/gpu/intern/gpu_storage_buffer.cc | 5 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_storage_buffer_private.hh | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/gpu/intern/gpu_storage_buffer.cc b/source/blender/gpu/intern/gpu_storage_buffer.cc index afa27da9c85..460a643089c 100644 --- a/source/blender/gpu/intern/gpu_storage_buffer.cc +++ b/source/blender/gpu/intern/gpu_storage_buffer.cc @@ -109,4 +109,9 @@ void GPU_storagebuf_copy_sub_from_vertbuf( unwrap(ssbo)->copy_sub(unwrap(src), dst_offset, src_offset, copy_size); } +void GPU_storagebuf_read(GPUStorageBuf *ssbo, void *data) +{ + unwrap(ssbo)->read(data); +} + /** \} */ diff --git a/source/blender/gpu/intern/gpu_storage_buffer_private.hh b/source/blender/gpu/intern/gpu_storage_buffer_private.hh index 9baec0c2a77..0c96f97ad30 100644 --- a/source/blender/gpu/intern/gpu_storage_buffer_private.hh +++ b/source/blender/gpu/intern/gpu_storage_buffer_private.hh @@ -44,6 +44,7 @@ class StorageBuf { eGPUDataFormat data_format, void *data) = 0; virtual void copy_sub(VertBuf *src, uint dst_offset, uint src_offset, uint copy_size) = 0; + virtual void read(void *data) = 0; }; /* Syntactic sugar. */ |