Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2018-12-18 14:58:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libplacebo" Tue Dec 18 14:58:29 2018 rev:4 rq:658775 version:1.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes 2018-07-31 15:59:45.371582747 +0200 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.28833/libplacebo.changes 2018-12-18 15:00:00.194105636 +0100 @@ -1,0 +2,173 @@ +Sun Dec 16 14:50:22 UTC 2018 - Martin Herkt <[email protected]> + +- Remove baselibs.conf since nothing needs it +- Fix build due to missing shaderc, which is optional +- Switch to new upstream URL +- Update to version 1.7.0 + This release marks the first major release of libplacebo, in tune + with the release of VLC 4, which will be the first major project + using it. Apart from API stability going forwards, this release + brings with it a new AV1 film grain shader, better + interoperability between libplacebo and external APIs like CUDA + (via shared buffers and shared textures), and ICtCp support. + + While not strictly part of libplacebo, one of the highlights + since the previous release includes the existence of a new + example file demos/video-filtering.c which illustrates how one + would use libplacebo to do GPU-based image filtering in something + like FFmpeg or mpv. + +Additions: + + * Add a new function pl_gpu_finish which blocks until all + oustanding rendering on this pl_gpu is finished. + * Add new functions pl_tex_recreate and pl_buf_recreate, which + work like pl_tex/buf_create but take a pointer to an existing + tex/buf that will get destroyed + recreated only when necessary + * Add a new function pl_shader_is_failed which will return true + if a given shader is in a "failed" state. Shaders will be + marked as failed on any internal/usage error, rather than them + being silently ignored. + * Add a new enum pl_channel to clarify and encode friendly names + for the often-referenced "canonical channel order". + * Add a new header libplacebo/shaders/av1.h which currently + contains a function pl_shader_av1_grain for applying AV1 film + grain on the GPU. + * Add a new concept of an "exportable" object (buffers and + textures). Exportable objects can be exported using a handle + and imported into other foreign APIs such as CUDA. + The new functions pl_buf_export and pl_tex_export must be used + to correctly synchronize access to the object. This also adds + new fields uuid and handle_caps to pl_gpu. + * Supporting the previous feature, add a new field memory_type + to pl_buf_params which can be used to influence what type of + memory to allocate a buffer from. Currently only works for + texture transfer buffers, since allocating uniform/storage + buffers from non-VRAM makes little sense. + * Add a new synchronization primitive wrapper, pl_sync, which + wraps a semaphore pair and must be used to synchronize access + to textures with external, asynchronous APIs. + * Implement the ITU-R BT.2100 ICtCp color system. Since the + libplacebo color systems are not strictly tied to any + particular transfer function, we must explicitly mark which + flavor of ICtCp is meant. + * Add a new field instance_params which can be used to influence + the parameters used when pl_vulkan_create ends up creating an + internal instance. + * Add a new function pl_vulkan_unwrap which allows users to + unwrap a vulkan-baed pl_tex to expose the internal VkImage, + allowing simultaneous use (via pl_vulkan_hold/release) similar + to wrapped external images. + * Add new generic helper functions pl_std430_layout and + pl_std140_layout which replace the old pl_buf_uniform_layout, + pl_buf_storage_layout and pl_push_constant_layout. + +Changes: + + * Empty device names ("") can now be passed to pl_vulkan_create. + They will be treated as if NULL was passed. + * The out_plane parameter of pl_upload_plane is now optional. + * Clarify/Relax the restrictions on pl_buf usage and polling. + Users are technically free to use pl_buf for multiple + simultaneous libplacebo operations. Buffer polling is only + needed for accesses by the host. + * pl_vulkan_hold now returns a bool indicating success. + * pl_buffer_var has been moved from gpu.h's pl_desc to + shaders.h's pl_shader_desc. Describing the individual variables + of a descriptor binding had zero practical application. + * pl_buf_uniform_layout, pl_buf_storage_layout and + pl_push_constant_layout are now macros for pl_std140_layout + and pl_std430_layout (respectively). + This changed the signature to drop the pl_gpu parameter. + * The buf_offset parameter to pl_tex_transfer no longer needs to + be strictly aligned to a multiple of 4. The minimum alignment + is now 1, however users are strongly recommended to stick to + the multiple-of-4 alignment (or ideally align_tex_xfer_offset) + for performance reasons. + * The chromatic adaptation method in pl_get_color_mapping_matrix + has been adjusted. We now use an LMS model derived from + CIECAM97's revised linear Bradford matrix, rather than the + non-linear matrix that was being used previously (incorrectly + so, due to the lack of the required nonlinearity). + * The order of fields in pl_rect3d has been changed for + consistency with the other rect types. + +Fixes and performance improvements: + + * Fix std140/std430 packing errors for vec3. + * Skip unnecessary flush in pl_buf_poll noop cases. + * Fix variable collision in sh_prng. + * Don't leak glslang internal symbols on supported platforms. + * Fix an issue where pl_pass_run was stricter than intended about + compatibility with between target and target_dummy. + * Fix an issue where pl_dispatch could sometimes try dispatching + shaders with an incompatible target. + * Fix an error in the heuristic for choosing the optimal image + layout for vulkan render passes. + * Improved debugging messages in several places. + * Slightly speed up lookups from texture LUTs. + * Fix the addressing of shader LUTs in some hypothetical cases. + * Correctly flush the contents of host-readable buffers after + modifications made by the GPU. + * Fix synchronization on pl_buf_write with non-mapped buffers. + * Fix undefined behavior when using push descriptors. + * Slightly speed up some texture recreate operations by + invalidating re-used textures. + * Fix an issue when trying to update large (>64k) VRAM-resident + buffers. + * Fix two address calculation bugs in pl_tex_blit. + * Fix an over-read bug when the size of the vertex data changed + for otherwise identical passes. + * Fix a misalignment that could theoretically happen with some + combinations of (odd) texel sizes and device alignment + requirements. + * Fix UB when creating "useless" images (without any usage flags) + * Fix a vulkan device memory leak when destroying large textures. + * Fix an alignment issue that could happen sometimes with + pl_buf_write for odd write sizes. + * Fix an alignment bug when uploading partial textures when async + transfer is enabled on some devices. + * Fix crash in pl_color_primaries_is_wide_gamut on DISPLAY_P3. + * Fix an error when re-using shader objects between polar and + non-polar samplers. This is now safe to do. + +------------------------------------------------------------------- +Fri Sep 28 11:18:38 UTC 2018 - Martin Herkt <[email protected]> + +- Add C/C++ compilers, glslang and lcms2 to BuildRequires +- Update to version 0.6.0 + 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. + + Additions: + * VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR is now supported, and gets + treated as PL_ALPHA_UNKNOWN. + * Add a new feature for simulating various forms of color + blindness (based on the LMS color model). + + Changes: + * 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 + formats + * 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. + + +------------------------------------------------------------------- Old: ---- baselibs.conf libplacebo-0.5.0.tar.gz New: ---- libplacebo-v1.7.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libplacebo.spec ++++++ --- /var/tmp/diff_new_pack.bQkyWA/_old 2018-12-18 15:00:01.494103681 +0100 +++ /var/tmp/diff_new_pack.bQkyWA/_new 2018-12-18 15:00:01.494103681 +0100 @@ -12,22 +12,25 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # -%define sover 5 +%define sover 7 Name: libplacebo -Version: 0.5.0 +Version: 1.7.0 Release: 0 Summary: Library for GPU-accelerated video/image rendering primitives License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ -URL: https://github.com/haasn/libplacebo -Source0: https://github.com/haasn/libplacebo/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Source99: baselibs.conf -BuildRequires: meson +URL: https://code.videolan.org/videolan/libplacebo +Source0: https://code.videolan.org/videolan/libplacebo/-/archive/v%{version}/libplacebo-v%{version}.tar.bz2 +BuildRequires: c++_compiler +BuildRequires: c_compiler +BuildRequires: glslang-devel +BuildRequires: meson >= 0.47.0 BuildRequires: pkgconfig +BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(vulkan) %description @@ -56,10 +59,10 @@ of mpv. %prep -%setup -q +%setup -q -n %{name}-v%{version} %build -%meson +%meson -Dshaderc=disabled %meson_build %install
