From 00f5e7166619694f1e48274fd3ab0fe9d9b089f7 Mon Sep 17 00:00:00 2001 From: Alessandro Mauri Date: Thu, 12 Jun 2025 19:56:43 +0200 Subject: [PATCH] enable cycling when mapping the transfer buffers to avoid corruption --- src/renderer.c3 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/renderer.c3 b/src/renderer.c3 index 32e5f0d..2c83406 100644 --- a/src/renderer.c3 +++ b/src/renderer.c3 @@ -112,6 +112,7 @@ struct ViewsizeUniform @align(16) { } const int DEBUG = 1; +const bool CYCLE = true; fn void Renderer.init(&self, ZString title, uint width, uint height) { @@ -498,7 +499,7 @@ fn void Renderer.update_texture_by_id(&self, Id id, char[] pixels, uint width, u unreachable("failed to upload texture data at creating the transfer buffer: %s", sdl::get_error()); } - char* gpu_mem = (char*)sdl::map_gpu_transfer_buffer(self.gpu, buf, false); + char* gpu_mem = (char*)sdl::map_gpu_transfer_buffer(self.gpu, buf, CYCLE); if (gpu_mem == null) { unreachable("failed to upload texture data at mapping the transfer buffer: %s", sdl::get_error()); } @@ -599,7 +600,7 @@ fn bool Renderer.upload_quad(&self, Quad* source_quad) unreachable("quad buffer not initialized"); } - Quad* quad = (Quad*)sdl::map_gpu_transfer_buffer(self.gpu, qb.transfer_buffer, true); + Quad* quad = (Quad*)sdl::map_gpu_transfer_buffer(self.gpu, qb.transfer_buffer, CYCLE); if (quad == null) { unreachable("failed to map gpu transfer buffer: %s", sdl::get_error()); }