mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-12-08 21:26:17 +00:00
Remove flaky test_stack_size (#7739)
This commit is contained in:
parent
ffd5b9aeea
commit
6ead025a95
@ -7211,79 +7211,6 @@ mod workgroup_mem_init {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_stack_size() {
|
|
||||||
use crate::valid::{Capabilities, ValidationFlags};
|
|
||||||
// create a module with at least one expression nested
|
|
||||||
let mut module = crate::Module::default();
|
|
||||||
let mut fun = crate::Function::default();
|
|
||||||
let const_expr = fun.expressions.append(
|
|
||||||
crate::Expression::Literal(crate::Literal::F32(1.0)),
|
|
||||||
Default::default(),
|
|
||||||
);
|
|
||||||
let nested_expr = fun.expressions.append(
|
|
||||||
crate::Expression::Unary {
|
|
||||||
op: crate::UnaryOperator::Negate,
|
|
||||||
expr: const_expr,
|
|
||||||
},
|
|
||||||
Default::default(),
|
|
||||||
);
|
|
||||||
fun.body.push(
|
|
||||||
crate::Statement::Emit(fun.expressions.range_from(1)),
|
|
||||||
Default::default(),
|
|
||||||
);
|
|
||||||
fun.body.push(
|
|
||||||
crate::Statement::If {
|
|
||||||
condition: nested_expr,
|
|
||||||
accept: crate::Block::new(),
|
|
||||||
reject: crate::Block::new(),
|
|
||||||
},
|
|
||||||
Default::default(),
|
|
||||||
);
|
|
||||||
let _ = module.functions.append(fun, Default::default());
|
|
||||||
// analyse the module
|
|
||||||
let info = valid::Validator::new(ValidationFlags::empty(), Capabilities::empty())
|
|
||||||
.validate(&module)
|
|
||||||
.unwrap();
|
|
||||||
// process the module
|
|
||||||
let mut writer = Writer::new(String::new());
|
|
||||||
writer
|
|
||||||
.write(&module, &info, &Default::default(), &Default::default())
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
{
|
|
||||||
// check expression stack
|
|
||||||
let mut addresses_start = usize::MAX;
|
|
||||||
let mut addresses_end = 0usize;
|
|
||||||
for pointer in writer.put_expression_stack_pointers {
|
|
||||||
addresses_start = addresses_start.min(pointer as usize);
|
|
||||||
addresses_end = addresses_end.max(pointer as usize);
|
|
||||||
}
|
|
||||||
let stack_size = addresses_end - addresses_start;
|
|
||||||
// check the size (in debug only)
|
|
||||||
// last observed macOS value: 25904 (CI), 2025-04-29
|
|
||||||
if !(11000..=27000).contains(&stack_size) {
|
|
||||||
panic!("`put_expression` stack size {stack_size} has changed!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
// check block stack
|
|
||||||
let mut addresses_start = usize::MAX;
|
|
||||||
let mut addresses_end = 0usize;
|
|
||||||
for pointer in writer.put_block_stack_pointers {
|
|
||||||
addresses_start = addresses_start.min(pointer as usize);
|
|
||||||
addresses_end = addresses_end.max(pointer as usize);
|
|
||||||
}
|
|
||||||
let stack_size = addresses_end - addresses_start;
|
|
||||||
// check the size (in debug only)
|
|
||||||
// last observed macOS value: 22256 (CI)
|
|
||||||
if !(15000..=25000).contains(&stack_size) {
|
|
||||||
panic!("`put_block` stack size {stack_size} has changed!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl crate::AtomicFunction {
|
impl crate::AtomicFunction {
|
||||||
const fn to_msl(self) -> &'static str {
|
const fn to_msl(self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user