librashader 0.2.0
Version 0.2.0 has the canonical C ABI version 1
, and API version 1
.
The notable changes for this release include wgpu and Metal runtimes, support for new scaling options, and preset path wildcards.
Breaking changes
363657d makes Render Passes the default rendering mode on Vulkan and makes dynamic rendering opt-in. This is an API breaking change and will affect existing users using the Vulkan C API. This does not break ABI and users with VK_KHR_dynamic_rendering
support will notice no difference, but users on Vulkan 1.2 and later GPUs will need to stay on librashader 0.1.4, or the application needs to be updated with new librashader.h
headers.
If you are an existing user of librashader that is unable to update your application, and this is affecting your users please file an issue. There are mechanisms in place to restore the previous API via the API-versioning mechanism but they were not implemented due to a belief that few users of librashader are currently using the Vulkan C API, and a decision was made to reduce code complexity rather than add in API-preserving behaviour.
Rust users are not considered affected due to the different versioning policies between the Rust and C APIs.
Notable changes
- #24 wgpu: add a wgpu runtime by @chyyran
- #24 metal: add a Metal runtime by @chyyran
- #37 presets: add support for preset path wildcards by @chyyran
- #43 reflect: support
scale = "original"
,Rotation
,FinalSubFrame
,CurrentSubFrame
shader semantics by @chyyran - #44 reflect(glsl): don't unset vertex input positions (fixes OpenGL on macOS) by @chyyran
- #36 build: update build-script to support macOS and non-linux unixes by @LukeUsher
- #34 reflect: replace shaderc with glslang directly by @chyyran
- #21 build: update spirv-to-dxil-sys to remove mesa build reqs by @chyyran
- #32 build: build packages for some Linux distributions
- vulkan: bugfixes and improvements by @chyyran
New Contributors
- @LukeUsher made their first contribution in #36
Full Changelog: librashader-v0.1.4...librashader-v0.2.0