refactor examples
This commit is contained in:
@@ -116,3 +116,69 @@ fn tonemap_shader_is_valid_wgsl() {
|
||||
"the three entry points are expected"
|
||||
);
|
||||
}
|
||||
|
||||
/// Parses and fully validates the `bloom_threshold.wgsl` shader (Étape 23) via naga.
|
||||
#[test]
|
||||
fn bloom_threshold_shader_is_valid_wgsl() {
|
||||
let src = include_str!("../src/shaders/bloom_threshold.wgsl");
|
||||
let module = naga::front::wgsl::parse_str(src)
|
||||
.unwrap_or_else(|e| panic!("bloom_threshold.wgsl: parsing error: {e:?}"));
|
||||
let mut validator = naga::valid::Validator::new(
|
||||
naga::valid::ValidationFlags::all(),
|
||||
naga::valid::Capabilities::all(),
|
||||
);
|
||||
validator
|
||||
.validate(&module)
|
||||
.unwrap_or_else(|e| panic!("bloom_threshold.wgsl: validation failed: {e:?}"));
|
||||
let mut entry_names: Vec<&str> = module
|
||||
.entry_points
|
||||
.iter()
|
||||
.map(|ep| ep.name.as_str())
|
||||
.collect();
|
||||
entry_names.sort();
|
||||
assert_eq!(entry_names, vec!["fs_main", "vs_main"]);
|
||||
}
|
||||
|
||||
/// Parses and fully validates the `bloom_blur.wgsl` shader (Étape 23) via naga.
|
||||
#[test]
|
||||
fn bloom_blur_shader_is_valid_wgsl() {
|
||||
let src = include_str!("../src/shaders/bloom_blur.wgsl");
|
||||
let module = naga::front::wgsl::parse_str(src)
|
||||
.unwrap_or_else(|e| panic!("bloom_blur.wgsl: parsing error: {e:?}"));
|
||||
let mut validator = naga::valid::Validator::new(
|
||||
naga::valid::ValidationFlags::all(),
|
||||
naga::valid::Capabilities::all(),
|
||||
);
|
||||
validator
|
||||
.validate(&module)
|
||||
.unwrap_or_else(|e| panic!("bloom_blur.wgsl: validation failed: {e:?}"));
|
||||
let mut entry_names: Vec<&str> = module
|
||||
.entry_points
|
||||
.iter()
|
||||
.map(|ep| ep.name.as_str())
|
||||
.collect();
|
||||
entry_names.sort();
|
||||
assert_eq!(entry_names, vec!["fs_main", "vs_main"]);
|
||||
}
|
||||
|
||||
/// Parses and fully validates the `bloom_composite.wgsl` shader (Étape 23) via naga.
|
||||
#[test]
|
||||
fn bloom_composite_shader_is_valid_wgsl() {
|
||||
let src = include_str!("../src/shaders/bloom_composite.wgsl");
|
||||
let module = naga::front::wgsl::parse_str(src)
|
||||
.unwrap_or_else(|e| panic!("bloom_composite.wgsl: parsing error: {e:?}"));
|
||||
let mut validator = naga::valid::Validator::new(
|
||||
naga::valid::ValidationFlags::all(),
|
||||
naga::valid::Capabilities::all(),
|
||||
);
|
||||
validator
|
||||
.validate(&module)
|
||||
.unwrap_or_else(|e| panic!("bloom_composite.wgsl: validation failed: {e:?}"));
|
||||
let mut entry_names: Vec<&str> = module
|
||||
.entry_points
|
||||
.iter()
|
||||
.map(|ep| ep.name.as_str())
|
||||
.collect();
|
||||
entry_names.sort();
|
||||
assert_eq!(entry_names, vec!["fs_main", "vs_main"]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user