v0.10.0-renderpass ergonomics
tgfrerer
released this
17 May 11:35
·
564 commits
to wip
since this release
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 generalle::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 acompute
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