From 760e3b509ac48e3c0df22b6f189d21c75a956b8c Mon Sep 17 00:00:00 2001 From: atlas dostal Date: Mon, 21 Jul 2025 03:11:58 -0400 Subject: [PATCH] revert #19303 --- crates/bevy_render/Cargo.toml | 7 ++++--- crates/bevy_render/src/diagnostic/internal.rs | 2 +- crates/bevy_render/src/lib.rs | 3 ++- crates/bevy_render/src/render_resource/bind_group.rs | 2 +- .../bevy_render/src/render_resource/bind_group_layout.rs | 2 +- crates/bevy_render/src/render_resource/buffer.rs | 2 +- crates/bevy_render/src/render_resource/pipeline.rs | 2 +- crates/bevy_render/src/render_resource/pipeline_cache.rs | 2 +- crates/bevy_render/src/render_resource/texture.rs | 2 +- crates/bevy_render/src/renderer/mod.rs | 2 +- crates/bevy_render/src/renderer/render_device.rs | 2 +- crates/bevy_render/src/view/window/mod.rs | 2 +- crates/{bevy_utils => bevy_render}/src/wgpu_wrapper.rs | 0 crates/bevy_utils/Cargo.toml | 5 ----- crates/bevy_utils/src/lib.rs | 6 ------ 15 files changed, 16 insertions(+), 25 deletions(-) rename crates/{bevy_utils => bevy_render}/src/wgpu_wrapper.rs (100%) diff --git a/crates/bevy_render/Cargo.toml b/crates/bevy_render/Cargo.toml index 4183ca8085f78..537f940922fc3 100644 --- a/crates/bevy_render/Cargo.toml +++ b/crates/bevy_render/Cargo.toml @@ -70,9 +70,7 @@ bevy_render_macros = { path = "macros", version = "0.17.0-dev" } bevy_time = { path = "../bevy_time", version = "0.17.0-dev" } bevy_transform = { path = "../bevy_transform", version = "0.17.0-dev" } bevy_window = { path = "../bevy_window", version = "0.17.0-dev" } -bevy_utils = { path = "../bevy_utils", version = "0.17.0-dev", features = [ - "wgpu_wrapper", -] } +bevy_utils = { path = "../bevy_utils", version = "0.17.0-dev" } bevy_tasks = { path = "../bevy_tasks", version = "0.17.0-dev" } bevy_image = { path = "../bevy_image", version = "0.17.0-dev" } bevy_mesh = { path = "../bevy_mesh", version = "0.17.0-dev" } @@ -131,6 +129,9 @@ naga_oil = { version = "0.18", default-features = false, features = [ "test_shader", ] } +[target.'cfg(all(target_arch = "wasm32", target_feature = "atomics"))'.dependencies] +send_wrapper = { version = "0.6.0" } + [dev-dependencies] proptest = "1" diff --git a/crates/bevy_render/src/diagnostic/internal.rs b/crates/bevy_render/src/diagnostic/internal.rs index e7005f70f3e81..770d6ba720e27 100644 --- a/crates/bevy_render/src/diagnostic/internal.rs +++ b/crates/bevy_render/src/diagnostic/internal.rs @@ -16,7 +16,7 @@ use wgpu::{ }; use crate::renderer::{RenderAdapterInfo, RenderDevice, RenderQueue}; -use bevy_utils::WgpuWrapper; +use crate::WgpuWrapper; use super::RecordDiagnostics; diff --git a/crates/bevy_render/src/lib.rs b/crates/bevy_render/src/lib.rs index 7a2ad060878b0..994bc35bb3e1e 100644 --- a/crates/bevy_render/src/lib.rs +++ b/crates/bevy_render/src/lib.rs @@ -49,6 +49,7 @@ pub mod sync_component; pub mod sync_world; pub mod texture; pub mod view; +mod wgpu_wrapper; pub use bevy_camera::primitives; #[cfg(feature = "bevy_light")] mod extract_impls; @@ -118,11 +119,11 @@ use alloc::sync::Arc; use bevy_app::{App, AppLabel, Plugin, SubApp}; use bevy_asset::{AssetApp, AssetServer}; use bevy_ecs::{prelude::*, schedule::ScheduleLabel}; -use bevy_utils::WgpuWrapper; use bitflags::bitflags; use core::ops::{Deref, DerefMut}; use std::sync::Mutex; use tracing::debug; +use wgpu_wrapper::WgpuWrapper; /// Inline shader as an `embedded_asset` and load it permanently. /// diff --git a/crates/bevy_render/src/render_resource/bind_group.rs b/crates/bevy_render/src/render_resource/bind_group.rs index 04b77471795fa..1772c0082e8a4 100644 --- a/crates/bevy_render/src/render_resource/bind_group.rs +++ b/crates/bevy_render/src/render_resource/bind_group.rs @@ -1,3 +1,4 @@ +use crate::WgpuWrapper; use crate::{ define_atomic_id, render_asset::RenderAssets, @@ -8,7 +9,6 @@ use crate::{ use bevy_derive::{Deref, DerefMut}; use bevy_ecs::system::{SystemParam, SystemParamItem}; pub use bevy_render_macros::AsBindGroup; -use bevy_utils::WgpuWrapper; use core::ops::Deref; use encase::ShaderType; use thiserror::Error; diff --git a/crates/bevy_render/src/render_resource/bind_group_layout.rs b/crates/bevy_render/src/render_resource/bind_group_layout.rs index 2d674f46d1ff8..86f09cde0c11f 100644 --- a/crates/bevy_render/src/render_resource/bind_group_layout.rs +++ b/crates/bevy_render/src/render_resource/bind_group_layout.rs @@ -1,5 +1,5 @@ use crate::define_atomic_id; -use bevy_utils::WgpuWrapper; +use crate::WgpuWrapper; use core::ops::Deref; define_atomic_id!(BindGroupLayoutId); diff --git a/crates/bevy_render/src/render_resource/buffer.rs b/crates/bevy_render/src/render_resource/buffer.rs index b779417bf551d..811930da83667 100644 --- a/crates/bevy_render/src/render_resource/buffer.rs +++ b/crates/bevy_render/src/render_resource/buffer.rs @@ -1,5 +1,5 @@ use crate::define_atomic_id; -use bevy_utils::WgpuWrapper; +use crate::WgpuWrapper; use core::ops::{Bound, Deref, RangeBounds}; define_atomic_id!(BufferId); diff --git a/crates/bevy_render/src/render_resource/pipeline.rs b/crates/bevy_render/src/render_resource/pipeline.rs index e94cf27cd32c8..5f626e13e515a 100644 --- a/crates/bevy_render/src/render_resource/pipeline.rs +++ b/crates/bevy_render/src/render_resource/pipeline.rs @@ -1,12 +1,12 @@ use super::ShaderDefVal; use crate::mesh::VertexBufferLayout; +use crate::WgpuWrapper; use crate::{ define_atomic_id, render_resource::{BindGroupLayout, Shader}, }; use alloc::borrow::Cow; use bevy_asset::Handle; -use bevy_utils::WgpuWrapper; use core::ops::Deref; use wgpu::{ ColorTargetState, DepthStencilState, MultisampleState, PrimitiveState, PushConstantRange, diff --git a/crates/bevy_render/src/render_resource/pipeline_cache.rs b/crates/bevy_render/src/render_resource/pipeline_cache.rs index 328c5e5600edb..bcb8e0dcf3131 100644 --- a/crates/bevy_render/src/render_resource/pipeline_cache.rs +++ b/crates/bevy_render/src/render_resource/pipeline_cache.rs @@ -1,3 +1,4 @@ +use crate::WgpuWrapper; use crate::{ render_resource::*, renderer::{RenderAdapter, RenderDevice}, @@ -13,7 +14,6 @@ use bevy_ecs::{ use bevy_platform::collections::{hash_map::EntryRef, HashMap, HashSet}; use bevy_tasks::Task; use bevy_utils::default; -use bevy_utils::WgpuWrapper; use core::{future::Future, hash::Hash, mem}; use naga::valid::Capabilities; use std::sync::{Mutex, PoisonError}; diff --git a/crates/bevy_render/src/render_resource/texture.rs b/crates/bevy_render/src/render_resource/texture.rs index c96da8a1be5f1..035e1ecca3183 100644 --- a/crates/bevy_render/src/render_resource/texture.rs +++ b/crates/bevy_render/src/render_resource/texture.rs @@ -1,7 +1,7 @@ use crate::define_atomic_id; +use crate::WgpuWrapper; use bevy_derive::{Deref, DerefMut}; use bevy_ecs::resource::Resource; -use bevy_utils::WgpuWrapper; use core::ops::Deref; define_atomic_id!(TextureId); diff --git a/crates/bevy_render/src/renderer/mod.rs b/crates/bevy_render/src/renderer/mod.rs index 52679002faa32..5bcc62188d883 100644 --- a/crates/bevy_render/src/renderer/mod.rs +++ b/crates/bevy_render/src/renderer/mod.rs @@ -1,10 +1,10 @@ mod graph_runner; mod render_device; +use crate::WgpuWrapper; use bevy_derive::{Deref, DerefMut}; #[cfg(not(all(target_arch = "wasm32", target_feature = "atomics")))] use bevy_tasks::ComputeTaskPool; -use bevy_utils::WgpuWrapper; pub use graph_runner::*; pub use render_device::*; use tracing::{debug, error, info, info_span, warn}; diff --git a/crates/bevy_render/src/renderer/render_device.rs b/crates/bevy_render/src/renderer/render_device.rs index b1a20d2acedce..6785ad9c997c7 100644 --- a/crates/bevy_render/src/renderer/render_device.rs +++ b/crates/bevy_render/src/renderer/render_device.rs @@ -3,8 +3,8 @@ use crate::render_resource::{ BindGroup, BindGroupLayout, Buffer, ComputePipeline, RawRenderPipelineDescriptor, RenderPipeline, Sampler, Texture, }; +use crate::WgpuWrapper; use bevy_ecs::resource::Resource; -use bevy_utils::WgpuWrapper; use wgpu::{ util::DeviceExt, BindGroupDescriptor, BindGroupEntry, BindGroupLayoutDescriptor, BindGroupLayoutEntry, BufferAsyncError, BufferBindingType, PollError, PollStatus, diff --git a/crates/bevy_render/src/view/window/mod.rs b/crates/bevy_render/src/view/window/mod.rs index 657106d5a0db9..e682829bf4a07 100644 --- a/crates/bevy_render/src/view/window/mod.rs +++ b/crates/bevy_render/src/view/window/mod.rs @@ -1,3 +1,4 @@ +use crate::WgpuWrapper; use crate::{ render_resource::{SurfaceTexture, TextureView}, renderer::{RenderAdapter, RenderDevice, RenderInstance}, @@ -7,7 +8,6 @@ use bevy_app::{App, Plugin}; use bevy_ecs::{entity::EntityHashMap, prelude::*}; use bevy_platform::collections::HashSet; use bevy_utils::default; -use bevy_utils::WgpuWrapper; use bevy_window::{ CompositeAlphaMode, PresentMode, PrimaryWindow, RawHandleWrapper, Window, WindowClosing, }; diff --git a/crates/bevy_utils/src/wgpu_wrapper.rs b/crates/bevy_render/src/wgpu_wrapper.rs similarity index 100% rename from crates/bevy_utils/src/wgpu_wrapper.rs rename to crates/bevy_render/src/wgpu_wrapper.rs diff --git a/crates/bevy_utils/Cargo.toml b/crates/bevy_utils/Cargo.toml index 447c9966f4d30..eb0d8d05f2b91 100644 --- a/crates/bevy_utils/Cargo.toml +++ b/crates/bevy_utils/Cargo.toml @@ -11,8 +11,6 @@ keywords = ["bevy"] [features] default = ["parallel"] -wgpu_wrapper = ["dep:send_wrapper"] - # Provides access to the `Parallel` type. parallel = ["bevy_platform/std", "dep:thread_local"] @@ -26,9 +24,6 @@ bevy_platform = { path = "../bevy_platform", version = "0.17.0-dev", default-fea disqualified = { version = "1.0", default-features = false } thread_local = { version = "1.0", optional = true } -[target.'cfg(all(target_arch = "wasm32", target_feature = "atomics"))'.dependencies] -send_wrapper = { version = "0.6.0", optional = true } - [dev-dependencies] static_assertions = "1.1.0" diff --git a/crates/bevy_utils/src/lib.rs b/crates/bevy_utils/src/lib.rs index 58979139bbebf..55d3e02f8ec42 100644 --- a/crates/bevy_utils/src/lib.rs +++ b/crates/bevy_utils/src/lib.rs @@ -47,9 +47,6 @@ pub mod prelude { pub use crate::default; } -#[cfg(feature = "wgpu_wrapper")] -mod wgpu_wrapper; - mod debug_info; mod default; mod once; @@ -59,9 +56,6 @@ pub use once::OnceFlag; pub use default::default; -#[cfg(feature = "wgpu_wrapper")] -pub use wgpu_wrapper::WgpuWrapper; - use core::mem::ManuallyDrop; /// A type which calls a function when dropped.