From ad43f52bd2dd331a2b9208821c6c89f4851ec1b5 Mon Sep 17 00:00:00 2001 From: MinerSebas Date: Mon, 19 Apr 2021 22:16:24 +0000 Subject: [PATCH] Provide better error message when missing a render backend (#1965) Fixes #626 --- crates/bevy_render/src/lib.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/crates/bevy_render/src/lib.rs b/crates/bevy_render/src/lib.rs index 3f0ffe41ef..1a9b293b95 100644 --- a/crates/bevy_render/src/lib.rs +++ b/crates/bevy_render/src/lib.rs @@ -14,7 +14,7 @@ pub mod wireframe; use bevy_ecs::{ schedule::{ParallelSystemDescriptorCoercion, SystemStage}, - system::{IntoExclusiveSystem, IntoSystem}, + system::{IntoExclusiveSystem, IntoSystem, Res}, }; use bevy_transform::TransformSystem; use draw::{OutsideFrustum, Visible}; @@ -52,7 +52,7 @@ use render_graph::{ base::{self, BaseRenderGraphConfig, MainPass}, RenderGraph, }; -use renderer::{AssetRenderResourceBindings, RenderResourceBindings}; +use renderer::{AssetRenderResourceBindings, RenderResourceBindings, RenderResourceContext}; use shader::ShaderLoader; #[cfg(feature = "hdr")] use texture::HdrTextureLoader; @@ -160,6 +160,10 @@ impl Plugin for RenderPlugin { .init_resource::() .init_resource::() .init_resource::() + .add_startup_system_to_stage( + StartupStage::PreStartup, + check_for_render_resource_context.system(), + ) .add_system_to_stage(CoreStage::PreUpdate, draw::clear_draw_system.system()) .add_system_to_stage( CoreStage::PostUpdate, @@ -222,3 +226,11 @@ impl Plugin for RenderPlugin { } } } + +fn check_for_render_resource_context(context: Option>>) { + if context.is_none() { + panic!( + "bevy_render couldn't find a render backend. Perhaps try adding the bevy_wgpu plugin!" + ) + } +}