Provide better error message when missing a render backend (#1965)

Fixes #626
This commit is contained in:
MinerSebas 2021-04-19 22:16:24 +00:00
parent 458312236a
commit ad43f52bd2

View file

@ -14,7 +14,7 @@ pub mod wireframe;
use bevy_ecs::{ use bevy_ecs::{
schedule::{ParallelSystemDescriptorCoercion, SystemStage}, schedule::{ParallelSystemDescriptorCoercion, SystemStage},
system::{IntoExclusiveSystem, IntoSystem}, system::{IntoExclusiveSystem, IntoSystem, Res},
}; };
use bevy_transform::TransformSystem; use bevy_transform::TransformSystem;
use draw::{OutsideFrustum, Visible}; use draw::{OutsideFrustum, Visible};
@ -52,7 +52,7 @@ use render_graph::{
base::{self, BaseRenderGraphConfig, MainPass}, base::{self, BaseRenderGraphConfig, MainPass},
RenderGraph, RenderGraph,
}; };
use renderer::{AssetRenderResourceBindings, RenderResourceBindings}; use renderer::{AssetRenderResourceBindings, RenderResourceBindings, RenderResourceContext};
use shader::ShaderLoader; use shader::ShaderLoader;
#[cfg(feature = "hdr")] #[cfg(feature = "hdr")]
use texture::HdrTextureLoader; use texture::HdrTextureLoader;
@ -160,6 +160,10 @@ impl Plugin for RenderPlugin {
.init_resource::<RenderResourceBindings>() .init_resource::<RenderResourceBindings>()
.init_resource::<AssetRenderResourceBindings>() .init_resource::<AssetRenderResourceBindings>()
.init_resource::<ActiveCameras>() .init_resource::<ActiveCameras>()
.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::PreUpdate, draw::clear_draw_system.system())
.add_system_to_stage( .add_system_to_stage(
CoreStage::PostUpdate, CoreStage::PostUpdate,
@ -222,3 +226,11 @@ impl Plugin for RenderPlugin {
} }
} }
} }
fn check_for_render_resource_context(context: Option<Res<Box<dyn RenderResourceContext>>>) {
if context.is_none() {
panic!(
"bevy_render couldn't find a render backend. Perhaps try adding the bevy_wgpu plugin!"
)
}
}