summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-27 15:01:56 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-27 15:01:56 +0100
commit6b5c44d58e6c6d3df360396a0897290fc603699b (patch)
treea79bc0c1db9dd077f9df962b9c5eeae0f96b6aef /client
parent3cc7df2954a6f1d69922ba1a4c0129db73a09327 (diff)
downloadweareserver-6b5c44d58e6c6d3df360396a0897290fc603699b.tar
weareserver-6b5c44d58e6c6d3df360396a0897290fc603699b.tar.bz2
weareserver-6b5c44d58e6c6d3df360396a0897290fc603699b.tar.zst
switch to wgpu fork to get rid of deadlocks
Diffstat (limited to 'client')
-rw-r--r--client/Cargo.toml3
-rw-r--r--client/src/render/mod.rs2
-rw-r--r--client/src/render/scene/textures.rs1
-rw-r--r--client/src/render/scene/vertex_buffers.rs7
4 files changed, 9 insertions, 4 deletions
diff --git a/client/Cargo.toml b/client/Cargo.toml
index 4a22bf6..d00335c 100644
--- a/client/Cargo.toml
+++ b/client/Cargo.toml
@@ -11,7 +11,8 @@ cpal = "0.15.3"
env_logger = "0.11.6"
log = "0.4.22"
pollster = "0.4.0"
-wgpu = "23.0.1"
+# wgpu = "23.0.1" # Switch back when deadlock fix is upstream
+wgpu = { git = "https://github.com/metamuffin/wgpu", rev = "a9189e0" }
winit = "0.30.8"
weareshared = { path = "../shared" }
rand = "0.9.0-beta.1"
diff --git a/client/src/render/mod.rs b/client/src/render/mod.rs
index 19f717a..a318d08 100644
--- a/client/src/render/mod.rs
+++ b/client/src/render/mod.rs
@@ -70,7 +70,7 @@ pub struct GraphicsConfig {
impl<'a> Renderer<'a> {
pub fn new(window: &'a Window, downloader: Arc<Downloader>) -> Result<Self> {
info!("wgpu init");
- let instance = Instance::new(InstanceDescriptor {
+ let instance = Instance::new(&InstanceDescriptor {
backends: Backends::all(),
..Default::default()
});
diff --git a/client/src/render/scene/textures.rs b/client/src/render/scene/textures.rs
index 2da84be..4f2b01c 100644
--- a/client/src/render/scene/textures.rs
+++ b/client/src/render/scene/textures.rs
@@ -217,6 +217,7 @@ fn create_texture(
mip_level_count: Some(1),
base_array_layer: 0,
array_layer_count: None,
+ usage: None,
})
})
.collect::<Vec<_>>();
diff --git a/client/src/render/scene/vertex_buffers.rs b/client/src/render/scene/vertex_buffers.rs
index 0c34746..28b0219 100644
--- a/client/src/render/scene/vertex_buffers.rs
+++ b/client/src/render/scene/vertex_buffers.rs
@@ -14,7 +14,10 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-use super::{meshops::{generate_normals, generate_tangents, generate_texcoords}, ScenePreparer};
+use super::{
+ ScenePreparer,
+ meshops::{generate_normals, generate_tangents, generate_texcoords},
+};
use anyhow::Result;
use log::debug;
use std::{sync::Arc, time::Instant};
@@ -132,7 +135,7 @@ impl ScenePreparer {
);
}
}
-
+
Ok(())
}
}