More cleanup
diff --git a/sparse_strips/vello_common/src/strip.rs b/sparse_strips/vello_common/src/strip.rs index a45d562..f4a36d5 100644 --- a/sparse_strips/vello_common/src/strip.rs +++ b/sparse_strips/vello_common/src/strip.rs
@@ -282,11 +282,8 @@ )); } - if USE_EARLY_CULL { + if USE_EARLY_CULL && !is_sentinel { for row in (prev_tile.y + 1)..tile.y { - if is_sentinel { - break; - } winding_delta = row_windings[row as usize] as i32; if should_fill(winding_delta) { strip_buf.push(Strip::new( @@ -304,12 +301,7 @@ } } - winding_delta = if !is_sentinel { - row_windings[tile.y as usize] as i32 - } else { - 0 - }; - + winding_delta = row_windings[tile.y as usize] as i32; if should_fill(winding_delta) && tile.x != 0 { strip_buf.push(Strip::new( 0,
diff --git a/sparse_strips/vello_common/src/strip_generator.rs b/sparse_strips/vello_common/src/strip_generator.rs index 02998be..5e3cfad 100644 --- a/sparse_strips/vello_common/src/strip_generator.rs +++ b/sparse_strips/vello_common/src/strip_generator.rs
@@ -154,15 +154,16 @@ self.row_winding.fill(0); } + let culling_opportunity; if self.use_early_culling { - self.use_early_culling = self.tiles.make_tiles_analytic_aa::<true>( + culling_opportunity = self.tiles.make_tiles_analytic_aa::<true>( &self.line_buf, self.width, self.height, &mut self.row_winding, ) } else { - self.use_early_culling = self.tiles.make_tiles_analytic_aa::<false>( + culling_opportunity = self.tiles.make_tiles_analytic_aa::<false>( &self.line_buf, self.width, self.height, @@ -205,6 +206,8 @@ &self.row_winding, ); } + + self.use_early_culling = culling_opportunity; } /// Reset the strip generator.