From a43ee8fa3a0603244d882406f2e8a08d040fb6dc Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Sat, 12 Oct 2024 14:36:05 +1100 Subject: [PATCH] don't call endFrame() if no views were rendered --- thermion_dart/native/src/FilamentViewer.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/thermion_dart/native/src/FilamentViewer.cpp b/thermion_dart/native/src/FilamentViewer.cpp index adb6a785..93d934a5 100644 --- a/thermion_dart/native/src/FilamentViewer.cpp +++ b/thermion_dart/native/src/FilamentViewer.cpp @@ -669,10 +669,6 @@ namespace thermion { std::lock_guard lock(_renderMutex); SwapChain *swapChain = _engine->createSwapChain((void *)window, filament::backend::SWAP_CHAIN_CONFIG_TRANSPARENT | filament::backend::SWAP_CHAIN_CONFIG_READABLE | filament::SwapChain::CONFIG_HAS_STENCIL_BUFFER); - - if(!_engine->isValid(swapChain)) { - Log("SWAPCHAIN NOT VALID!!"); - } _swapChains.push_back(swapChain); return swapChain; } @@ -1049,18 +1045,14 @@ namespace thermion for(auto swapChain : _swapChains) { auto views = _renderable[swapChain]; if(views.size() > 0) { - if(!_engine->isValid(swapChain)) { - Log("SWAPCHAIN NOT VALID!!"); - continue; - } bool beginFrame = _renderer->beginFrame(swapChain, frameTimeInNanos); if (beginFrame) { for(auto view : views) { _renderer->render(view); } } + _renderer->endFrame(); } - _renderer->endFrame(); } #ifdef __EMSCRIPTEN__ _engine->execute();