blob: 6c5789f1548bc779105ddd57253b4c723e4727e5 [file] [log] [blame]
// SPDX-License-Identifier: Apache-2.0 OR MIT OR Unlicense
// Bitflags for each stage that can fail allocation.
let STAGE_BINNING: u32 = 0x1u;
let STAGE_TILE_ALLOC: u32 = 0x2u;
let STAGE_PATH_COARSE: u32 = 0x4u;
let STAGE_COARSE: u32 = 0x8u;
// This must be kept in sync with the struct in in the encoding crate.
struct BumpAllocators {
// Bitmask of stages that have failed allocation.
failed: atomic<u32>,
binning: atomic<u32>,
ptcl: atomic<u32>,
tile: atomic<u32>,
seg_counts: atomic<u32>,
segments: atomic<u32>,
blend: atomic<u32>,
lines: atomic<u32>,
struct IndirectCount {
count_x: u32,
count_y: u32,
count_z: u32,