Fix wasm flickering.
Always execute the engine in non-threading (wasm) builds. And stop rendering if any beginFrame call returns false. PiperOrigin-RevId: 905000139 Change-Id: I0a6f06a07a8fc0ab0251a67be13a9d170d4a905d
This commit is contained in:
committed by
Copybara-Service
parent
a04cf1b2b3
commit
a2ee85f477
@@ -118,6 +118,9 @@ FilamentContext::FrameHandle FilamentContext::Render(
|
||||
if (!render_began) {
|
||||
render_began = renderer_->beginFrame(window_swap_chain_);
|
||||
}
|
||||
if (!render_began) {
|
||||
break;
|
||||
}
|
||||
if (render_began) {
|
||||
SceneView::RenderRequest scene_view_request;
|
||||
scene_view_request.draw_mode = request.draw_mode;
|
||||
@@ -139,6 +142,9 @@ FilamentContext::FrameHandle FilamentContext::Render(
|
||||
if (!render_began) {
|
||||
render_began = renderer_->beginFrame(offscreen_swap_chain_);
|
||||
}
|
||||
if (!render_began) {
|
||||
break;
|
||||
}
|
||||
if (render_began) {
|
||||
SceneView::RenderRequest scene_view_request;
|
||||
scene_view_request.draw_mode = request.draw_mode;
|
||||
@@ -154,10 +160,9 @@ FilamentContext::FrameHandle FilamentContext::Render(
|
||||
|
||||
if (render_began) {
|
||||
renderer_->endFrame();
|
||||
render_began = false;
|
||||
if constexpr (!UTILS_HAS_THREADING) {
|
||||
engine_->execute();
|
||||
}
|
||||
}
|
||||
if constexpr (!UTILS_HAS_THREADING) {
|
||||
engine_->execute();
|
||||
}
|
||||
|
||||
if (!read_requests.empty()) {
|
||||
|
||||
Reference in New Issue
Block a user