mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 06:43:32 +00:00
Bug 1832451 - Vendor wgpu changes. r=webgpu-reviewers,jgilbert
Depends on D177827 Differential Revision: https://phabricator.services.mozilla.com/D177829
This commit is contained in:
parent
ccb5e9bf14
commit
a435654157
@ -30,9 +30,9 @@ git = "https://github.com/gfx-rs/naga"
|
||||
rev = "b99d58ea435090e561377949f428bce2c18451bb"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+https://github.com/gfx-rs/wgpu?rev=25cb9f61e9a6be572ee42536bbe57aa5f759a700"]
|
||||
[source."git+https://github.com/gfx-rs/wgpu?rev=f71a1bc736fde37509262ca03e91d8f56a13aeb5"]
|
||||
git = "https://github.com/gfx-rs/wgpu"
|
||||
rev = "25cb9f61e9a6be572ee42536bbe57aa5f759a700"
|
||||
rev = "f71a1bc736fde37509262ca03e91d8f56a13aeb5"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."git+https://github.com/glandium/warp?rev=4af45fae95bc98b0eba1ef0db17e1dac471bb23d"]
|
||||
|
@ -27,9 +27,9 @@ void AdapterInfo::GetWgpuName(nsString& s) const {
|
||||
s = mAboutSupportInfo->name;
|
||||
}
|
||||
|
||||
size_t AdapterInfo::WgpuVendor() const { return mAboutSupportInfo->vendor; }
|
||||
uint32_t AdapterInfo::WgpuVendor() const { return mAboutSupportInfo->vendor; }
|
||||
|
||||
size_t AdapterInfo::WgpuDevice() const { return mAboutSupportInfo->device; }
|
||||
uint32_t AdapterInfo::WgpuDevice() const { return mAboutSupportInfo->device; }
|
||||
|
||||
void AdapterInfo::GetWgpuDeviceType(nsString& s) const {
|
||||
switch (mAboutSupportInfo->device_type) {
|
||||
|
@ -54,8 +54,8 @@ class AdapterInfo final : public dom::NonRefcountedDOMObject {
|
||||
|
||||
// Non-standard field getters; see also TODO BUGZILLA LINK
|
||||
void GetWgpuName(nsString&) const;
|
||||
size_t WgpuVendor() const;
|
||||
size_t WgpuDevice() const;
|
||||
uint32_t WgpuVendor() const;
|
||||
uint32_t WgpuDevice() const;
|
||||
void GetWgpuDeviceType(nsString&) const;
|
||||
void GetWgpuDriver(nsString&) const;
|
||||
void GetWgpuDriverInfo(nsString&) const;
|
||||
|
@ -100,8 +100,8 @@ pub struct AdapterInformation<S> {
|
||||
limits: wgt::Limits,
|
||||
features: wgt::Features,
|
||||
name: S,
|
||||
vendor: usize,
|
||||
device: usize,
|
||||
vendor: u32,
|
||||
device: u32,
|
||||
device_type: wgt::DeviceType,
|
||||
driver: S,
|
||||
driver_info: S,
|
||||
|
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"75edd4854ae0d6fabafa12ef625163a4c49d7546556b0d38bb667fcccbe52087","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/binding_model.rs":"23c7d38da27e3ea7f5ebac001fe480306fdbc98563051f3c041e71db7114b652","src/command/bind.rs":"88ca2bedfcd8392efc960f39ca8506024af495dcf1852cf16ae28fbadbdf748d","src/command/bundle.rs":"d57193931844a503091d6ac9df2c89f99e0d085a71b5d53cb80a19f615aa9197","src/command/clear.rs":"324ad776e89321d364e091cab915194fd2e9ffea75ef21bbf7eea637059bfcb7","src/command/compute.rs":"c29444b9c66ee14f3a387942c635a5348f55f4114ff2863ed8fc73a89a12f611","src/command/draw.rs":"3faf125163efe665b8820af21f2b167c68acd3008c372c2a9330ecfd832f3326","src/command/memory_init.rs":"347117a84f35927de91e7ab4cc69d19b5b4507a942596c0c725f27b50c428b1e","src/command/mod.rs":"50d5e476fc00e157f6afc1b40d461165b0d1e2e895abd20624dadf7959c06009","src/command/query.rs":"59adc6efaf01c037b6ba5f2b29b7a0063ced1f0334349b812a9611da77cfd078","src/command/render.rs":"b6f828d3acd151765bddce2d24dde74eebf5e97dedfe733a50e57003a6b00e4d","src/command/transfer.rs":"9873536468a220ba9d4f20dc2e89782fa0715af711dbac6919e515b868e5cc0b","src/conv.rs":"9654736318f9efdf15695eacaf64218febf01cb945b764ce6a966cbd41345a79","src/device/life.rs":"00575c6c8c4d32304c76f1bdbf9b705603b275ffe9d7dad9838d4c47e118f5d6","src/device/mod.rs":"a2ec036ec9aee283afa76b7726a1e237cccd1b73949e93f5ba5ac1e345b8f025","src/device/queue.rs":"cad4e1165a5b3366e0d939b0bd20cefc485332c2061bdcd1130c8416136ae0f4","src/device/trace.rs":"f69aa6af36a6defcf391ddb6cf12a56e37e00b4595e95c284cd7fd400394349c","src/error.rs":"48bc91197cfe254559b305c3954db6afa6441f120cb9fedeb7da96a140df6e2b","src/hub.rs":"1afc5d19f1afd132f43aa9b0d4f4f750f88ca18936974e2ae5fd50cb8763569a","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":"da4ba40a8e2db89bf31f3c8c0874c152ea1ed07169dfc12f8e6b15b5f044372f","src/lib.rs":"a40fc046ae2b3cca1f8f5e4e462c07bb51e56dbb17bf7a5736fef6f122c48e9c","src/pipeline.rs":"1d1a25da8e5ba585a79d38e5972413db83deada2f1704789144d28bca8cf1a1c","src/present.rs":"cf7a4a093087953fb16d1c6a45b85649a3971fa6dc56a9f3f424a478dcb84270","src/resource.rs":"ab0232eeb05da5aa71fad8f114c193be8d0713876cf3f506b398dfe1fa5191b3","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":"dd761dfc717ab62d36311c277d26f4741b297f5dbb1bd1f1e6b6eff9c6cbc57c"},"package":null}
|
||||
{"files":{"Cargo.toml":"75edd4854ae0d6fabafa12ef625163a4c49d7546556b0d38bb667fcccbe52087","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/binding_model.rs":"984e05f8527ae6d2c72d3f141a006f8365da7c5f95afd24601ed0fe6c98b62b2","src/command/bind.rs":"88ca2bedfcd8392efc960f39ca8506024af495dcf1852cf16ae28fbadbdf748d","src/command/bundle.rs":"74e50b87c003ca3647f65409be9a9d05f81f770fa72a9019898f8741b965a66e","src/command/clear.rs":"324ad776e89321d364e091cab915194fd2e9ffea75ef21bbf7eea637059bfcb7","src/command/compute.rs":"d9c754f7f2ef4cde2b202365337eed2feb995993603c3f0cf4acf32a0ed4f54b","src/command/draw.rs":"14a0319da47e4995c2ad97f1102998b0d4beb2f6d07df8a0cb6f08023185ce7a","src/command/memory_init.rs":"347117a84f35927de91e7ab4cc69d19b5b4507a942596c0c725f27b50c428b1e","src/command/mod.rs":"50d5e476fc00e157f6afc1b40d461165b0d1e2e895abd20624dadf7959c06009","src/command/query.rs":"59adc6efaf01c037b6ba5f2b29b7a0063ced1f0334349b812a9611da77cfd078","src/command/render.rs":"a4c8d79f8c26cbfb1907bcdc009543fb4c4a7a63a779423a54b9de2d61416cdf","src/command/transfer.rs":"9873536468a220ba9d4f20dc2e89782fa0715af711dbac6919e515b868e5cc0b","src/conv.rs":"9654736318f9efdf15695eacaf64218febf01cb945b764ce6a966cbd41345a79","src/device/life.rs":"00575c6c8c4d32304c76f1bdbf9b705603b275ffe9d7dad9838d4c47e118f5d6","src/device/mod.rs":"2799305eb6969bef45d7d757482674dfd106956fec933ce54766b9e52a8230a3","src/device/queue.rs":"cad4e1165a5b3366e0d939b0bd20cefc485332c2061bdcd1130c8416136ae0f4","src/device/trace.rs":"f69aa6af36a6defcf391ddb6cf12a56e37e00b4595e95c284cd7fd400394349c","src/error.rs":"48bc91197cfe254559b305c3954db6afa6441f120cb9fedeb7da96a140df6e2b","src/hub.rs":"1afc5d19f1afd132f43aa9b0d4f4f750f88ca18936974e2ae5fd50cb8763569a","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":"da4ba40a8e2db89bf31f3c8c0874c152ea1ed07169dfc12f8e6b15b5f044372f","src/lib.rs":"a40fc046ae2b3cca1f8f5e4e462c07bb51e56dbb17bf7a5736fef6f122c48e9c","src/pipeline.rs":"1d1a25da8e5ba585a79d38e5972413db83deada2f1704789144d28bca8cf1a1c","src/present.rs":"cf7a4a093087953fb16d1c6a45b85649a3971fa6dc56a9f3f424a478dcb84270","src/resource.rs":"1dedb1eaabad43d87d7c6ea5ecc522a0f64972b9348a699bbafc49238b0748e1","src/track/buffer.rs":"0b7a8c6acfe55e3f45dd1e7ef1b3ee8bd4844f61bbabf62aa4f0c391b822803c","src/track/metadata.rs":"9565f700661e81fd534a751a0e3d26022238ad8784cc868333da7030b3571473","src/track/mod.rs":"1ce1fe9a2d2cee35a2b8ec58c52b1ed633481fab4fef7308cfb980a73eaa5928","src/track/range.rs":"5bbfed6e103b3234d9de8e42057022da6d628c2cc1db6bb51b88f87f2d8adf8b","src/track/stateless.rs":"34942ecdf81b05b75892c891c87e065329870459ff8edfca1f99ec9533c334aa","src/track/texture.rs":"7d38b2f4e0cdb3e56ce1e777d8bca4d73ef40e21c56e11fedd69dc27e789256d","src/validation.rs":"dd761dfc717ab62d36311c277d26f4741b297f5dbb1bd1f1e6b6eff9c6cbc57c"},"package":null}
|
||||
|
@ -697,7 +697,7 @@ pub enum BindError {
|
||||
s1 = if *.actual >= 2 { "s" } else { "" },
|
||||
)]
|
||||
MismatchedDynamicOffsetCount {
|
||||
group: u8,
|
||||
group: u32,
|
||||
actual: usize,
|
||||
expected: usize,
|
||||
},
|
||||
@ -706,7 +706,7 @@ pub enum BindError {
|
||||
)]
|
||||
UnalignedDynamicBinding {
|
||||
idx: usize,
|
||||
group: u8,
|
||||
group: u32,
|
||||
binding: u32,
|
||||
offset: u32,
|
||||
alignment: u32,
|
||||
@ -718,7 +718,7 @@ pub enum BindError {
|
||||
)]
|
||||
DynamicBindingOutOfBounds {
|
||||
idx: usize,
|
||||
group: u8,
|
||||
group: u32,
|
||||
binding: u32,
|
||||
offset: u32,
|
||||
buffer_size: wgt::BufferAddress,
|
||||
@ -780,7 +780,7 @@ pub struct BindGroup<A: HalApi> {
|
||||
impl<A: HalApi> BindGroup<A> {
|
||||
pub(crate) fn validate_dynamic_bindings(
|
||||
&self,
|
||||
bind_group_index: u8,
|
||||
bind_group_index: u32,
|
||||
offsets: &[wgt::DynamicOffset],
|
||||
limits: &wgt::Limits,
|
||||
) -> Result<(), BindError> {
|
||||
|
10
third_party/rust/wgpu-core/src/command/bundle.rs
vendored
10
third_party/rust/wgpu-core/src/command/bundle.rs
vendored
@ -302,7 +302,7 @@ impl RenderBundleEncoder {
|
||||
.map_pass_err(scope)?;
|
||||
|
||||
let max_bind_groups = device.limits.max_bind_groups;
|
||||
if (index as u32) >= max_bind_groups {
|
||||
if index >= max_bind_groups {
|
||||
return Err(RenderCommandError::BindGroupIndexOutOfRange {
|
||||
index,
|
||||
max: max_bind_groups,
|
||||
@ -784,7 +784,7 @@ impl<A: HalApi> RenderBundle<A> {
|
||||
unsafe {
|
||||
raw.set_bind_group(
|
||||
&pipeline_layout_guard[pipeline_layout_id.unwrap()].raw,
|
||||
index as u32,
|
||||
index,
|
||||
&bind_group.raw,
|
||||
&offsets[..num_dynamic_offsets as usize],
|
||||
)
|
||||
@ -1222,7 +1222,7 @@ impl<A: HalApi> State<A> {
|
||||
|
||||
fn set_bind_group(
|
||||
&mut self,
|
||||
slot: u8,
|
||||
slot: u32,
|
||||
bind_group_id: id::BindGroupId,
|
||||
layout_id: id::Valid<id::BindGroupLayoutId>,
|
||||
dynamic_offsets: Range<usize>,
|
||||
@ -1365,7 +1365,7 @@ impl<A: HalApi> State<A> {
|
||||
contents.is_dirty = false;
|
||||
let offsets = &contents.dynamic_offsets;
|
||||
return Some(RenderCommand::SetBindGroup {
|
||||
index: i as u8,
|
||||
index: i.try_into().unwrap(),
|
||||
bind_group_id: contents.bind_group_id,
|
||||
num_dynamic_offsets: (offsets.end - offsets.start) as u8,
|
||||
});
|
||||
@ -1469,7 +1469,7 @@ pub mod bundle_ffi {
|
||||
}
|
||||
|
||||
bundle.base.commands.push(RenderCommand::SetBindGroup {
|
||||
index: index.try_into().unwrap(),
|
||||
index,
|
||||
num_dynamic_offsets: offset_length.try_into().unwrap(),
|
||||
bind_group_id,
|
||||
});
|
||||
|
@ -38,7 +38,7 @@ use std::{fmt, mem, str};
|
||||
)]
|
||||
pub enum ComputeCommand {
|
||||
SetBindGroup {
|
||||
index: u8,
|
||||
index: u32,
|
||||
num_dynamic_offsets: u8,
|
||||
bind_group_id: id::BindGroupId,
|
||||
},
|
||||
@ -163,7 +163,7 @@ pub enum ComputePassErrorInner {
|
||||
#[error("Bind group {0:?} is invalid")]
|
||||
InvalidBindGroup(id::BindGroupId),
|
||||
#[error("Bind group index {index} is greater than the device's requested `max_bind_group` limit {max}")]
|
||||
BindGroupIndexOutOfRange { index: u8, max: u32 },
|
||||
BindGroupIndexOutOfRange { index: u32, max: u32 },
|
||||
#[error("Compute pipeline {0:?} is invalid")]
|
||||
InvalidPipeline(id::ComputePipelineId),
|
||||
#[error("QuerySet {0:?} is invalid")]
|
||||
@ -407,7 +407,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
||||
let scope = PassErrorScope::SetBindGroup(bind_group_id);
|
||||
|
||||
let max_bind_groups = cmd_buf.limits.max_bind_groups;
|
||||
if (index as u32) >= max_bind_groups {
|
||||
if index >= max_bind_groups {
|
||||
return Err(ComputePassErrorInner::BindGroupIndexOutOfRange {
|
||||
index,
|
||||
max: max_bind_groups,
|
||||
@ -464,7 +464,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
||||
unsafe {
|
||||
raw.set_bind_group(
|
||||
pipeline_layout,
|
||||
index as u32 + i as u32,
|
||||
index + i as u32,
|
||||
raw_bg,
|
||||
&e.dynamic_offsets,
|
||||
);
|
||||
@ -816,7 +816,7 @@ pub mod compute_ffi {
|
||||
}
|
||||
|
||||
pass.base.commands.push(ComputeCommand::SetBindGroup {
|
||||
index: index.try_into().unwrap(),
|
||||
index,
|
||||
num_dynamic_offsets: offset_length.try_into().unwrap(),
|
||||
bind_group_id,
|
||||
});
|
||||
|
@ -66,7 +66,7 @@ pub enum RenderCommandError {
|
||||
#[error("Render bundle {0:?} is invalid")]
|
||||
InvalidRenderBundle(id::RenderBundleId),
|
||||
#[error("Bind group index {index} is greater than the device's requested `max_bind_group` limit {max}")]
|
||||
BindGroupIndexOutOfRange { index: u8, max: u32 },
|
||||
BindGroupIndexOutOfRange { index: u32, max: u32 },
|
||||
#[error("Dynamic buffer offset {0} does not respect device's requested `{1}` limit {2}")]
|
||||
UnalignedBufferOffset(u64, &'static str, u32),
|
||||
#[error("Number of buffer offsets ({actual}) does not match the number of dynamic bindings ({expected})")]
|
||||
@ -148,7 +148,7 @@ pub struct Rect<T> {
|
||||
)]
|
||||
pub enum RenderCommand {
|
||||
SetBindGroup {
|
||||
index: u8,
|
||||
index: u32,
|
||||
num_dynamic_offsets: u8,
|
||||
bind_group_id: id::BindGroupId,
|
||||
},
|
||||
|
@ -1305,7 +1305,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
||||
} => {
|
||||
let scope = PassErrorScope::SetBindGroup(bind_group_id);
|
||||
let max_bind_groups = device.limits.max_bind_groups;
|
||||
if (index as u32) >= max_bind_groups {
|
||||
if index >= max_bind_groups {
|
||||
return Err(RenderCommandError::BindGroupIndexOutOfRange {
|
||||
index,
|
||||
max: max_bind_groups,
|
||||
@ -1372,7 +1372,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
||||
unsafe {
|
||||
raw.set_bind_group(
|
||||
pipeline_layout,
|
||||
index as u32 + i as u32,
|
||||
index + i as u32,
|
||||
raw_bg,
|
||||
&e.dynamic_offsets,
|
||||
);
|
||||
@ -2225,7 +2225,7 @@ pub mod render_ffi {
|
||||
}
|
||||
|
||||
pass.base.commands.push(RenderCommand::SetBindGroup {
|
||||
index: index.try_into().unwrap(),
|
||||
index,
|
||||
num_dynamic_offsets: offset_length.try_into().unwrap(),
|
||||
bind_group_id,
|
||||
});
|
||||
|
15
third_party/rust/wgpu-core/src/device/mod.rs
vendored
15
third_party/rust/wgpu-core/src/device/mod.rs
vendored
@ -3704,6 +3704,18 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
||||
let mut token = Token::root();
|
||||
let fid = hub.buffers.prepare(id_in);
|
||||
|
||||
fid.assign_error(label.borrow_or_default(), &mut token);
|
||||
}
|
||||
|
||||
pub fn create_render_bundle_error<A: HalApi>(
|
||||
&self,
|
||||
id_in: Input<G, id::RenderBundleId>,
|
||||
label: Label,
|
||||
) {
|
||||
let hub = A::hub(self);
|
||||
let mut token = Token::root();
|
||||
let fid = hub.render_bundles.prepare(id_in);
|
||||
|
||||
let (_, mut token) = hub.devices.read(&mut token);
|
||||
fid.assign_error(label.borrow_or_default(), &mut token);
|
||||
}
|
||||
@ -3716,7 +3728,6 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
||||
let mut token = Token::root();
|
||||
let fid = hub.textures.prepare(id_in);
|
||||
|
||||
let (_, mut token) = hub.devices.read(&mut token);
|
||||
fid.assign_error(label.borrow_or_default(), &mut token);
|
||||
}
|
||||
|
||||
@ -5485,7 +5496,7 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
|
||||
if !caps.formats.contains(&config.format) {
|
||||
break 'outer E::UnsupportedFormat {
|
||||
requested: config.format,
|
||||
available: caps.formats.clone(),
|
||||
available: caps.formats,
|
||||
};
|
||||
}
|
||||
if config.format.remove_srgb_suffix() != format.remove_srgb_suffix() {
|
||||
|
2
third_party/rust/wgpu-core/src/resource.rs
vendored
2
third_party/rust/wgpu-core/src/resource.rs
vendored
@ -523,7 +523,7 @@ pub enum CreateTextureError {
|
||||
InvalidSampleCount(u32, wgt::TextureFormat),
|
||||
#[error("Multisampled textures must have RENDER_ATTACHMENT usage")]
|
||||
MultisampledNotRenderAttachment,
|
||||
#[error("Texture format {0:?} can't be used due to missing features.")]
|
||||
#[error("Texture format {0:?} can't be used due to missing features")]
|
||||
MissingFeatures(wgt::TextureFormat, #[source] MissingFeatures),
|
||||
#[error(transparent)]
|
||||
MissingDownlevelFlags(#[from] MissingDownlevelFlags),
|
||||
|
2
third_party/rust/wgpu-core/src/track/mod.rs
vendored
2
third_party/rust/wgpu-core/src/track/mod.rs
vendored
@ -301,7 +301,7 @@ impl<T: ResourceUses> fmt::Display for InvalidUse<T> {
|
||||
write!(
|
||||
f,
|
||||
"conflicting usages. Current usage {current:?} and new usage {new:?}. \
|
||||
{exclusive:?} is an exclusive usage and cannot be used with any other\
|
||||
{exclusive:?} is an exclusive usage and cannot be used with any other \
|
||||
usages within the usage scope (renderpass or compute dispatch)"
|
||||
)
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
4
third_party/rust/wgpu-hal/Cargo.toml
vendored
4
third_party/rust/wgpu-hal/Cargo.toml
vendored
@ -181,7 +181,7 @@ features = ["dynamic"]
|
||||
optional = true
|
||||
|
||||
[target."cfg(not(target_arch = \"wasm32\"))".dependencies.libloading]
|
||||
version = "0.7"
|
||||
version = ">=0.7,<0.9"
|
||||
optional = true
|
||||
|
||||
[target."cfg(not(target_arch = \"wasm32\"))".dependencies.renderdoc-sys]
|
||||
@ -207,7 +207,7 @@ features = [
|
||||
]
|
||||
|
||||
[target."cfg(target_os = \"emscripten\")".dependencies.libloading]
|
||||
version = "0.7"
|
||||
version = ">=0.7,<0.9"
|
||||
optional = true
|
||||
|
||||
[target."cfg(unix)".dependencies]
|
||||
|
@ -115,8 +115,8 @@ impl super::Adapter {
|
||||
let info = wgt::AdapterInfo {
|
||||
backend: wgt::Backend::Dx12,
|
||||
name: device_name,
|
||||
vendor: desc.VendorId as usize,
|
||||
device: desc.DeviceId as usize,
|
||||
vendor: desc.VendorId,
|
||||
device: desc.DeviceId,
|
||||
device_type: if (desc.Flags & dxgi::DXGI_ADAPTER_FLAG_SOFTWARE) != 0 {
|
||||
workarounds.avoid_cpu_descriptor_overwrites = true;
|
||||
wgt::DeviceType::Cpu
|
||||
|
@ -170,7 +170,7 @@ impl super::Adapter {
|
||||
|
||||
wgt::AdapterInfo {
|
||||
name: renderer_orig,
|
||||
vendor: vendor_id as usize,
|
||||
vendor: vendor_id,
|
||||
device: 0,
|
||||
device_type: inferred_device_type,
|
||||
driver: String::new(),
|
||||
|
4
third_party/rust/wgpu-hal/src/gles/egl.rs
vendored
4
third_party/rust/wgpu-hal/src/gles/egl.rs
vendored
@ -393,7 +393,7 @@ impl AdapterContext {
|
||||
pub unsafe fn get_without_egl_lock(&self) -> MutexGuard<glow::Context> {
|
||||
self.glow
|
||||
.try_lock_for(Duration::from_secs(CONTEXT_LOCK_TIMEOUT_SECS))
|
||||
.expect("Could not lock adapter context. This is most-likely a deadlcok.")
|
||||
.expect("Could not lock adapter context. This is most-likely a deadlock.")
|
||||
}
|
||||
|
||||
/// Obtain a lock to the EGL context and get handle to the [`glow::Context`] that can be used to
|
||||
@ -405,7 +405,7 @@ impl AdapterContext {
|
||||
// Don't lock forever. If it takes longer than 1 second to get the lock we've got a
|
||||
// deadlock and should panic to show where we got stuck
|
||||
.try_lock_for(Duration::from_secs(CONTEXT_LOCK_TIMEOUT_SECS))
|
||||
.expect("Could not lock adapter context. This is most-likely a deadlcok.");
|
||||
.expect("Could not lock adapter context. This is most-likely a deadlock.");
|
||||
|
||||
let egl = self.egl.as_ref().map(|egl| {
|
||||
egl.make_current();
|
||||
|
@ -961,8 +961,8 @@ impl super::Instance {
|
||||
.unwrap_or("?")
|
||||
.to_owned()
|
||||
},
|
||||
vendor: phd_capabilities.properties.vendor_id as usize,
|
||||
device: phd_capabilities.properties.device_id as usize,
|
||||
vendor: phd_capabilities.properties.vendor_id,
|
||||
device: phd_capabilities.properties.device_id,
|
||||
device_type: match phd_capabilities.properties.device_type {
|
||||
ash::vk::PhysicalDeviceType::OTHER => wgt::DeviceType::Other,
|
||||
ash::vk::PhysicalDeviceType::INTEGRATED_GPU => wgt::DeviceType::IntegratedGpu,
|
||||
|
@ -691,12 +691,12 @@ impl crate::Instance<super::Api> for super::Instance {
|
||||
// Detect if it's an Intel + NVidia configuration with Optimus
|
||||
let has_nvidia_dgpu = exposed_adapters.iter().any(|exposed| {
|
||||
exposed.info.device_type == wgt::DeviceType::DiscreteGpu
|
||||
&& exposed.info.vendor == db::nvidia::VENDOR as usize
|
||||
&& exposed.info.vendor == db::nvidia::VENDOR
|
||||
});
|
||||
if cfg!(target_os = "linux") && has_nvidia_dgpu && self.shared.has_nv_optimus {
|
||||
for exposed in exposed_adapters.iter_mut() {
|
||||
if exposed.info.device_type == wgt::DeviceType::IntegratedGpu
|
||||
&& exposed.info.vendor == db::intel::VENDOR as usize
|
||||
&& exposed.info.vendor == db::intel::VENDOR
|
||||
{
|
||||
// See https://gitlab.freedesktop.org/mesa/mesa/-/issues/4688
|
||||
log::warn!(
|
||||
|
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"d7e3d65db826d7d01aa7cc071e6d6a08a77cc9dfc9b9b95607fe7df6e53c3c35","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/assertions.rs":"3fe98027aa73970c8ab7874a3e13dbfd6faa87df2081beb5c83aeec4c60f372f","src/lib.rs":"50e497cbc05be839854a0932777c401ddf9b8a25a00e09592509de8d1a062cb4","src/math.rs":"4d03039736dd6926feb139bc68734cb59df34ede310427bbf059e5c925e0af3b"},"package":null}
|
||||
{"files":{"Cargo.toml":"d7e3d65db826d7d01aa7cc071e6d6a08a77cc9dfc9b9b95607fe7df6e53c3c35","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/assertions.rs":"3fe98027aa73970c8ab7874a3e13dbfd6faa87df2081beb5c83aeec4c60f372f","src/lib.rs":"e7022ccb7c678ccc727821138398788c33fc483147bec2332bbd90900663200f","src/math.rs":"4d03039736dd6926feb139bc68734cb59df34ede310427bbf059e5c925e0af3b"},"package":null}
|
||||
|
34
third_party/rust/wgpu-types/src/lib.rs
vendored
34
third_party/rust/wgpu-types/src/lib.rs
vendored
@ -270,7 +270,7 @@ bitflags::bitflags! {
|
||||
|
||||
/// Allows shaders to acquire the FP16 ability
|
||||
///
|
||||
/// Note: this is not supported in naga yet,only through spir-v passthrough right now.
|
||||
/// Note: this is not supported in `naga` yet,only through `spirv-passthrough` right now.
|
||||
///
|
||||
/// Supported Platforms:
|
||||
/// - Vulkan
|
||||
@ -728,7 +728,7 @@ bitflags::bitflags! {
|
||||
///
|
||||
/// This is a native only feature.
|
||||
const SHADER_F64 = 1 << 59;
|
||||
/// Allows shaders to use i16. Not currently supported in naga, only available through `spirv-passthrough`.
|
||||
/// Allows shaders to use i16. Not currently supported in `naga`, only available through `spirv-passthrough`.
|
||||
///
|
||||
/// Supported platforms:
|
||||
/// - Vulkan
|
||||
@ -1303,13 +1303,29 @@ pub enum DeviceType {
|
||||
pub struct AdapterInfo {
|
||||
/// Adapter name
|
||||
pub name: String,
|
||||
/// Vendor PCI id of the adapter
|
||||
/// [`Backend`]-specific vendor ID of the adapter
|
||||
///
|
||||
/// If the vendor has no PCI id, then this value will be the backend's vendor id equivalent. On Vulkan,
|
||||
/// Mesa would have a vendor id equivalent to it's `VkVendorId` value.
|
||||
pub vendor: usize,
|
||||
/// PCI id of the adapter
|
||||
pub device: usize,
|
||||
/// This generally is a 16-bit PCI vendor ID in the least significant bytes of this field.
|
||||
/// However, more significant bytes may be non-zero if the backend uses a different
|
||||
/// representation.
|
||||
///
|
||||
/// * For [`Backend::Vulkan`], the [`VkPhysicalDeviceProperties::vendorID`] is used, which is
|
||||
/// a superset of PCI IDs.
|
||||
///
|
||||
/// [`VkPhysicalDeviceProperties::vendorID`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceProperties.html
|
||||
pub vendor: u32,
|
||||
/// [`Backend`]-specific device ID of the adapter
|
||||
///
|
||||
///
|
||||
/// This generally is a 16-bit PCI device ID in the least significant bytes of this field.
|
||||
/// However, more significant bytes may be non-zero if the backend uses a different
|
||||
/// representation.
|
||||
///
|
||||
/// * For [`Backend::Vulkan`], the [`VkPhysicalDeviceProperties::deviceID`] is used, which is
|
||||
/// a superset of PCI IDs.
|
||||
///
|
||||
/// [`VkPhysicalDeviceProperties::deviceID`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceProperties.html
|
||||
pub device: u32,
|
||||
/// Type of device
|
||||
pub device_type: DeviceType,
|
||||
/// Driver name
|
||||
@ -2025,6 +2041,8 @@ pub enum TextureFormat {
|
||||
/// Special depth format with 32 bit floating point depth.
|
||||
Depth32Float,
|
||||
/// Special depth/stencil format with 32 bit floating point depth and 8 bits integer stencil.
|
||||
///
|
||||
/// [`Features::DEPTH32FLOAT_STENCIL8`] must be enabled to use this texture format.
|
||||
Depth32FloatStencil8,
|
||||
|
||||
// Compressed textures usable with `TEXTURE_COMPRESSION_BC` feature.
|
||||
|
Loading…
Reference in New Issue
Block a user