diff --git a/.gitignore b/.gitignore index 9e8db67..2749d2a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libplacebo-4.157.0.tar.gz +SOURCES/libplacebo-4.208.0.tar.gz diff --git a/.libplacebo.metadata b/.libplacebo.metadata index f21117f..3dd4b23 100644 --- a/.libplacebo.metadata +++ b/.libplacebo.metadata @@ -1 +1 @@ -fbea95cee068c4f3410593644b7a8d912974a77f SOURCES/libplacebo-4.157.0.tar.gz +619f1fcd604f6601a55fd12d288f29dbecebaa78 SOURCES/libplacebo-4.208.0.tar.gz diff --git a/SOURCES/0001-move-resources-declaration-to-c-file.patch b/SOURCES/0001-move-resources-declaration-to-c-file.patch new file mode 100644 index 0000000..44d2623 --- /dev/null +++ b/SOURCES/0001-move-resources-declaration-to-c-file.patch @@ -0,0 +1,291 @@ +diff -urN libplacebo-4.208.0.orig/src/glsl/glslang.cc libplacebo-4.208.0/src/glsl/glslang.cc +--- libplacebo-4.208.0.orig/src/glsl/glslang.cc 2023-07-18 15:36:42.938251318 +0300 ++++ libplacebo-4.208.0/src/glsl/glslang.cc 2023-07-18 15:37:30.125560280 +0300 +@@ -111,114 +111,4 @@ + delete shader; + delete prog; + return res; +-} +- +-// Taken from glslang's examples, which apparently generally bases the choices +-// on OpenGL specification limits +-const TBuiltInResource DefaultTBuiltInResource = { +- /* .MaxLights = */ 32, +- /* .MaxClipPlanes = */ 6, +- /* .MaxTextureUnits = */ 32, +- /* .MaxTextureCoords = */ 32, +- /* .MaxVertexAttribs = */ 64, +- /* .MaxVertexUniformComponents = */ 4096, +- /* .MaxVaryingFloats = */ 64, +- /* .MaxVertexTextureImageUnits = */ 32, +- /* .MaxCombinedTextureImageUnits = */ 80, +- /* .MaxTextureImageUnits = */ 32, +- /* .MaxFragmentUniformComponents = */ 4096, +- /* .MaxDrawBuffers = */ 32, +- /* .MaxVertexUniformVectors = */ 128, +- /* .MaxVaryingVectors = */ 8, +- /* .MaxFragmentUniformVectors = */ 16, +- /* .MaxVertexOutputVectors = */ 16, +- /* .MaxFragmentInputVectors = */ 15, +- /* .MinProgramTexelOffset = */ -8, +- /* .MaxProgramTexelOffset = */ 7, +- /* .MaxClipDistances = */ 8, +- /* .MaxComputeWorkGroupCountX = */ 65535, +- /* .MaxComputeWorkGroupCountY = */ 65535, +- /* .MaxComputeWorkGroupCountZ = */ 65535, +- /* .MaxComputeWorkGroupSizeX = */ 1024, +- /* .MaxComputeWorkGroupSizeY = */ 1024, +- /* .MaxComputeWorkGroupSizeZ = */ 64, +- /* .MaxComputeUniformComponents = */ 1024, +- /* .MaxComputeTextureImageUnits = */ 16, +- /* .MaxComputeImageUniforms = */ 8, +- /* .MaxComputeAtomicCounters = */ 8, +- /* .MaxComputeAtomicCounterBuffers = */ 1, +- /* .MaxVaryingComponents = */ 60, +- /* .MaxVertexOutputComponents = */ 64, +- /* .MaxGeometryInputComponents = */ 64, +- /* .MaxGeometryOutputComponents = */ 128, +- /* .MaxFragmentInputComponents = */ 128, +- /* .MaxImageUnits = */ 8, +- /* .MaxCombinedImageUnitsAndFragmentOutputs = */ 8, +- /* .MaxCombinedShaderOutputResources = */ 8, +- /* .MaxImageSamples = */ 0, +- /* .MaxVertexImageUniforms = */ 0, +- /* .MaxTessControlImageUniforms = */ 0, +- /* .MaxTessEvaluationImageUniforms = */ 0, +- /* .MaxGeometryImageUniforms = */ 0, +- /* .MaxFragmentImageUniforms = */ 8, +- /* .MaxCombinedImageUniforms = */ 8, +- /* .MaxGeometryTextureImageUnits = */ 16, +- /* .MaxGeometryOutputVertices = */ 256, +- /* .MaxGeometryTotalOutputComponents = */ 1024, +- /* .MaxGeometryUniformComponents = */ 1024, +- /* .MaxGeometryVaryingComponents = */ 64, +- /* .MaxTessControlInputComponents = */ 128, +- /* .MaxTessControlOutputComponents = */ 128, +- /* .MaxTessControlTextureImageUnits = */ 16, +- /* .MaxTessControlUniformComponents = */ 1024, +- /* .MaxTessControlTotalOutputComponents = */ 4096, +- /* .MaxTessEvaluationInputComponents = */ 128, +- /* .MaxTessEvaluationOutputComponents = */ 128, +- /* .MaxTessEvaluationTextureImageUnits = */ 16, +- /* .MaxTessEvaluationUniformComponents = */ 1024, +- /* .MaxTessPatchComponents = */ 120, +- /* .MaxPatchVertices = */ 32, +- /* .MaxTessGenLevel = */ 64, +- /* .MaxViewports = */ 16, +- /* .MaxVertexAtomicCounters = */ 0, +- /* .MaxTessControlAtomicCounters = */ 0, +- /* .MaxTessEvaluationAtomicCounters = */ 0, +- /* .MaxGeometryAtomicCounters = */ 0, +- /* .MaxFragmentAtomicCounters = */ 8, +- /* .MaxCombinedAtomicCounters = */ 8, +- /* .MaxAtomicCounterBindings = */ 1, +- /* .MaxVertexAtomicCounterBuffers = */ 0, +- /* .MaxTessControlAtomicCounterBuffers = */ 0, +- /* .MaxTessEvaluationAtomicCounterBuffers = */ 0, +- /* .MaxGeometryAtomicCounterBuffers = */ 0, +- /* .MaxFragmentAtomicCounterBuffers = */ 1, +- /* .MaxCombinedAtomicCounterBuffers = */ 1, +- /* .MaxAtomicCounterBufferSize = */ 16384, +- /* .MaxTransformFeedbackBuffers = */ 4, +- /* .MaxTransformFeedbackInterleavedComponents = */ 64, +- /* .MaxCullDistances = */ 8, +- /* .MaxCombinedClipAndCullDistances = */ 8, +- /* .MaxSamples = */ 4, +- /* .maxMeshOutputVerticesNV = */ 256, +- /* .maxMeshOutputPrimitivesNV = */ 512, +- /* .maxMeshWorkGroupSizeX_NV = */ 32, +- /* .maxMeshWorkGroupSizeY_NV = */ 1, +- /* .maxMeshWorkGroupSizeZ_NV = */ 1, +- /* .maxTaskWorkGroupSizeX_NV = */ 32, +- /* .maxTaskWorkGroupSizeY_NV = */ 1, +- /* .maxTaskWorkGroupSizeZ_NV = */ 1, +- /* .maxMeshViewCountNV = */ 4, +- /* .maxDualSourceDrawBuffersEXT = */ 1, +- +- /* .limits = */ { +- /* .nonInductiveForLoops = */ 1, +- /* .whileLoops = */ 1, +- /* .doWhileLoops = */ 1, +- /* .generalUniformIndexing = */ 1, +- /* .generalAttributeMatrixVectorIndexing = */ 1, +- /* .generalVaryingIndexing = */ 1, +- /* .generalSamplerIndexing = */ 1, +- /* .generalVariableIndexing = */ 1, +- /* .generalConstantMatrixVectorIndexing = */ 1, +- } +-}; ++} +\ В конце файла нет новой строки +diff -urN libplacebo-4.208.0.orig/src/glsl/glslang.h libplacebo-4.208.0/src/glsl/glslang.h +--- libplacebo-4.208.0.orig/src/glsl/glslang.h 2023-07-18 15:36:42.938251318 +0300 ++++ libplacebo-4.208.0/src/glsl/glslang.h 2023-07-18 15:39:10.850085233 +0300 +@@ -20,6 +20,10 @@ + #include + #include + ++typedef struct TLimits TLimits; ++typedef struct TBuiltInResource TBuiltInResource; ++#include ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -45,6 +49,8 @@ + enum glsl_shader_stage stage, + const char *shader); + ++extern const TBuiltInResource DefaultTBuiltInResource; ++ + #ifdef __cplusplus + } + #endif +diff -urN libplacebo-4.208.0.orig/src/glsl/glslang_resources.c libplacebo-4.208.0/src/glsl/glslang_resources.c +--- libplacebo-4.208.0.orig/src/glsl/glslang_resources.c 1970-01-01 03:00:00.000000000 +0300 ++++ libplacebo-4.208.0/src/glsl/glslang_resources.c 2023-07-18 15:38:30.555675322 +0300 +@@ -0,0 +1,133 @@ ++/* ++ * This file is part of libplacebo. ++ * ++ * libplacebo is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * libplacebo is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with libplacebo. If not, see . ++ */ ++ ++#include "glslang.h" ++ ++// Taken from glslang's examples, which apparently generally bases the choices ++// on OpenGL specification limits ++// ++// Note: This lives in a separate file so we can compile this struct using C99 ++// designated initializers instead of using C++ struct initializers, because ++// the latter will break on every upstream struct extension. ++const TBuiltInResource DefaultTBuiltInResource = { ++ /* .MaxLights = */ 32, ++ /* .MaxClipPlanes = */ 6, ++ /* .MaxTextureUnits = */ 32, ++ /* .MaxTextureCoords = */ 32, ++ /* .MaxVertexAttribs = */ 64, ++ /* .MaxVertexUniformComponents = */ 4096, ++ /* .MaxVaryingFloats = */ 64, ++ /* .MaxVertexTextureImageUnits = */ 32, ++ /* .MaxCombinedTextureImageUnits = */ 80, ++ /* .MaxTextureImageUnits = */ 32, ++ /* .MaxFragmentUniformComponents = */ 4096, ++ /* .MaxDrawBuffers = */ 32, ++ /* .MaxVertexUniformVectors = */ 128, ++ /* .MaxVaryingVectors = */ 8, ++ /* .MaxFragmentUniformVectors = */ 16, ++ /* .MaxVertexOutputVectors = */ 16, ++ /* .MaxFragmentInputVectors = */ 15, ++ /* .MinProgramTexelOffset = */ -8, ++ /* .MaxProgramTexelOffset = */ 7, ++ /* .MaxClipDistances = */ 8, ++ /* .MaxComputeWorkGroupCountX = */ 65535, ++ /* .MaxComputeWorkGroupCountY = */ 65535, ++ /* .MaxComputeWorkGroupCountZ = */ 65535, ++ /* .MaxComputeWorkGroupSizeX = */ 1024, ++ /* .MaxComputeWorkGroupSizeY = */ 1024, ++ /* .MaxComputeWorkGroupSizeZ = */ 64, ++ /* .MaxComputeUniformComponents = */ 1024, ++ /* .MaxComputeTextureImageUnits = */ 16, ++ /* .MaxComputeImageUniforms = */ 8, ++ /* .MaxComputeAtomicCounters = */ 8, ++ /* .MaxComputeAtomicCounterBuffers = */ 1, ++ /* .MaxVaryingComponents = */ 60, ++ /* .MaxVertexOutputComponents = */ 64, ++ /* .MaxGeometryInputComponents = */ 64, ++ /* .MaxGeometryOutputComponents = */ 128, ++ /* .MaxFragmentInputComponents = */ 128, ++ /* .MaxImageUnits = */ 8, ++ /* .MaxCombinedImageUnitsAndFragmentOutputs = */ 8, ++ /* .MaxCombinedShaderOutputResources = */ 8, ++ /* .MaxImageSamples = */ 0, ++ /* .MaxVertexImageUniforms = */ 0, ++ /* .MaxTessControlImageUniforms = */ 0, ++ /* .MaxTessEvaluationImageUniforms = */ 0, ++ /* .MaxGeometryImageUniforms = */ 0, ++ /* .MaxFragmentImageUniforms = */ 8, ++ /* .MaxCombinedImageUniforms = */ 8, ++ /* .MaxGeometryTextureImageUnits = */ 16, ++ /* .MaxGeometryOutputVertices = */ 256, ++ /* .MaxGeometryTotalOutputComponents = */ 1024, ++ /* .MaxGeometryUniformComponents = */ 1024, ++ /* .MaxGeometryVaryingComponents = */ 64, ++ /* .MaxTessControlInputComponents = */ 128, ++ /* .MaxTessControlOutputComponents = */ 128, ++ /* .MaxTessControlTextureImageUnits = */ 16, ++ /* .MaxTessControlUniformComponents = */ 1024, ++ /* .MaxTessControlTotalOutputComponents = */ 4096, ++ /* .MaxTessEvaluationInputComponents = */ 128, ++ /* .MaxTessEvaluationOutputComponents = */ 128, ++ /* .MaxTessEvaluationTextureImageUnits = */ 16, ++ /* .MaxTessEvaluationUniformComponents = */ 1024, ++ /* .MaxTessPatchComponents = */ 120, ++ /* .MaxPatchVertices = */ 32, ++ /* .MaxTessGenLevel = */ 64, ++ /* .MaxViewports = */ 16, ++ /* .MaxVertexAtomicCounters = */ 0, ++ /* .MaxTessControlAtomicCounters = */ 0, ++ /* .MaxTessEvaluationAtomicCounters = */ 0, ++ /* .MaxGeometryAtomicCounters = */ 0, ++ /* .MaxFragmentAtomicCounters = */ 8, ++ /* .MaxCombinedAtomicCounters = */ 8, ++ /* .MaxAtomicCounterBindings = */ 1, ++ /* .MaxVertexAtomicCounterBuffers = */ 0, ++ /* .MaxTessControlAtomicCounterBuffers = */ 0, ++ /* .MaxTessEvaluationAtomicCounterBuffers = */ 0, ++ /* .MaxGeometryAtomicCounterBuffers = */ 0, ++ /* .MaxFragmentAtomicCounterBuffers = */ 1, ++ /* .MaxCombinedAtomicCounterBuffers = */ 1, ++ /* .MaxAtomicCounterBufferSize = */ 16384, ++ /* .MaxTransformFeedbackBuffers = */ 4, ++ /* .MaxTransformFeedbackInterleavedComponents = */ 64, ++ /* .MaxCullDistances = */ 8, ++ /* .MaxCombinedClipAndCullDistances = */ 8, ++ /* .MaxSamples = */ 4, ++ /* .maxMeshOutputVerticesNV = */ 256, ++ /* .maxMeshOutputPrimitivesNV = */ 512, ++ /* .maxMeshWorkGroupSizeX_NV = */ 32, ++ /* .maxMeshWorkGroupSizeY_NV = */ 1, ++ /* .maxMeshWorkGroupSizeZ_NV = */ 1, ++ /* .maxTaskWorkGroupSizeX_NV = */ 32, ++ /* .maxTaskWorkGroupSizeY_NV = */ 1, ++ /* .maxTaskWorkGroupSizeZ_NV = */ 1, ++ /* .maxMeshViewCountNV = */ 4, ++ /* .maxDualSourceDrawBuffersEXT = */ 1, ++ ++ /* .limits = */ { ++ /* .nonInductiveForLoops = */ 1, ++ /* .whileLoops = */ 1, ++ /* .doWhileLoops = */ 1, ++ /* .generalUniformIndexing = */ 1, ++ /* .generalAttributeMatrixVectorIndexing = */ 1, ++ /* .generalVaryingIndexing = */ 1, ++ /* .generalSamplerIndexing = */ 1, ++ /* .generalVariableIndexing = */ 1, ++ /* .generalConstantMatrixVectorIndexing = */ 1, ++ } ++}; ++ +diff -urN libplacebo-4.208.0.orig/src/meson.build libplacebo-4.208.0/src/meson.build +--- libplacebo-4.208.0.orig/src/meson.build 2023-07-18 15:36:42.940251289 +0300 ++++ libplacebo-4.208.0/src/meson.build 2023-07-18 15:39:41.162641326 +0300 +@@ -224,6 +224,7 @@ + 'name': 'glslang', + 'deps': glslang, + 'srcs': [ 'glsl/glslang.cc', ++ 'glsl/glslang_resources.c', + 'glsl/spirv_glslang.c', + ], + }, { diff --git a/SPECS/libplacebo.spec b/SPECS/libplacebo.spec index d3a94f0..642e62d 100644 --- a/SPECS/libplacebo.spec +++ b/SPECS/libplacebo.spec @@ -1,19 +1,21 @@ -#global prerelease rc1 +#global prerelease -rc1 Name: libplacebo -Version: 4.157.0 +Version: 4.208.0 Release: 1%{?dist} Summary: Reusable library for GPU-accelerated video/image rendering primitives License: LGPLv2+ URL: https://github.com/haasn/libplacebo -Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +Source0: %{url}/archive/v%{version}%{?prerelease}/%{name}-%{version}%{?prerelease}.tar.gz +Patch0: 0001-move-resources-declaration-to-c-file.patch BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: meson BuildRequires: lcms2-devel BuildRequires: libepoxy-devel +BuildRequires: libunwind-devel BuildRequires: libshaderc-devel >= 2018.0-1 BuildRequires: python3-mako BuildRequires: vulkan-devel @@ -44,7 +46,7 @@ developing applications that use %{name}. %prep -%autosetup -p1 -n %{name}-%{version} +%autosetup -p1 -n %{name}-%{version}%{?prerelease} %build @@ -65,7 +67,7 @@ developing applications that use %{name}. %files %license LICENSE %doc README.md -%{_libdir}/libplacebo.so.157 +%{_libdir}/libplacebo.so.208 %files devel %{_includedir}/* @@ -74,8 +76,26 @@ developing applications that use %{name}. %changelog -* Tue Jul 18 2023 Arkady L. Shane - 4.157.0-1 -- Rebuilt for MSVSphere 9.2 +* Tue Jul 18 2023 Arkady L. Shane - 4.208.0-1 +- Rebuilt for MSPSphere 9.2 + +* Wed Aug 10 2022 Nicolas Chauvet - 4.208.0-1 +- Update to 4.208.0 + +* Thu Jul 21 2022 Fedora Release Engineering - 4.208.0-0.2.rc1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 05 2022 Nicolas Chauvet - 4.208.0-0.1.rc1 +- Update to 4.208.0-rc1 + +* Thu Feb 03 2022 Nicolas Chauvet - 4.192.1-1 +- Update to 4.192.1 + +* Thu Jan 20 2022 Fedora Release Engineering - 4.192.0-1.rc1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jan 18 2022 Nicolas Chauvet - 4.192.0~rc1-1 +- Update to 4.192.0-rc1 * Tue Oct 05 2021 Nicolas Chauvet - 4.157.0-1 - Update to 4.157.0 (final)