From ca202711e1363b807f115d7b106f47dd74034c1e Mon Sep 17 00:00:00 2001 From: Aitor Moreno Date: Tue, 1 Apr 2025 13:33:41 +0200 Subject: [PATCH] :bug: Fix not enough surfaces --- render-wasm/src/render/surfaces.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/render-wasm/src/render/surfaces.rs b/render-wasm/src/render/surfaces.rs index 7e3930119..854a820ac 100644 --- a/render-wasm/src/render/surfaces.rs +++ b/render-wasm/src/render/surfaces.rs @@ -7,6 +7,7 @@ use super::{gpu_state::GpuState, tiles::Tile}; use base64::{engine::general_purpose, Engine as _}; use std::collections::HashMap; +const POOL_CAPACITY_MINIMUM: i32 = 32; const POOL_CAPACITY_THRESHOLD: i32 = 4; #[derive(Debug, PartialEq, Clone, Copy)] @@ -68,7 +69,9 @@ impl Surfaces { let debug = target.new_surface_with_dimensions((width, height)).unwrap(); let pool_capacity = - (width / tile_dims.width) * (height / tile_dims.height) * POOL_CAPACITY_THRESHOLD; + ((width / tile_dims.width) * (height / tile_dims.height) * POOL_CAPACITY_THRESHOLD) + .max(POOL_CAPACITY_MINIMUM); + let pool = SurfacePool::with_capacity(&mut target, tile_dims, pool_capacity as usize); let tiles = TileSurfaceCache::new(pool); Surfaces {