mirror of
https://github.com/bevyengine/bevy
synced 2024-12-23 19:43:07 +00:00
ffecb05a0a
This makes the [New Bevy Renderer](#2535) the default (and only) renderer. The new renderer isn't _quite_ ready for the final release yet, but I want as many people as possible to start testing it so we can identify bugs and address feedback prior to release. The examples are all ported over and operational with a few exceptions: * I removed a good portion of the examples in the `shader` folder. We still have some work to do in order to make these examples possible / ergonomic / worthwhile: #3120 and "high level shader material plugins" are the big ones. This is a temporary measure. * Temporarily removed the multiple_windows example: doing this properly in the new renderer will require the upcoming "render targets" changes. Same goes for the render_to_texture example. * Removed z_sort_debug: entity visibility sort info is no longer available in app logic. we could do this on the "render app" side, but i dont consider it a priority.
45 lines
1.3 KiB
Rust
45 lines
1.3 KiB
Rust
use std::borrow::Cow;
|
|
|
|
pub use wgpu::{Backends, Features as WgpuFeatures, Limits as WgpuLimits, PowerPreference};
|
|
|
|
#[derive(Clone)]
|
|
pub struct WgpuOptions {
|
|
pub device_label: Option<Cow<'static, str>>,
|
|
pub backends: Backends,
|
|
pub power_preference: PowerPreference,
|
|
pub features: WgpuFeatures,
|
|
pub limits: WgpuLimits,
|
|
}
|
|
|
|
impl Default for WgpuOptions {
|
|
fn default() -> Self {
|
|
let default_backends = if cfg!(target_arch = "wasm32") {
|
|
Backends::GL
|
|
} else {
|
|
Backends::PRIMARY
|
|
};
|
|
|
|
let backends = wgpu::util::backend_bits_from_env().unwrap_or(default_backends);
|
|
|
|
let limits = if cfg!(target_arch = "wasm32") {
|
|
wgpu::Limits::downlevel_webgl2_defaults()
|
|
} else {
|
|
#[allow(unused_mut)]
|
|
let mut limits = wgpu::Limits::default();
|
|
#[cfg(feature = "ci_limits")]
|
|
{
|
|
limits.max_storage_textures_per_shader_stage = 4;
|
|
limits.max_texture_dimension_3d = 1024;
|
|
}
|
|
limits
|
|
};
|
|
|
|
Self {
|
|
device_label: Default::default(),
|
|
backends,
|
|
power_preference: PowerPreference::HighPerformance,
|
|
features: wgpu::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES,
|
|
limits,
|
|
}
|
|
}
|
|
}
|