mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
Actually sdk-1.2.154.1 for Vulkan-Loader. glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the known-good version for Vulkan-ValidationLayers 1.2.154.0. COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt, and `glslang/register_types.cpp` now uses the upstream definition for its default builtin resource instead of hardcoding it.
This commit is contained in:
@@ -9,6 +9,7 @@ env_glslang = env_modules.Clone()
|
||||
if env["builtin_glslang"]:
|
||||
thirdparty_dir = "#thirdparty/glslang/"
|
||||
thirdparty_sources = [
|
||||
"glslang/CInterface/glslang_c_interface.cpp",
|
||||
"glslang/MachineIndependent/RemoveTree.cpp",
|
||||
"glslang/MachineIndependent/ParseHelper.cpp",
|
||||
"glslang/MachineIndependent/iomapper.cpp",
|
||||
@@ -30,7 +31,6 @@ if env["builtin_glslang"]:
|
||||
"glslang/MachineIndependent/intermOut.cpp",
|
||||
"glslang/MachineIndependent/SymbolTable.cpp",
|
||||
"glslang/MachineIndependent/glslang_tab.cpp",
|
||||
"glslang/MachineIndependent/pch.cpp",
|
||||
"glslang/MachineIndependent/Versions.cpp",
|
||||
"glslang/MachineIndependent/ShaderLang.cpp",
|
||||
"glslang/MachineIndependent/parseConst.cpp",
|
||||
@@ -40,6 +40,7 @@ if env["builtin_glslang"]:
|
||||
"glslang/GenericCodeGen/Link.cpp",
|
||||
"glslang/GenericCodeGen/CodeGen.cpp",
|
||||
"OGLCompilersDLL/InitializeDll.cpp",
|
||||
"SPIRV/CInterface/spirv_c_interface.cpp",
|
||||
"SPIRV/InReadableOrder.cpp",
|
||||
"SPIRV/GlslangToSpv.cpp",
|
||||
"SPIRV/SpvBuilder.cpp",
|
||||
@@ -49,6 +50,7 @@ if env["builtin_glslang"]:
|
||||
"SPIRV/SPVRemapper.cpp",
|
||||
"SPIRV/SpvPostProcess.cpp",
|
||||
"SPIRV/Logger.cpp",
|
||||
"StandAlone/ResourceLimits.cpp",
|
||||
]
|
||||
|
||||
if env["platform"] == "windows":
|
||||
@@ -64,6 +66,8 @@ if env["builtin_glslang"]:
|
||||
else:
|
||||
env_glslang.Prepend(CPPPATH=[thirdparty_dir])
|
||||
|
||||
env_glslang.Append(CPPDEFINES=["ENABLE_OPT=0"])
|
||||
|
||||
env_thirdparty = env_glslang.Clone()
|
||||
env_thirdparty.disable_warnings()
|
||||
env_thirdparty.add_source_files(env.modules_sources, thirdparty_sources)
|
||||
|
||||
@@ -33,115 +33,10 @@
|
||||
#include "servers/rendering/rendering_device.h"
|
||||
|
||||
#include <SPIRV/GlslangToSpv.h>
|
||||
#include <StandAlone/ResourceLimits.h>
|
||||
#include <glslang/Include/Types.h>
|
||||
#include <glslang/Public/ShaderLang.h>
|
||||
|
||||
static const TBuiltInResource default_builtin_resource = {
|
||||
/*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*/ 0,
|
||||
/*maxMeshOutputPrimitivesNV*/ 0,
|
||||
/*maxMeshWorkGroupSizeX_NV*/ 0,
|
||||
/*maxMeshWorkGroupSizeY_NV*/ 0,
|
||||
/*maxMeshWorkGroupSizeZ_NV*/ 0,
|
||||
/*maxTaskWorkGroupSizeX_NV*/ 0,
|
||||
/*maxTaskWorkGroupSizeY_NV*/ 0,
|
||||
/*maxTaskWorkGroupSizeZ_NV*/ 0,
|
||||
/*maxMeshViewCountNV*/ 0,
|
||||
/*limits*/ {
|
||||
/*nonInductiveForLoops*/ true,
|
||||
/*whileLoops*/ true,
|
||||
/*doWhileLoops*/ true,
|
||||
/*generalUniformIndexing*/ true,
|
||||
/*generalAttributeMatrixVectorIndexing*/ true,
|
||||
/*generalVaryingIndexing*/ true,
|
||||
/*generalSamplerIndexing*/ true,
|
||||
/*generalVariableIndexing*/ true,
|
||||
/*generalConstantMatrixVectorIndexing*/ true,
|
||||
}
|
||||
};
|
||||
|
||||
static Vector<uint8_t> _compile_shader_glsl(RenderingDevice::ShaderStage p_stage, const String &p_source_code, RenderingDevice::ShaderLanguage p_language, String *r_error) {
|
||||
Vector<uint8_t> ret;
|
||||
|
||||
@@ -175,7 +70,7 @@ static Vector<uint8_t> _compile_shader_glsl(RenderingDevice::ShaderStage p_stage
|
||||
std::string pre_processed_code;
|
||||
|
||||
//preprocess
|
||||
if (!shader.preprocess(&default_builtin_resource, DefaultVersion, ENoProfile, false, false, messages, &pre_processed_code, includer)) {
|
||||
if (!shader.preprocess(&glslang::DefaultTBuiltInResource, DefaultVersion, ENoProfile, false, false, messages, &pre_processed_code, includer)) {
|
||||
if (r_error) {
|
||||
(*r_error) = "Failed pre-process:\n";
|
||||
(*r_error) += shader.getInfoLog();
|
||||
@@ -190,7 +85,7 @@ static Vector<uint8_t> _compile_shader_glsl(RenderingDevice::ShaderStage p_stage
|
||||
shader.setStrings(&cs_strings, 1);
|
||||
|
||||
//parse
|
||||
if (!shader.parse(&default_builtin_resource, DefaultVersion, false, messages)) {
|
||||
if (!shader.parse(&glslang::DefaultTBuiltInResource, DefaultVersion, false, messages)) {
|
||||
if (r_error) {
|
||||
(*r_error) = "Failed parse:\n";
|
||||
(*r_error) += shader.getInfoLog();
|
||||
|
||||
Reference in New Issue
Block a user