Skip to content

librashader 0.2.0

Compare
Choose a tag to compare
@chyyran chyyran released this 16 Feb 23:33
· 300 commits to master since this release

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
    • 363657d vulkan: make dynamic rendering disabled-by-default
    • b47b27f vulkan: update gpu-allocator
    • 3d74f27 vulkan: fix double free in RawVulkanBuffer
    • b796494 build: don't link to libvulkan

New Contributors

Full Changelog: librashader-v0.1.4...librashader-v0.2.0