wgpu: Update to wgpu 630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac

This commit is contained in:
Nathan Adams 2023-01-05 05:59:20 +01:00
parent e2b9f6c1c4
commit 69e98d23ad
5 changed files with 84 additions and 53 deletions

105
Cargo.lock generated
View File

@ -8,6 +8,15 @@ version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
[[package]]
name = "addr2line"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
dependencies = [
"gimli",
]
[[package]]
name = "adler"
version = "1.0.2"
@ -182,6 +191,21 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "backtrace"
version = "0.3.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
dependencies = [
"addr2line",
"cc",
"cfg-if 1.0.0",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
]
[[package]]
name = "base-x"
version = "0.2.11"
@ -247,16 +271,6 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags_serde_shim"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25c3d626f0280ec39b33a6fc5c6c1067432b4c41e94aee40ded197a6649bf025"
dependencies = [
"bitflags",
"serde",
]
[[package]]
name = "bitstream-io"
version = "1.6.0"
@ -434,12 +448,6 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cfg_aliases"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
[[package]]
name = "chrono"
version = "0.4.23"
@ -1770,6 +1778,12 @@ dependencies = [
"weezl",
]
[[package]]
name = "gimli"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793"
[[package]]
name = "gio-sys"
version = "0.15.10"
@ -1802,8 +1816,7 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
[[package]]
name = "glow"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8bd5877156a19b8ac83a29b2306fe20537429d318f3ff0a1a2119f8d9c61919"
source = "git+https://github.com/grovesNL/glow?rev=c8a011fcd57a5c68cc917ed394baa484bdefc909#c8a011fcd57a5c68cc917ed394baa484bdefc909"
dependencies = [
"js-sys",
"slotmap",
@ -1841,6 +1854,19 @@ dependencies = [
"bitflags",
]
[[package]]
name = "gpu-allocator"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "434618454f74b63f9b39328298097256977c41ea0ba9d75a47238b77790b6163"
dependencies = [
"backtrace",
"log",
"thiserror",
"winapi",
"windows 0.43.0",
]
[[package]]
name = "gpu-descriptor"
version = "0.2.3"
@ -2511,8 +2537,7 @@ dependencies = [
[[package]]
name = "naga"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "262d2840e72dbe250e8cf2f522d080988dfca624c4112c096238a4845f591707"
source = "git+https://github.com/gfx-rs/naga?rev=e7fc8e6#e7fc8e64f2f23397b149217ecce6e123c5aa5092"
dependencies = [
"bit-set",
"bitflags",
@ -2870,6 +2895,15 @@ dependencies = [
"objc",
]
[[package]]
name = "object"
version = "0.30.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d864c91689fdc196779b98dba0aceac6118594c2df6ee5d943eb6a8df4d107a"
dependencies = [
"memchr",
]
[[package]]
name = "oboe"
version = "0.4.6"
@ -3635,6 +3669,12 @@ dependencies = [
"static_assertions",
]
[[package]]
name = "rustc-demangle"
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
[[package]]
name = "rustc-hash"
version = "1.1.0"
@ -4782,11 +4822,11 @@ dependencies = [
[[package]]
name = "wgpu"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81f643110d228fd62a60c5ed2ab56c4d5b3704520bd50561174ec4ec74932937"
version = "0.14.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac#630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac"
dependencies = [
"arrayvec 0.7.2",
"cfg-if 1.0.0",
"js-sys",
"log",
"naga",
@ -4805,14 +4845,12 @@ dependencies = [
[[package]]
name = "wgpu-core"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6000d1284ef8eec6076fd5544a73125fd7eb9b635f18dceeb829d826f41724ca"
version = "0.14.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac#630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac"
dependencies = [
"arrayvec 0.7.2",
"bit-vec",
"bitflags",
"cfg_aliases",
"codespan-reporting",
"fxhash",
"log",
@ -4831,9 +4869,8 @@ dependencies = [
[[package]]
name = "wgpu-hal"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cc320a61acb26be4f549c9b1b53405c10a223fbfea363ec39474c32c348d12f"
version = "0.14.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac#630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac"
dependencies = [
"android_system_properties",
"arrayvec 0.7.2",
@ -4847,9 +4884,11 @@ dependencies = [
"fxhash",
"glow",
"gpu-alloc",
"gpu-allocator",
"gpu-descriptor",
"js-sys",
"khronos-egl",
"libc",
"libloading",
"log",
"metal",
@ -4870,12 +4909,10 @@ dependencies = [
[[package]]
name = "wgpu-types"
version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb6b28ef22cac17b9109b25b3bf8c9a103eeb293d7c5f78653979b09140375f6"
version = "0.14.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac#630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac"
dependencies = [
"bitflags",
"bitflags_serde_shim",
"serde",
]

View File

@ -9,10 +9,10 @@ version.workspace = true
[dependencies]
bitflags = "1.3.2"
naga = { version = "0.10.0" }
naga = { git = "https://github.com/gfx-rs/naga", rev = "e7fc8e6" }
num-derive = "0.3.3"
num-traits = "0.2.15"
[dev-dependencies]
insta = "1.23.0"
naga = { version = "0.10.0", features = ["wgsl-out", "validate"] }
naga = { git = "https://github.com/gfx-rs/naga", rev = "e7fc8e6", features = ["wgsl-out", "validate"] }

View File

@ -8,7 +8,7 @@ repository.workspace = true
version.workspace = true
[dependencies]
wgpu = { version = "0.14.2", features = ["naga"] }
wgpu = { git = "https://github.com/gfx-rs/wgpu", rev = "630c12fe47a7bc0dc9ec6217f3903ec6fd6e3fac", features = ["naga"] }
log = "0.4"
ruffle_render = { path = "..", features = ["tessellator"] }
bytemuck = { version = "1.12.3", features = ["derive"] }

View File

@ -10,7 +10,6 @@ use crate::{
Error, RenderTarget, SwapChainTarget, Texture, TextureOffscreen, Transforms,
};
use gc_arena::MutationContext;
use raw_window_handle::{HasRawDisplayHandle, HasRawWindowHandle};
use ruffle_render::backend::{Context3D, Context3DCommand};
use ruffle_render::backend::{RenderBackend, ShapeHandle, ViewportDimensions};
use ruffle_render::bitmap::{Bitmap, BitmapHandle, BitmapSource};
@ -63,7 +62,9 @@ impl WgpuRenderBackend<SwapChainTarget> {
}
#[cfg(not(target_family = "wasm"))]
pub fn for_window<W: HasRawWindowHandle + HasRawDisplayHandle>(
pub fn for_window<
W: raw_window_handle::HasRawWindowHandle + raw_window_handle::HasRawDisplayHandle,
>(
window: &W,
size: (u32, u32),
backend: wgpu::Backends,
@ -77,7 +78,7 @@ impl WgpuRenderBackend<SwapChainTarget> {
);
}
let instance = wgpu::Instance::new(backend);
let surface = unsafe { instance.create_surface(window) };
let surface = unsafe { instance.create_surface(window) }?;
let descriptors = futures::executor::block_on(Self::build_descriptors(
backend,
instance,
@ -624,20 +625,12 @@ async fn request_device(
limits.max_storage_buffers_per_shader_stage =
adapter.limits().max_storage_buffers_per_shader_stage;
limits.max_storage_buffer_binding_size = adapter.limits().max_storage_buffer_binding_size;
let mut features = wgpu::Features::DEPTH24PLUS_STENCIL8;
if adapter
.features()
.contains(wgpu::Features::VERTEX_WRITABLE_STORAGE)
{
features |= wgpu::Features::VERTEX_WRITABLE_STORAGE;
}
adapter
.request_device(
&wgpu::DeviceDescriptor {
label: None,
features,
features: Default::default(),
limits,
},
trace_path,

View File

@ -65,8 +65,9 @@ impl SwapChainTarget {
// blending are done in sRGB space -- we don't want the GPU to adjust the colors.
// Some platforms may only support an sRGB surface, in which case we will draw to an
// intermediate linear buffer and then copy to the sRGB surface.
let formats = surface.get_supported_formats(adapter);
let format = formats
let capabilities = surface.get_capabilities(adapter);
let format = capabilities
.formats
.iter()
.find(|format| {
matches!(
@ -74,7 +75,7 @@ impl SwapChainTarget {
wgpu::TextureFormat::Rgba8Unorm | wgpu::TextureFormat::Bgra8Unorm
)
})
.or_else(|| formats.first())
.or_else(|| capabilities.formats.first())
.copied()
// No surface (rendering to texture), default to linear RBGA.
.unwrap_or(wgpu::TextureFormat::Rgba8Unorm);
@ -85,7 +86,7 @@ impl SwapChainTarget {
width,
height,
present_mode: wgpu::PresentMode::Fifo,
alpha_mode: surface.get_supported_alpha_modes(adapter)[0],
alpha_mode: capabilities.alpha_modes[0],
};
surface.configure(device, &surface_config);
Self {