Revisions of libplacebo

Mia Herkt's avatar Mia Herkt (mia) accepted request 882726 from Niklas Haas's avatar Niklas Haas (haasn) (revision 38)
Update to v3.120.0
buildservice-autocommit accepted request 859747 from Mia Herkt's avatar Mia Herkt (mia) (revision 37)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (mia) committed (revision 36)
- Update to version 3.104.0
This is a major release, introducing many new features and
modifications. Most importantly, libplacebo now interoperates well
with FFmpeg's libav* abstractions. This is primarily exposed via a
new set of helpers, <libplacebo/utils/libav.h>, implemented as a
single header library. In addition to this, a number of other
supporting changes have been made to the API, most notably the
unification of `pl_image` and `pl_render_target` into a single
`pl_frame` concept, similar in spirit to AVFrame. As such,
libplacebo now supports **rendering to planar targets**, including
subsampled YCbCr.
Besides the libav* compatibility changes, this release also brings
with it a new feature for custom shaders: buffer blocks, and
persistent storage. This can be used by third parties to implement
stateful shaders (e.g. motion interpolation or temporal
deinterlacing), or be leveraged to speed up some shaders by
combining multiple passes into one.
Finally, various import/export procedures have been expanded,
including the ability to import host pointers and real-world
DMABUFs.
Additions:
  * add `pl_memory_qualifiers`, plus a corresponding
    `pl_shader_desc.memory`, to allow attaching GLSL memory
    qualifiers (coherent, volatile etc.) to shader descriptors
  * add functions `pl_dispatch_save` and `pl_dispatch_load` to
    allow saving/restoring the contents of an entire
    `pl_dispatch`'s cache
  * add functions `pl_renderer_save` and `pl_renderer_load` to
    allow saving/restoring the contents of an entire
    `pl_renderer`'s cache
buildservice-autocommit accepted request 849913 from Mia Herkt's avatar Mia Herkt (mia) (revision 35)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (mia) committed (revision 34)
- Update to version 2.72.2
This hotfix release fixes an additional glslang linking/build issue
that was missed in v2.72.1.
Bug fixes:
  * fix linking issue with some installations of glslang >= 11.0.0
Changes for 2.72.1:
This release backports a number of bug fixes from master affecting
the v2.72.0 release, most notably extending the range of supported
glslang versions, as well as fixing the 3DLUT/ICC generation code.
Bug fixes:
  * compatibility with glslang >= 8.13.3743
  * compatibility with new glslang semantic versioning scheme
  * fix broken shaders on some versions of GLES by defaulting to
    32-bit precision for floating point math
  * fix the vulkan API version passed to shaderc
  * fix the extension check for glInvalidateTexImage
  * fix pl_tex_create on older GLES versions
  * fix OpenGL logging thread safety
  * fix undefined memcmp() in pl_shader_av1_grain
  * fix pl_render_target.repr being ignored by pl_render_image
  * fix 3DLUT generation code (generated corrupt LUTs in all cases)
  * fix symbol visibility on some versions of GCC
  * fix potential overflow in BT.2390 shader
  * properly restrict pl_shader_sample_polar to GLSL >= 130
  * fix vulkan function loading of promoted core functions
Other changes:
  * tiny performance gain in 3DLUT generation
  * pl_opengl_create now logs GL_EXTENSIONS
  * log some additional VkResult enum members
  * improve several vulkan log messages by using friendly names of
buildservice-autocommit accepted request 814574 from Mia Herkt's avatar Mia Herkt (mia) (revision 33)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (mia) committed (revision 32)
- Update to version 2.72.0
This is a major release with several key additions, most notably
being the support for custom, mpv-style "user shaders" (.hook),
giving us access to a large variety of pre-existing user shaders
such as RAVU, FSRCNNX, Anime4K, SSimSuperRes, KrigBilateral,
NNEDI3, and more.
In addition to this, major additions include a completely
refactored and fixed AV1 grain generation shader, support for
Vulkan versions higher than 1.0, support for GPU-based timers,
and improved interop APIs for both Vulkan and OpenGL, and new
and improved aspect ratio handling.
Finally, this release also brings with it a major change to the way
HDR and SDR content are mapped between each other, including a new
tone-mapping function based on the industry-standard
ITU-R BT.2390 EETF.
Additions:
  * add pl_swapchain_hdr_metadata, to set HDR metadata on supported
    swapchains (currently only vulkan with VK_EXT_hdr_metadata)
  * add support for vulkan versions higher than 1.0, communicated
    via the new fields api_version and max_api_version
  * add support for GPU-assisted validation and best practices
    layers, via the new field pl_vk_inst_params.debug_extra
  * add helper functions for working with pl_rects, including new
    aspect ratio handling helpers (pl_rect2df_aspect_*)
  * add field pl_vulkan_params.device_uuid to allow choosing the
    vulkan device by its UUID
  * add function pl_vulkan_hold_raw, to hold images without
    actually transitioning its layout and access mode
  * add function pl_vulkan_import, to allow directly re-using an
    existing VkDevice rather than creating a new one; this requires
