| 204 | } |
| 205 | |
| 206 | void GPUDataUploaderWebGPU::DrawBegin() |
| 207 | { |
| 208 | // Free old buffers and recycle unused ones |
| 209 | uint64 frame = Engine::FrameCount; |
| 210 | for (int32 i = _entries.Count() - 1; i >= 0; i--) |
| 211 | { |
| 212 | auto& e = _entries[i]; |
| 213 | if (frame - e.ActiveFrame > 100) |
| 214 | { |
| 215 | wgpuBufferRelease(e.Buffer); |
| 216 | PROFILE_MEM_DEC(GraphicsBuffers, e.Size); |
| 217 | _entries.RemoveAt(i); |
| 218 | } |
| 219 | } |
| 220 | _frame = frame; |
| 221 | } |
| 222 | |
| 223 | void GPUDataUploaderWebGPU::ReleaseGPU() |
| 224 | { |