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 {
|
||||
const fn to_msl(self) -> &'static str {
|
||||
match self {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user