buildservice-autocommit accepted request 800533 from Mia Herkt's avatar Mia Herkt (mia) (revision 31)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (mia) committed (revision 30)
- Update to version 2.43.1
This release backports a number of bug fixes from master affecting
the v2.43.0 release, and also slightly extends the range of
backwards compatibility with respect to vulkan-headers versions.
(This change is not on master, so this can be seen as a
compatibility release)
Bug fixes:
  * fix GLSL version checks when overriding GLSL versions with
    pl_shader_params.glsl
  * fix minor order-of-operations issue in AV1 grain synthesis
  * fix glInvalidate* backwards compatibility issue
  * fix compilation with older vulkan-headers (e.g. ubuntu 18.04)
  * fix a bug where pl_shader_encode_color sometimes uploaded and
    applied an identity matrix unnecessarily
  * work around upstream issues with MSL shader compilation by
    ensuring all buffer elements are sorted by offset
  * fix hypothetical edge case with swapchain image usages
    forbidden by the swapchain image format
  * fix an issue where blending overlays caused the rest of the
    image to be discarded
Other changes:
  * log the vulkan surface selection choices
  * log the overall library version on initialization
  * add a few more pl_gpu validation checks
  * significantly reduce the CPU consumpation of blocking texture
    downloads
buildservice-autocommit accepted request 796364 from Mia Herkt's avatar Mia Herkt (mia) (revision 29)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (mia) committed (revision 28)
- Enable test suite
Mia Herkt's avatar Mia Herkt (mia) committed (revision 27)
- Add libepoxy to BuildRequires
- Update to version 2.43.0
The major highlight of this release is the introduction of a new
OpenGL backend, documented in <libplacebo/opengl.h>, which is also
the reason for the major version bump.
Apart from the addition of OpenGL support, this release brings with
it a large number of fixes for backwards compatibility with older
versions of GLSL and GLES, allowing libplacebo to be used to
generate legal shaders for virtually any GLSL version in existence.
Supporting these changes, the test framework has been expanded
considerably to allow for automated testing of older OpenGL context
versions and older GLSL versions.
Additions:
  * add pl_gpu.pci, containing the PCI address of the underlying
    GPU
  * add pl_image.av1_grain, allowing pl_renderer to add AV1 grain
  * add pl_opengl backend (see <libplacebo/opengl.h>)
  * add pl_color_levels_guess, to infer color levels from
    pl_color_repr
  * pl_shader_encode_color now handles non-linear color systems
  * add pl_render_params.force_dither, to force use of the dither
    code
  * add pl_render_params.disable_fbos, to forcibly disable FBOs
  * add pl_vk_inst_params.layers, to allow loading extra vulkan
    layers
  * add a way to restrict the maximum GLSL version provided by the
    various pl_gpu backends, for testing purposes
Changes:
  * load all vulkan function pointers indirectly, using a
    user-provided vkGetInstanceProcAddr function
buildservice-autocommit accepted request 759132 from Mia Herkt's avatar Mia Herkt (lachs0r) (revision 26)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (lachs0r) committed (revision 25)
- Update to version 1.29.1
This is a minor bug fix follow-up, to address one major and two
minor issues with the v1.29.0 release.
Fixes:
  * segfault in the test framework on platforms without vulkan
  * error message spam when rendering to minimized/hidden windows
  * compilation on certain glslang versions
