Trust fall

- Trigger a fallback if any exception is caught during rendering
This commit is contained in:
Jozufozu 2025-02-28 22:00:14 -08:00
parent 5c584d3a9e
commit 1c0e562b6a

View file

@ -15,7 +15,6 @@ import dev.engine_room.flywheel.api.task.Plan;
import dev.engine_room.flywheel.api.visualization.VisualEmbedding;
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
import dev.engine_room.flywheel.backend.FlwBackend;
import dev.engine_room.flywheel.backend.compile.core.ShaderException;
import dev.engine_room.flywheel.backend.engine.embed.EmbeddedEnvironment;
import dev.engine_room.flywheel.backend.engine.embed.Environment;
import dev.engine_room.flywheel.backend.engine.embed.EnvironmentStorage;
@ -96,7 +95,7 @@ public class EngineImpl implements Engine {
Uniforms.update(context);
environmentStorage.flush();
drawManager.render(lightStorage, environmentStorage);
} catch (ShaderException e) {
} catch (Exception e) {
FlwBackend.LOGGER.error("Falling back", e);
triggerFallback();
}
@ -106,7 +105,7 @@ public class EngineImpl implements Engine {
public void renderCrumbling(RenderContext context, List<CrumblingBlock> crumblingBlocks) {
try (var state = GlStateTracker.getRestoreState()) {
drawManager.renderCrumbling(crumblingBlocks);
} catch (ShaderException e) {
} catch (Exception e) {
FlwBackend.LOGGER.error("Falling back", e);
triggerFallback();
}