Skip to content
dream-soft-render

dream-soft-renderChangelog

Changelog

Every release of dream-soft-render, newest first. A release marked unreleased is declared in mod.toml and published when its tag is pushed.

Releases

1 declared

  1. 1.0.0 stable 2026-09-28

    First release: the software rasterizer from dream-ini’s PortMaster build, with a drawing API of its own and egui as an option.

    Added

    • SoftwareRenderer and Frame: clear, fill_rect, textured_rect and mesh, rasterized immediately into a premultiplied RGBA8 surface.
    • create_texture, update_texture and free_texture, with handles issued process-wide and never reused.
    • Color, Vertex, Rect, ClipRect and TextureId, and one Error type for every rejected call.
    • The egui feature: render_egui, RenderFrame, RenderOutcome, and skipping frames whose output did not change.
    • NEON kernels on AArch64 for translucent spans, textured and glyph rows, gradient rows and coverage scans, held byte for byte to the portable code.
    • The draw and frame benchmarks, and golden hashes of four whole frames.

    Known issues

    • A surface wider or taller than 65535 pixels is accepted and draws wrong past pixel 65535. Refused on the default branch.
    • A texture wider or taller than 65536 texels is accepted and samples the wrong texels. Refused on the default branch.
    • In render_egui, a frame after one whose texture uploads failed part way can be skipped as unchanged and keep the old texels. Fixed on the default branch.
    • In render_egui, textures egui releases in a frame that fails stay in the store and count against the budget. Fixed on the default branch.
    • In render_egui, a mesh with an index past its vertices, or a trailing partial triangle, is skipped instead of failing the frame. Fixed on the default branch.
    dream-soft-render 1.0.0 133.60 kB · crates.io
    View on crates.io
    Verify · sha256 77cfb5e928da…d5147326
    File
    dream-soft-render-1.0.0.crate
    Size
    136806 bytes
    SHA-256
    77cfb5e928da15f9baaea82bd581e2ff20a4ba8f6aee2baaaee5ae4bd5147326

    The same digest as the crates.io index's checksum, which Cargo checks on every download.