Skip to content

Commit

Permalink
rebase on trunk
Browse files Browse the repository at this point in the history
  • Loading branch information
schell committed Jun 23, 2024
1 parent ff359c4 commit 6df6ec9
Showing 1 changed file with 31 additions and 14 deletions.
45 changes: 31 additions & 14 deletions naga/src/front/atomic_upgrade.rs
Original file line number Diff line number Diff line change
Expand Up @@ -218,24 +218,41 @@ mod test {
fn atomic_test(bytes: &[u8]) {
let _ = env_logger::builder().is_test(true).try_init();
let m = crate::front::spv::parse_u8_slice(bytes, &Default::default()).unwrap();
let mut validator =
crate::valid::Validator::new(crate::valid::ValidationFlags::all(), Default::default());
let info = match validator.validate(&m) {
Err(e) => {
log::error!("{}", e.emit_to_string(""));
return;
}
Ok(i) => i,
};
let wgsl =
crate::back::wgsl::write_string(&m, &info, crate::back::wgsl::WriterFlags::empty())
.unwrap();
log::info!("wgsl-out:\n{wgsl}");

let mut wgsl = String::new();
let mut should_panic = false;

for vflags in [
crate::valid::ValidationFlags::all(),
crate::valid::ValidationFlags::empty(),
] {
let mut validator = crate::valid::Validator::new(vflags, Default::default());
match validator.validate(&m) {
Err(e) => {
log::error!("SPIR-V validation {}", e.emit_to_string(""));
should_panic = true;
}
Ok(i) => {
wgsl = crate::back::wgsl::write_string(
&m,
&i,
crate::back::wgsl::WriterFlags::empty(),
)
.unwrap();
log::info!("wgsl-out:\n{wgsl}");
break;
}
};
}

if should_panic {
panic!("validation error");
}

let m = match crate::front::wgsl::parse_str(&wgsl) {
Ok(m) => m,
Err(e) => {
log::error!("{}", e.emit_to_string(&wgsl));
log::error!("round trip WGSL validation {}", e.emit_to_string(&wgsl));
panic!("invalid module");
}
};
Expand Down

0 comments on commit 6df6ec9

Please sign in to comment.