Upgrade to wgpu 26
This commit is contained in:
parent
515236ddaf
commit
97e1737362
@ -98,6 +98,7 @@ impl Node for CasNode {
|
|||||||
label: Some("contrast_adaptive_sharpening"),
|
label: Some("contrast_adaptive_sharpening"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: destination,
|
view: destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
})],
|
})],
|
||||||
|
|||||||
@ -64,6 +64,7 @@ impl ViewNode for FxaaNode {
|
|||||||
label: Some("fxaa_pass"),
|
label: Some("fxaa_pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: destination,
|
view: destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
})],
|
})],
|
||||||
|
|||||||
@ -934,6 +934,7 @@ fn perform_edge_detection(
|
|||||||
label: Some("SMAA edge detection pass"),
|
label: Some("SMAA edge detection pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: &smaa_textures.edge_detection_color_texture.default_view,
|
view: &smaa_textures.edge_detection_color_texture.default_view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: default(),
|
ops: default(),
|
||||||
})],
|
})],
|
||||||
@ -989,6 +990,7 @@ fn perform_blending_weight_calculation(
|
|||||||
label: Some("SMAA blending weight calculation pass"),
|
label: Some("SMAA blending weight calculation pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: &smaa_textures.blend_texture.default_view,
|
view: &smaa_textures.blend_texture.default_view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: default(),
|
ops: default(),
|
||||||
})],
|
})],
|
||||||
@ -1045,6 +1047,7 @@ fn perform_neighborhood_blending(
|
|||||||
label: Some("SMAA neighborhood blending pass"),
|
label: Some("SMAA neighborhood blending pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: destination,
|
view: destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: default(),
|
ops: default(),
|
||||||
})],
|
})],
|
||||||
|
|||||||
@ -208,11 +208,13 @@ impl ViewNode for TemporalAntiAliasNode {
|
|||||||
color_attachments: &[
|
color_attachments: &[
|
||||||
Some(RenderPassColorAttachment {
|
Some(RenderPassColorAttachment {
|
||||||
view: view_target.destination,
|
view: view_target.destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
}),
|
}),
|
||||||
Some(RenderPassColorAttachment {
|
Some(RenderPassColorAttachment {
|
||||||
view: &taa_history_textures.write.default_view,
|
view: &taa_history_textures.write.default_view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -20,7 +20,7 @@ serde = { version = "1.0", features = [
|
|||||||
], default-features = false, optional = true }
|
], default-features = false, optional = true }
|
||||||
thiserror = { version = "2", default-features = false }
|
thiserror = { version = "2", default-features = false }
|
||||||
derive_more = { version = "2", default-features = false, features = ["from"] }
|
derive_more = { version = "2", default-features = false, features = ["from"] }
|
||||||
wgpu-types = { version = "25", default-features = false, optional = true }
|
wgpu-types = { path = "../../../../gfx-rs/wgpu/wgpu-types", default-features = false, optional = true }
|
||||||
encase = { version = "0.10", default-features = false, optional = true }
|
encase = { version = "0.10", default-features = false, optional = true }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
|||||||
@ -184,6 +184,7 @@ impl ViewNode for BloomNode {
|
|||||||
label: Some("bloom_downsampling_first_pass"),
|
label: Some("bloom_downsampling_first_pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view,
|
view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
})],
|
})],
|
||||||
@ -208,6 +209,7 @@ impl ViewNode for BloomNode {
|
|||||||
label: Some("bloom_downsampling_pass"),
|
label: Some("bloom_downsampling_pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view,
|
view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
})],
|
})],
|
||||||
@ -232,6 +234,7 @@ impl ViewNode for BloomNode {
|
|||||||
label: Some("bloom_upsampling_pass"),
|
label: Some("bloom_upsampling_pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view,
|
view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: LoadOp::Load,
|
load: LoadOp::Load,
|
||||||
|
|||||||
@ -416,6 +416,7 @@ impl ViewNode for DepthOfFieldNode {
|
|||||||
let mut color_attachments: SmallVec<[_; 2]> = SmallVec::new();
|
let mut color_attachments: SmallVec<[_; 2]> = SmallVec::new();
|
||||||
color_attachments.push(Some(RenderPassColorAttachment {
|
color_attachments.push(Some(RenderPassColorAttachment {
|
||||||
view: postprocess.destination,
|
view: postprocess.destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: LoadOp::Clear(default()),
|
load: LoadOp::Clear(default()),
|
||||||
@ -436,6 +437,7 @@ impl ViewNode for DepthOfFieldNode {
|
|||||||
};
|
};
|
||||||
color_attachments.push(Some(RenderPassColorAttachment {
|
color_attachments.push(Some(RenderPassColorAttachment {
|
||||||
view: &auxiliary_dof_texture.default_view,
|
view: &auxiliary_dof_texture.default_view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: LoadOp::Clear(default()),
|
load: LoadOp::Clear(default()),
|
||||||
|
|||||||
@ -84,6 +84,7 @@ impl ViewNode for MotionBlurNode {
|
|||||||
label: Some("motion_blur_pass"),
|
label: Some("motion_blur_pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: post_process.destination,
|
view: post_process.destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
})],
|
})],
|
||||||
|
|||||||
@ -87,6 +87,7 @@ impl ViewNode for MsaaWritebackNode {
|
|||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
// If MSAA is enabled, then the sampled texture will always exist
|
// If MSAA is enabled, then the sampled texture will always exist
|
||||||
view: target.sampled_main_texture_view().unwrap(),
|
view: target.sampled_main_texture_view().unwrap(),
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: Some(post_process.destination),
|
resolve_target: Some(post_process.destination),
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: LoadOp::Clear(LinearRgba::BLACK.into()),
|
load: LoadOp::Clear(LinearRgba::BLACK.into()),
|
||||||
|
|||||||
@ -390,6 +390,7 @@ impl ViewNode for PostProcessingNode {
|
|||||||
label: Some("postprocessing pass"),
|
label: Some("postprocessing pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: post_process.destination,
|
view: post_process.destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
})],
|
})],
|
||||||
|
|||||||
@ -117,6 +117,7 @@ impl ViewNode for TonemappingNode {
|
|||||||
label: Some("tonemapping_pass"),
|
label: Some("tonemapping_pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: destination,
|
view: destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: LoadOp::Clear(Default::default()), // TODO shouldn't need to be cleared
|
load: LoadOp::Clear(Default::default()), // TODO shouldn't need to be cleared
|
||||||
|
|||||||
@ -70,7 +70,7 @@ image = { version = "0.25.2", default-features = false }
|
|||||||
# misc
|
# misc
|
||||||
bitflags = { version = "2.3", features = ["serde"] }
|
bitflags = { version = "2.3", features = ["serde"] }
|
||||||
bytemuck = { version = "1.5" }
|
bytemuck = { version = "1.5" }
|
||||||
wgpu-types = { version = "25", default-features = false }
|
wgpu-types = { path = "../../../../gfx-rs/wgpu/wgpu-types", default-features = false }
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
thiserror = { version = "2", default-features = false }
|
thiserror = { version = "2", default-features = false }
|
||||||
futures-lite = "2.0.1"
|
futures-lite = "2.0.1"
|
||||||
|
|||||||
@ -27,7 +27,7 @@ bevy_platform = { path = "../bevy_platform", version = "0.17.0-dev", default-fea
|
|||||||
# other
|
# other
|
||||||
bitflags = { version = "2.3", features = ["serde"] }
|
bitflags = { version = "2.3", features = ["serde"] }
|
||||||
bytemuck = { version = "1.5" }
|
bytemuck = { version = "1.5" }
|
||||||
wgpu-types = { version = "25", default-features = false }
|
wgpu-types = { path = "../../../../gfx-rs/wgpu/wgpu-types", default-features = false }
|
||||||
serde = { version = "1", default-features = false, features = [
|
serde = { version = "1", default-features = false, features = [
|
||||||
"derive",
|
"derive",
|
||||||
], optional = true }
|
], optional = true }
|
||||||
|
|||||||
@ -311,6 +311,7 @@ impl ViewNode for ScreenSpaceReflectionsNode {
|
|||||||
label: Some("SSR pass"),
|
label: Some("SSR pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: postprocess.destination,
|
view: postprocess.destination,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations::default(),
|
ops: Operations::default(),
|
||||||
})],
|
})],
|
||||||
|
|||||||
@ -442,6 +442,7 @@ impl ViewNode for VolumetricFogNode {
|
|||||||
label: Some("volumetric lighting pass"),
|
label: Some("volumetric lighting pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: view_target.main_texture_view(),
|
view: view_target.main_texture_view(),
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: LoadOp::Load,
|
load: LoadOp::Load,
|
||||||
|
|||||||
@ -109,7 +109,7 @@ uuid = { version = "1.13.1", default-features = false, optional = true, features
|
|||||||
"serde",
|
"serde",
|
||||||
] }
|
] }
|
||||||
variadics_please = "1.1"
|
variadics_please = "1.1"
|
||||||
wgpu-types = { version = "25", features = [
|
wgpu-types = { path = "../../../../gfx-rs/wgpu/wgpu-types", features = [
|
||||||
"serde",
|
"serde",
|
||||||
], optional = true, default-features = false }
|
], optional = true, default-features = false }
|
||||||
|
|
||||||
|
|||||||
@ -90,7 +90,7 @@ codespan-reporting = "0.12.0"
|
|||||||
# It is enabled for now to avoid having to do a significant overhaul of the renderer just for wasm.
|
# It is enabled for now to avoid having to do a significant overhaul of the renderer just for wasm.
|
||||||
# When the 'atomics' feature is enabled `fragile-send-sync-non-atomic` does nothing
|
# When the 'atomics' feature is enabled `fragile-send-sync-non-atomic` does nothing
|
||||||
# and Bevy instead wraps `wgpu` types to verify they are not used off their origin thread.
|
# and Bevy instead wraps `wgpu` types to verify they are not used off their origin thread.
|
||||||
wgpu = { version = "25", default-features = false, features = [
|
wgpu = { path = "../../../../gfx-rs/wgpu/wgpu", default-features = false, features = [
|
||||||
"wgsl",
|
"wgsl",
|
||||||
"dx12",
|
"dx12",
|
||||||
"metal",
|
"metal",
|
||||||
@ -99,7 +99,7 @@ wgpu = { version = "25", default-features = false, features = [
|
|||||||
"naga-ir",
|
"naga-ir",
|
||||||
"fragile-send-sync-non-atomic-wasm",
|
"fragile-send-sync-non-atomic-wasm",
|
||||||
] }
|
] }
|
||||||
naga = { version = "25", features = ["wgsl-in"] }
|
naga = { path = "../../../../gfx-rs/wgpu/naga", features = ["wgsl-in"] }
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
bytemuck = { version = "1.5", features = ["derive", "must_cast"] }
|
bytemuck = { version = "1.5", features = ["derive", "must_cast"] }
|
||||||
downcast-rs = { version = "2", default-features = false, features = ["std"] }
|
downcast-rs = { version = "2", default-features = false, features = ["std"] }
|
||||||
@ -125,7 +125,7 @@ wesl = { version = "0.1.2", optional = true }
|
|||||||
|
|
||||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||||
# Omit the `glsl` feature in non-WebAssembly by default.
|
# Omit the `glsl` feature in non-WebAssembly by default.
|
||||||
naga_oil = { version = "0.18", default-features = false, features = [
|
naga_oil = { path = "../../../naga_oil", default-features = false, features = [
|
||||||
"test_shader",
|
"test_shader",
|
||||||
] }
|
] }
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ naga_oil = { version = "0.18", default-features = false, features = [
|
|||||||
proptest = "1"
|
proptest = "1"
|
||||||
|
|
||||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||||
naga_oil = { version = "0.18" }
|
naga_oil = { path = "../../../naga_oil" }
|
||||||
js-sys = "0.3"
|
js-sys = "0.3"
|
||||||
web-sys = { version = "0.3.67", features = [
|
web-sys = { version = "0.3.67", features = [
|
||||||
'Blob',
|
'Blob',
|
||||||
|
|||||||
@ -76,6 +76,7 @@ impl Node for CameraDriverNode {
|
|||||||
label: Some("no_camera_clear_pass"),
|
label: Some("no_camera_clear_pass"),
|
||||||
color_attachments: &[Some(RenderPassColorAttachment {
|
color_attachments: &[Some(RenderPassColorAttachment {
|
||||||
view: swap_chain_texture,
|
view: swap_chain_texture,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: LoadOp::Clear(clear_color_global.to_linear().into()),
|
load: LoadOp::Clear(clear_color_global.to_linear().into()),
|
||||||
|
|||||||
@ -370,6 +370,7 @@ impl Plugin for RenderPlugin {
|
|||||||
let instance = wgpu::Instance::new(&wgpu::InstanceDescriptor {
|
let instance = wgpu::Instance::new(&wgpu::InstanceDescriptor {
|
||||||
backends,
|
backends,
|
||||||
flags: settings.instance_flags,
|
flags: settings.instance_flags,
|
||||||
|
memory_budget_thresholds: settings.instance_memory_budget_thresholds,
|
||||||
backend_options: wgpu::BackendOptions {
|
backend_options: wgpu::BackendOptions {
|
||||||
gl: wgpu::GlBackendOptions {
|
gl: wgpu::GlBackendOptions {
|
||||||
gles_minor_version: settings.gles3_minor_version,
|
gles_minor_version: settings.gles3_minor_version,
|
||||||
|
|||||||
@ -3,7 +3,7 @@ use crate::renderer::{
|
|||||||
};
|
};
|
||||||
use alloc::borrow::Cow;
|
use alloc::borrow::Cow;
|
||||||
|
|
||||||
use wgpu::DxcShaderModel;
|
use wgpu::{DxcShaderModel, MemoryBudgetThresholds};
|
||||||
pub use wgpu::{
|
pub use wgpu::{
|
||||||
Backends, Dx12Compiler, Features as WgpuFeatures, Gles3MinorVersion, InstanceFlags,
|
Backends, Dx12Compiler, Features as WgpuFeatures, Gles3MinorVersion, InstanceFlags,
|
||||||
Limits as WgpuLimits, MemoryHints, PowerPreference,
|
Limits as WgpuLimits, MemoryHints, PowerPreference,
|
||||||
@ -53,6 +53,8 @@ pub struct WgpuSettings {
|
|||||||
pub instance_flags: InstanceFlags,
|
pub instance_flags: InstanceFlags,
|
||||||
/// This hints to the WGPU device about the preferred memory allocation strategy.
|
/// This hints to the WGPU device about the preferred memory allocation strategy.
|
||||||
pub memory_hints: MemoryHints,
|
pub memory_hints: MemoryHints,
|
||||||
|
/// The thresholds for device memory budget.
|
||||||
|
pub instance_memory_budget_thresholds: MemoryBudgetThresholds,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for WgpuSettings {
|
impl Default for WgpuSettings {
|
||||||
@ -103,15 +105,12 @@ impl Default for WgpuSettings {
|
|||||||
Dx12Compiler::StaticDxc
|
Dx12Compiler::StaticDxc
|
||||||
} else {
|
} else {
|
||||||
let dxc = "dxcompiler.dll";
|
let dxc = "dxcompiler.dll";
|
||||||
let dxil = "dxil.dll";
|
|
||||||
|
|
||||||
if cfg!(target_os = "windows")
|
if cfg!(target_os = "windows")
|
||||||
&& std::fs::metadata(dxc).is_ok()
|
&& std::fs::metadata(dxc).is_ok()
|
||||||
&& std::fs::metadata(dxil).is_ok()
|
|
||||||
{
|
{
|
||||||
Dx12Compiler::DynamicDxc {
|
Dx12Compiler::DynamicDxc {
|
||||||
dxc_path: String::from(dxc),
|
dxc_path: String::from(dxc),
|
||||||
dxil_path: String::from(dxil),
|
|
||||||
max_shader_model: DxcShaderModel::V6_7,
|
max_shader_model: DxcShaderModel::V6_7,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -136,6 +135,7 @@ impl Default for WgpuSettings {
|
|||||||
gles3_minor_version,
|
gles3_minor_version,
|
||||||
instance_flags,
|
instance_flags,
|
||||||
memory_hints: MemoryHints::default(),
|
memory_hints: MemoryHints::default(),
|
||||||
|
instance_memory_budget_thresholds:MemoryBudgetThresholds::default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,6 +40,7 @@ impl ColorAttachment {
|
|||||||
|
|
||||||
RenderPassColorAttachment {
|
RenderPassColorAttachment {
|
||||||
view: &resolve_target.default_view,
|
view: &resolve_target.default_view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: Some(&self.texture.default_view),
|
resolve_target: Some(&self.texture.default_view),
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: match (self.clear_color, first_call) {
|
load: match (self.clear_color, first_call) {
|
||||||
@ -63,6 +64,7 @@ impl ColorAttachment {
|
|||||||
|
|
||||||
RenderPassColorAttachment {
|
RenderPassColorAttachment {
|
||||||
view: &self.texture.default_view,
|
view: &self.texture.default_view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: match (self.clear_color, first_call) {
|
load: match (self.clear_color, first_call) {
|
||||||
@ -146,6 +148,7 @@ impl OutputColorAttachment {
|
|||||||
|
|
||||||
RenderPassColorAttachment {
|
RenderPassColorAttachment {
|
||||||
view: &self.view,
|
view: &self.view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: Operations {
|
ops: Operations {
|
||||||
load: match (clear_color, first_call) {
|
load: match (clear_color, first_call) {
|
||||||
|
|||||||
@ -600,6 +600,7 @@ fn render_screenshot(
|
|||||||
label: Some("screenshot_to_screen_pass"),
|
label: Some("screenshot_to_screen_pass"),
|
||||||
color_attachments: &[Some(wgpu::RenderPassColorAttachment {
|
color_attachments: &[Some(wgpu::RenderPassColorAttachment {
|
||||||
view: texture_view,
|
view: texture_view,
|
||||||
|
depth_slice: None,
|
||||||
resolve_target: None,
|
resolve_target: None,
|
||||||
ops: wgpu::Operations {
|
ops: wgpu::Operations {
|
||||||
load: wgpu::LoadOp::Load,
|
load: wgpu::LoadOp::Load,
|
||||||
|
|||||||
@ -59,7 +59,7 @@ cfg-if = "1.0"
|
|||||||
raw-window-handle = "0.6"
|
raw-window-handle = "0.6"
|
||||||
serde = { version = "1.0", features = ["derive"], optional = true }
|
serde = { version = "1.0", features = ["derive"], optional = true }
|
||||||
bytemuck = { version = "1.5", optional = true }
|
bytemuck = { version = "1.5", optional = true }
|
||||||
wgpu-types = { version = "25", optional = true }
|
wgpu-types = { path = "../../../../gfx-rs/wgpu/wgpu-types", optional = true }
|
||||||
accesskit = "0.19"
|
accesskit = "0.19"
|
||||||
tracing = { version = "0.1", default-features = false, features = ["std"] }
|
tracing = { version = "0.1", default-features = false, features = ["std"] }
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user