Skip to content

Commit ad43f52

Browse files
committed
Provide better error message when missing a render backend (#1965)
Fixes #626
1 parent 4583122 commit ad43f52

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

crates/bevy_render/src/lib.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ pub mod wireframe;
1414

1515
use bevy_ecs::{
1616
schedule::{ParallelSystemDescriptorCoercion, SystemStage},
17-
system::{IntoExclusiveSystem, IntoSystem},
17+
system::{IntoExclusiveSystem, IntoSystem, Res},
1818
};
1919
use bevy_transform::TransformSystem;
2020
use draw::{OutsideFrustum, Visible};
@@ -52,7 +52,7 @@ use render_graph::{
5252
base::{self, BaseRenderGraphConfig, MainPass},
5353
RenderGraph,
5454
};
55-
use renderer::{AssetRenderResourceBindings, RenderResourceBindings};
55+
use renderer::{AssetRenderResourceBindings, RenderResourceBindings, RenderResourceContext};
5656
use shader::ShaderLoader;
5757
#[cfg(feature = "hdr")]
5858
use texture::HdrTextureLoader;
@@ -160,6 +160,10 @@ impl Plugin for RenderPlugin {
160160
.init_resource::<RenderResourceBindings>()
161161
.init_resource::<AssetRenderResourceBindings>()
162162
.init_resource::<ActiveCameras>()
163+
.add_startup_system_to_stage(
164+
StartupStage::PreStartup,
165+
check_for_render_resource_context.system(),
166+
)
163167
.add_system_to_stage(CoreStage::PreUpdate, draw::clear_draw_system.system())
164168
.add_system_to_stage(
165169
CoreStage::PostUpdate,
@@ -222,3 +226,11 @@ impl Plugin for RenderPlugin {
222226
}
223227
}
224228
}
229+
230+
fn check_for_render_resource_context(context: Option<Res<Box<dyn RenderResourceContext>>>) {
231+
if context.is_none() {
232+
panic!(
233+
"bevy_render couldn't find a render backend. Perhaps try adding the bevy_wgpu plugin!"
234+
)
235+
}
236+
}

0 commit comments

Comments
 (0)