mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-21 22:33:49 +00:00
move(naga)!: move WGSL-specific diagnostic_filter
stuff to naga::front::wgsl
This commit is contained in:
parent
66d2ac6f5d
commit
e6f52bf46d
@ -27,22 +27,6 @@ pub enum Severity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Severity {
|
impl Severity {
|
||||||
const ERROR: &'static str = "error";
|
|
||||||
const WARNING: &'static str = "warning";
|
|
||||||
const INFO: &'static str = "info";
|
|
||||||
const OFF: &'static str = "off";
|
|
||||||
|
|
||||||
/// Convert from a sentinel word in WGSL into its associated [`Severity`], if possible.
|
|
||||||
pub fn from_wgsl_ident(s: &str) -> Option<Self> {
|
|
||||||
Some(match s {
|
|
||||||
Self::ERROR => Self::Error,
|
|
||||||
Self::WARNING => Self::Warning,
|
|
||||||
Self::INFO => Self::Info,
|
|
||||||
Self::OFF => Self::Off,
|
|
||||||
_ => return None,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Checks whether this severity is [`Self::Error`].
|
/// Checks whether this severity is [`Self::Error`].
|
||||||
///
|
///
|
||||||
/// Naga does not yet support diagnostic items at lesser severities than
|
/// Naga does not yet support diagnostic items at lesser severities than
|
||||||
@ -79,23 +63,6 @@ pub enum FilterableTriggeringRule {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl FilterableTriggeringRule {
|
impl FilterableTriggeringRule {
|
||||||
const DERIVATIVE_UNIFORMITY: &'static str = "derivative_uniformity";
|
|
||||||
|
|
||||||
/// Convert from a sentinel word in WGSL into its associated [`FilterableTriggeringRule`], if possible.
|
|
||||||
pub fn from_wgsl_ident(s: &str) -> Option<Self> {
|
|
||||||
Some(match s {
|
|
||||||
Self::DERIVATIVE_UNIFORMITY => Self::DerivativeUniformity,
|
|
||||||
_ => return None,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Maps this [`FilterableTriggeringRule`] into the sentinel word associated with it in WGSL.
|
|
||||||
pub const fn to_wgsl_ident(self) -> &'static str {
|
|
||||||
match self {
|
|
||||||
Self::DerivativeUniformity => Self::DERIVATIVE_UNIFORMITY,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// The default severity associated with this triggering rule.
|
/// The default severity associated with this triggering rule.
|
||||||
///
|
///
|
||||||
/// See <https://www.w3.org/TR/WGSL/#filterable-triggering-rules> for a table of default
|
/// See <https://www.w3.org/TR/WGSL/#filterable-triggering-rules> for a table of default
|
||||||
|
38
naga/src/front/wgsl/diagnostic_filter.rs
Normal file
38
naga/src/front/wgsl/diagnostic_filter.rs
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
use crate::diagnostic_filter::{FilterableTriggeringRule, Severity};
|
||||||
|
|
||||||
|
impl Severity {
|
||||||
|
const ERROR: &'static str = "error";
|
||||||
|
const WARNING: &'static str = "warning";
|
||||||
|
const INFO: &'static str = "info";
|
||||||
|
const OFF: &'static str = "off";
|
||||||
|
|
||||||
|
/// Convert from a sentinel word in WGSL into its associated [`Severity`], if possible.
|
||||||
|
pub fn from_wgsl_ident(s: &str) -> Option<Self> {
|
||||||
|
Some(match s {
|
||||||
|
Self::ERROR => Self::Error,
|
||||||
|
Self::WARNING => Self::Warning,
|
||||||
|
Self::INFO => Self::Info,
|
||||||
|
Self::OFF => Self::Off,
|
||||||
|
_ => return None,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl FilterableTriggeringRule {
|
||||||
|
const DERIVATIVE_UNIFORMITY: &'static str = "derivative_uniformity";
|
||||||
|
|
||||||
|
/// Convert from a sentinel word in WGSL into its associated [`FilterableTriggeringRule`], if possible.
|
||||||
|
pub fn from_wgsl_ident(s: &str) -> Option<Self> {
|
||||||
|
Some(match s {
|
||||||
|
Self::DERIVATIVE_UNIFORMITY => Self::DerivativeUniformity,
|
||||||
|
_ => return None,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Maps this [`FilterableTriggeringRule`] into the sentinel word associated with it in WGSL.
|
||||||
|
pub const fn to_wgsl_ident(self) -> &'static str {
|
||||||
|
match self {
|
||||||
|
Self::DerivativeUniformity => Self::DERIVATIVE_UNIFORMITY,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,7 @@ Frontend for [WGSL][wgsl] (WebGPU Shading Language).
|
|||||||
[wgsl]: https://gpuweb.github.io/gpuweb/wgsl.html
|
[wgsl]: https://gpuweb.github.io/gpuweb/wgsl.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
mod diagnostic_filter;
|
||||||
mod error;
|
mod error;
|
||||||
mod index;
|
mod index;
|
||||||
mod lower;
|
mod lower;
|
||||||
|
Loading…
Reference in New Issue
Block a user