diff --git a/java/src/java/com/google/android/filament/FilamentPanel.java b/java/src/java/com/google/android/filament/FilamentPanel.java index ed36925bff..945f42be38 100644 --- a/java/src/java/com/google/android/filament/FilamentPanel.java +++ b/java/src/java/com/google/android/filament/FilamentPanel.java @@ -197,6 +197,11 @@ public class FilamentPanel extends JPanel implements FilamentTarget { if (mNativeSurface == null) { return; } + + // Previous frames using this surface may still be in the pipeline, so we must wait for + // them to finish. + engine.flushAndWait(); + mNativeSurface.dispose(); engine.destroySwapChain(mSwapChain); }