diff --git a/gsk/gpu/gskgpuframe.c b/gsk/gpu/gskgpuframe.c index 08fef3453f15a3929fcc8380d44e79671550991b..67285720d8066221289cfabd155a5ac05f871526 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; }