mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-25 08:13:27 +00:00
reject binding type multisampled when on a float filterable sample type (#3686)
This commit is contained in:
parent
af3b29ab49
commit
7c25c00f07
@ -143,6 +143,7 @@ By @cwfitzgerald in [#3671](https://github.com/gfx-rs/wgpu/pull/3671).
|
||||
- Make error descriptions all upper case. By @cwfitzgerald in [#3549](https://github.com/gfx-rs/wgpu/pull/3549)
|
||||
- Don't include ANSI terminal color escape sequences in shader module validation error messages. By @jimblandy in [#3591](https://github.com/gfx-rs/wgpu/pull/3591)
|
||||
- Report error messages from DXC compile. By @Davidster in [#3632](https://github.com/gfx-rs/wgpu/pull/3632)
|
||||
- Error in native when using a filterable `TextureSampleType::Float` on a multisample `BindingType::Texture`. By @mockersf in [#3686](https://github.com/gfx-rs/wgpu/pull/3686)
|
||||
|
||||
#### WebGPU
|
||||
|
||||
|
@ -29,6 +29,8 @@ pub enum BindGroupLayoutEntryError {
|
||||
StorageTextureReadWrite,
|
||||
#[error("Arrays of bindings unsupported for this type of binding")]
|
||||
ArrayUnsupported,
|
||||
#[error("Multisampled binding with sample type `TextureSampleType::Float` must have filterable set to false.")]
|
||||
SampleTypeFloatFilterableBindingMultisampled,
|
||||
#[error(transparent)]
|
||||
MissingFeatures(#[from] MissingFeatures),
|
||||
#[error(transparent)]
|
||||
|
@ -22,7 +22,7 @@ use hal::{CommandEncoder as _, Device as _};
|
||||
use parking_lot::{Mutex, MutexGuard};
|
||||
use smallvec::SmallVec;
|
||||
use thiserror::Error;
|
||||
use wgt::{BufferAddress, TextureFormat, TextureViewDimension};
|
||||
use wgt::{BufferAddress, TextureFormat, TextureSampleType, TextureViewDimension};
|
||||
|
||||
use std::{borrow::Cow, iter, mem, num::NonZeroU32, ops::Range, ptr};
|
||||
|
||||
@ -1694,6 +1694,16 @@ impl<A: HalApi> Device<A> {
|
||||
Some(wgt::Features::TEXTURE_BINDING_ARRAY),
|
||||
WritableStorage::No,
|
||||
),
|
||||
Bt::Texture {
|
||||
multisampled: true,
|
||||
sample_type: TextureSampleType::Float { filterable: true },
|
||||
..
|
||||
} => {
|
||||
return Err(binding_model::CreateBindGroupLayoutError::Entry {
|
||||
binding: entry.binding,
|
||||
error: binding_model::BindGroupLayoutEntryError::SampleTypeFloatFilterableBindingMultisampled,
|
||||
});
|
||||
}
|
||||
Bt::Texture { .. } => (
|
||||
Some(wgt::Features::TEXTURE_BINDING_ARRAY),
|
||||
WritableStorage::No,
|
||||
|
Loading…
Reference in New Issue
Block a user