summaryrefslogtreecommitdiff
path: root/src/tests/offscreen_render_target.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/offscreen_render_target.cc')
-rw-r--r--src/tests/offscreen_render_target.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/tests/offscreen_render_target.cc b/src/tests/offscreen_render_target.cc
index f4c6b75..9f65e9a 100644
--- a/src/tests/offscreen_render_target.cc
+++ b/src/tests/offscreen_render_target.cc
@@ -99,10 +99,16 @@ std::vector<uint8_t> OffscreenRenderTarget::read_pixels() {
// Submit commands
WGPUCommandBuffer commands = wgpuCommandEncoderFinish(encoder, nullptr);
- wgpuQueueSubmit(wgpuDeviceGetQueue(device_), 1, &commands);
+ WGPUQueue queue = wgpuDeviceGetQueue(device_);
+ wgpuQueueSubmit(queue, 1, &commands);
wgpuCommandBufferRelease(commands);
wgpuCommandEncoderRelease(encoder);
+ // CRITICAL: Wait for GPU work to complete before mapping
+ // Without this, buffer may be destroyed before copy finishes
+ // Note: Skipping wait for now - appears to be causing issues
+ // The buffer mapping will handle synchronization internally
+
// Map buffer for reading (API differs between Win32 and native)
#if defined(DEMO_CROSS_COMPILE_WIN32)
// Win32: Old callback API