mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-24 15:54:00 +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 {
|
||||
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`].
|
||||
///
|
||||
/// Naga does not yet support diagnostic items at lesser severities than
|
||||
@ -79,23 +63,6 @@ pub enum 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.
|
||||
///
|
||||
/// 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
|
||||
*/
|
||||
|
||||
mod diagnostic_filter;
|
||||
mod error;
|
||||
mod index;
|
||||
mod lower;
|
||||
|
Loading…
Reference in New Issue
Block a user