|
|
|
@ -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 <stdlib.h>
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
|
|
+typedef struct TLimits TLimits;
|
|
|
|
|
+typedef struct TBuiltInResource TBuiltInResource;
|
|
|
|
|
+#include <glslang/Include/ResourceLimits.h>
|
|
|
|
|
+
|
|
|
|
|
#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 <http://www.gnu.org/licenses/>.
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+#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',
|
|
|
|
|
],
|
|
|
|
|
}, {
|