-
v0.2.03b5fd083 · ·
v0.2.0 Additions: - Add a public "renderer" API. This is currently very WIP, and not ready for stable usage yet. Both the API and the implementation are in flux, but the general goal is to make it easier to use libplcaebo to just render some data in the optimal way. - Add pl_deband_default_params - Expand shader system to support shader merging. This is not directly publicly useful yet, but it's used internally in the renderer. - Allow dispatching to sub-rects of the render target - Expand the scaling API to allow disabling antialiasing - Add high quality dithering algorithms (blue noise, arbitrary size bayer matrix). This uses a new, genearlized shader LUT mechanism which allows the LUT to manifest itself either as a texture, a uniform float[] or as an in-line constant array depending on environment/hardware capabilities. As such, this can be used to enable dithering even without the use of a RA. Changes: - Minor RA API changes here and there (e.g. signed -> unsigned stride) Fixes: - Improved check logic for various shaders - More descriptive variable names in some of the generated shaders - Fix overflow when dithering to bit depths greater than 32 - Fix the RA format finding logic in some cases - Make the scalers correctly support flipped scaling rects - Fix some incorrect vulkan texture barriers - Fix some locale issues on BSD - GLSL 120 compat fix with the dithering algorithm - Fix vulkan command polling logic to avoid blocking for longer than intended
-
v0.1.07eb7a054 · ·
Release v0.1.0 This represents the initial release, mostly so we can get VLC with basic libplacebo support out of the way. As of v0.1, libplacebo only supports vulkan, and only exposes the low-level interfaces (dispatch, shader, ra). So as of now, libplacebo is only useful either as a GLSL shader generator (shaders.h), or as an offline tool for processing images (dispatch.h + vulkan). There is currently no high-level image/video rendering interface, and no support for OpenGL whatsoever. OpenGL support is planned for v0.2, and the addition of a high level renderer is planend for v0.3.