Skip to content

librashader 0.6.2

Latest
Compare
Choose a tag to compare
@chyyran chyyran released this 20 Nov 00:05

Version 0.6.2 has the canonical C ABI version 2, and API version 2.

librashader 0.6.2 brings quite a few new features recently introduced in RetroArch, as well as a wealth of bugfixes. Beginning with the 0.6.x series, the wgpu runtime as a fully supported runtime alongside the Direct3D11/12, OpenGL, Vulkan, and Metal runtimes.

Note the API bump for the C API. API 2 enables the libra_preset_create_with_options API as well as frametime and aspect ratio uniforms.

Version 0.6.0 was skipped due to a release configuration error. Version 0.6.1 is identical to 0.6.2 except for some minor WGPU optimizations and doc fixes.

Notable Changes

  • #150 fix: create a history queue if only OriginalHistory1 is used
  • #149 runtime: add FrameTimeDelta, OriginalFPS, OriginalAspect, and OriginalAspectRotated uniforms
    • For these uniforms to work properly, the corresponding ShaderFlags in the Rust API or libra_preset_create_with_options in the C API must be used to emit the requisite defines in the compiled shader.
    • Passing in an aspect ratio of 0 will infer the aspect ratio from the original source. This behaviour will be overridden by any other value passed into frame options.
    • The libra_preset_create and libra_preset_create_with_context C API functions are now deprecated but will continue to be available for backwards compatibility purposes.
  • #144 preprocess: add support for #pragma include_optional
  • #140 wgpu: update wgpu to 23 and promote to fully supported
    • A lot of background work was needed to get here, including an inverse polyfill added to naga in gfx-rs/wgpu#6385, and removing OpModf from glslang outputs in KhronosGroup/glslang#3757.
    • FSR shaders are still explicitly unsupported as ImageGather parsing for SPIR-V is still unimplemented in naga.
    • Shaders such as Mega Bezel finally work with wgpu!
  • e93a9eb cache: delete the cache when loading the cache panics
    • This will avoid shaders failing to load, requiring users to delete %localappdata%\librashader\librashader.db.1 on Windows.

Other Changes (0.6.2)

  • #152 wgpu: reduce unnecessary Arc clones