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.changes 2019-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 <[email protected]> + +- 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.000000000 +0100 +++ new/libplacebo-v1.29.1/meson.build 2019-12-24 09:04:36.000000000 +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.000000000 +0100 +++ new/libplacebo-v1.29.1/src/meson.build 2019-12-24 09:04:36.000000000 +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.000000000 +0100 +++ new/libplacebo-v1.29.1/src/tests/vulkan.c 2019-12-24 09:04:36.000000000 +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, &num, NULL); @@ -162,9 +164,9 @@ vulkan_interop_tests(vk, PL_HANDLE_WIN32_KMT); #endif pl_vulkan_destroy(&vk); - pl_vk_inst_destroy(&inst); - pl_context_destroy(&ctx); } + pl_vk_inst_destroy(&inst); + pl_context_destroy(&ctx); 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.000000000 +0100 +++ new/libplacebo-v1.29.1/src/vulkan/swapchain.c 2019-12-24 09:04:36.000000000 +0100 @@ -350,6 +350,12 @@ VkSurfaceCapabilitiesKHR caps; VK(vkGetPhysicalDeviceSurfaceCapabilitiesKHR(vk->physd, p->surf, &caps)); + // Check for hidden/invisible window + if (!caps.currentExtent.width || !caps.currentExtent.height) { + PL_DEBUG(vk, "maxImageExtent reported as 0x0, hidden window? skipping"); + return false; + } + // Sorted by preference static const struct { VkCompositeAlphaFlagsKHR vk_mode; enum pl_alpha_mode pl_mode; @@ -486,7 +492,7 @@ sinfo.oldSwapchain = p->swapchain; if (!update_swapchain_info(p, &sinfo, w, h)) - goto error; + return false; PL_INFO(sw, "(Re)creating swapchain of size %dx%d", sinfo.imageExtent.width,
