This release has an MSRV of 1.85.
Added
- Breaking: Support for pipeline caches. (#524 by @DJMcNab)
- Implement
Default
forRendererOptions
. (#524 by @DJMcNab)
RendererOptions {
// ...
+ ..Default::default()
}
Removed
- Breaking:
Renderer::render_to_surface
has been removed. (#803 by @DJMcNab)
This API was not fit for purpose, as it assumed that you would only ever use a single window.
The new recommended way to use Vello to render to a surface is to useRenderer::render_to_texture
to render to an
intermediate texture, then blit from that to the surface yourself.
We suggest using theTextureBlitter
utility fromwgpu
.
For users of theutil
module, it has been updated to create a suitable blit pipeline and intermediate texture for each surface.
+let target_view = /* cached: device.create_texture(/* size of surface*/).create_view(...) */;
- device.render_to_surface(..., &surface_texture, ...);
+ device.render_to_texture(..., &target_view, ...);
+let mut encoder = device.create_command_encoder(&wgpu::CommandEncoderDescriptor {
+ label: Some("Surface Blit"),
+});
+blitter.copy(
+ &device,
+ &mut encoder,
+ &target_view,
+ &surface_texture.create_view(&wgpu::TextureViewDescriptor::default()),
+);
+queue.submit([encoder.finish()]);
Changed
- Breaking: wgpu has been updated to wgpu 24. (#791 by @songhuaixu)
This has been chosen to match the version used by Bevy 0.16.
(Note that we do not guarantee that our latest release will always match Bevy's wgpu version) - Breaking:
override_image
has been updated to remove its use ofArc
, aswgpu::Texture
s are now internally reference counted. (#802 by @DJMcNab)
This release also coincides with the release of v0.5.0 of Vello Shaders:
and Vello Encoding:
New Contributors
- @songhuaixu made their first contribution in #791
- @grebmeg made their first contribution in #826
- @LaurenzV made their first contribution in #827
- @taj-p made their first contribution in #864
- @spirali made their first contribution in #892
- @sagudev made their first contribution in #973
Full Changelog: v0.4.0...v0.5.0