diff options
-rw-r--r-- | graphics/libplacebo/glslang.patch | 18 | ||||
-rw-r--r-- | graphics/libplacebo/glslang_version.patch | 237 | ||||
-rw-r--r-- | graphics/libplacebo/libplacebo.SlackBuild | 14 | ||||
-rw-r--r-- | graphics/libplacebo/libplacebo.info | 6 |
4 files changed, 5 insertions, 270 deletions
diff --git a/graphics/libplacebo/glslang.patch b/graphics/libplacebo/glslang.patch deleted file mode 100644 index cfeb61bf4e..0000000000 --- a/graphics/libplacebo/glslang.patch +++ /dev/null @@ -1,18 +0,0 @@ -commit 87e11a7e57ec734059924e192656fc70d1ce3f50 -Author: orbea <orbea@riseup.net> -Date: Mon Jun 8 10:29:26 2020 -0700 - - Fix build with newer glslang. - -diff --git a/src/glsl/glslang.cc b/src/glsl/glslang.cc -index 5546120..07cf8f1 100644 ---- a/src/glsl/glslang.cc -+++ b/src/glsl/glslang.cc -@@ -210,6 +210,7 @@ const TBuiltInResource DefaultTBuiltInResource = { - /* .maxTaskWorkGroupSizeY_NV = */ 1, - /* .maxTaskWorkGroupSizeZ_NV = */ 1, - /* .maxMeshViewCountNV = */ 4, -+ /* .maxDualSourceDrawBuffersEXT = */ 1, - #endif - - /* .limits = */ { diff --git a/graphics/libplacebo/glslang_version.patch b/graphics/libplacebo/glslang_version.patch deleted file mode 100644 index 65053130f8..0000000000 --- a/graphics/libplacebo/glslang_version.patch +++ /dev/null @@ -1,237 +0,0 @@ -From 217edc52822845ad70eb39e95871f90d14d1dac6 Mon Sep 17 00:00:00 2001 -From: Niklas Haas <git@haasn.xyz> -Date: Wed, 21 Oct 2020 12:55:24 +0200 -Subject: [PATCH] glslang: update for new glslang versioning scheme - -This updates our checks to use the new header locations as introduced in -https://github.com/KhronosGroup/glslang/pull/2277. Fortunately, it seems -that the new version scheme is backwards compatible with the old one, so -we don't need any excessively complicated logic updates. - -Fixes https://github.com/haasn/libplacebo/issues/83 ---- - src/glsl/glslang.cc | 9 +++++---- - src/meson.build | 19 ++++++++++++++++--- - 2 files changed, 22 insertions(+), 8 deletions(-) - -diff --git a/src/glsl/glslang.cc b/src/glsl/glslang.cc -index 3b17a4e..01ad0fa 100644 ---- a/src/glsl/glslang.cc -+++ b/src/glsl/glslang.cc -@@ -15,6 +15,8 @@ - * License along with libplacebo. If not, see <http://www.gnu.org/licenses/>. - */ - -+#include "config_internal.h" -+ - #include <assert.h> - #include <pthread.h> - -@@ -23,7 +25,6 @@ extern "C" { - } - - #include <glslang/Include/ResourceLimits.h> --#include <glslang/Include/revision.h> - #include <glslang/Public/ShaderLang.h> - #include <SPIRV/GlslangToSpv.h> - -@@ -36,7 +37,7 @@ static int pl_glslang_refcount; - - int pl_glslang_version(void) - { -- return GLSLANG_PATCH_LEVEL; -+ return GLSLANG_VERSION_PATCH; - } - - bool pl_glslang_init(void) -@@ -78,7 +79,7 @@ struct pl_glslang_res *pl_glslang_compile(const char *glsl, uint32_t api_ver, - if (api_ver >= EShTargetVulkan_1_1) - spirv_version = EShTargetSpv_1_3; - --#if GLSLANG_PATCH_LEVEL >= 3667 -+#if GLSLANG_VERSION_PATCH >= 3667 - if (api_ver >= EShTargetVulkan_1_2) - spirv_version = EShTargetSpv_1_5; - #endif -@@ -200,7 +201,7 @@ const TBuiltInResource DefaultTBuiltInResource = { - /* .MaxCullDistances = */ 8, - /* .MaxCombinedClipAndCullDistances = */ 8, - /* .MaxSamples = */ 4, --#if GLSLANG_PATCH_LEVEL >= 2892 -+#if GLSLANG_VERSION_PATCH >= 2892 - /* .maxMeshOutputVerticesNV = */ 256, - /* .maxMeshOutputPrimitivesNV = */ 512, - /* .maxMeshWorkGroupSizeX_NV = */ 32, - -diff --git a/src/meson.build b/src/meson.build -index 5a77cea..dcb8137 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -83,9 +83,20 @@ else - endif - - if glslang_found -- glslang_ver = cxx.get_define('GLSLANG_PATCH_LEVEL', -- prefix: '#include <glslang/Include/revision.h>' -- ).to_int() -+ glslang_header_old = 'glslang/Include/revision.h' -+ glslang_header_new = 'glslang/build_info.h' -+ -+ if cc.has_header(glslang_header_new) -+ glslang_ver = cxx.get_define('GLSLANG_VERSION_PATCH', -+ prefix: '#include <' + glslang_header_new + '>' -+ ).to_int() -+ elif cc.has_header(glslang_header_old) -+ glslang_ver = cxx.get_define('GLSLANG_PATCH_LEVEL', -+ prefix: '#include <' + glslang_header_old+ '>' -+ ).to_int() -+ else -+ error('No glslang version header found?') -+ endif - - if glslang_ver >= glslang_min_ver - # glslang must be linked against pthreads on platforms where pthreads is -@@ -108,6 +119,8 @@ if glslang_found - add_project_arguments('-I' + i, language: 'cpp') - endforeach - -+ conf_internal.set('GLSLANG_VERSION_PATCH', glslang_ver) -+ - else - error('glslang revision @0@ too old! Must be at least @1@' - .format(glslang_ver, glslang_min_ver)) --- -GitLab -From fc1e8dd6c8be5c9bfc0d7387b7ad6d8320f1a9ae Mon Sep 17 00:00:00 2001 -From: Niklas Haas <git@haasn.xyz> -Date: Wed, 28 Oct 2020 14:20:47 +0100 -Subject: [PATCH] glslang: refactor version checks to respect semantic - versioning - -Seems like glslang upstream is more than happy to make their patch level -go back down to 0 now. To handle the mishmash of old and new versioning -schemes, we map the old patch level to version 0.0.x, which ensures it's -forwards-compatible with the new versioning scheme (that was fortunately -introduced after every relevant check of ours). - -Fixes https://github.com/haasn/libplacebo/issues/83 again, properly this -time. ---- - src/glsl/glslang.cc | 13 ++++++++++--- - src/meson.build | 30 ++++++++++++++++++++++++------ - 2 files changed, 34 insertions(+), 9 deletions(-) - -diff --git a/src/glsl/glslang.cc b/src/glsl/glslang.cc -index 01ad0fa..f701acc 100644 ---- a/src/glsl/glslang.cc -+++ b/src/glsl/glslang.cc -@@ -30,6 +30,11 @@ extern "C" { - - #include "glslang.h" - -+#define GLSLANG_VERSION_CHECK(major, minor, patch) \ -+ (((major) < GLSLANG_VERSION_MAJOR) || ((major) == GLSLANG_VERSION_MAJOR && \ -+ (((minor) < GLSLANG_VERSION_MINOR) || ((minor) == GLSLANG_VERSION_MINOR && \ -+ ((patch) <= GLSLANG_VERSION_PATCH))))) -+ - using namespace glslang; - - static pthread_mutex_t pl_glslang_mutex = PTHREAD_MUTEX_INITIALIZER; -@@ -37,7 +42,9 @@ static int pl_glslang_refcount; - - int pl_glslang_version(void) - { -- return GLSLANG_VERSION_PATCH; -+ return (GLSLANG_VERSION_MAJOR & 0xFF) << 24 | -+ (GLSLANG_VERSION_MINOR & 0xFF) << 16 | -+ (GLSLANG_VERSION_PATCH & 0xFFFF); - } - - bool pl_glslang_init(void) -@@ -79,7 +86,7 @@ struct pl_glslang_res *pl_glslang_compile(const char *glsl, uint32_t api_ver, - if (api_ver >= EShTargetVulkan_1_1) - spirv_version = EShTargetSpv_1_3; - --#if GLSLANG_VERSION_PATCH >= 3667 -+#if GLSLANG_VERSION_CHECK(0, 0, 3667) - if (api_ver >= EShTargetVulkan_1_2) - spirv_version = EShTargetSpv_1_5; - #endif -@@ -201,7 +208,7 @@ const TBuiltInResource DefaultTBuiltInResource = { - /* .MaxCullDistances = */ 8, - /* .MaxCombinedClipAndCullDistances = */ 8, - /* .MaxSamples = */ 4, --#if GLSLANG_VERSION_PATCH >= 2892 -+#if GLSLANG_VERSION_CHECK(0, 0, 2892) - /* .maxMeshOutputVerticesNV = */ 256, - /* .maxMeshOutputPrimitivesNV = */ 512, - /* .maxMeshWorkGroupSizeX_NV = */ 32, - -diff --git a/src/meson.build b/src/meson.build -index dcb8137..412697d 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -49,7 +49,7 @@ endif - - # work-arounds for glslang braindeath - glslang_combined = disabler() --glslang_min_ver = 2763 -+glslang_min_ver = '>=0.0.2763' - glslang_req = get_option('glslang') - - if glslang_req.auto() and shaderc.found() -@@ -87,18 +87,34 @@ if glslang_found - glslang_header_new = 'glslang/build_info.h' - - if cc.has_header(glslang_header_new) -- glslang_ver = cxx.get_define('GLSLANG_VERSION_PATCH', -+ glslang_ver_major = cxx.get_define('GLSLANG_VERSION_MAJOR', -+ prefix: '#include <' + glslang_header_new + '>' -+ ).to_int() -+ glslang_ver_minor = cxx.get_define('GLSLANG_VERSION_MINOR', -+ prefix: '#include <' + glslang_header_new + '>' -+ ).to_int() -+ glslang_ver_patch = cxx.get_define('GLSLANG_VERSION_PATCH', - prefix: '#include <' + glslang_header_new + '>' - ).to_int() - elif cc.has_header(glslang_header_old) -- glslang_ver = cxx.get_define('GLSLANG_PATCH_LEVEL', -+ # This is technically incorrect, but since we don't care about major -+ # versions for this version range, it's an acceptable substitute -+ glslang_ver_major = 0 -+ glslang_ver_minor = 0 -+ glslang_ver_patch = cxx.get_define('GLSLANG_PATCH_LEVEL', - prefix: '#include <' + glslang_header_old+ '>' - ).to_int() - else - error('No glslang version header found?') - endif - -- if glslang_ver >= glslang_min_ver -+ glslang_ver = '@0@.@1@.@2@'.format( -+ glslang_ver_major, -+ glslang_ver_minor, -+ glslang_ver_patch, -+ ) -+ -+ if glslang_ver.version_compare(glslang_min_ver) - # glslang must be linked against pthreads on platforms where pthreads is - # available. Because of their horrible architecture, gcc can't do it - # automatically, and for some reason dependency('threads') (which uses -@@ -119,10 +135,12 @@ if glslang_found - add_project_arguments('-I' + i, language: 'cpp') - endforeach - -- conf_internal.set('GLSLANG_VERSION_PATCH', glslang_ver) -+ conf_internal.set('GLSLANG_VERSION_MAJOR', glslang_ver_major) -+ conf_internal.set('GLSLANG_VERSION_MINOR', glslang_ver_minor) -+ conf_internal.set('GLSLANG_VERSION_PATCH', glslang_ver_patch) - - else -- error('glslang revision @0@ too old! Must be at least @1@' -+ error('glslang version @0@ too old! Must be at least @1@' - .format(glslang_ver, glslang_min_ver)) - endif - endif --- -GitLab diff --git a/graphics/libplacebo/libplacebo.SlackBuild b/graphics/libplacebo/libplacebo.SlackBuild index b22485c965..0697bf74f0 100644 --- a/graphics/libplacebo/libplacebo.SlackBuild +++ b/graphics/libplacebo/libplacebo.SlackBuild @@ -23,8 +23,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=libplacebo -VERSION=${VERSION:-2.72.0} -BUILD=${BUILD:-4} +VERSION=${VERSION:-2.72.2} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -81,16 +81,6 @@ fi # Use an older epoxy version. sed -i 's/1.4.0/1.3.1/' src/meson.build -# Fix the build with newer glslang versions. -patch -p1 < $CWD/glslang.patch - -# glslang: update for new glslang versioning scheme -# https://code.videolan.org/videolan/libplacebo/-/merge_requests/118 -# https://github.com/haasn/libplacebo/issues/83 -# https://code.videolan.org/videolan/libplacebo/-/commit/217edc52822845ad70eb39e95871f90d14d1dac6 -# https://code.videolan.org/videolan/libplacebo/-/commit/fc1e8dd6c8be5c9bfc0d7387b7ad6d8320f1a9ae -patch -p1 < $CWD/glslang_version.patch - CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ meson \ diff --git a/graphics/libplacebo/libplacebo.info b/graphics/libplacebo/libplacebo.info index 85fc2e90d2..51ae650726 100644 --- a/graphics/libplacebo/libplacebo.info +++ b/graphics/libplacebo/libplacebo.info @@ -1,8 +1,8 @@ PRGNAM="libplacebo" -VERSION="2.72.0" +VERSION="2.72.2" HOMEPAGE="https://code.videolan.org/videolan/libplacebo" -DOWNLOAD="https://code.videolan.org/videolan/libplacebo/-/archive/v2.72.0/libplacebo-v2.72.0.tar.gz" -MD5SUM="dd6e7fca60c1dda53f2f6d5adf06fe69" +DOWNLOAD="https://code.videolan.org/videolan/libplacebo/-/archive/v2.72.2/libplacebo-v2.72.2.tar.gz" +MD5SUM="93b90922056c7d74455b45fae74959e4" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="meson" |