aboutsummaryrefslogtreecommitdiff
path: root/graphics/libplacebo
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2020-11-10 07:05:30 -0800
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-11-14 17:16:52 +0700
commit04b813adfffeb98c437cc189d41e8e16e7f56bcd (patch)
tree28cf04ce198c31e4c9b7c95f49f1e79541c438b2 /graphics/libplacebo
parenta4f1e97c11753b6cc0615a5c6b597678fe57874f (diff)
graphics/libplacebo: Updated for version 2.72.2.
Signed-off-by: orbea <orbea@riseup.net> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'graphics/libplacebo')
-rw-r--r--graphics/libplacebo/glslang.patch18
-rw-r--r--graphics/libplacebo/glslang_version.patch237
-rw-r--r--graphics/libplacebo/libplacebo.SlackBuild14
-rw-r--r--graphics/libplacebo/libplacebo.info6
4 files changed, 5 insertions, 270 deletions
diff --git a/graphics/libplacebo/glslang.patch b/graphics/libplacebo/glslang.patch
deleted file mode 100644
index cfeb61bf4ec7..000000000000
--- 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 65053130f839..000000000000
--- 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 b22485c9659d..0697bf74f012 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 85fc2e90d2fe..51ae650726b9 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"