diff --git a/Cargo.lock b/Cargo.lock index b0d0b06d5b..5dd7905124 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1914,8 +1914,8 @@ dependencies = [ [[package]] name = "gfx-auxil" -version = "0.8.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.5.0" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "fxhash", "gfx-hal", @@ -1924,8 +1924,8 @@ dependencies = [ [[package]] name = "gfx-backend-dx11" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "arrayvec", "bitflags", @@ -1945,8 +1945,8 @@ dependencies = [ [[package]] name = "gfx-backend-dx12" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.6.2" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "arrayvec", "bit-set", @@ -1965,8 +1965,8 @@ dependencies = [ [[package]] name = "gfx-backend-empty" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "gfx-hal", "log", @@ -1975,8 +1975,8 @@ dependencies = [ [[package]] name = "gfx-backend-gl" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "arrayvec", "bitflags", @@ -1990,6 +1990,7 @@ dependencies = [ "naga", "parking_lot 0.11.1", "raw-window-handle", + "smallvec", "spirv_cross", "wasm-bindgen", "web-sys", @@ -1997,8 +1998,8 @@ dependencies = [ [[package]] name = "gfx-backend-metal" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "arrayvec", "bitflags", @@ -2008,6 +2009,7 @@ dependencies = [ "foreign-types", "gfx-auxil", "gfx-hal", + "lazy_static", "log", "metal", "naga", @@ -2021,8 +2023,8 @@ dependencies = [ [[package]] name = "gfx-backend-vulkan" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.6.5" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "arrayvec", "ash", @@ -2030,10 +2032,10 @@ dependencies = [ "core-graphics-types", "gfx-hal", "inplace_it", + "lazy_static", "log", "naga", "objc", - "parking_lot 0.11.1", "raw-window-handle", "smallvec", "winapi 0.3.9", @@ -2041,8 +2043,8 @@ dependencies = [ [[package]] name = "gfx-hal" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" dependencies = [ "bitflags", "naga", @@ -2134,9 +2136,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "glow" -version = "0.7.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "072136d2c3783f3a92f131acb227bc806d3886278e2a4dc1e9990ec89ef9e70b" +checksum = "1625b792e2f9267116dd41eb7d325e0ea2572ceba5069451906745e04f852f33" dependencies = [ "js-sys", "slotmap 0.4.0", @@ -2185,29 +2187,25 @@ dependencies = [ [[package]] name = "gpu-alloc" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7724b9aef57ea36d70faf54e0ee6265f86e41de16bed8333efdeab5b00e16b" +version = "0.2.1" +source = "git+https://github.com/zakarumych/gpu-alloc?rev=d07be73f9439a37c89f5b72f2500cbf0eb4ff613#d07be73f9439a37c89f5b72f2500cbf0eb4ff613" dependencies = [ "bitflags", "gpu-alloc-types", - "tracing", ] [[package]] name = "gpu-alloc-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" +version = "0.1.0" +source = "git+https://github.com/zakarumych/gpu-alloc?rev=d07be73f9439a37c89f5b72f2500cbf0eb4ff613#d07be73f9439a37c89f5b72f2500cbf0eb4ff613" dependencies = [ "bitflags", ] [[package]] name = "gpu-descriptor" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a70f1e87a3840ed6a3e99e02c2b861e4dbdf26f0d07e38f42ea5aff46cfce2" +version = "0.1.0" +source = "git+https://github.com/zakarumych/gpu-descriptor?rev=df74fd8c7bea03149058a41aab0e4fe04077b266#df74fd8c7bea03149058a41aab0e4fe04077b266" dependencies = [ "bitflags", "gpu-descriptor-types", @@ -2217,9 +2215,8 @@ dependencies = [ [[package]] name = "gpu-descriptor-types" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" +version = "0.1.0" +source = "git+https://github.com/zakarumych/gpu-descriptor?rev=df74fd8c7bea03149058a41aab0e4fe04077b266#df74fd8c7bea03149058a41aab0e4fe04077b266" dependencies = [ "bitflags", ] @@ -2722,9 +2719,8 @@ dependencies = [ [[package]] name = "khronos-egl" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bbf838a38f77712f76b4e8e007bba169a28a7cc7de2cbc4565f318467d74baa" +version = "3.0.0-beta" +source = "git+https://github.com/timothee-haudebourg/khronos-egl?rev=9568b2ee3b02f2c17cc9479f824db16daecf1664#9568b2ee3b02f2c17cc9479f824db16daecf1664" dependencies = [ "libc", "libloading 0.6.7", @@ -3014,8 +3010,9 @@ dependencies = [ [[package]] name = "metal" -version = "0.21.0" -source = "git+https://github.com/gfx-rs/metal-rs?rev=439c986eb7a9b91e88b61def2daa66e4043fcbef#439c986eb7a9b91e88b61def2daa66e4043fcbef" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c4e8a431536529327e28c9ba6992f2cb0c15d4222f0602a16e6d7695ff3bccf" dependencies = [ "bitflags", "block", @@ -3180,10 +3177,9 @@ checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" [[package]] name = "naga" -version = "0.3.1" -source = "git+https://github.com/gfx-rs/naga?tag=gfx-9#c12003f5648fcade5f20c01debc4cb12bd47073e" +version = "0.2.0" +source = "git+https://github.com/gfx-rs/naga?tag=gfx-5#583f218c9dbca08daa6bf3efda60e80ecada63bb" dependencies = [ - "bit-set", "bitflags", "fxhash", "log", @@ -4199,8 +4195,8 @@ dependencies = [ [[package]] name = "range-alloc" -version = "0.1.2" -source = "git+https://github.com/gfx-rs/gfx?rev=d54cdcfac68711a91b55682c56da09f8e5b6f4e7#d54cdcfac68711a91b55682c56da09f8e5b6f4e7" +version = "0.1.1" +source = "git+https://github.com/gfx-rs/gfx?rev=0244e3401e9f127617cb8636397048584e7bfe8a#0244e3401e9f127617cb8636397048584e7bfe8a" [[package]] name = "raw-window-handle" @@ -4906,9 +4902,9 @@ dependencies = [ [[package]] name = "spirv_cross" -version = "0.23.0" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06db6bd7b6518f761593783e2896eefe55e90455efc5f44511078ce0426ed418" +checksum = "0ebd49af36be83ecd6290b57147e2a0e26145b832634b17146d934b197ca3713" dependencies = [ "cc", "js-sys", @@ -5539,6 +5535,12 @@ dependencies = [ "nom 5.1.2", ] +[[package]] +name = "typed-arena" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0685c84d5d54d1c26f7d3eb96cd41550adb97baed141a761cf335d3d33bcd0ae" + [[package]] name = "typenum" version = "1.12.0" @@ -6582,16 +6584,16 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.7.0" -source = "git+https://github.com/Imberflur/wgpu-rs.git#fadb730a013b760c4fbf0381389fa56dffa36079" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/wgpu-rs.git?rev=ab8b0e3766558d541206da2790dfd63f15b13bc4#ab8b0e3766558d541206da2790dfd63f15b13bc4" dependencies = [ "arrayvec", "js-sys", - "naga", "parking_lot 0.11.1", "raw-window-handle", "smallvec", "tracing", + "typed-arena", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -6601,8 +6603,8 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=3ebe198911b46cb77fcdc481f7d0daf9a962b82e#3ebe198911b46cb77fcdc481f7d0daf9a962b82e" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=4ebe1f50b057046e4d4f015eb006330d62f5fe91#4ebe1f50b057046e4d4f015eb006330d62f5fe91" dependencies = [ "arrayvec", "bitflags", @@ -6629,8 +6631,8 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.7.0" -source = "git+https://github.com/gfx-rs/wgpu?rev=3ebe198911b46cb77fcdc481f7d0daf9a962b82e#3ebe198911b46cb77fcdc481f7d0daf9a962b82e" +version = "0.6.0" +source = "git+https://github.com/gfx-rs/wgpu?rev=4ebe1f50b057046e4d4f015eb006330d62f5fe91#4ebe1f50b057046e4d4f015eb006330d62f5fe91" dependencies = [ "bitflags", ] @@ -6883,23 +6885,3 @@ name = "xml-rs" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a" - -[[patch.unused]] -name = "js-sys" -version = "0.3.45" -source = "git+https://github.com/rustwasm/wasm-bindgen?rev=316c5a70fdc4a052fb65ef82bf02d52107b5671b#316c5a70fdc4a052fb65ef82bf02d52107b5671b" - -[[patch.unused]] -name = "wasm-bindgen" -version = "0.2.68" -source = "git+https://github.com/rustwasm/wasm-bindgen?rev=316c5a70fdc4a052fb65ef82bf02d52107b5671b#316c5a70fdc4a052fb65ef82bf02d52107b5671b" - -[[patch.unused]] -name = "wasm-bindgen-futures" -version = "0.4.18" -source = "git+https://github.com/rustwasm/wasm-bindgen?rev=316c5a70fdc4a052fb65ef82bf02d52107b5671b#316c5a70fdc4a052fb65ef82bf02d52107b5671b" - -[[patch.unused]] -name = "web-sys" -version = "0.3.45" -source = "git+https://github.com/rustwasm/wasm-bindgen?rev=316c5a70fdc4a052fb65ef82bf02d52107b5671b#316c5a70fdc4a052fb65ef82bf02d52107b5671b" diff --git a/Cargo.toml b/Cargo.toml index 93fb7d5de0..7e04c3b76e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -84,9 +84,4 @@ debug = 1 [patch.crates-io] # macos CI fix isn't merged yet winit = { git = "https://gitlab.com/veloren/winit.git", branch = "macos-test-spiffed" } -vek = { git = "https://gitlab.com/veloren/vek.git", branch = "fix_intrinsics" } -# see https://github.com/rustwasm/wasm-bindgen/issues/2371 -wasm-bindgen = { git = "https://github.com/rustwasm/wasm-bindgen", rev = "316c5a70fdc4a052fb65ef82bf02d52107b5671b" } -wasm-bindgen-futures = { git = "https://github.com/rustwasm/wasm-bindgen", rev = "316c5a70fdc4a052fb65ef82bf02d52107b5671b" } -web-sys = { git = "https://github.com/rustwasm/wasm-bindgen", rev = "316c5a70fdc4a052fb65ef82bf02d52107b5671b" } -js-sys = { git = "https://github.com/rustwasm/wasm-bindgen", rev = "316c5a70fdc4a052fb65ef82bf02d52107b5671b" } +vek = { git = "https://gitlab.com/veloren/vek.git", branch = "fix_intrinsics" } \ No newline at end of file diff --git a/voxygen/Cargo.toml b/voxygen/Cargo.toml index 27bd58864b..2dcaf9b7c0 100644 --- a/voxygen/Cargo.toml +++ b/voxygen/Cargo.toml @@ -27,7 +27,7 @@ anim = {package = "veloren-voxygen-anim", path = "anim", default-features = fals # Graphics winit = {version = "0.24.0", features = ["serde"]} -wgpu = { git="https://github.com/Imberflur/wgpu-rs.git" } +wgpu = { git="https://github.com/gfx-rs/wgpu-rs.git", rev = "ab8b0e3766558d541206da2790dfd63f15b13bc4" } bytemuck = { version="1.4", features=["derive"] } shaderc = "0.6.2" diff --git a/voxygen/src/render/pipelines/clouds.rs b/voxygen/src/render/pipelines/clouds.rs index 62e82f9023..19905731d3 100644 --- a/voxygen/src/render/pipelines/clouds.rs +++ b/voxygen/src/render/pipelines/clouds.rs @@ -82,9 +82,9 @@ impl CloudsLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -92,17 +92,16 @@ impl CloudsLayout { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { filtering: true, comparison: false }, count: None, }, // Depth source wgpu::BindGroupLayoutEntry { binding: 2, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - // TODO: is this float? - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -110,15 +109,16 @@ impl CloudsLayout { wgpu::BindGroupLayoutEntry { binding: 3, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { filtering: true, comparison: false }, count: None, }, // Locals wgpu::BindGroupLayoutEntry { binding: 4, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -226,7 +226,7 @@ impl CloudsPipeline { }], depth_stencil_state: None, vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[/*Vertex::desc()*/], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/figure.rs b/voxygen/src/render/pipelines/figure.rs index 2f20ea4271..9319e8162f 100644 --- a/voxygen/src/render/pipelines/figure.rs +++ b/voxygen/src/render/pipelines/figure.rs @@ -69,22 +69,6 @@ impl BoneData { normals_mat: normals_mat.into_col_arrays(), } } - - // TODO: delete? the one below is being used - fn layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { - device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor { - label: None, - entries: &[wgpu::BindGroupLayoutEntry { - binding: 0, - visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, - min_binding_size: None, - }, - count: None, - }], - }) - } } impl Default for BoneData { @@ -125,8 +109,9 @@ impl FigureLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -135,8 +120,9 @@ impl FigureLayout { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -145,9 +131,9 @@ impl FigureLayout { wgpu::BindGroupLayoutEntry { binding: 2, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -155,7 +141,7 @@ impl FigureLayout { wgpu::BindGroupLayoutEntry { binding: 3, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { filtering: true, comparison: false }, count: None, }, ], @@ -241,7 +227,7 @@ impl FigurePipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/fluid.rs b/voxygen/src/render/pipelines/fluid.rs index f81d0720e1..e5d2df4376 100644 --- a/voxygen/src/render/pipelines/fluid.rs +++ b/voxygen/src/render/pipelines/fluid.rs @@ -56,9 +56,9 @@ impl FluidLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -66,7 +66,7 @@ impl FluidLayout { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { filtering: true, comparison: false }, count: None, }, ], @@ -157,7 +157,7 @@ impl FluidPipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/lod_terrain.rs b/voxygen/src/render/pipelines/lod_terrain.rs index d3abbb0f07..ec67317049 100644 --- a/voxygen/src/render/pipelines/lod_terrain.rs +++ b/voxygen/src/render/pipelines/lod_terrain.rs @@ -225,7 +225,7 @@ impl LodTerrainPipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/mod.rs b/voxygen/src/render/pipelines/mod.rs index ffa08b4eb1..10c1efcb7f 100644 --- a/voxygen/src/render/pipelines/mod.rs +++ b/voxygen/src/render/pipelines/mod.rs @@ -242,8 +242,9 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -252,9 +253,9 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - dimension: wgpu::TextureViewDimension::D2, - component_type: wgpu::TextureComponentType::Float, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -262,15 +263,19 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 2, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, // Light uniform wgpu::BindGroupLayoutEntry { binding: 3, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -279,8 +284,9 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 4, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -289,9 +295,9 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 5, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Uint, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -299,16 +305,19 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 6, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, // Horizon texture wgpu::BindGroupLayoutEntry { binding: 7, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -316,7 +325,10 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 8, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, // light shadows (ie shadows from a light?) @@ -324,8 +336,9 @@ impl GlobalsLayouts { binding: 9, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, // TODO: is this relevant? - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -334,9 +347,9 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 10, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -344,16 +357,19 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 11, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, // directed shadow maps wgpu::BindGroupLayoutEntry { binding: 12, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -361,16 +377,19 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 13, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, // lod map (t_map) wgpu::BindGroupLayoutEntry { binding: 14, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -378,7 +397,10 @@ impl GlobalsLayouts { wgpu::BindGroupLayoutEntry { binding: 15, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, ], diff --git a/voxygen/src/render/pipelines/particle.rs b/voxygen/src/render/pipelines/particle.rs index 1faedc8024..3f6b3b63ea 100644 --- a/voxygen/src/render/pipelines/particle.rs +++ b/voxygen/src/render/pipelines/particle.rs @@ -231,7 +231,7 @@ impl ParticlePipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc(), Instance::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/postprocess.rs b/voxygen/src/render/pipelines/postprocess.rs index f8a9f0dc19..6525ee0190 100644 --- a/voxygen/src/render/pipelines/postprocess.rs +++ b/voxygen/src/render/pipelines/postprocess.rs @@ -79,9 +79,9 @@ impl PostProcessLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -89,16 +89,17 @@ impl PostProcessLayout { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { filtering: true, comparison: false }, count: None, }, // src depth + // TODO: THIS IS UNUSED IN THE SHADER wgpu::BindGroupLayoutEntry { binding: 2, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -106,15 +107,16 @@ impl PostProcessLayout { wgpu::BindGroupLayoutEntry { binding: 3, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { filtering: true, comparison: false }, count: None, }, // Locals wgpu::BindGroupLayoutEntry { binding: 4, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -232,7 +234,7 @@ impl PostProcessPipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[/*Vertex::desc()*/], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/shadow.rs b/voxygen/src/render/pipelines/shadow.rs index d31252b90a..7889278b0d 100644 --- a/voxygen/src/render/pipelines/shadow.rs +++ b/voxygen/src/render/pipelines/shadow.rs @@ -28,8 +28,9 @@ impl Locals { entries: &[wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -169,7 +170,7 @@ impl ShadowFigurePipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[TerrainVertex::desc()], }, sample_count: samples, @@ -251,7 +252,7 @@ impl ShadowPipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[TerrainVertex::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/skybox.rs b/voxygen/src/render/pipelines/skybox.rs index c19b5493df..ed0edd4258 100644 --- a/voxygen/src/render/pipelines/skybox.rs +++ b/voxygen/src/render/pipelines/skybox.rs @@ -90,7 +90,7 @@ impl SkyboxPipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/sprite.rs b/voxygen/src/render/pipelines/sprite.rs index a22cf7c782..1ebb89461a 100644 --- a/voxygen/src/render/pipelines/sprite.rs +++ b/voxygen/src/render/pipelines/sprite.rs @@ -147,22 +147,6 @@ impl Locals { offs: [offs.x, offs.y, offs.z, 0.0], } } - - // TODO: unused? - fn layout(device: &wgpu::Device) -> wgpu::BindGroupLayout { - device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor { - label: None, - entries: &[wgpu::BindGroupLayoutEntry { - binding: 0, - visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, - min_binding_size: None, - }, - count: None, - }], - }) - } } pub struct SpriteLayout { @@ -179,8 +163,9 @@ impl SpriteLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -189,9 +174,9 @@ impl SpriteLayout { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -199,7 +184,10 @@ impl SpriteLayout { wgpu::BindGroupLayoutEntry { binding: 2, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, ], @@ -290,7 +278,7 @@ impl SpritePipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc(), Instance::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/terrain.rs b/voxygen/src/render/pipelines/terrain.rs index d424fec213..b16b242bbc 100644 --- a/voxygen/src/render/pipelines/terrain.rs +++ b/voxygen/src/render/pipelines/terrain.rs @@ -146,8 +146,9 @@ impl TerrainLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -156,9 +157,9 @@ impl TerrainLayout { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -166,7 +167,10 @@ impl TerrainLayout { wgpu::BindGroupLayoutEntry { binding: 2, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, ], @@ -244,7 +248,7 @@ impl TerrainPipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/pipelines/ui.rs b/voxygen/src/render/pipelines/ui.rs index 99cf389aad..2498612c4f 100644 --- a/voxygen/src/render/pipelines/ui.rs +++ b/voxygen/src/render/pipelines/ui.rs @@ -101,8 +101,9 @@ impl UiLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::UniformBuffer { - dynamic: false, + ty: wgpu::BindingType::Buffer { + ty: wgpu::BufferBindingType::Uniform, + has_dynamic_offset: false, min_binding_size: None, }, count: None, @@ -116,9 +117,9 @@ impl UiLayout { wgpu::BindGroupLayoutEntry { binding: 0, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::SampledTexture { - component_type: wgpu::TextureComponentType::Float, - dimension: wgpu::TextureViewDimension::D2, + ty: wgpu::BindingType::Texture { + sample_type: wgpu::TextureSampleType::Float { filterable: true }, + view_dimension: wgpu::TextureViewDimension::D2, multisampled: false, }, count: None, @@ -126,7 +127,10 @@ impl UiLayout { wgpu::BindGroupLayoutEntry { binding: 1, visibility: wgpu::ShaderStage::VERTEX | wgpu::ShaderStage::FRAGMENT, - ty: wgpu::BindingType::Sampler { comparison: false }, + ty: wgpu::BindingType::Sampler { + filtering: true, + comparison: false, + }, count: None, }, ], @@ -246,7 +250,7 @@ impl UiPipeline { }, }), vertex_state: wgpu::VertexStateDescriptor { - index_format: wgpu::IndexFormat::Uint16, + index_format: None, vertex_buffers: &[Vertex::desc()], }, sample_count: samples, diff --git a/voxygen/src/render/renderer.rs b/voxygen/src/render/renderer.rs index 4ac30ba263..c20f24e0b9 100644 --- a/voxygen/src/render/renderer.rs +++ b/voxygen/src/render/renderer.rs @@ -260,8 +260,6 @@ pub struct Renderer { // color/depth textures locals: Locals, - shader_reload_indicator: ReloadIndicator, - noise_tex: Texture, mode: RenderMode,