Notable WebGPU CTS changes:
- Demotions from tier 2 to tier 3:
- `webgpu:shader,execution,expression,unary,{i32,u32}_conversion:f32:*` started regressing on Windows.
- Promotions to tier 2 from tier 3:
- Across all platforms:
- `webgpu:shader,execution,expression,call,builtin,cross:f32:*`
- `webgpu:shader,execution,expression,unary,i32_conversion:abstract_float:*`
- `webgpu:shader,execution,expression,unary,u32_conversion:abstract_float:*`
- `webgpu:shader,execution,limits:nesting_depth_braces:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:vector_copy:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:vector_elementwise:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:vector_mixed:*`
- `webgpu:shader,validation,expression,call,builtin,value_constructor:scalar_zero_value:*` was promoted on Linux and Windows, but stays in macOS on account of failing `f16` functionality. My guess is that these failures are also present on the other platforms, but we don't see the because `shader-f16` is not aviailable on our other CI platforms yet.
- From macOS, completing the set of all platforms passing:
- `f16` functionality, which, again, was likely not visible on our other CI platforms before:
- `webgpu:shader,execution,expression,call,builtin,cross:f16:*`
- `webgpu:shader,validation,decl,override:type:*`
- `webgpu:api,validation,capability_checks,limits,maxUniformBufferBindingSize:createBindGroup,at_over:*`
was promoted on Windows.
Differential Revision: https://phabricator.services.mozilla.com/D243593
38 lines
771 B
Rust
38 lines
771 B
Rust
#![allow(dead_code)]
|
|
|
|
use std::{collections::HashMap, fs::File};
|
|
|
|
use ron::de::from_reader;
|
|
use serde::Deserialize;
|
|
|
|
#[derive(Debug, Deserialize)]
|
|
struct Config {
|
|
boolean: bool,
|
|
float: f32,
|
|
map: HashMap<u8, char>,
|
|
nested: Nested,
|
|
tuple: (u32, u32),
|
|
vec: Vec<Nested>,
|
|
}
|
|
|
|
#[derive(Debug, Deserialize)]
|
|
struct Nested {
|
|
a: String,
|
|
b: char,
|
|
}
|
|
|
|
fn main() {
|
|
let input_path = format!("{}/examples/example.ron", env!("CARGO_MANIFEST_DIR"));
|
|
let f = File::open(input_path).expect("Failed opening file");
|
|
let config: Config = match from_reader(f) {
|
|
Ok(x) => x,
|
|
Err(e) => {
|
|
println!("Failed to load config: {}", e);
|
|
|
|
std::process::exit(1);
|
|
}
|
|
};
|
|
|
|
println!("Config: {:?}", &config);
|
|
}
|