Skip to content

v0.10.0-renderpass ergonomics

Compare
Choose a tag to compare
@tgfrerer tgfrerer released this 17 May 11:35
· 496 commits to wip since this release
3356bae

What's Changed

Api breaking changes

  • refactor encoder facade: added new specializations for Encoders: le::GraphicsEncoder, le::TransferEncoder, le::ComputeEncoder, le::RtxEncoder. You must choose one of these instead of the deprecated general le::Encoder. Based on which specialization you choose, this narrows down the choice of operations that can be done with an encoder to whatever is allowed with this particular type of encoder; this makes it harder to accidentally issue an encoder command which is not allowed in the context of a particular type of Renderpass (e.g. issueing a compute command in a Draw Pass...

Features / Fixes

  • command stream storage may now dynamically adapt to number of commands issued, and grow as needed.
  • Fixed an issue with non-continuous bindings in shaders - if bindings get optimised away by the shader comiler because they are not used in the shader code, this will crash the app on shader reload.
  • update Asterisks example to use gamepad input - this example is now even more arcade ;)
  • performance improvement: reduce number of api calls when dealing with linear allocator
  • add a new Setting for whether the renderer should verify argument state on each draw: LE_SETTING_BACKEND_SHOULD_CHECK_ARGUMENT_STATE, false by default on Release builds
  • simplify CommandBindVertexBuffers implementation

Full Changelog: v0.9.0-gamepad...v0.10.0-renderpass-ergonomics