buildservice-autocommit accepted request 758911 from Mia Herkt's avatar Mia Herkt (lachs0r) (revision 24)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (lachs0r) committed (revision 23)
- Update to version 1.29.0
  The key highlights of this release are the change of pl_gpu API
  semantics to use explicit erroring instead of implicit undefined
  behavior, and several important bug fixes related to swapchain
  resizing (in particular, handling of suboptimal swapchains);
  as well as other minor utility changes, bug fixes and performance
  improvements.
  The new pl_gpu API allows clients to duplicate less code related
  to checking parameters and capabilities, as long as they're fine
  with the resulting error messages they might receive. In
  particular, libplacebo no longer aborts on invalid parameters -
  which helped during initial development, but is now suffocating
  clients more than it's helping.
Additions:
  * add a new field pl_fmt.internal_size, which can differ from
    texel_size for emulated formats
  * add 16f / 64f texture formats with host-emulated 32f
    representation
  * expose a pl_vulkan_choose_device helper function
  * add a mechanism for allowing the user to explicitly resize
    suboptimal swapchains rather than having libplacebo take care
    of it
Changes:
  * make pl_gpu log and error gracefully on illegal parameters
    rather than doing undefined behavior (i.e. aborting)
  * creating a host_mapped buffer now requires
    PL_GPU_CAP_MAPPED_BUFFERS
  * drop priv fields from public structs
Fixes and performance improvements:
  * make libplacebo slightly less log spammy in general
buildservice-autocommit accepted request 741633 from Mia Herkt's avatar Mia Herkt (lachs0r) (revision 22)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (lachs0r) committed (revision 21)
- Update to version 1.21.0
  This is a minor / house-keeping release, mostly to get some
  important fixes into distros while also getting support for iGPUs
  requiring non-coherent memory into a "stable" release.
  Additions:
  * shaders.h API users can now override the GLSL version
  * add support for vulkan platforms with non-coherent memory
    (e.g. iGPUs)
  Changes:
  * default GLSL version is now 130 unless otherwise specified
  * signature of pl_shader_alloc now uses a params struct
  * PL_FIX_VER / PL_VERSION are no longer header constants
  * the renderer will now automatically adjust deband grain scale
    for HDR
  Fixes and performance improvements:
  * on GLSL < 130, shaders now correctly use texture2D etc.
  * fix a bug where async transfer was never actually used, due to
    incorrect alignment checks
  * fixed some issues that could lead to symbol conflicts
  * don't require large vertex buffers be host-visible
    (usually impossible)
  * correctly detect swapchain image feature flags
  * turned a few 1ms busy loops into infinite waits
  * fix compilation on some platforms that require SPIRV-Tools
  * fix vkCreateEvent error spam on MoltenVK
  * bump queued command limit from 64 to 1024
buildservice-autocommit accepted request 679082 from Mia Herkt's avatar Mia Herkt (lachs0r) (revision 20)
baserev update by copy to link target
Mia Herkt's avatar Mia Herkt (lachs0r) committed (revision 19)
- Build with (preferred) shaderc now that it’s packaged in TW
- Update to version 1.18.0
  The major changes of this release include a new and completely
  overhauled HDR tone mapping algorithm, support for importing
  backing memory for textures and buffers (such as via dmabuf fds),
  as well as a swapchain resizing API that, among other benefits,
  allows libplacebo to function properly on Wayland.
  There is also now support for generating CPU-backed "dummy
  resources" for things like lookup tables or convolution kernels,
  for users who prefer managing their own GPU resources.
  This allows pl_shader-level API users to access the full host of
  libplacebo shaders without being restricted the lack of a pl_gpu.
  Additions:
  * pl_color_space now has a sig_scale field, which allows
    modifying the signal range without affecting the transfer
    function's shape. (Effectively, by "stretching" it).
    This can be useful when dealing with HDR material encoded in a
    non-HDR curve such as linear light.
  * Add support for importing handles (including pl_sync objects
    and pl_shared_mem). Currently, only memory can be imported.
  * Add partial support for dmabuf fd interop. Currently does not
    support dma layout modifiers, so the usefulness of this feature
    is limited.
  * Allow importing external memory when creating textures.
  * Add a way to overexpose HDR material to bring its brightness up
    to more easily viewable levels.
  * Add pl_var_int to go alongside the other gpu.h helpers.
  * Add a way to create CPU-backed "dummy" instances of pl_gpu.
    These are not capable of compiling or executing any shaders,
    so they're only useful for users who want to generate and
Displaying revisions 41 - 60 of 78
openSUSE Build Service is sponsored by