forked from mirrors/gecko-dev
Bug 1816781 - Vendor wgpu changes. r=webgpu-reviewers,teoxoy
Differential Revision: https://phabricator.services.mozilla.com/D169868
This commit is contained in:
parent
29f9c0ade6
commit
ac992fe0e2
4 changed files with 17 additions and 19 deletions
|
|
@ -37,7 +37,7 @@ replace-with = "vendored-sources"
|
|||
|
||||
[source."https://github.com/gfx-rs/wgpu"]
|
||||
git = "https://github.com/gfx-rs/wgpu"
|
||||
rev = "581b22e6a026ac92589be2f36a30357600f9d02c"
|
||||
rev = "b33731c44c9dd3bfb79d889e7a699c26c3929cd3"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/glandium/warp"]
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"d494e634e0042f25df352543706ef3f3bdfd436a251dea85ace6a95bd92df430","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/binding_model.rs":"3b9180c91a30ffaffaddaa734ee99e7a0e68b1da1bf3963eae447fa69cfae2ef","src/command/bind.rs":"88ca2bedfcd8392efc960f39ca8506024af495dcf1852cf16ae28fbadbdf748d","src/command/bundle.rs":"0cbb660ac454db778a0501075862e4d788db29f20480ed79d39da8520899cd97","src/command/clear.rs":"3a14c570c1ba01ca1391871a65f2a161e71748e0ef0cf3b39a8d43d9a9c2a716","src/command/compute.rs":"f2a08528e39e3cc7049757e9d63d591c8adc9bffa3af66d57eee0e6ab7bc3015","src/command/draw.rs":"ac3541fb46435dd1687b24b24d9896104adde8f662111f232b7b4e8e34a869ea","src/command/memory_init.rs":"347117a84f35927de91e7ab4cc69d19b5b4507a942596c0c725f27b50c428b1e","src/command/mod.rs":"31623431b6dc1c061dedcb838949d4c81d4e95d5516be47524d53b3d2faef3e6","src/command/query.rs":"2c107b22806a003808da2f886ecc74764b016851b7a6cec8caf21385a2e25dee","src/command/render.rs":"6419236732ac207dd110ae558f15acab04df890aac4679746cb4509a6a529d64","src/command/transfer.rs":"9f5294d3f8b3f8b39d617c2123476fbaadb429d2e258ed6b9222e3e2bea5cb1c","src/conv.rs":"ef47ee93d19ffc61e3edc80e1b0d5e31d6eec11db818c658a7b4f00279a7c426","src/device/life.rs":"5f58817365cf8b0a76cab83fdb50b3ee69a15b2bd868bc3702c7c29f3189326c","src/device/mod.rs":"f02e35c5f5ed35daa9d1145a2b197f7c8e5257906e83945aa09554f247a19bcc","src/device/queue.rs":"c091689ed487da41671ea2916a9326c16dc4b65eb2b0001162d805c58b5c1bec","src/device/trace.rs":"f69aa6af36a6defcf391ddb6cf12a56e37e00b4595e95c284cd7fd400394349c","src/error.rs":"48bc91197cfe254559b305c3954db6afa6441f120cb9fedeb7da96a140df6e2b","src/hub.rs":"722fdfdf93682c5719a5329c7c049d5bd2a2492bb94f6cdf7b1eb33160c5e0d5","src/id.rs":"10e101272faf04495b25e37284b0c7620392bb8ee7f2a82247d8e0a858087d04","src/init_tracker/buffer.rs":"a0ebf54a1e6d269c7b4aa0ac7bb8b04fd2cea3221a1d058ff33cb683b2aea3e9","src/init_tracker/mod.rs":"0867f79f83555390d0982d1dc6dcf0d4340e10cb89aa633d3c3ecc45deb3c78c","src/init_tracker/texture.rs":"37b6584aaca11c407d91f77002dcbb48d8a4876e27edd1b71b7929ef966f901d","src/instance.rs":"9f17f6241e9a01bca161bd7035b5f1e309d6b92ce8435115a4a07bb9bca87db3","src/lib.rs":"eef82fc7baf24c6a64ef7aef0ff7d90318b746fb04abf8e00dd16b565370d010","src/pipeline.rs":"77750fea7b28ab5c6874a342fc0cc27a98f2f07583eb6250a47ae6017f31bcab","src/present.rs":"2328dbcaf9dbb9d321603000a6c23cdeed40bde1d8710bdc17593fd8db259d50","src/resource.rs":"44b5cab04f53b5c003c9bd2b61a6591ed718c6ee574c4b5cae3d3893a574d3d8","src/track/buffer.rs":"0b7a8c6acfe55e3f45dd1e7ef1b3ee8bd4844f61bbabf62aa4f0c391b822803c","src/track/metadata.rs":"9565f700661e81fd534a751a0e3d26022238ad8784cc868333da7030b3571473","src/track/mod.rs":"118f97d34c6af35641b6f1901efe16cd0bf3d9b6c0e4d4dfc63a23c94e69ae13","src/track/range.rs":"5bbfed6e103b3234d9de8e42057022da6d628c2cc1db6bb51b88f87f2d8adf8b","src/track/stateless.rs":"34942ecdf81b05b75892c891c87e065329870459ff8edfca1f99ec9533c334aa","src/track/texture.rs":"7d38b2f4e0cdb3e56ce1e777d8bca4d73ef40e21c56e11fedd69dc27e789256d","src/validation.rs":"839559ffab49166c1b7b9b9cd18d55dfb99debcdd75d1e185fc725116ff9a3b6"},"package":null}
|
||||
{"files":{"Cargo.toml":"d494e634e0042f25df352543706ef3f3bdfd436a251dea85ace6a95bd92df430","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/binding_model.rs":"3b9180c91a30ffaffaddaa734ee99e7a0e68b1da1bf3963eae447fa69cfae2ef","src/command/bind.rs":"88ca2bedfcd8392efc960f39ca8506024af495dcf1852cf16ae28fbadbdf748d","src/command/bundle.rs":"0cbb660ac454db778a0501075862e4d788db29f20480ed79d39da8520899cd97","src/command/clear.rs":"3a14c570c1ba01ca1391871a65f2a161e71748e0ef0cf3b39a8d43d9a9c2a716","src/command/compute.rs":"f2a08528e39e3cc7049757e9d63d591c8adc9bffa3af66d57eee0e6ab7bc3015","src/command/draw.rs":"ac3541fb46435dd1687b24b24d9896104adde8f662111f232b7b4e8e34a869ea","src/command/memory_init.rs":"347117a84f35927de91e7ab4cc69d19b5b4507a942596c0c725f27b50c428b1e","src/command/mod.rs":"31623431b6dc1c061dedcb838949d4c81d4e95d5516be47524d53b3d2faef3e6","src/command/query.rs":"2c107b22806a003808da2f886ecc74764b016851b7a6cec8caf21385a2e25dee","src/command/render.rs":"6419236732ac207dd110ae558f15acab04df890aac4679746cb4509a6a529d64","src/command/transfer.rs":"946300cf0365d48619347ca52145b8f872f0aea3aac5e5b8cdc2a558acdc2d68","src/conv.rs":"ef47ee93d19ffc61e3edc80e1b0d5e31d6eec11db818c658a7b4f00279a7c426","src/device/life.rs":"5f58817365cf8b0a76cab83fdb50b3ee69a15b2bd868bc3702c7c29f3189326c","src/device/mod.rs":"f02e35c5f5ed35daa9d1145a2b197f7c8e5257906e83945aa09554f247a19bcc","src/device/queue.rs":"934367b5ce66ceb937f38398033c27170db13a33821056e7d36cc602668fa14f","src/device/trace.rs":"f69aa6af36a6defcf391ddb6cf12a56e37e00b4595e95c284cd7fd400394349c","src/error.rs":"48bc91197cfe254559b305c3954db6afa6441f120cb9fedeb7da96a140df6e2b","src/hub.rs":"722fdfdf93682c5719a5329c7c049d5bd2a2492bb94f6cdf7b1eb33160c5e0d5","src/id.rs":"10e101272faf04495b25e37284b0c7620392bb8ee7f2a82247d8e0a858087d04","src/init_tracker/buffer.rs":"a0ebf54a1e6d269c7b4aa0ac7bb8b04fd2cea3221a1d058ff33cb683b2aea3e9","src/init_tracker/mod.rs":"0867f79f83555390d0982d1dc6dcf0d4340e10cb89aa633d3c3ecc45deb3c78c","src/init_tracker/texture.rs":"37b6584aaca11c407d91f77002dcbb48d8a4876e27edd1b71b7929ef966f901d","src/instance.rs":"9f17f6241e9a01bca161bd7035b5f1e309d6b92ce8435115a4a07bb9bca87db3","src/lib.rs":"eef82fc7baf24c6a64ef7aef0ff7d90318b746fb04abf8e00dd16b565370d010","src/pipeline.rs":"77750fea7b28ab5c6874a342fc0cc27a98f2f07583eb6250a47ae6017f31bcab","src/present.rs":"2328dbcaf9dbb9d321603000a6c23cdeed40bde1d8710bdc17593fd8db259d50","src/resource.rs":"44b5cab04f53b5c003c9bd2b61a6591ed718c6ee574c4b5cae3d3893a574d3d8","src/track/buffer.rs":"0b7a8c6acfe55e3f45dd1e7ef1b3ee8bd4844f61bbabf62aa4f0c391b822803c","src/track/metadata.rs":"9565f700661e81fd534a751a0e3d26022238ad8784cc868333da7030b3571473","src/track/mod.rs":"118f97d34c6af35641b6f1901efe16cd0bf3d9b6c0e4d4dfc63a23c94e69ae13","src/track/range.rs":"5bbfed6e103b3234d9de8e42057022da6d628c2cc1db6bb51b88f87f2d8adf8b","src/track/stateless.rs":"34942ecdf81b05b75892c891c87e065329870459ff8edfca1f99ec9533c334aa","src/track/texture.rs":"7d38b2f4e0cdb3e56ce1e777d8bca4d73ef40e21c56e11fedd69dc27e789256d","src/validation.rs":"839559ffab49166c1b7b9b9cd18d55dfb99debcdd75d1e185fc725116ff9a3b6"},"package":null}
|
||||
|
|
@ -179,7 +179,7 @@ pub(crate) fn extract_texture_selector<A: hal::Api>(
|
|||
copy_texture: &ImageCopyTexture,
|
||||
copy_size: &Extent3d,
|
||||
texture: &Texture<A>,
|
||||
) -> Result<(TextureSelector, hal::TextureCopyBase, wgt::TextureFormat), TransferError> {
|
||||
) -> Result<(TextureSelector, hal::TextureCopyBase), TransferError> {
|
||||
let format = texture.desc.format;
|
||||
let copy_aspect =
|
||||
hal::FormatAspects::from(format) & hal::FormatAspects::from(copy_texture.aspect);
|
||||
|
|
@ -214,7 +214,7 @@ pub(crate) fn extract_texture_selector<A: hal::Api>(
|
|||
layers,
|
||||
};
|
||||
|
||||
Ok((selector, base, format))
|
||||
Ok((selector, base))
|
||||
}
|
||||
|
||||
/// WebGPU's [validating linear texture data][vltd] algorithm.
|
||||
|
|
@ -736,8 +736,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
copy_size,
|
||||
)?;
|
||||
|
||||
let (dst_range, dst_base, _) =
|
||||
extract_texture_selector(destination, copy_size, dst_texture)?;
|
||||
let (dst_range, dst_base) = extract_texture_selector(destination, copy_size, dst_texture)?;
|
||||
|
||||
// Handle texture init *before* dealing with barrier transitions so we
|
||||
// have an easier time inserting "immediate-inits" that may be required
|
||||
|
|
@ -868,7 +867,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
let (hal_copy_size, array_layer_count) =
|
||||
validate_texture_copy_range(source, &src_texture.desc, CopySide::Source, copy_size)?;
|
||||
|
||||
let (src_range, src_base, _) = extract_texture_selector(source, copy_size, src_texture)?;
|
||||
let (src_range, src_base) = extract_texture_selector(source, copy_size, src_texture)?;
|
||||
|
||||
// Handle texture init *before* dealing with barrier transitions so we
|
||||
// have an easier time inserting "immediate-inits" that may be required
|
||||
|
|
@ -1053,9 +1052,8 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
copy_size,
|
||||
)?;
|
||||
|
||||
let (src_range, src_tex_base, _) =
|
||||
extract_texture_selector(source, copy_size, src_texture)?;
|
||||
let (dst_range, dst_tex_base, _) =
|
||||
let (src_range, src_tex_base) = extract_texture_selector(source, copy_size, src_texture)?;
|
||||
let (dst_range, dst_tex_base) =
|
||||
extract_texture_selector(destination, copy_size, dst_texture)?;
|
||||
let src_texture_aspects = hal::FormatAspects::from(src_texture.desc.format);
|
||||
let dst_texture_aspects = hal::FormatAspects::from(dst_texture.desc.format);
|
||||
|
|
|
|||
18
third_party/rust/wgpu-core/src/device/queue.rs
vendored
18
third_party/rust/wgpu-core/src/device/queue.rs
vendored
|
|
@ -602,9 +602,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
.get_mut(destination.texture)
|
||||
.map_err(|_| TransferError::InvalidTexture(destination.texture))?;
|
||||
|
||||
let (selector, dst_base, texture_format) =
|
||||
extract_texture_selector(destination, size, dst)?;
|
||||
let format_desc = texture_format.describe();
|
||||
let format_desc = dst.desc.format.describe();
|
||||
|
||||
if !dst.desc.usage.contains(wgt::TextureUsages::COPY_DST) {
|
||||
return Err(
|
||||
|
|
@ -617,11 +615,13 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
let (hal_copy_size, array_layer_count) =
|
||||
validate_texture_copy_range(destination, &dst.desc, CopySide::Destination, size)?;
|
||||
|
||||
let (selector, dst_base) = extract_texture_selector(destination, size, dst)?;
|
||||
|
||||
// Note: `_source_bytes_per_array_layer` is ignored since we
|
||||
// have a staging copy, and it can have a different value.
|
||||
let (_, _source_bytes_per_array_layer) = validate_linear_texture_data(
|
||||
data_layout,
|
||||
texture_format,
|
||||
dst.desc.format,
|
||||
data.len() as wgt::BufferAddress,
|
||||
CopySide::Source,
|
||||
format_desc.block_size as wgt::BufferAddress,
|
||||
|
|
@ -629,9 +629,9 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
false,
|
||||
)?;
|
||||
|
||||
if !conv::is_valid_copy_dst_texture_format(texture_format, destination.aspect) {
|
||||
if !conv::is_valid_copy_dst_texture_format(dst.desc.format, destination.aspect) {
|
||||
return Err(TransferError::CopyToForbiddenTextureFormat {
|
||||
format: texture_format,
|
||||
format: dst.desc.format,
|
||||
aspect: destination.aspect,
|
||||
}
|
||||
.into());
|
||||
|
|
@ -858,9 +858,6 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
let (mut texture_guard, _) = hub.textures.write(&mut token); // For clear we need write access to the texture. TODO: Can we acquire write lock later?
|
||||
let dst = texture_guard.get_mut(destination.texture).unwrap();
|
||||
|
||||
let (selector, dst_base, _) =
|
||||
extract_texture_selector(&destination.to_untagged(), &size, dst)?;
|
||||
|
||||
if !conv::is_valid_external_image_copy_dst_texture_format(dst.desc.format) {
|
||||
return Err(
|
||||
TransferError::ExternalCopyToForbiddenTextureFormat(dst.desc.format).into(),
|
||||
|
|
@ -930,6 +927,9 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
|||
&size,
|
||||
)?;
|
||||
|
||||
let (selector, dst_base) =
|
||||
extract_texture_selector(&destination.to_untagged(), &size, dst)?;
|
||||
|
||||
let mut trackers = device.trackers.lock();
|
||||
let encoder = device.pending_writes.activate();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue