commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2020-06-15 20:30:05 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.3606 (New) Package is "libplacebo" Mon Jun 15 20:30:05 2020 rev:11 rq:814574 version:2.72.0 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2020-05-06 11:05:15.379390061 +0200 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.3606/libplacebo.changes 2020-06-15 20:30:40.246407623 +0200 @@ -1,0 +2,146 @@ +Sun Jun 14 15:37:17 UTC 2020 - Mia Herkt + +- 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 +communicating metadata about how the device was created + * add field pl_vulkan_params.features to allow loading optional +extra device features at device creation time + * add support for mpv-style custom user shaders (.hook), +using the set of functions in + * add pl_render_high_quality_params, enabling debanding and +EWA scaling + * add pl_timer GPU resource type and associated API functions, +allowing the GPU execution time of shaders and texture transfer +operations to be measured directly + * add PL_SHADER_SIG_SAMPLER, allowing generated sampling shaders +to directly accept the sampler to use as function parameters + * add pl_image_set_chroma_location to automatically apply the +correct chroma location to any subsampled planes + * add PL_TONE_MAPPING_BT_2390, a tone mapping function based on +the EETF from ITU-R Report BT.2390 (and make it the default) + * add pl_peak_detect_params.overshoot_margin to help combat +clipping on certain types of rapid scene fade-ins + * add pl_sampler_type to allow encoding non-standard sampler +types such as sampler2DRect, and also generalize samplers to +allow e.g. usampler2D or isampler3D + * add pl_opengl_wrap and pl_opengl_unwrap, to allow directly +mapping between OpenGL textures and the pl_tex abstraction + +Changes: + * deprecate pl_image.width/height, which are now inferred +automatically from the actual planes + * pl_vulkan_wrap now takes a pl_vulkan_wrap_params struct +instead of directly accepting its parameters, including new +fields sample_mode and address_mode to configure the created +sampler + * change pl_dispatch_compute to allow optionally passing in a +simulated framebuffer width/height, which will be used to +translate vertex attributes (if any) + * undefine disabled config.h features, instead of defining them +as 0 + * remove debanding from pl_render_default_params + * refactor HDR<->SDR mapping; PL_COLOR_REF_WHITE has been removed +and replaced by PL_COLOR_SDR_WHITE (203 cd/m^2) +and PL_COLOR_SDR_WHITE_HLG (75% HLG), respectively + * completely refactor pl_shader_av1_grain`, which now samples +directly from the passed texture rather than requiring the +color be pre-sampled + * pl_render_image now infers the image primaries based on +resolution, rather than always hard-coding +PL_COLOR_SPACE_UNKNOWN as BT.709 + * change pl_render_target.dst_rect from pl_rect2d to pl_rect2df, +allowing more accurate aspect ratio handling, and
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2020-05-06 11:05:11 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.2738 (New) Package is "libplacebo" Wed May 6 11:05:11 2020 rev:10 rq:800533 version:2.43.1 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2020-04-23 18:33:07.996397157 +0200 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.2738/libplacebo.changes 2020-05-06 11:05:15.379390061 +0200 @@ -1,0 +2,32 @@ +Wed May 6 04:56:38 UTC 2020 - Mia Herkt + +- 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 + +--- Old: libplacebo-v2.43.0.tar.bz2 New: libplacebo-v2.43.1.tar.bz2 Other differences: -- ++ libplacebo.spec ++ --- /var/tmp/diff_new_pack.xaYHLS/_old 2020-05-06 11:05:16.463392388 +0200 +++ /var/tmp/diff_new_pack.xaYHLS/_new 2020-05-06 11:05:16.463392388 +0200 @@ -18,7 +18,7 @@ %define sover 43 Name: libplacebo -Version:2.43.0 +Version:2.43.1 Release:0 Summary:Library for GPU-accelerated video/image rendering primitives License:LGPL-2.1-or-later ++ libplacebo-v2.43.0.tar.bz2 -> libplacebo-v2.43.1.tar.bz2 ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplacebo-v2.43.0/meson.build new/libplacebo-v2.43.1/meson.build --- old/libplacebo-v2.43.0/meson.build 2020-04-22 08:53:22.0 +0200 +++ new/libplacebo-v2.43.1/meson.build 2020-04-30 20:49:16.0 +0200 @@ -2,7 +2,7 @@ license: 'LGPL2.1+', default_options: ['c_std=c99', 'cpp_std=c++11', 'warning_level=2'], meson_version: '>=0.49', - version: '2.43.0', + version: '2.43.1', ) # Version number diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplacebo-v2.43.0/src/context.c new/libplacebo-v2.43.1/src/context.c --- old/libplacebo-v2.43.0/src/context.c2020-04-22 08:53:22.0 +0200 +++ new/libplacebo-v2.43.1/src/context.c2020-04-30 20:49:16.0 +0200 @@ -73,6 +73,7 @@ struct pl_context *ctx = talloc_zero(NULL, struct pl_context); ctx->params = *PL_DEF(params, _context_default_params); +pl_info(ctx, "Initialized libplacebo %s", PL_VERSION); return ctx; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplacebo-v2.43.0/src/dispatch.c new/libplacebo-v2.43.1/src/dispatch.c --- old/libplacebo-v2.43.0/src/dispatch.c 2020-04-22 08:53:22.0 +0200 +++ new/libplacebo-v2.43.1/src/dispatch.c 2020-04-30 20:49:16.0 +0200 @@ -217,15 +217,29 @@ } } +static int cmp_buffer_var(const void *pa, const void *pb) +{ +const struct pl_buffer_var * const *a = pa, * const *b = pb; +return PL_CMP((*a)->layout.offset, (*b)->layout.offset); +} + static void add_buffer_vars(struct pl_dispatch *dp, struct bstr *body, -const struct pl_buffer_var *vars, int num) +const struct pl_buffer_var *vars, int num, +void *tmp) { +// Sort buffer vars +const struct pl_buffer_var **sorted_vars = NULL; +TARRAY_RESIZE(tmp, sorted_vars, num); +for (int i = 0; i < num; i++) +sorted_vars[i] = [i]; +qsort(sorted_vars, num, sizeof(sorted_vars[0]), cmp_buffer_var); + ADD(body, "{\n");
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2020-04-23 18:33:04 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.2738 (New) Package is "libplacebo" Thu Apr 23 18:33:04 2020 rev:9 rq:796364 version:2.43.0 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2019-12-25 10:55:12.297636891 +0100 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.2738/libplacebo.changes 2020-04-23 18:33:07.996397157 +0200 @@ -1,0 +2,65 @@ +Thu Apr 23 00:10:37 UTC 2020 - Mia Herkt + +- Add libepoxy to BuildRequires +- Enable test suite +- Update to version 2.43.0 +The major highlight of this release is the introduction of a new +OpenGL backend, documented in , 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 ) + * 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 + * vulkan can now be built without linking against libvulkan.so + * refactor av1 grain data struct, splitting it up into +"grain metadata" and "shader params" + * pl_swapchain_resize now recreates suboptimal swapchains even +if the size does not change + * pl_tex_blit now requires the new cap PL_GPU_CAP_BLITTABLE_1D_3D +for 1D/3D textures + * pl_tex_params.host_readable now requires the new cap +PL_FMT_CAP_HOST_READABLE on the chosen format + * pl_vk_inst_create will now automatically load any layers needed +for extensions specified by the user + +Fixes and performance improvements: + * make pl_color_adjustment.gamma actually do something + * fix av1 grain shader for separated planes + * fix memory corruption in pl_vulkan_swapchain_suboptimal + * fix access mask on API writes to read-writable vulkan buffers + * fix some instances of undefined behavior in av1 grain synthesis + * fix av1 grain scale for PL_COLOR_LEVELS_UNKNOWN + * fix use of local #include for config.h in installed headers + * fix various incorrect literals for compatibility with older +GLSL + * fix potential type error in XYZ input handling + * fix numerous backwards compatibility issues for older GLSL and +GLES versions, across the board + * quench some meson warnings, as well as some compiler warnings + +--- Old: libplacebo-v1.29.1.tar.bz2 New: libplacebo-v2.43.0.tar.bz2 Other differences: -- ++ libplacebo.spec ++ --- /var/tmp/diff_new_pack.5MZ8IW/_old 2020-04-23 18:33:08.888398863 +0200 +++ /var/tmp/diff_new_pack.5MZ8IW/_new 2020-04-23 18:33:08.892398871 +0200 @@ -1,7 +1,7 @@ # # spec file for package libplacebo # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,9 +16,9 @@ # -%define sover 29 +%define sover 43 Name: libplacebo -Version:1.29.1 +Version:2.43.0 Release:0 Summary:Library for GPU-accelerated video/image rendering primitives License:LGPL-2.1-or-later @@ -30,6 +30,7 @@ BuildRequires: meson >= 0.47.0 BuildRequires: pkgconfig BuildRequires: shaderc-devel +BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(vulkan) @@ -62,12 +63,15 @@ %setup -q -n %{name}-v%{version} %build -%meson -Dglslang=disabled +%meson -Dglslang=disabled -Dtests=true %meson_build %install %meson_install +%check +%meson_test + %post -n %{name}%{sover} -p
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2019-12-25 10:54:52 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.6675 (New) Package is "libplacebo" Wed Dec 25 10:54:52 2019 rev:8 rq:759132 version:1.29.1 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2019-12-23 22:48:56.166100702 +0100 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.6675/libplacebo.changes 2019-12-25 10:55:12.297636891 +0100 @@ -1,0 +2,13 @@ +Tue Dec 24 15:21:06 UTC 2019 - Martin Herkt <9+suse@cirno.systems> + +- 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 + +--- Old: libplacebo-v1.29.0.tar.bz2 New: libplacebo-v1.29.1.tar.bz2 Other differences: -- ++ libplacebo.spec ++ --- /var/tmp/diff_new_pack.uC42Cu/_old 2019-12-25 10:55:12.793637046 +0100 +++ /var/tmp/diff_new_pack.uC42Cu/_new 2019-12-25 10:55:12.793637046 +0100 @@ -18,7 +18,7 @@ %define sover 29 Name: libplacebo -Version:1.29.0 +Version:1.29.1 Release:0 Summary:Library for GPU-accelerated video/image rendering primitives License:LGPL-2.1-or-later ++ libplacebo-v1.29.0.tar.bz2 -> libplacebo-v1.29.1.tar.bz2 ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplacebo-v1.29.0/meson.build new/libplacebo-v1.29.1/meson.build --- old/libplacebo-v1.29.0/meson.build 2019-12-22 03:49:46.0 +0100 +++ new/libplacebo-v1.29.1/meson.build 2019-12-24 09:04:36.0 +0100 @@ -1,7 +1,7 @@ project('libplacebo', ['c', 'cpp'], license: 'LGPL2.1+', default_options: ['c_std=c99'], - meson_version: '>=0.47', + meson_version: '>=0.49', version: '1.29.0', ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplacebo-v1.29.0/src/meson.build new/libplacebo-v1.29.1/src/meson.build --- old/libplacebo-v1.29.0/src/meson.build 2019-12-22 03:49:46.0 +0100 +++ new/libplacebo-v1.29.1/src/meson.build 2019-12-24 09:04:36.0 +0100 @@ -92,6 +92,18 @@ pthread = cxx.find_library('pthread', required: false) glslang_all_deps = glslang_deps + glslang_opt_deps + [pthread] glslang_combined = declare_dependency(dependencies: glslang_all_deps) + +# Work around a glslang include path bug w.r.t stuff previously namespaced +# under /usr/include/SPIRV now being moved to /usr/include/glslang/SPIRV. +extra_glslang_inc = [ + '/usr/include/glslang', + get_option('prefix') / get_option('includedir') / 'glslang', +] + +foreach i : extra_glslang_inc + add_project_arguments('-I' + i, language: 'cpp') +endforeach + else error('glslang revision @0@ too old! Must be at least @1@' .format(glslang_ver, glslang_min_ver)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplacebo-v1.29.0/src/tests/vulkan.c new/libplacebo-v1.29.1/src/tests/vulkan.c --- old/libplacebo-v1.29.0/src/tests/vulkan.c 2019-12-22 03:49:46.0 +0100 +++ new/libplacebo-v1.29.1/src/tests/vulkan.c 2019-12-24 09:04:36.0 +0100 @@ -100,6 +100,8 @@ struct pl_context *ctx = pl_test_context(); const struct pl_vk_inst *inst; inst = pl_vk_inst_create(ctx, &(struct pl_vk_inst_params) { .debug = true }); +if (!inst) +return SKIP; uint32_t num = 0; vkEnumeratePhysicalDevices(inst->instance, , NULL); @@ -162,9 +164,9 @@ vulkan_interop_tests(vk, PL_HANDLE_WIN32_KMT); #endif pl_vulkan_destroy(); -pl_vk_inst_destroy(); -pl_context_destroy(); } +pl_vk_inst_destroy(); +pl_context_destroy(); free(devices); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libplacebo-v1.29.0/src/vulkan/swapchain.c new/libplacebo-v1.29.1/src/vulkan/swapchain.c --- old/libplacebo-v1.29.0/src/vulkan/swapchain.c 2019-12-22 03:49:46.0 +0100 +++ new/libplacebo-v1.29.1/src/vulkan/swapchain.c 2019-12-24 09:04:36.0 +0100 @@ -350,6 +350,12 @@ VkSurfaceCapabilitiesKHR caps; VK(vkGetPhysicalDeviceSurfaceCapabilitiesKHR(vk->physd, p->surf, )); +// Check for hidden/invisible window +if (!caps.currentExtent.width || !caps.currentExtent.height) {
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2019-12-23 22:45:51 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.6675 (New) Package is "libplacebo" Mon Dec 23 22:45:51 2019 rev:7 rq:758911 version:1.29.0 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2019-11-20 10:27:38.526567124 +0100 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.6675/libplacebo.changes 2019-12-23 22:48:56.166100702 +0100 @@ -1,0 +2,51 @@ +Mon Dec 23 02:47:30 UTC 2019 - Martin Herkt <9+suse@cirno.systems> + +- 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 + * skip the creation/use of semaphores for single-queue usage + * fix several bugs related to swapchain recreation and image +acquisition + * fix creation of non-renderable but storable vulkan textures + * fix several bugs related to emulated texture downloads + * fix pl_fmt capabilities for some emulated formats + * fix stride/alignment of std430 vectors/matrices + * use push constants more aggressively, whenever possible + * slightly improve accurate of BT.2100 matrices + * fix overzealous rotation of vulkan queues + * fix dangling validation layer suppression in rare cases + * fix possible swapchain deadlock on VK_SUBOPTIMAL_KHR + * handle VK_SUBOPTIMAL_KHR more gracefully / efficiently + +--- Old: libplacebo-v1.21.0.tar.bz2 New: libplacebo-v1.29.0.tar.bz2 Other differences: -- ++ libplacebo.spec ++ --- /var/tmp/diff_new_pack.gH1l0b/_old 2019-12-23 22:48:56.678100891 +0100 +++ /var/tmp/diff_new_pack.gH1l0b/_new 2019-12-23 22:48:56.686100894 +0100 @@ -1,7 +1,7 @@ # # spec file for package libplacebo # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,9 +16,9 @@ # -%define sover 21 +%define sover 29 Name: libplacebo -Version:1.21.0 +Version:1.29.0 Release:0 Summary:Library for GPU-accelerated video/image rendering primitives License:LGPL-2.1-or-later ++ libplacebo-v1.21.0.tar.bz2 -> libplacebo-v1.29.0.tar.bz2 ++ 3955 lines of diff (skipped)
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2019-11-20 10:27:37 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.26869 (New) Package is "libplacebo" Wed Nov 20 10:27:37 2019 rev:6 rq:741633 version:1.21.0 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2019-02-26 22:22:33.582062780 +0100 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.26869/libplacebo.changes 2019-11-20 10:27:38.526567124 +0100 @@ -1,0 +2,33 @@ +Mon Oct 21 23:34:37 UTC 2019 - Martin Herkt <9+suse@cirno.systems> + +- 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 + +--- Old: libplacebo-v1.18.0.tar.bz2 New: libplacebo-v1.21.0.tar.bz2 Other differences: -- ++ libplacebo.spec ++ --- /var/tmp/diff_new_pack.Hg38fi/_old 2019-11-20 10:27:39.158567250 +0100 +++ /var/tmp/diff_new_pack.Hg38fi/_new 2019-11-20 10:27:39.158567250 +0100 @@ -16,9 +16,9 @@ # -%define sover 18 +%define sover 21 Name: libplacebo -Version:1.18.0 +Version:1.21.0 Release:0 Summary:Library for GPU-accelerated video/image rendering primitives License:LGPL-2.1-or-later ++ libplacebo-v1.18.0.tar.bz2 -> libplacebo-v1.21.0.tar.bz2 ++ 3531 lines of diff (skipped)
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2019-02-26 22:20:58 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new.28833 (New) Package is "libplacebo" Tue Feb 26 22:20:58 2019 rev:5 rq:679082 version:1.18.0 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2018-12-18 15:00:00.194105636 +0100 +++ /work/SRC/openSUSE:Factory/.libplacebo.new.28833/libplacebo.changes 2019-02-26 22:22:33.582062780 +0100 @@ -1,0 +2,85 @@ +Tue Feb 26 01:20:30 UTC 2019 - Martin Herkt <9+suse@cirno.systems> + +- 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 +compile their own shaders. +All GPU resources (textures, buffers) are backed by malloc. + * Add a new field to pl_tex/buf_params allowing users to attach +arbitrary references (void*) that libplacebo will ignore. + * Add a function for changing the pl_context_params after +creation. + * Add a new API function for dealing with swapchain resize +events. This function can be used to both query and update +the swapchain size, based on the usage. +Not all platforms support all operations. + * Add new demo/skeleton based on GLFW. + + Changes: + + * Remove the hdr_simulation field from pl_color_map_params. +Use signal_scale on the target color space instead. + * Subdivide handle capabilities based on object type +(texture vs buffer). + * Completely redesign the HDR tone mapping algorithm. +Most members of pl_tone_mapping_params have been updated, +in particular the options related to desaturation and peak +detection. + * Split up the HDR peak detection API into a "detection" and +"application" stage, which can run independently. This avoids +the one-frame delay inherent with the previous API, and thus +allows tone mapping to be frame perfect. + * Remove superfluous field from pl_shader_reset left behind +from a previous version of the API. + + Fixes and performance improvements: + + * Correctly apply the OOTF before performing linear colorspace +operations on scene-referred content. + * Avoid clipping when tone-mapping out of gamut content by tone +mapping before gamut mapping. + * Correctly reset the peak detection buffer state when running +pl_renderer_flush_cache. + * Correctly use the image's original color space as the reference +space when the content is prelinearized by the renderer. +Fixes some cases where libplacebo could end up defaulting +PL_COLOR_TRC_AUTO to a suboptimal curve. + * Correctly track the lifetime and ownership of individual vulkan +buffer objects. Fixes some synchronization issues when +attempting to use the same buffer from multiple different +queue families. + * Fix integer overflow on implementations with very large +texture size limits. + * Fix building against static libshaderc. + +--- Old: libplacebo-v1.7.0.tar.bz2 New: libplacebo-v1.18.0.tar.bz2
commit libplacebo for openSUSE:Factory
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.changes2018-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 <9+suse@cirno.systems> + +- 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
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2018-07-31 15:59:44 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new (New) Package is "libplacebo" Tue Jul 31 15:59:44 2018 rev:3 rq:626072 version:0.5.0 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2018-06-13 15:39:30.548298240 +0200 +++ /work/SRC/openSUSE:Factory/.libplacebo.new/libplacebo.changes 2018-07-31 15:59:45.371582747 +0200 @@ -1,0 +2,5 @@ +Sun Jul 29 11:30:28 UTC 2018 - jeng...@inai.de + +- Fix RPM groups. + +--- Other differences: -- ++ libplacebo.spec ++ --- /var/tmp/diff_new_pack.Ysci1a/_old 2018-07-31 15:59:45.875583601 +0200 +++ /var/tmp/diff_new_pack.Ysci1a/_new 2018-07-31 15:59:45.883583616 +0200 @@ -22,7 +22,7 @@ Release:0 Summary:Library for GPU-accelerated video/image rendering primitives License:LGPL-2.1-or-later -Group: System/Libraries +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
commit libplacebo for openSUSE:Factory
Hello community, here is the log from the commit of package libplacebo for openSUSE:Factory checked in at 2018-06-13 15:38:45 Comparing /work/SRC/openSUSE:Factory/libplacebo (Old) and /work/SRC/openSUSE:Factory/.libplacebo.new (New) Package is "libplacebo" Wed Jun 13 15:38:45 2018 rev:2 rq:615434 version:0.5.0 Changes: --- /work/SRC/openSUSE:Factory/libplacebo/libplacebo.changes2018-06-08 23:13:46.351732502 +0200 +++ /work/SRC/openSUSE:Factory/.libplacebo.new/libplacebo.changes 2018-06-13 15:39:30.548298240 +0200 @@ -1,0 +2,84 @@ +Sat Jun 9 15:43:18 UTC 2018 - 9+suse@cirno.systems + +- Update to 0.5.0 + This release brings with it greatly improved support for HDR (including + HDR-in-SDR emulation, native HDR passthrough and improvements to the + HDR->SDR tone mapping algorithm), as well as support for ICC profiles + and external VkImage interop (needed for e.g. hardware decoding). + + Additions: + * Add support for treating an SDR curve as an HDR curve by +overriding/providing the true target peak. This essentially allows you +to calibrate a true HDR device to a typical SDR curve and use it to +display HDR media, at the cost of bit precision + * Add more values to enum pl_chroma_location + * Add a scale factor to struct pl_sample_src, which is useful for e.g. +debanding on bit-shifted inputs + * Add a new function to infer/guess unknown pl_color_space fields + * Add support for 3DLUTs / ICC profiles (via LittleCMS), including +support for assigning ICC profiles to the `pl_render_image` and +`pl_render_target` structs + * Allow enabling optional extra vulkan device/instance extensions, as +well as listing what extensions were actually loaded + * Add an API for VkImage interop with user code, e.g. to wrap mapped +hardware decoding planes into `pl_tex`, plus all synchronization code +and extra metadata necessary to make this interop safe + * Implement support for native HDR output on supported platforms + + Changes: + * Separate the texture from the plane data struct in `pl_upload_plane` + * Swapchain FBOs are now guaranteed to be blittable (e.g. pl_tex_clear) + * Tone mapping is no longer done for desaturation steps. Users wanting +high quality desaturation should use ICC profiles + * Change the types of various fields in struct pl_gpu_limits + * Slightly relax the sizing requirements of pl_tex_transfer + * Change the default value for pl_tex_transfer_params.stride_w/h. +Instead of defaulting to the image size, they now default to the rect to +be transferred + * Texture transfer buffer offsets must (now) be aligned to the texel +size, in addition to being a multiple of 4 + * Change the API of `pl_color_space_equal` to be consistent with the +rest of the colorspace APIs + * Allow the `pl_upload_plane` helpers to upload from buffers as well + * Switch the type of mapped buffer pointers from char* to uint8_t* + * Rename DCI_P3 to Display_P3, and add DCI_P3 (using the actual DCI white +point) + + Fixes and performance improvements: + * Fix some compatibility issues with GLSL 120 + * Prevent desaturation from exploding when tone mapping to HDR, or when +tone mapping a very bright HDR scene to SDR + * Implement the fully parametrized BT.2100 (HLG) OOTF in both +directions, based on the tagged/inferred signal peak + * Fix an issue preventing the out-of-gamut feature from working +correctly on HDR displays + * Fix a segfault that occurs when instance creation fails + * Fix an issue where `peak_detect_frames` was sometimes too low + * Allow debanding to take care of implicit bilinear sampling in cases +where no other scaler is requested, thus avoiding an unnecessary FBO +indirection + * Only run the debanding algorithm on the parts of the image we will +actually be displaying. This is relevant when cropping + * Fix an issue where PL_TONE_MAPPINg_MOBIUS could fail in certain +(unrealistic) scenarios involving HDR-in-SDR emulation + * Fix an issue where vulkan could sometimes modify commands after +submitting them, when recreating vertex buffers + * Make an effort to reuse the same vertex buffer when the contents don't +change from the previous invocation + * Fix the glslang locale work-arounds on windows + * Fix an issue where trying to upload from a too-large texel buffer +results in an assertion failure rather than a clean error + * Fix an issue where the usage of VkEvents prevented libplacebo from +working on platforms where they were unsupported (e.g. MoltenVK) + * Support and use vulkan push descriptors where supported. This avoids +having to maintain, update and synchronize descriptor sets + * Correctly disable signal linearization on low-bit depth FBOs + * Prevent a crash on the