Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions crates/anyrender_vello/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this crate are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Fixed

- A `wgpu::PollError::Timeout` from the completion `poll` at the end of `WindowRenderer::render` no longer panics. The frame has already been presented at that point, so the error is dropped instead of bringing the process down (#96).

## [0.14.0] - 2026-08-16

### Added
Expand Down
10 changes: 7 additions & 3 deletions crates/anyrender_vello/src/window_renderer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -487,10 +487,14 @@ impl WindowRenderer for VelloWindowRenderer {
}
timer.record_time("present");

render_surface
// A timeout here means the driver has not signalled the submission
// complete. The frame has already been presented, so there is nothing to
// retry and nothing to skip; carrying on is strictly better than
// bringing the process down. Same reasoning as the
// `maybe_blit_and_present` check above.
let _ = render_surface
.device()
.poll(wgpu::PollType::wait_indefinitely())
.unwrap();
.poll(wgpu::PollType::wait_indefinitely());

timer.record_time("wait");
timer.print_times("vello: ");
Expand Down
6 changes: 6 additions & 0 deletions crates/anyrender_vello_hybrid/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this crate are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Fixed

- A `wgpu::PollError::Timeout` from the completion `poll` at the end of `WindowRenderer::render` no longer panics. The frame has already been presented at that point, so the error is dropped instead of bringing the process down (#96).

## [0.10.0] - 2026-08-16

### Changed
Expand Down
10 changes: 7 additions & 3 deletions crates/anyrender_vello_hybrid/src/window_renderer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -539,10 +539,14 @@ impl WindowRenderer for VelloHybridWindowRenderer {
}
timer.record_time("present");

render_surface
// A timeout here means the driver has not signalled the submission
// complete. The frame has already been presented, so there is nothing to
// retry and nothing to skip; carrying on is strictly better than
// bringing the process down. Same reasoning as the
// `maybe_blit_and_present` check above.
let _ = render_surface
.device()
.poll(wgpu::PollType::wait_indefinitely())
.unwrap();
.poll(wgpu::PollType::wait_indefinitely());

timer.record_time("wait");
timer.print_times("vello_hybrid: ");
Expand Down