Skip to content

This release brings with it a number of minor fixes and changes, as well
as a new feature for simulating, and partially counteracting, various
forms of color blindness. For more information see the new
`pl_cone_params` structure and `pl_get_cone_matrix` function.

- libplacebo can now be built against glslang directly instead of only
  via shaderc. Using the latter is still preferred as it allows us to
  get better diagnostics, but this should make it easier to port to
  platforms like android.
- VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR is now supported, and gets treated
- Add a new feature for simulating various forms of color blindness
  (based on the LMS color model).

- The build system now uses meson's built in tristate option syntax
  instead of doing it by hand. This requires using
  -Dfeature=enabled|disabled|auto instead of the old =true|false.
- Setting pl_render_params.upscaler/downscaler to NULL no longer allows
  automatically choosing bicubic, since this breaks various other
  optimizations that are only possible when using the built-in GPU
  sampling. This now only chooses bilinear/nearest depending on the
  texture/hardware capabilities.
- The public API of pl_shader_alloc was changed: the `uint8_t ident`
  field was removed. This makes no real sense to expose publicly, since
  users had no legitimate use for it other than setting it to `0`.

Fixes and performance improvements:
- The pl_dither_params.lut_size now gets correctly defaulted to 6.
- Fixed some use-after-scope bugs in the renderer.
- Fixed colorspace selection when using user-specified swapchain
- Fixed a build issue on platforms without VK_EXT_swapchain_colorspace
- Peak detection is now correctly disabled if the buffer size is set to
  0. (Before, it would default back to 63 in that case)
- Fix the out-of-gamut warning feature. This previously stopped working
  for out-of-range tone mapped values.