Skip to content

librashader v0.1.0-rc.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@chyyran chyyran released this 13 Feb 05:50
· 510 commits to master since this release

Starting with RC 3, librashader distributions come in two flavours

  • debug
  • optimized

The debug build comes with debug symbols in the binary. optimized should be used for distribution.
This release does not have an optimized build because Vulkan builds were broken with LTO on until b81f415.

Notable changes since RC 2

Mostly bug fixes and ABI-breaking QOL improvements in the C API before releasing a numbered release, and improved multithreaded capabilities to allow asynchronous filter chain creation. D3D12 mipmap fixes bring the D3D12 runtime to rendering parity with the rest of the runtimes.

The D3D11 API had to be broken to allow this, and no longer keeps an internal deferred context. The new API is more like the Vulkan or D3D12 implementations where a ID3D11DeviceContext can be passed to frame. If NULL is passed, then it defaults to the immediate context for the old default behaviour.

  • 0cb6f6a d3d11: Be deferred context agnostic in frame
  • 55e800b d3d12: Fix mipmaps of intermediate passes
  • f2357f9 d3d12: Fix format fallback when mipmaps are needed
  • abadfb3 d3d12: Compile the mipmap shader with Dxc
  • 3c15a3a Fix calculation of required history framebuffers
  • 009e740 vk: Use gpu-allocator for memory management
  • fa6cd87 vk/d3d11/d3d12: Allow deferring GPU-side initialization of filter chains
  • bc45729 Replace cargo post with a custom build script
  • QOL improvements in the C API
    • 2b250db Make _opt structs more forwards compatible by adding an explicit API version field
    • d925dc9 Add a helper to ensure ABI compatibility between loaded versions
    • cff4f65 Add a loader flag to check if the instance is loaded