mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Stdlib RwLock in wgpu, update rust-toolchain to some extent.
This commit is contained in:
parent
6adfa6680f
commit
9863670169
@ -24,6 +24,7 @@ tracy-test-server = "run --bin veloren-server-cli --no-default-features --featur
|
|||||||
# voxygen
|
# voxygen
|
||||||
test-voxygen = "run --bin veloren-voxygen --no-default-features --features simd,egui-ui,shaderc-from-source"
|
test-voxygen = "run --bin veloren-voxygen --no-default-features --features simd,egui-ui,shaderc-from-source"
|
||||||
tracy-voxygen = "run --bin veloren-voxygen --no-default-features --features tracy,simd,egui-ui,shaderc-from-source --profile no_overflow"
|
tracy-voxygen = "run --bin veloren-voxygen --no-default-features --features tracy,simd,egui-ui,shaderc-from-source --profile no_overflow"
|
||||||
|
tracy-voxygen-releasedebuginfo = "run --bin veloren-voxygen --no-default-features --features tracy,simd,egui-ui,shaderc-from-source,singleplayer --profile releasedebuginfo"
|
||||||
dbg-voxygen = "run --bin veloren-voxygen --profile debuginfo"
|
dbg-voxygen = "run --bin veloren-voxygen --profile debuginfo"
|
||||||
# misc
|
# misc
|
||||||
swarm = "run --bin swarm --features client/bin_bot,client/tick_network --"
|
swarm = "run --bin swarm --features client/bin_bot,client/tick_network --"
|
||||||
|
10
Cargo.lock
generated
10
Cargo.lock
generated
@ -4054,9 +4054,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "packed_simd_2"
|
name = "packed_simd_2"
|
||||||
version = "0.3.7"
|
version = "0.3.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "defdcfef86dcc44ad208f71d9ff4ce28df6537a4e0d6b0e8e845cb8ca10059a6"
|
checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"libm 0.1.4",
|
"libm 0.1.4",
|
||||||
@ -7566,7 +7566,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "wgpu"
|
name = "wgpu"
|
||||||
version = "0.8.0"
|
version = "0.8.0"
|
||||||
source = "git+https://github.com/gfx-rs/wgpu.git?rev=a92b8549a8e2cb9dac781bafc5ed32828f3caf46#a92b8549a8e2cb9dac781bafc5ed32828f3caf46"
|
source = "git+https://github.com/pythonesque/wgpu.git?rev=b30d573c9aca0787f4ff7aba8bb0db7f823b7064#b30d573c9aca0787f4ff7aba8bb0db7f823b7064"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayvec 0.5.2",
|
"arrayvec 0.5.2",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
@ -7586,7 +7586,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "wgpu-core"
|
name = "wgpu-core"
|
||||||
version = "0.8.0"
|
version = "0.8.0"
|
||||||
source = "git+https://github.com/gfx-rs/wgpu.git?rev=a92b8549a8e2cb9dac781bafc5ed32828f3caf46#a92b8549a8e2cb9dac781bafc5ed32828f3caf46"
|
source = "git+https://github.com/pythonesque/wgpu.git?rev=b30d573c9aca0787f4ff7aba8bb0db7f823b7064#b30d573c9aca0787f4ff7aba8bb0db7f823b7064"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayvec 0.5.2",
|
"arrayvec 0.5.2",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
@ -7626,7 +7626,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "wgpu-types"
|
name = "wgpu-types"
|
||||||
version = "0.8.0"
|
version = "0.8.0"
|
||||||
source = "git+https://github.com/gfx-rs/wgpu.git?rev=a92b8549a8e2cb9dac781bafc5ed32828f3caf46#a92b8549a8e2cb9dac781bafc5ed32828f3caf46"
|
source = "git+https://github.com/pythonesque/wgpu.git?rev=b30d573c9aca0787f4ff7aba8bb0db7f823b7064#b30d573c9aca0787f4ff7aba8bb0db7f823b7064"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -122,7 +122,8 @@ nativeBuildInputs = ["pkg-config"]
|
|||||||
[patch.crates-io]
|
[patch.crates-io]
|
||||||
vek = { git = "https://github.com/yoanlcq/vek.git", rev = "84d5cb65841d46599a986c5477341bea4456be26" }
|
vek = { git = "https://github.com/yoanlcq/vek.git", rev = "84d5cb65841d46599a986c5477341bea4456be26" }
|
||||||
# patch wgpu so we can use wgpu-profiler crate
|
# patch wgpu so we can use wgpu-profiler crate
|
||||||
wgpu = { git = "https://github.com/gfx-rs/wgpu.git", rev = "a92b8549a8e2cb9dac781bafc5ed32828f3caf46" }
|
# wgpu = { git = "https://github.com/gfx-rs/wgpu.git", rev = "a92b8549a8e2cb9dac781bafc5ed32828f3caf46" }
|
||||||
|
wgpu = { git = "https://github.com/pythonesque/wgpu.git", rev = "b30d573c9aca0787f4ff7aba8bb0db7f823b7064" }
|
||||||
|
|
||||||
# # use the latest fixes in naga (remove when updates trickle down to wgpu-rs)
|
# # use the latest fixes in naga (remove when updates trickle down to wgpu-rs)
|
||||||
# naga = { git = "https://github.com/gfx-rs/naga.git", rev = "3a0f0144112ff621dd7f731bf455adf6cab19164" }
|
# naga = { git = "https://github.com/gfx-rs/naga.git", rev = "3a0f0144112ff621dd7f731bf455adf6cab19164" }
|
||||||
|
@ -108,15 +108,16 @@ impl State {
|
|||||||
GameMode::Singleplayer => "sp",
|
GameMode::Singleplayer => "sp",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let num_cpu = num_cpus::get();
|
||||||
let thread_pool = Arc::new(
|
let thread_pool = Arc::new(
|
||||||
ThreadPoolBuilder::new()
|
ThreadPoolBuilder::new()
|
||||||
.num_threads(num_cpus::get().max(common::consts::MIN_RECOMMENDED_RAYON_THREADS))
|
.num_threads(num_cpu.max(common::consts::MIN_RECOMMENDED_RAYON_THREADS))
|
||||||
.thread_name(move |i| format!("rayon-{}-{}", thread_name_infix, i))
|
.thread_name(move |i| format!("rayon-{}-{}", thread_name_infix, i))
|
||||||
.build()
|
.build()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
);
|
);
|
||||||
Self {
|
Self {
|
||||||
ecs: Self::setup_ecs_world(game_mode, &thread_pool),
|
ecs: Self::setup_ecs_world(game_mode, num_cpu as u64, &thread_pool),
|
||||||
thread_pool,
|
thread_pool,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -124,7 +125,7 @@ impl State {
|
|||||||
/// Creates ecs world and registers all the common components and resources
|
/// Creates ecs world and registers all the common components and resources
|
||||||
// TODO: Split up registering into server and client (e.g. move
|
// TODO: Split up registering into server and client (e.g. move
|
||||||
// EventBus<ServerEvent> to the server)
|
// EventBus<ServerEvent> to the server)
|
||||||
fn setup_ecs_world(game_mode: GameMode, thread_pool: &Arc<ThreadPool>) -> specs::World {
|
fn setup_ecs_world(game_mode: GameMode, num_cpu: u64, thread_pool: &Arc<ThreadPool>) -> specs::World {
|
||||||
let mut ecs = specs::World::new();
|
let mut ecs = specs::World::new();
|
||||||
// Uids for sync
|
// Uids for sync
|
||||||
ecs.register_sync_marker();
|
ecs.register_sync_marker();
|
||||||
@ -223,7 +224,6 @@ impl State {
|
|||||||
ecs.insert(common::CachedSpatialGrid::default());
|
ecs.insert(common::CachedSpatialGrid::default());
|
||||||
ecs.insert(EntitiesDiedLastTick::default());
|
ecs.insert(EntitiesDiedLastTick::default());
|
||||||
|
|
||||||
let num_cpu = num_cpus::get() as u64;
|
|
||||||
let slow_limit = (num_cpu / 2 + num_cpu / 4).max(1);
|
let slow_limit = (num_cpu / 2 + num_cpu / 4).max(1);
|
||||||
tracing::trace!(?slow_limit, "Slow Thread limit");
|
tracing::trace!(?slow_limit, "Slow Thread limit");
|
||||||
ecs.insert(SlowJobPool::new(
|
ecs.insert(SlowJobPool::new(
|
||||||
|
@ -1 +1 @@
|
|||||||
nightly-2022-04-25
|
nightly-2022-08-18
|
||||||
|
@ -36,7 +36,7 @@ pub const MAX_LIGHT_DIST: i32 = SUNLIGHT as i32;
|
|||||||
/// Working around lack of existential types.
|
/// Working around lack of existential types.
|
||||||
///
|
///
|
||||||
/// See [https://github.com/rust-lang/rust/issues/42940]
|
/// See [https://github.com/rust-lang/rust/issues/42940]
|
||||||
type CalcLightFn<V, I> = impl Fn(Vec3<i32>) -> f32 + 'static + Send + Sync;
|
// type CalcLightFn/*<V, I>*/ = impl Fn(Vec3<i32>) -> f32 + 'static + Send + Sync;
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
/* #[allow(unsafe_code)] */
|
/* #[allow(unsafe_code)] */
|
||||||
@ -83,7 +83,7 @@ fn calc_light<'a,
|
|||||||
lit_blocks: I,
|
lit_blocks: I,
|
||||||
flat: &'a Vec<Block>,
|
flat: &'a Vec<Block>,
|
||||||
(w, h, d): (i32, i32, i32)
|
(w, h, d): (i32, i32, i32)
|
||||||
) -> CalcLightFn<V, I> {
|
) -> impl Fn(Vec3<i32>) -> f32 + 'static + Send + Sync/*CalcLightFn*//*<V, I>*/ {
|
||||||
span!(_guard, "calc_light");
|
span!(_guard, "calc_light");
|
||||||
const UNKNOWN: u8 = 255;
|
const UNKNOWN: u8 = 255;
|
||||||
const OPAQUE: u8 = 254;
|
const OPAQUE: u8 = 254;
|
||||||
|
@ -633,7 +633,7 @@ impl SpriteRenderContext {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let init = core::lazy::OnceCell::new();
|
let init = core::cell::OnceCell::new();
|
||||||
let mut join_handle = Some(join_handle);
|
let mut join_handle = Some(join_handle);
|
||||||
let mut closure = move |renderer: &mut Renderer| {
|
let mut closure = move |renderer: &mut Renderer| {
|
||||||
// The second unwrap can only fail if the sprite meshing thread panics, which
|
// The second unwrap can only fail if the sprite meshing thread panics, which
|
||||||
|
@ -39,7 +39,7 @@ tracing = { version = "0.1", default-features = false }
|
|||||||
rand = "0.8"
|
rand = "0.8"
|
||||||
rand_chacha = "0.3"
|
rand_chacha = "0.3"
|
||||||
arr_macro = "0.1.2"
|
arr_macro = "0.1.2"
|
||||||
packed_simd = { package = "packed_simd_2", version = "0.3.5", optional = true }
|
packed_simd = { package = "packed_simd_2", version = "0.3.8", optional = true }
|
||||||
rayon = "1.5"
|
rayon = "1.5"
|
||||||
serde = { version = "1.0.110", features = ["derive"] }
|
serde = { version = "1.0.110", features = ["derive"] }
|
||||||
ron = { version = "0.7", default-features = false }
|
ron = { version = "0.7", default-features = false }
|
||||||
|
@ -18,7 +18,7 @@ use noise::NoiseFn;
|
|||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use std::{
|
use std::{
|
||||||
ops::{Add, Div, Mul, Sub},
|
ops::{Add, Div, Mul, Sub},
|
||||||
simd::StdFloat,
|
simd::{SimdInt, SimdFloat, StdFloat},
|
||||||
};
|
};
|
||||||
use tracing::error;
|
use tracing::error;
|
||||||
use vek::*;
|
use vek::*;
|
||||||
@ -318,7 +318,7 @@ impl<Sampler> SplineGen2D<Sampler> {
|
|||||||
let secant = |b, c| c - b;
|
let secant = |b, c| c - b;
|
||||||
let parabola = |a, c| (c - a) * half;
|
let parabola = |a, c| (c - a) * half;
|
||||||
let slope = |s_a: Simd<f32, 4>, s_b: Simd<f32, 4>, p_b: Simd<f32, 4>| {
|
let slope = |s_a: Simd<f32, 4>, s_b: Simd<f32, 4>, p_b: Simd<f32, 4>| {
|
||||||
(s_a.signum() + s_b.signum()) * (s_a.abs().min(s_b.abs()).min(p_b.abs() * half))
|
(s_a.signum() + s_b.signum()) * (s_a.abs().simd_min(s_b.abs()).simd_min(p_b.abs() * half))
|
||||||
};
|
};
|
||||||
|
|
||||||
// Compute secants.
|
// Compute secants.
|
||||||
|
@ -23,7 +23,7 @@ use num::cast::AsPrimitive;
|
|||||||
use std::{
|
use std::{
|
||||||
cell::RefCell,
|
cell::RefCell,
|
||||||
hash::BuildHasherDefault,
|
hash::BuildHasherDefault,
|
||||||
simd::StdFloat,
|
simd::{SimdInt, StdFloat},
|
||||||
};
|
};
|
||||||
use vek::*;
|
use vek::*;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user