From fee5f971a7680342bac0d8a2ca4071938fa7e3b6 Mon Sep 17 00:00:00 2001 From: Arjan Molenaar Date: Thu, 2 Jan 2025 21:52:04 +0100 Subject: [PATCH] opengl: fix unmap size for globals buffer Globals data is mapped based on a device alignment. --- gsk/gpu/gskgpuframe.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gsk/gpu/gskgpuframe.c b/gsk/gpu/gskgpuframe.c index 08fef3453f1..67285720d80 100644 --- a/gsk/gpu/gskgpuframe.c +++ b/gsk/gpu/gskgpuframe.c @@ -753,7 +753,9 @@ gsk_gpu_frame_submit (GskGpuFrame *self, if (priv->globals_buffer) { - gsk_gpu_buffer_unmap (priv->globals_buffer, sizeof (GskGpuGlobalsInstance) * priv->n_globals); + gsize globals_size = gsk_gpu_device_get_globals_aligned_size (gsk_gpu_frame_get_device (self)); + + gsk_gpu_buffer_unmap (priv->globals_buffer, globals_size * priv->n_globals); priv->globals_buffer_data = NULL; } -- GitLab