Browse Source

Bye GLSL bye glslang

Panagiotis Christopoulos Charitos 2 years ago
parent
commit
a089b63617
100 changed files with 23 additions and 3677 deletions
  1. 5 5
      AnKi/Gr/CMakeLists.txt
  2. 1 1
      AnKi/ShaderCompiler/CMakeLists.txt
  3. 0 296
      AnKi/ShaderCompiler/Glslang.cpp
  4. 0 24
      AnKi/ShaderCompiler/Glslang.h
  5. 3 12
      AnKi/ShaderCompiler/ShaderProgramCompiler.cpp
  6. 1 1
      AnKi/ShaderCompiler/ShaderProgramDump.cpp
  7. 0 24
      AnKi/ShaderCompiler/ShaderProgramParser.cpp
  8. 0 8
      AnKi/ShaderCompiler/ShaderProgramParser.h
  9. 0 2
      AnKi/Shaders/ApplyIrradianceToReflection.ankiprog
  10. 0 2
      AnKi/Shaders/BlitCompute.ankiprog
  11. 0 2
      AnKi/Shaders/BlitRaster.ankiprog
  12. 0 2
      AnKi/Shaders/BloomCompute.ankiprog
  13. 0 2
      AnKi/Shaders/BloomRaster.ankiprog
  14. 0 2
      AnKi/Shaders/BloomUpscaleCompute.ankiprog
  15. 0 2
      AnKi/Shaders/BloomUpscaleRaster.ankiprog
  16. 1 1
      AnKi/Shaders/CMakeLists.txt
  17. 0 2
      AnKi/Shaders/ClearTextureCompute.ankiprog
  18. 0 2
      AnKi/Shaders/ClusterBinning.ankiprog
  19. 0 2
      AnKi/Shaders/DepthAwareBlurCompute.ankiprog
  20. 0 2
      AnKi/Shaders/DepthAwareBlurRaster.ankiprog
  21. 0 2
      AnKi/Shaders/DepthDownscaleCompute.ankiprog
  22. 0 2
      AnKi/Shaders/DepthDownscaleRaster.ankiprog
  23. 0 2
      AnKi/Shaders/DownscaleBlurCompute.ankiprog
  24. 0 2
      AnKi/Shaders/DownscaleBlurRaster.ankiprog
  25. 0 2
      AnKi/Shaders/FinalComposite.ankiprog
  26. 0 2
      AnKi/Shaders/ForwardShadingFog.ankiprog
  27. 0 2
      AnKi/Shaders/ForwardShadingGenericTransparent.ankiprog
  28. 0 2
      AnKi/Shaders/ForwardShadingParticles.ankiprog
  29. 0 1
      AnKi/Shaders/Fsr.hlsl
  30. 0 2
      AnKi/Shaders/FsrRaster.ankiprog
  31. 0 2
      AnKi/Shaders/GBufferGeneric.ankiprog
  32. 0 2
      AnKi/Shaders/GBufferGpuParticles.ankiprog
  33. 0 2
      AnKi/Shaders/GBufferPost.ankiprog
  34. 0 2
      AnKi/Shaders/GpuParticlesSimulation.ankiprog
  35. 0 2
      AnKi/Shaders/GpuSceneMicroPatching.ankiprog
  36. 0 2
      AnKi/Shaders/IndirectDiffuse.hlsl
  37. 0 2
      AnKi/Shaders/IndirectDiffuseDenoise.hlsl
  38. 0 2
      AnKi/Shaders/IndirectDiffuseVrsSriGeneration.ankiprog
  39. 0 2
      AnKi/Shaders/IndirectSpecular.hlsl
  40. 0 2
      AnKi/Shaders/IrradianceDice.ankiprog
  41. 0 2
      AnKi/Shaders/LensFlareSprite.ankiprog
  42. 0 2
      AnKi/Shaders/LensFlareUpdateIndirectInfo.ankiprog
  43. 0 2
      AnKi/Shaders/LightShading.ankiprog
  44. 0 2
      AnKi/Shaders/LightShadingApplyFog.ankiprog
  45. 0 2
      AnKi/Shaders/LightShadingApplyIndirect.ankiprog
  46. 0 2
      AnKi/Shaders/LightShadingSkybox.ankiprog
  47. 0 2
      AnKi/Shaders/MotionVectors.hlsl
  48. 0 2
      AnKi/Shaders/RtShadowsDenoise.ankiprog
  49. 0 1
      AnKi/Shaders/RtShadowsHit.ankiprog
  50. 0 1
      AnKi/Shaders/RtShadowsMiss.ankiprog
  51. 0 2
      AnKi/Shaders/RtShadowsRayGen.ankiprog
  52. 0 2
      AnKi/Shaders/RtShadowsSvgfAtrous.ankiprog
  53. 0 2
      AnKi/Shaders/RtShadowsSvgfVariance.ankiprog
  54. 0 2
      AnKi/Shaders/RtShadowsUpscale.ankiprog
  55. 0 2
      AnKi/Shaders/RtShadowsVisualizeRenderTarget.ankiprog
  56. 0 2
      AnKi/Shaders/SceneDebug.ankiprog
  57. 0 2
      AnKi/Shaders/ShadowmappingClearDepth.ankiprog
  58. 0 2
      AnKi/Shaders/ShadowmapsResolve.hlsl
  59. 0 2
      AnKi/Shaders/TemporalAA.hlsl
  60. 0 2
      AnKi/Shaders/Tonemap.hlsl
  61. 0 1
      AnKi/Shaders/TonemappingAverageLuminance.ankiprog
  62. 0 2
      AnKi/Shaders/TraditionalDeferredShading.ankiprog
  63. 0 2
      AnKi/Shaders/TraditionalDeferredShadingSkybox.ankiprog
  64. 0 2
      AnKi/Shaders/Ui.ankiprog
  65. 0 2
      AnKi/Shaders/UiVisualizeImage.ankiprog
  66. 0 2
      AnKi/Shaders/VisualizeHdrRenderTarget.ankiprog
  67. 0 2
      AnKi/Shaders/VisualizeRenderTarget.ankiprog
  68. 0 2
      AnKi/Shaders/VolumetricFogAccumulation.ankiprog
  69. 0 2
      AnKi/Shaders/VolumetricLightingAccumulation.ankiprog
  70. 0 1
      AnKi/Shaders/VrsSriDownscale.ankiprog
  71. 0 2
      AnKi/Shaders/VrsSriGenerationCompute.ankiprog
  72. 0 2
      AnKi/Shaders/VrsSriVisualizeRenderTarget.ankiprog
  73. 6 6
      CMakeLists.txt
  74. 3 3
      README.md
  75. 0 1
      Tests/Gr/Gr.cpp
  76. 3 2
      Tests/Gr/GrCommon.h
  77. 0 108
      ThirdParty/Glslang/.appveyor.yml
  78. 0 13
      ThirdParty/Glslang/.clang-format
  79. 0 39
      ThirdParty/Glslang/.gn
  80. 0 168
      ThirdParty/Glslang/Android.mk
  81. 0 309
      ThirdParty/Glslang/BUILD.bazel
  82. 0 353
      ThirdParty/Glslang/BUILD.gn
  83. 0 112
      ThirdParty/Glslang/CHANGES.md
  84. 0 369
      ThirdParty/Glslang/CMakeLists.txt
  85. 0 138
      ThirdParty/Glslang/ChooseMSVCCRT.cmake
  86. 0 82
      ThirdParty/Glslang/DEPS
  87. 0 77
      ThirdParty/Glslang/External/CMakeLists.txt
  88. 0 6
      ThirdParty/Glslang/External/spirv-tools/.clang-format
  89. 0 20
      ThirdParty/Glslang/External/spirv-tools/.gn
  90. 0 559
      ThirdParty/Glslang/External/spirv-tools/BUILD.bazel
  91. 0 1
      ThirdParty/Glslang/External/spirv-tools/CODE_OF_CONDUCT.md
  92. 0 346
      ThirdParty/Glslang/External/spirv-tools/build_defs.bzl
  93. 0 43
      ThirdParty/Glslang/External/spirv-tools/build_overrides/build.gni
  94. 0 25
      ThirdParty/Glslang/External/spirv-tools/build_overrides/gtest.gni
  95. 0 25
      ThirdParty/Glslang/External/spirv-tools/build_overrides/spirv_tools.gni
  96. 0 171
      ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/BUILD.bazel
  97. 0 44
      ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/BUILD.gn
  98. 0 138
      ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/CMakeLists.txt
  99. 0 1
      ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/CODE_OF_CONDUCT.md
  100. 0 25
      ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/LICENSE

+ 5 - 5
AnKi/Gr/CMakeLists.txt

@@ -139,15 +139,15 @@ add_library(AnKiGr ${backend_sources} ${backend_headers})
 target_compile_definitions(AnKiGr PRIVATE -DANKI_SOURCE_FILE)
 target_link_libraries(AnKiGr AnKiCore AnKiSpirvCross AnKiGrCommon ${extra_libs})
 
-# Copy DLSS files to Bin
+# Copy DLSS files to Binaries
 if(ANKI_DLSS)
 	get_target_property(lib_type AnKiNgx TYPE)
 	if("${lib_type}" STREQUAL "SHARED_LIBRARY")
 		get_target_property(ANKINGX_DLL AnKiNgx IMPORTED_LOCATION)
 		add_custom_command(
 			TARGET AnKiGr
-			COMMENT "Dependant DLLs copy ${ANKINGX_DLL} ${CMAKE_BINARY_DIR}/Bin"
-			COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ANKINGX_DLL}" "${CMAKE_BINARY_DIR}/Bin")
+			COMMENT "Dependant DLLs copy ${ANKINGX_DLL} ${CMAKE_BINARY_DIR}/Binaries"
+			COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ANKINGX_DLL}" "${CMAKE_BINARY_DIR}/Binaries")
 	else()
 		get_property(__NGX_DLLS_LIST TARGET AnKiNgx PROPERTY ANKINGX_EXTRA_DLLS)
 		foreach(dll_path ${__NGX_DLLS_LIST})
@@ -155,8 +155,8 @@ if(ANKI_DLSS)
 			foreach(dll_file ${dll_files})
 				add_custom_command(
 				TARGET AnKiGr
-				COMMENT "NGX DLL copy ${dll_file} ${CMAKE_BINARY_DIR}/Bin\n"
-				COMMAND ${CMAKE_COMMAND} -E copy_if_different "${dll_file}" "${CMAKE_BINARY_DIR}/Bin")
+				COMMENT "NGX DLL copy ${dll_file} ${CMAKE_BINARY_DIR}/Binaries\n"
+				COMMAND ${CMAKE_COMMAND} -E copy_if_different "${dll_file}" "${CMAKE_BINARY_DIR}/Binaries")
 			endforeach()
 		endforeach()
 	endif()

+ 1 - 1
AnKi/ShaderCompiler/CMakeLists.txt

@@ -2,4 +2,4 @@ file(GLOB_RECURSE sources *.cpp)
 file(GLOB_RECURSE headers *.h)
 add_library(AnKiShaderCompiler ${sources} ${headers})
 target_compile_definitions(AnKiShaderCompiler PRIVATE -DANKI_SOURCE_FILE)
-target_link_libraries(AnKiShaderCompiler AnKiGrCommon AnKiSpirvCross glslang SPIRV OGLCompiler OSDependent)
+target_link_libraries(AnKiShaderCompiler AnKiGrCommon AnKiSpirvCross SPIRV-Tools)

+ 0 - 296
AnKi/ShaderCompiler/Glslang.cpp

@@ -1,296 +0,0 @@
-// Copyright (C) 2009-2022, Panagiotis Christopoulos Charitos and contributors.
-// All rights reserved.
-// Code licensed under the BSD License.
-// http://www.anki3d.org/LICENSE
-
-#include <AnKi/ShaderCompiler/Glslang.h>
-#include <AnKi/Util/StringList.h>
-#include <AnKi/Util/File.h>
-#include <AnKi/Util/Filesystem.h>
-
-#if ANKI_COMPILER_GCC_COMPATIBLE
-#	pragma GCC diagnostic push
-#	pragma GCC diagnostic ignored "-Wundef"
-#	pragma GCC diagnostic ignored "-Wconversion"
-#endif
-#define ENABLE_OPT 0
-#include <Glslang/glslang/Public/ShaderLang.h>
-#include <Glslang/SPIRV/GlslangToSpv.h>
-#include <Glslang/StandAlone/DirStackFileIncluder.h>
-#if ANKI_COMPILER_GCC_COMPATIBLE
-#	pragma GCC diagnostic pop
-#endif
-
-#define ANKI_GLSLANG_DUMP 0
-
-namespace anki {
-
-#if ANKI_GLSLANG_DUMP
-static Atomic<U32> g_dumpFileCount;
-#endif
-
-class GlslangCtx
-{
-public:
-	GlslangCtx()
-	{
-		glslang::InitializeProcess();
-	}
-
-	~GlslangCtx()
-	{
-		glslang::FinalizeProcess();
-	}
-};
-
-GlslangCtx g_glslangCtx;
-
-static TBuiltInResource setGlslangLimits()
-{
-	TBuiltInResource c = {};
-
-	c.maxLights = 32;
-	c.maxClipPlanes = 6;
-	c.maxTextureUnits = 32;
-	c.maxTextureCoords = 32;
-	c.maxVertexAttribs = 64;
-	c.maxVertexUniformComponents = 4096;
-	c.maxVaryingFloats = 64;
-	c.maxVertexTextureImageUnits = 32;
-	c.maxCombinedTextureImageUnits = 80;
-	c.maxTextureImageUnits = 32;
-	c.maxFragmentUniformComponents = 4096;
-	c.maxDrawBuffers = 32;
-	c.maxVertexUniformVectors = 128;
-	c.maxVaryingVectors = 8;
-	c.maxFragmentUniformVectors = 16;
-	c.maxVertexOutputVectors = 16;
-	c.maxFragmentInputVectors = 15;
-	c.minProgramTexelOffset = -8;
-	c.maxProgramTexelOffset = 7;
-	c.maxClipDistances = 8;
-	c.maxComputeWorkGroupCountX = 65535;
-	c.maxComputeWorkGroupCountY = 65535;
-	c.maxComputeWorkGroupCountZ = 65535;
-	c.maxComputeWorkGroupSizeX = 1024;
-	c.maxComputeWorkGroupSizeY = 1024;
-	c.maxComputeWorkGroupSizeZ = 64;
-	c.maxComputeUniformComponents = 1024;
-	c.maxComputeTextureImageUnits = 16;
-	c.maxComputeImageUniforms = 8;
-	c.maxComputeAtomicCounters = 8;
-	c.maxComputeAtomicCounterBuffers = 1;
-	c.maxVaryingComponents = 60;
-	c.maxVertexOutputComponents = 64;
-	c.maxGeometryInputComponents = 64;
-	c.maxGeometryOutputComponents = 128;
-	c.maxFragmentInputComponents = 128;
-	c.maxImageUnits = 8;
-	c.maxCombinedImageUnitsAndFragmentOutputs = 8;
-	c.maxCombinedShaderOutputResources = 8;
-	c.maxImageSamples = 0;
-	c.maxVertexImageUniforms = 0;
-	c.maxTessControlImageUniforms = 0;
-	c.maxTessEvaluationImageUniforms = 0;
-	c.maxGeometryImageUniforms = 0;
-	c.maxFragmentImageUniforms = 8;
-	c.maxCombinedImageUniforms = 8;
-	c.maxGeometryTextureImageUnits = 16;
-	c.maxGeometryOutputVertices = 256;
-	c.maxGeometryTotalOutputComponents = 1024;
-	c.maxGeometryUniformComponents = 1024;
-	c.maxGeometryVaryingComponents = 64;
-	c.maxTessControlInputComponents = 128;
-	c.maxTessControlOutputComponents = 128;
-	c.maxTessControlTextureImageUnits = 16;
-	c.maxTessControlUniformComponents = 1024;
-	c.maxTessControlTotalOutputComponents = 4096;
-	c.maxTessEvaluationInputComponents = 128;
-	c.maxTessEvaluationOutputComponents = 128;
-	c.maxTessEvaluationTextureImageUnits = 16;
-	c.maxTessEvaluationUniformComponents = 1024;
-	c.maxTessPatchComponents = 120;
-	c.maxPatchVertices = 32;
-	c.maxTessGenLevel = 64;
-	c.maxViewports = 16;
-	c.maxVertexAtomicCounters = 0;
-	c.maxTessControlAtomicCounters = 0;
-	c.maxTessEvaluationAtomicCounters = 0;
-	c.maxGeometryAtomicCounters = 0;
-	c.maxFragmentAtomicCounters = 8;
-	c.maxCombinedAtomicCounters = 8;
-	c.maxAtomicCounterBindings = 1;
-	c.maxVertexAtomicCounterBuffers = 0;
-	c.maxTessControlAtomicCounterBuffers = 0;
-	c.maxTessEvaluationAtomicCounterBuffers = 0;
-	c.maxGeometryAtomicCounterBuffers = 0;
-	c.maxFragmentAtomicCounterBuffers = 1;
-	c.maxCombinedAtomicCounterBuffers = 1;
-	c.maxAtomicCounterBufferSize = 16384;
-	c.maxTransformFeedbackBuffers = 4;
-	c.maxTransformFeedbackInterleavedComponents = 64;
-	c.maxCullDistances = 8;
-	c.maxCombinedClipAndCullDistances = 8;
-	c.maxSamples = 4;
-
-	c.limits.nonInductiveForLoops = 1;
-	c.limits.whileLoops = 1;
-	c.limits.doWhileLoops = 1;
-	c.limits.generalUniformIndexing = 1;
-	c.limits.generalAttributeMatrixVectorIndexing = 1;
-	c.limits.generalVaryingIndexing = 1;
-	c.limits.generalSamplerIndexing = 1;
-	c.limits.generalVariableIndexing = 1;
-	c.limits.generalConstantMatrixVectorIndexing = 1;
-
-	return c;
-}
-
-static TBuiltInResource GLSLANG_LIMITS = setGlslangLimits();
-
-static EShLanguage ankiToGlslangShaderType(ShaderType shaderType)
-{
-	EShLanguage gslangShader;
-	switch(shaderType)
-	{
-	case ShaderType::kVertex:
-		gslangShader = EShLangVertex;
-		break;
-	case ShaderType::kFragment:
-		gslangShader = EShLangFragment;
-		break;
-	case ShaderType::kTessellationEvaluation:
-		gslangShader = EShLangTessEvaluation;
-		break;
-	case ShaderType::kTessellationControl:
-		gslangShader = EShLangTessControl;
-		break;
-	case ShaderType::kGeometry:
-		gslangShader = EShLangGeometry;
-		break;
-	case ShaderType::kCompute:
-		gslangShader = EShLangCompute;
-		break;
-	case ShaderType::kRayGen:
-		gslangShader = EShLangRayGen;
-		break;
-	case ShaderType::kAnyHit:
-		gslangShader = EShLangAnyHit;
-		break;
-	case ShaderType::kClosestHit:
-		gslangShader = EShLangClosestHit;
-		break;
-	case ShaderType::kMiss:
-		gslangShader = EShLangMiss;
-		break;
-	case ShaderType::kIntersection:
-		gslangShader = EShLangIntersect;
-		break;
-	case ShaderType::kCallable:
-		gslangShader = EShLangCallable;
-		break;
-	default:
-		ANKI_ASSERT(0);
-		gslangShader = EShLangCount;
-	};
-
-	return gslangShader;
-}
-
-Error preprocessGlsl(CString in, StringRaii& out)
-{
-	glslang::TShader shader(EShLangVertex);
-	Array<const char*, 1> csrc = {&in[0]};
-	shader.setStrings(&csrc[0], 1);
-
-	DirStackFileIncluder includer;
-	EShMessages messages = EShMsgDefault;
-	std::string glslangOut;
-	if(!shader.preprocess(&GLSLANG_LIMITS, 450, ENoProfile, false, false, messages, &glslangOut, includer))
-	{
-		ANKI_SHADER_COMPILER_LOGE("Preprocessing failed:\n%s", shader.getInfoLog());
-		return Error::kUserData;
-	}
-
-	out.append(glslangOut.c_str());
-
-	return Error::kNone;
-}
-
-Error compileGlslToSpirv(CString src, ShaderType shaderType, [[maybe_unused]] BaseMemoryPool& tmpPool,
-						 DynamicArrayRaii<U8>& spirv, StringRaii& errorMessage)
-{
-#if ANKI_GLSLANG_DUMP
-	// Dump it
-	const U32 dumpFileCount = g_dumpFileCount.fetchAdd(1);
-	{
-		File file;
-
-		StringRaii tmpDir(&tmpPool);
-		ANKI_CHECK(getTempDirectory(tmpDir));
-
-		StringRaii fname(&tmpPool);
-		fname.sprintf("%s/%u.glsl", tmpDir.cstr(), dumpFileCount);
-		ANKI_SHADER_COMPILER_LOGW("GLSL dumping is enabled: %s", fname.cstr());
-		ANKI_CHECK(file.open(fname, FileOpenFlag::kWrite));
-		ANKI_CHECK(file.writeTextf("%s", src.cstr()));
-	}
-#endif
-
-	const EShLanguage stage = ankiToGlslangShaderType(shaderType);
-	const EShMessages messages = EShMessages(EShMsgSpvRules | EShMsgVulkanRules);
-
-	glslang::TShader shader(stage);
-	Array<const char*, 1> csrc = {&src[0]};
-	shader.setStrings(&csrc[0], 1);
-	shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetVulkan_1_1);
-	shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetSpv_1_4);
-	shader.setOverrideVersion(460);
-	if(!shader.parse(&GLSLANG_LIMITS, 100, false, messages))
-	{
-		// printf("%s\n", src.cstr());
-		errorMessage = shader.getInfoLog();
-		return Error::kUserData;
-	}
-
-	// Setup the program
-	glslang::TProgram program;
-	program.addShader(&shader);
-
-	if(!program.link(messages))
-	{
-		errorMessage.create("glslang failed to link a shader");
-		return Error::kUserData;
-	}
-
-	// Gen SPIRV
-	glslang::SpvOptions spvOptions;
-	spvOptions.optimizeSize = true;
-	spvOptions.disableOptimizer = false;
-	std::vector<unsigned int> glslangSpirv;
-	glslang::GlslangToSpv(*program.getIntermediate(stage), glslangSpirv, &spvOptions);
-
-	// Store
-	spirv.resize(U32(glslangSpirv.size() * sizeof(unsigned int)));
-	memcpy(&spirv[0], &glslangSpirv[0], spirv.getSizeInBytes());
-
-#if ANKI_GLSLANG_DUMP
-	// Dump it
-	{
-		File file;
-
-		StringRaii tmpDir(&tmpPool);
-		ANKI_CHECK(getTempDirectory(tmpDir));
-
-		StringRaii fname(&tmpPool);
-		fname.sprintf("%s/%u.spv", tmpDir.cstr(), dumpFileCount);
-		ANKI_SHADER_COMPILER_LOGW("GLSL dumping is enabled: %s", fname.cstr());
-		ANKI_CHECK(file.open(fname, FileOpenFlag::kWrite | FileOpenFlag::kBinary));
-		ANKI_CHECK(file.write(spirv.getBegin(), spirv.getSizeInBytes()));
-	}
-#endif
-
-	return Error::kNone;
-}
-
-} // end namespace anki

+ 0 - 24
AnKi/ShaderCompiler/Glslang.h

@@ -1,24 +0,0 @@
-// Copyright (C) 2009-2022, Panagiotis Christopoulos Charitos and contributors.
-// All rights reserved.
-// Code licensed under the BSD License.
-// http://www.anki3d.org/LICENSE
-
-#pragma once
-
-#include <AnKi/ShaderCompiler/Common.h>
-#include <AnKi/Util/String.h>
-
-namespace anki {
-
-/// @addtogroup shader_compiler
-/// @{
-
-/// Run glslang's preprocessor.
-Error preprocessGlsl(CString in, StringRaii& out);
-
-/// Compile glsl to SPIR-V.
-Error compileGlslToSpirv(CString src, ShaderType shaderType, BaseMemoryPool& tmpPool, DynamicArrayRaii<U8>& spirv,
-						 StringRaii& errorMessage);
-/// @}
-
-} // end namespace anki

+ 3 - 12
AnKi/ShaderCompiler/ShaderProgramCompiler.cpp

@@ -5,7 +5,6 @@
 
 #include <AnKi/ShaderCompiler/ShaderProgramCompiler.h>
 #include <AnKi/ShaderCompiler/ShaderProgramParser.h>
-#include <AnKi/ShaderCompiler/Glslang.h>
 #include <AnKi/ShaderCompiler/Dxc.h>
 #include <AnKi/ShaderCompiler/ShaderProgramReflection.h>
 #include <AnKi/Util/Serializer.h>
@@ -181,16 +180,8 @@ static Error compileSpirv(ConstWeakArray<MutatorValue> mutation, const ShaderPro
 		}
 
 		// Compile
-		if(!parser.isHlsl())
-		{
-			ANKI_CHECK(compileGlslToSpirv(parserVariant.getSource(shaderType), shaderType, tempPool, spirv[shaderType],
-										  errorLog));
-		}
-		else
-		{
-			ANKI_CHECK(compileHlslToSpirv(parserVariant.getSource(shaderType), shaderType,
-										  parser.compileWith16bitTypes(), tempPool, spirv[shaderType], errorLog));
-		}
+		ANKI_CHECK(compileHlslToSpirv(parserVariant.getSource(shaderType), shaderType, parser.compileWith16bitTypes(),
+									  tempPool, spirv[shaderType], errorLog));
 		ANKI_ASSERT(spirv[shaderType].getSize() > 0);
 	}
 
@@ -316,7 +307,7 @@ static void compileVariantAsync(ConstWeakArray<MutatorValue> mutation, const Sha
 			const Error prevErr = ctx.m_err->exchange(err._getCode());
 			if(!prevErr)
 			{
-				ANKI_SHADER_COMPILER_LOGE("GLSL compilation failed:\n%s", errorLog.cstr());
+				ANKI_SHADER_COMPILER_LOGE("Shader compilation failed:\n%s", errorLog.cstr());
 			}
 		}
 

+ 1 - 1
AnKi/ShaderCompiler/ShaderProgramDump.cpp

@@ -7,7 +7,7 @@
 #include <AnKi/Util/Serializer.h>
 #include <AnKi/Util/StringList.h>
 #include <SpirvCross/spirv_glsl.hpp>
-#include <Glslang/External/spirv-tools/include/spirv-tools/libspirv.h>
+#include <ThirdParty/SpirvTools/include/spirv-tools/libspirv.h>
 
 namespace anki {
 

+ 0 - 24
AnKi/ShaderCompiler/ShaderProgramParser.cpp

@@ -532,10 +532,6 @@ Error ShaderProgramParser::parseLine(CString line, CString fname, Bool& foundPra
 				ANKI_CHECK(checkActiveStruct());
 				ANKI_CHECK(parsePragmaMember(token + 1, end, line, fname));
 			}
-			else if(*token == "hlsl")
-			{
-				ANKI_CHECK(parsePragmaHlsl(token + 1, end, line, fname));
-			}
 			else if(*token == "16bit")
 			{
 				ANKI_CHECK(parsePragma16bit(token + 1, end, line, fname));
@@ -828,21 +824,6 @@ Error ShaderProgramParser::parsePragmaStructEnd(const StringRaii* begin, const S
 	return Error::kNone;
 }
 
-Error ShaderProgramParser::parsePragmaHlsl(const StringRaii* begin, const StringRaii* end, CString line, CString fname)
-{
-	ANKI_ASSERT(begin && end);
-
-	// Check tokens
-	if(begin != end)
-	{
-		ANKI_PP_ERROR_MALFORMED();
-	}
-
-	m_hlsl = true;
-
-	return Error::kNone;
-}
-
 Error ShaderProgramParser::parsePragma16bit(const StringRaii* begin, const StringRaii* end, CString line, CString fname)
 {
 	ANKI_ASSERT(begin && end);
@@ -960,11 +941,6 @@ Error ShaderProgramParser::parse()
 		}
 	}
 
-	if(!m_hlsl)
-	{
-		m_codeLines.pushFront(StringRaii(m_pool, "#extension GL_GOOGLE_cpp_style_line_directive : enable"));
-	}
-
 	// Create the code lines
 	if(m_codeLines.getSize())
 	{

+ 0 - 8
AnKi/ShaderCompiler/ShaderProgramParser.h

@@ -112,7 +112,6 @@ private:
 /// #pragma anki ray_type NUMBER
 /// #pragma anki reflect NAME
 /// #pragma anki skip_mutation MUTATOR0 VALUE0 MUTATOR1 VALUE1 [MUTATOR2 VALUE2 ...]
-/// #pragma anki hlsl // By default it's GLSL
 /// #pragma anki 16bit // Works only in HLSL. Gain 16bit types but loose min16xxx types
 ///
 /// #pragma anki struct NAME
@@ -178,11 +177,6 @@ public:
 		return m_ghostStructs;
 	}
 
-	Bool isHlsl() const
-	{
-		return m_hlsl;
-	}
-
 	Bool compileWith16bitTypes() const
 	{
 		return m_16bitTypes;
@@ -233,7 +227,6 @@ private:
 	DynamicArrayRaii<GhostStruct> m_ghostStructs = {m_pool};
 	Bool m_insideStruct = false;
 
-	Bool m_hlsl = false;
 	Bool m_16bitTypes = false;
 
 	Error parseFile(CString fname, U32 depth);
@@ -249,7 +242,6 @@ private:
 	Error parsePragmaStructBegin(const StringRaii* begin, const StringRaii* end, CString line, CString fname);
 	Error parsePragmaStructEnd(const StringRaii* begin, const StringRaii* end, CString line, CString fname);
 	Error parsePragmaMember(const StringRaii* begin, const StringRaii* end, CString line, CString fname);
-	Error parsePragmaHlsl(const StringRaii* begin, const StringRaii* end, CString line, CString fname);
 	Error parsePragma16bit(const StringRaii* begin, const StringRaii* end, CString line, CString fname);
 
 	void tokenizeLine(CString line, DynamicArrayRaii<StringRaii>& tokens) const;

+ 0 - 2
AnKi/Shaders/ApplyIrradianceToReflection.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 #include <AnKi/Shaders/PackFunctions.hlsl>
 #include <AnKi/Shaders/LightFunctions.hlsl>

+ 0 - 2
AnKi/Shaders/BlitCompute.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 #include <AnKi/Shaders/Blit.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/BlitRaster.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/BloomCompute.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 #include <AnKi/Shaders/Bloom.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/BloomRaster.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/BloomUpscaleCompute.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 #include <AnKi/Shaders/BloomUpscale.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/BloomUpscaleRaster.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 1 - 1
AnKi/Shaders/CMakeLists.txt

@@ -15,7 +15,7 @@ if(ANDROID)
 	# Copy to the Android assets
 	set(out_dir "${CMAKE_BINARY_DIR}/../../../../../assets/ShaderBinaries")
 else()
-	set(out_dir "${CMAKE_BINARY_DIR}/Bin/ShaderBinaries")
+	set(out_dir "${CMAKE_BINARY_DIR}/Binaries/ShaderBinaries")
 endif()
 
 if(ANDROID OR ARM)

+ 0 - 2
AnKi/Shaders/ClearTextureCompute.ankiprog

@@ -5,8 +5,6 @@
 
 // A slow compute program to clear an image with a contant color
 
-#pragma anki hlsl
-
 #pragma anki mutator TEXTURE_DIMENSIONS 2 3
 #pragma anki mutator COMPONENT_TYPE 0 1 // 0 is float, 1 is uint
 

+ 0 - 2
AnKi/Shaders/ClusterBinning.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 
 #include <AnKi/Shaders/Include/ClusteredShadingTypes.h>

+ 0 - 2
AnKi/Shaders/DepthAwareBlurCompute.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 #include <AnKi/Shaders/DepthAwareBlur.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/DepthAwareBlurRaster.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/DepthDownscaleCompute.ankiprog

@@ -5,8 +5,6 @@
 
 // The 1st reduction is average depth. The next reductions are max depth
 
-#pragma anki hlsl
-
 #pragma anki mutator WAVE_OPERATIONS 0 1
 
 #pragma anki start comp

+ 0 - 2
AnKi/Shaders/DepthDownscaleRaster.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator REDUCTION_SAMPLER 0 1
 
 #pragma anki start vert

+ 0 - 2
AnKi/Shaders/DownscaleBlurCompute.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 #include <AnKi/Shaders/DownscaleBlur.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/DownscaleBlurRaster.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/FinalComposite.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator FILM_GRAIN 0 1
 #pragma anki mutator BLOOM_ENABLED 0 1
 #pragma anki mutator DBG_ENABLED 0 1

+ 0 - 2
AnKi/Shaders/ForwardShadingFog.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator ANKI_TECHNIQUE 3
 
 #include <AnKi/Shaders/ForwardShadingCommon.hlsl>

+ 0 - 2
AnKi/Shaders/ForwardShadingGenericTransparent.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator ANKI_TECHNIQUE 3
 #pragma anki mutator TEXTURE 0 1
 #pragma anki mutator LIGHT 0 1

+ 0 - 2
AnKi/Shaders/ForwardShadingParticles.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator ANKI_TECHNIQUE 3
 #pragma anki mutator ANIMATED_TEXTURE 0 1
 #pragma anki mutator LIGHT 0 1

+ 0 - 1
AnKi/Shaders/Fsr.hlsl

@@ -3,7 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
 #pragma anki 16bit
 #pragma anki mutator SHARPEN 0 1
 #pragma anki mutator FSR_QUALITY 0 1

+ 0 - 2
AnKi/Shaders/FsrRaster.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/GBufferGeneric.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator ANKI_VELOCITY 0 1
 #pragma anki mutator ANKI_TECHNIQUE 0 1 2
 #pragma anki mutator ANKI_BONES 0 1

+ 0 - 2
AnKi/Shaders/GBufferGpuParticles.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator ANKI_TECHNIQUE 0 1
 
 #include <AnKi/Shaders/Include/ParticleTypes.h>

+ 0 - 2
AnKi/Shaders/GBufferPost.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/GpuParticlesSimulation.ankiprog

@@ -5,8 +5,6 @@
 
 // This shader does a particle simulation
 
-#pragma anki hlsl
-
 #pragma anki start comp
 
 #include <AnKi/Shaders/Include/ParticleTypes.h>

+ 0 - 2
AnKi/Shaders/GpuSceneMicroPatching.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 
 #include <AnKi/Shaders/Common.hlsl>

+ 0 - 2
AnKi/Shaders/IndirectDiffuse.hlsl

@@ -5,8 +5,6 @@
 
 // Does SSGI and GI probe sampling
 
-#pragma anki hlsl
-
 #include <AnKi/Shaders/Functions.hlsl>
 #include <AnKi/Shaders/PackFunctions.hlsl>
 #include <AnKi/Shaders/ImportanceSampling.hlsl>

+ 0 - 2
AnKi/Shaders/IndirectDiffuseDenoise.hlsl

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator BLUR_ORIENTATION 0 1 // 0: in X axis, 1: in Y axis
 
 #include <AnKi/Shaders/Include/MiscRendererTypes.h>

+ 0 - 2
AnKi/Shaders/IndirectDiffuseVrsSriGeneration.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator SRI_TEXEL_DIMENSION 8 16
 #pragma anki mutator SHARED_MEMORY 0 1
 #pragma anki mutator LIMIT_RATE_TO_2X2 0 1

+ 0 - 2
AnKi/Shaders/IndirectSpecular.hlsl

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator STOCHASTIC 0 1
 #pragma anki mutator EXTRA_REJECTION 0 1
 

+ 0 - 2
AnKi/Shaders/IrradianceDice.ankiprog

@@ -5,8 +5,6 @@
 
 // Compute the irradiance given a light shading result. The irradiance will be stored in an ambient dice.
 
-#pragma anki hlsl
-
 #pragma anki mutator WORKGROUP_SIZE_XY 8 16 32
 #pragma anki mutator LIGHT_SHADING_TEX 0 1 // 0: texture2D, 1: textureCubeArray
 #pragma anki mutator STORE_LOCATION 0 1 // 0: in a 3D texture, 1: In an SSBO

+ 0 - 2
AnKi/Shaders/LensFlareSprite.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #include <AnKi/Shaders/Common.hlsl>
 #include <AnKi/Shaders/Include/MiscRendererTypes.h>
 

+ 0 - 2
AnKi/Shaders/LensFlareUpdateIndirectInfo.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 #include <AnKi/Shaders/Common.hlsl>
 

+ 0 - 2
AnKi/Shaders/LightShading.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator USE_SHADOW_LAYERS 0 1
 
 #pragma anki start vert

+ 0 - 2
AnKi/Shaders/LightShadingApplyFog.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/LightShadingApplyIndirect.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/LightShadingSkybox.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator METHOD 0 1 // 0: solid colod, 1: 2D image
 
 #pragma anki start vert

+ 0 - 2
AnKi/Shaders/MotionVectors.hlsl

@@ -5,8 +5,6 @@
 
 // Calculates the motion vectors that will be used to sample from the previous frame
 
-#pragma anki hlsl
-
 #include <AnKi/Shaders/Functions.hlsl>
 
 ANKI_SPECIALIZATION_CONSTANT_UVEC2(kFramebufferSize, 0u);

+ 0 - 2
AnKi/Shaders/RtShadowsDenoise.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator BLUR_ORIENTATION 0 1
 
 #pragma anki start comp

+ 0 - 1
AnKi/Shaders/RtShadowsHit.ankiprog

@@ -3,7 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
 #pragma anki library RtShadows
 #pragma anki ray_type 0
 

+ 0 - 1
AnKi/Shaders/RtShadowsMiss.ankiprog

@@ -3,7 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
 #pragma anki library RtShadows
 #pragma anki ray_type 0
 

+ 0 - 2
AnKi/Shaders/RtShadowsRayGen.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator RAYS_PER_PIXEL 1 2 4 8
 #pragma anki library RtShadows
 #pragma anki ray_type 0

+ 0 - 2
AnKi/Shaders/RtShadowsSvgfAtrous.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator LAST_PASS 0 1
 
 #pragma anki start comp

+ 0 - 2
AnKi/Shaders/RtShadowsSvgfVariance.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 
 #include <AnKi/Shaders/RtShadows.hlsl>

+ 0 - 2
AnKi/Shaders/RtShadowsUpscale.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 
 #include <AnKi/Shaders/RtShadows.hlsl>

+ 0 - 2
AnKi/Shaders/RtShadowsVisualizeRenderTarget.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator LAYER_GROUP 0 1 2
 
 #pragma anki start vert

+ 0 - 2
AnKi/Shaders/SceneDebug.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator COLOR_TEXTURE 0 1
 #pragma anki mutator DITHERED_DEPTH_TEST 0 1
 

+ 0 - 2
AnKi/Shaders/ShadowmappingClearDepth.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #include <AnKi/Shaders/Common.hlsl>
 
 #pragma anki start vert

+ 0 - 2
AnKi/Shaders/ShadowmapsResolve.hlsl

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator PCF 0 1
 
 #define CLUSTERED_SHADING_SET 0u

+ 0 - 2
AnKi/Shaders/TemporalAA.hlsl

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator VARIANCE_CLIPPING 0 1
 #pragma anki mutator YCBCR 0 1
 

+ 0 - 2
AnKi/Shaders/Tonemap.hlsl

@@ -5,8 +5,6 @@
 
 // Does tonemapping
 
-#pragma anki hlsl
-
 #include <AnKi/Shaders/Functions.hlsl>
 #include <AnKi/Shaders/TonemappingFunctions.hlsl>
 

+ 0 - 1
AnKi/Shaders/TonemappingAverageLuminance.ankiprog

@@ -3,7 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
 #pragma anki start comp
 
 #include <AnKi/Shaders/TonemappingFunctions.hlsl>

+ 0 - 2
AnKi/Shaders/TraditionalDeferredShading.ankiprog

@@ -5,8 +5,6 @@
 
 // Classic deferred lighting shader
 
-#pragma anki hlsl
-
 #pragma anki mutator LIGHT_TYPE 0 1 2
 #pragma anki mutator SPECULAR 0 1
 

+ 0 - 2
AnKi/Shaders/TraditionalDeferredShadingSkybox.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator METHOD 0 1 // 0: solid colod, 1: 2D image
 
 #pragma anki start vert

+ 0 - 2
AnKi/Shaders/Ui.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator TEXTURE_TYPE 0 1 // 0: no tex, 1: rgba tex
 
 #include <AnKi/Shaders/Common.hlsl>

+ 0 - 2
AnKi/Shaders/UiVisualizeImage.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator TEXTURE_TYPE 0 1
 
 #include <AnKi/Shaders/Common.hlsl>

+ 0 - 2
AnKi/Shaders/VisualizeHdrRenderTarget.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/VisualizeRenderTarget.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 0 - 2
AnKi/Shaders/VolumetricFogAccumulation.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start comp
 
 #include <AnKi/Shaders/Include/MiscRendererTypes.h>

+ 0 - 2
AnKi/Shaders/VolumetricLightingAccumulation.ankiprog

@@ -5,8 +5,6 @@
 
 // This shader accumulates the lighting for every cluster fraction
 
-#pragma anki hlsl
-
 #pragma anki mutator ENABLE_SHADOWS 0 1
 
 #pragma anki start comp

+ 0 - 1
AnKi/Shaders/VrsSriDownscale.ankiprog

@@ -3,7 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
 #pragma anki start comp
 
 #include <AnKi/Shaders/Functions.hlsl>

+ 0 - 2
AnKi/Shaders/VrsSriGenerationCompute.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki mutator SRI_TEXEL_DIMENSION 8 16
 #pragma anki mutator SHARED_MEMORY 0 1
 #pragma anki mutator LIMIT_RATE_TO_2X2 0 1

+ 0 - 2
AnKi/Shaders/VrsSriVisualizeRenderTarget.ankiprog

@@ -3,8 +3,6 @@
 // Code licensed under the BSD License.
 // http://www.anki3d.org/LICENSE
 
-#pragma anki hlsl
-
 #pragma anki start vert
 #include <AnKi/Shaders/QuadVert.hlsl>
 #pragma anki end

+ 6 - 6
CMakeLists.txt

@@ -13,15 +13,15 @@ project(AnKi)
 function(anki_install_executable EXE)
 	if(NOT ANDROID)
 		add_custom_command(TARGET ${EXE} POST_BUILD
-			COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/Bin
-			COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${EXE}> ${CMAKE_BINARY_DIR}/Bin)
+			COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/Binaries
+			COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${EXE}> ${CMAKE_BINARY_DIR}/Binaries)
 	endif()
 endfunction()
 
 macro(anki_new_executable)
 	if(NOT ANDROID)
 		add_executable(${ARGV})
-		set_target_properties(${ARGV0} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Bin)
+		set_target_properties(${ARGV0} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Binaries)
 	else()
 		set(_SKIP TRUE)
 		foreach(ARG ${ARGV})
@@ -297,9 +297,9 @@ if(SDL)
 endif()
 
 # glslang
-message("++ Configuring glslang")
-add_subdirectory(ThirdParty/Glslang)
-message("++ End configuring glslang")
+message("++ Configuring SPIRV-tools")
+add_subdirectory(ThirdParty/SpirvTools)
+message("++ End configuring SPIRV-tools")
 
 if(LINUX OR WINDOWS)
 	message("++ Configuring reproc")

+ 3 - 3
README.md

@@ -99,12 +99,12 @@ Android. Then you have to generate a gradle project per build target.
 For example, if you want to generate a project for the `Sponza` sample just type from a Linux terminal:
 
 	$cd path/to/anki
-	$./Samples/Sponza/GenerateAndroidProject.sh path/to/Bin/ShaderCompiler
+	$./Samples/Sponza/GenerateAndroidProject.sh path/to/Binaries/ShaderCompiler
 
 or from a PowerShell terminal on Windows:
 
 	$cd path/to/anki
-	$./Samples/Sponza/GenerateAndroidProject.bat path/to/Bin/ShaderCompiler.exe
+	$./Samples/Sponza/GenerateAndroidProject.bat path/to/Binaries/ShaderCompiler.exe
 
 The `GenerateAndroidProject` scripts will generate a project in the root directory of AnKi. So for the `Sponza` sample
 the script will create a directory named `AndroidProject_Sponza`.
@@ -126,7 +126,7 @@ directory.
 
 On Linux:
 
-	$./path/to/build/Bin/Sponza
+	$./path/to/build/Binaries/Sponza
 
 On Windows just find the `Sponza.exe` and execute it. It's preferable to run the samples from a terminal because that
 prints some information, including possible errors.

+ 0 - 1
Tests/Gr/Gr.cpp

@@ -13,7 +13,6 @@
 #include <AnKi/Util/HighRezTimer.h>
 #include <AnKi/Core/GpuMemoryPools.h>
 #include <AnKi/Resource/TransferGpuAllocator.h>
-#include <AnKi/ShaderCompiler/Glslang.h>
 #include <AnKi/ShaderCompiler/ShaderProgramParser.h>
 #include <AnKi/Collision/Aabb.h>
 #include <ctime>

+ 3 - 2
Tests/Gr/GrCommon.h

@@ -6,7 +6,6 @@
 #include <AnKi/Gr.h>
 #include <AnKi/ShaderCompiler.h>
 #include <AnKi/ShaderCompiler/ShaderProgramParser.h>
-#include <AnKi/ShaderCompiler/Glslang.h>
 #include <Tests/Framework/Framework.h>
 
 namespace anki {
@@ -21,7 +20,9 @@ inline ShaderPtr createShader(CString src, ShaderType type, GrManager& gr,
 	header.append(src);
 	DynamicArrayRaii<U8> spirv(&pool);
 	StringRaii errorLog(&pool);
-	ANKI_TEST_EXPECT_NO_ERR(compileGlslToSpirv(header, type, pool, spirv, errorLog));
+
+	ANKI_ASSERT(!"TODO");
+	// ANKI_TEST_EXPECT_NO_ERR(compileGlslToSpirv(header, type, pool, spirv, errorLog));
 
 	ShaderInitInfo initInf(type, spirv);
 	initInf.m_constValues = specVals;

+ 0 - 108
ThirdParty/Glslang/.appveyor.yml

@@ -1,108 +0,0 @@
-# Windows Build Configuration for AppVeyor
-# http://www.appveyor.com/docs/appveyor-yml
-
-# build version format
-version: "{build}"
-
-os: Visual Studio 2015
-
-platform:
-  - x64
-
-configuration:
-  - Debug
-  - Release
-
-branches:
-  only:
-    - master
-
-# changes to these files don't need to trigger testing
-skip_commits:
-  files:
-    - README.md
-    - README-spirv-remap.txt
-    - LICENSE.txt
-    - CODE_OF_CONDUCT.md
-    - BUILD.*
-    - WORKSPACE
-    - kokoro/*
-    - make-revision
-    - Android.mk
-    - _config.yml
-
-# Travis advances the master-tot tag to current top of the tree after
-# each push into the master branch, because it relies on that tag to
-# upload build artifacts to the master-tot release. This will cause
-# double testing for each push on Appveyor: one for the push, one for
-# the tag advance. Disable testing tags.
-skip_tags: true
-
-clone_depth: 5
-
-matrix:
-  fast_finish: true # Show final status immediately if a test fails.
-
-# scripts that run after cloning repository
-install:
-  - C:/Python27/python.exe update_glslang_sources.py
-  - set PATH=C:\ninja;C:\Python36;%PATH%
-  - git clone https://github.com/google/googletest.git External/googletest
-
-build:
-  parallel: true  # enable MSBuild parallel builds
-  verbosity: minimal
-
-build_script:
-  - mkdir build && cd build
-  - cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=install ..
-  - cmake --build . --config %CONFIGURATION% --target install
-
-test_script:
-  - ctest -C %CONFIGURATION% --output-on-failure
-  - cd ../Test && bash runtests
-  - cd ../build
-
-after_test:
-  # For debug build, the generated dll has a postfix "d" in its name.
-  - ps: >-
-      If ($env:configuration -Match "Debug") {
-        $env:SUFFIX="d"
-      } Else {
-        $env:SUFFIX=""
-      }
-  - cd install
-  # Zip all glslang artifacts for uploading and deploying
-  - 7z a glslang-master-windows-"%PLATFORM%"-"%CONFIGURATION%".zip
-    bin\glslangValidator.exe
-    bin\spirv-remap.exe
-    include\glslang\*
-    lib\GenericCodeGen%SUFFIX%.lib
-    lib\glslang%SUFFIX%.lib
-    lib\glslang-default-resource-limits%SUFFIX%.lib
-    lib\HLSL%SUFFIX%.lib
-    lib\MachineIndependent%SUFFIX%.lib
-    lib\OGLCompiler%SUFFIX%.lib
-    lib\OSDependent%SUFFIX%.lib
-    lib\SPIRV%SUFFIX%.lib
-    lib\SPVRemapper%SUFFIX%.lib
-    lib\SPIRV-Tools%SUFFIX%.lib
-    lib\SPIRV-Tools-opt%SUFFIX%.lib
-
-artifacts:
-  - path: build\install\*.zip
-    name: artifacts-zip
-
-deploy:
-  - provider: GitHub
-    auth_token:
-      secure: YglcSYdl0TylEa59H4K6lylBEDr586NAt2EMgZquSo+iuPrwgZQuJLPCoihSm9y6
-    release: master-tot
-    description: "Continuous build of the latest master branch by Appveyor and Travis CI"
-    artifact: artifacts-zip
-    draft: false
-    prerelease: false
-    force_update: true
-    on:
-      branch: master
-      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015

+ 0 - 13
ThirdParty/Glslang/.clang-format

@@ -1,13 +0,0 @@
-Language: Cpp
-IndentWidth: 4
-PointerAlignment: Left
-BreakBeforeBraces: Custom
-BraceWrapping: { AfterFunction: true, AfterControlStatement: false }
-IndentCaseLabels: false
-ReflowComments: false
-ColumnLimit: 120
-AccessModifierOffset: -4
-AlignTrailingComments: true
-AllowShortBlocksOnASingleLine: false
-AllowShortIfStatementsOnASingleLine: false
-AllowShortLoopsOnASingleLine: false

+ 0 - 39
ThirdParty/Glslang/.gn

@@ -1,39 +0,0 @@
-# Copyright (C) 2020 The Khronos Group Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of The Khronos Group Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-buildconfig = "//build/config/BUILDCONFIG.gn"
-
-default_args = {
-    clang_use_chrome_plugins = false
-    use_custom_libcxx = false
-}

+ 0 - 168
ThirdParty/Glslang/Android.mk

@@ -1,168 +0,0 @@
-# Copyright (C) 2020 The Khronos Group Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of The Khronos Group Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-LOCAL_PATH := $(call my-dir)
-
-# Generate glslang/build_info.h
-GLSLANG_GENERATED_INCLUDEDIR:=$(TARGET_OUT)/include
-GLSLANG_BUILD_INFO_H:=$(GLSLANG_GENERATED_INCLUDEDIR)/glslang/build_info.h
-
-define gen_glslang_build_info_h
-$(call generate-file-dir,$(GLSLANG_GENERATED_INCLUDEDIR)/dummy_filename)
-$(GLSLANG_BUILD_INFO_H): \
-		$(LOCAL_PATH)/build_info.py \
-		$(LOCAL_PATH)/build_info.h.tmpl \
-		$(LOCAL_PATH)/CHANGES.md
-		@$(HOST_PYTHON) $(LOCAL_PATH)/build_info.py \
-						$(LOCAL_PATH) \
-						-i $(LOCAL_PATH)/build_info.h.tmpl \
-						-o $(GLSLANG_BUILD_INFO_H)
-		@echo "[$(TARGET_ARCH_ABI)] Generate       : $(GLSLANG_BUILD_INFO_H) <= CHANGES.md"
-endef
-$(eval $(call gen_glslang_build_info_h))
-
-GLSLANG_OS_FLAGS := -DGLSLANG_OSINCLUDE_UNIX
-# AMD and NV extensions are turned on by default in upstream Glslang.
-GLSLANG_DEFINES:= -DAMD_EXTENSIONS -DNV_EXTENSIONS -DENABLE_HLSL $(GLSLANG_OS_FLAGS)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE:=OSDependent
-LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
-LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)
-LOCAL_SRC_FILES:=glslang/OSDependent/Unix/ossource.cpp
-LOCAL_C_INCLUDES:=$(LOCAL_PATH) $(LOCAL_PATH)/glslang/OSDependent/Unix/
-LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/OSDependent/Unix/
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE:=OGLCompiler
-LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
-LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)
-LOCAL_SRC_FILES:=OGLCompilersDLL/InitializeDll.cpp
-LOCAL_C_INCLUDES:=$(LOCAL_PATH)/OGLCompiler
-LOCAL_STATIC_LIBRARIES:=OSDependent
-include $(BUILD_STATIC_LIBRARY)
-
-# Build the stubbed HLSL library.
-# The HLSL source is now directly referenced by the glslang static library
-# instead.
-include $(CLEAR_VARS)
-LOCAL_MODULE:=HLSL
-LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
-LOCAL_SRC_FILES:= \
-	hlsl/stub.cpp
-LOCAL_C_INCLUDES:=$(LOCAL_PATH) \
-	$(LOCAL_PATH)/glslang/HLSL
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-GLSLANG_OUT_PATH=$(if $(call host-path-is-absolute,$(TARGET_OUT)),$(TARGET_OUT),$(abspath $(TARGET_OUT)))
-
-# ShaderLang.cpp depends on the generated build_info.h
-$(LOCAL_PATH)/glslang/MachineIndependent/ShaderLang.cpp: \
-	$(GLSLANG_BUILD_INFO_H)
-
-LOCAL_MODULE:=glslang
-LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
-LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)
-LOCAL_SRC_FILES:= \
-		glslang/CInterface/glslang_c_interface.cpp \
-		glslang/GenericCodeGen/CodeGen.cpp \
-		glslang/GenericCodeGen/Link.cpp \
-		glslang/HLSL/hlslAttributes.cpp \
-		glslang/HLSL/hlslGrammar.cpp \
-		glslang/HLSL/hlslOpMap.cpp \
-		glslang/HLSL/hlslParseables.cpp \
-		glslang/HLSL/hlslParseHelper.cpp \
-		glslang/HLSL/hlslScanContext.cpp \
-		glslang/HLSL/hlslTokenStream.cpp \
-		glslang/MachineIndependent/attribute.cpp \
-		glslang/MachineIndependent/Constant.cpp \
-		glslang/MachineIndependent/glslang_tab.cpp \
-		glslang/MachineIndependent/InfoSink.cpp \
-		glslang/MachineIndependent/Initialize.cpp \
-		glslang/MachineIndependent/Intermediate.cpp \
-		glslang/MachineIndependent/intermOut.cpp \
-		glslang/MachineIndependent/IntermTraverse.cpp \
-		glslang/MachineIndependent/iomapper.cpp \
-		glslang/MachineIndependent/limits.cpp \
-		glslang/MachineIndependent/linkValidate.cpp \
-		glslang/MachineIndependent/parseConst.cpp \
-		glslang/MachineIndependent/ParseContextBase.cpp \
-		glslang/MachineIndependent/ParseHelper.cpp \
-		glslang/MachineIndependent/PoolAlloc.cpp \
-		glslang/MachineIndependent/propagateNoContraction.cpp \
-		glslang/MachineIndependent/reflection.cpp \
-		glslang/MachineIndependent/RemoveTree.cpp \
-		glslang/MachineIndependent/Scan.cpp \
-		glslang/MachineIndependent/ShaderLang.cpp \
-		glslang/MachineIndependent/SpirvIntrinsics.cpp \
-		glslang/MachineIndependent/SymbolTable.cpp \
-		glslang/MachineIndependent/Versions.cpp \
-		glslang/MachineIndependent/preprocessor/PpAtom.cpp \
-		glslang/MachineIndependent/preprocessor/PpContext.cpp \
-		glslang/MachineIndependent/preprocessor/Pp.cpp \
-		glslang/MachineIndependent/preprocessor/PpScanner.cpp \
-		glslang/MachineIndependent/preprocessor/PpTokens.cpp
-LOCAL_C_INCLUDES:=$(LOCAL_PATH) \
-	$(LOCAL_PATH)/glslang/MachineIndependent \
-	$(GLSLANG_GENERATED_INCLUDEDIR) \
-	$(GLSLANG_OUT_PATH)
-LOCAL_STATIC_LIBRARIES:=OSDependent OGLCompiler HLSL
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-
-# GlslangToSpv.cpp depends on the generated build_info.h
-$(LOCAL_PATH)/SPIRV/GlslangToSpv.cpp: \
-	$(GLSLANG_BUILD_INFO_H)
-
-LOCAL_MODULE:=SPIRV
-LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror $(GLSLANG_DEFINES)
-LOCAL_SRC_FILES:= \
-	SPIRV/CInterface/spirv_c_interface.cpp \
-	SPIRV/GlslangToSpv.cpp \
-	SPIRV/InReadableOrder.cpp \
-	SPIRV/Logger.cpp \
-	SPIRV/SPVRemapper.cpp \
-	SPIRV/SpvBuilder.cpp \
-	SPIRV/SpvPostProcess.cpp \
-	SPIRV/SpvTools.cpp \
-	SPIRV/disassemble.cpp \
-	SPIRV/doc.cpp
-LOCAL_C_INCLUDES:=$(LOCAL_PATH) \
-	$(LOCAL_PATH)/glslang/SPIRV \
-	$(GLSLANG_GENERATED_INCLUDEDIR)
-LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/SPIRV
-LOCAL_STATIC_LIBRARIES:=glslang
-include $(BUILD_STATIC_LIBRARY)

+ 0 - 309
ThirdParty/Glslang/BUILD.bazel

@@ -1,309 +0,0 @@
-# Copyright (C) 2020 The Khronos Group Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of The Khronos Group Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-package(
-    default_visibility = ["//visibility:public"],
-)
-
-# Description:
-#
-# Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator.
-
-licenses(["notice"])
-
-exports_files(["LICENSE"])
-
-# Build information generation script
-py_binary(
-    name = "build_info",
-    srcs = ["build_info.py"],
-)
-
-py_binary(
-    name = "gen_extension_headers",
-    srcs = ["gen_extension_headers.py"],
-)
-
-genrule(
-    name = "gen_build_info_h",
-    srcs = ["CHANGES.md", "build_info.h.tmpl"],
-    outs = ["glslang/build_info.h"],
-    cmd_bash = "$(location build_info) $$(dirname $(location CHANGES.md)) -i $(location build_info.h.tmpl) -o $(location glslang/build_info.h)",
-    cmd_bat = "for %F in ($(location CHANGES.md)) do $(location build_info) %~dpF -i $(location build_info.h.tmpl) -o $(location glslang/build_info.h)",
-    tools = [":build_info"],
-)
-
-genrule(
-    name = "gen_extension_headers_h",
-    srcs = ["glslang/ExtensionHeaders", "gen_extension_headers.py"],
-    outs = ["glslang/glsl_intrinsic_header.h"],
-    cmd_bash = "$(location gen_extension_headers) -i  $(location glslang/ExtensionHeaders) -o $(location glslang/glsl_intrinsic_header.h)",
-    tools = [":gen_extension_headers"],
-)
-
-COMMON_COPTS = select({
-    "@bazel_tools//src/conditions:windows": [""],
-    "//conditions:default": [
-        "-Wall",
-        "-Wuninitialized",
-        "-Wunused",
-        "-Wunused-local-typedefs",
-        "-Wunused-parameter",
-        "-Wunused-value",
-        "-Wunused-variable",
-        "-Wno-reorder",
-        "-std=c++11",
-        "-fvisibility=hidden",
-        "-fvisibility-inlines-hidden",
-        "-fno-exceptions",
-        "-fno-rtti",
-    ],
-})
-
-cc_library(
-    name = "glslang",
-    srcs = glob(
-        [
-            "glslang/GenericCodeGen/*.cpp",
-            "glslang/HLSL/*.cpp",
-            "glslang/MachineIndependent/*.cpp",
-            "glslang/MachineIndependent/preprocessor/*.cpp",
-        ],
-        exclude = [
-            "glslang/HLSL/pch.h",
-            "glslang/MachineIndependent/pch.h",
-        ],
-    ) + [
-        "OGLCompilersDLL/InitializeDll.cpp",
-    ] + select({
-        "@bazel_tools//src/conditions:windows":
-            ["glslang/OSDependent/Windows/ossource.cpp"],
-        "//conditions:default":
-            ["glslang/OSDependent/Unix/ossource.cpp"],
-    }),
-    hdrs = glob([
-        "glslang/HLSL/*.h",
-        "glslang/Include/*.h",
-        "glslang/MachineIndependent/*.h",
-        "glslang/MachineIndependent/preprocessor/*.h",
-    ]) + [
-        "OGLCompilersDLL/InitializeDll.h",
-        "StandAlone/DirStackFileIncluder.h",
-        "glslang/OSDependent/osinclude.h",
-        "glslang/Public/ShaderLang.h",
-        ":gen_build_info_h",
-    ],
-    copts = COMMON_COPTS,
-    defines = [
-        "AMD_EXTENSIONS",
-        "ENABLE_HLSL=0",
-        "ENABLE_OPT=0",
-        "NV_EXTENSIONS",
-    ],
-    linkopts = select({
-        "@bazel_tools//src/conditions:windows": [""],
-        "//conditions:default": ["-lm", "-lpthread"],
-    }),
-    linkstatic = 1,
-)
-
-genrule(
-    name = "export_spirv_headers",
-    srcs = [
-        "SPIRV/GLSL.ext.AMD.h",
-        "SPIRV/GLSL.ext.EXT.h",
-        "SPIRV/GLSL.ext.KHR.h",
-        "SPIRV/GLSL.ext.NV.h",
-        "SPIRV/GLSL.std.450.h",
-        "SPIRV/NonSemanticDebugPrintf.h",
-        "SPIRV/spirv.hpp",
-    ],
-    outs = [
-        "include/SPIRV/GLSL.ext.AMD.h",
-        "include/SPIRV/GLSL.ext.EXT.h",
-        "include/SPIRV/GLSL.ext.KHR.h",
-        "include/SPIRV/GLSL.ext.NV.h",
-        "include/SPIRV/GLSL.std.450.h",
-        "include/SPIRV/NonSemanticDebugPrintf.h",
-        "include/SPIRV/spirv.hpp",
-    ],
-    cmd_bash = "mkdir -p $(@D)/include/SPIRV && cp $(SRCS) $(@D)/include/SPIRV/",
-    cmd_bat = "(if not exist $(@D)\\include\\SPIRV mkdir $(@D)\\include\\SPIRV) && (for %S in ($(SRCS)) do @xcopy /q %S $(@D)\\include\\SPIRV\\ >NUL)",
-)
-
-cc_library(
-    name = "SPIRV_headers",
-    hdrs = [":export_spirv_headers"],
-    copts = COMMON_COPTS,
-    includes = [
-        "include",
-        "include/SPIRV",
-    ],
-    linkstatic = 1,
-)
-
-cc_library(
-    name = "SPIRV",
-    srcs = glob(
-        ["SPIRV/*.cpp"],
-        exclude = [
-            "SPIRV/SpvTools.cpp",
-        ],
-    ),
-    hdrs = [
-        "SPIRV/GlslangToSpv.h",
-        "SPIRV/Logger.h",
-        "SPIRV/SPVRemapper.h",
-        "SPIRV/SpvBuilder.h",
-        "SPIRV/SpvTools.h",
-        "SPIRV/bitutils.h",
-        "SPIRV/disassemble.h",
-        "SPIRV/doc.h",
-        "SPIRV/hex_float.h",
-        "SPIRV/spvIR.h",
-    ],
-    copts = COMMON_COPTS,
-    includes = ["SPIRV"],
-    linkopts = select({
-        "@bazel_tools//src/conditions:windows": [""],
-        "//conditions:default": ["-lm"],
-    }),
-    linkstatic = 1,
-    deps = [
-        ":SPIRV_headers",
-        ":glslang",
-    ],
-)
-
-cc_library(
-    name = "glslang-default-resource-limits",
-    srcs = ["StandAlone/ResourceLimits.cpp"],
-    hdrs = ["StandAlone/ResourceLimits.h"],
-    copts = COMMON_COPTS,
-    linkstatic = 1,
-    deps = [":glslang"],
-)
-
-cc_binary(
-    name = "glslangValidator",
-    srcs = [
-        "StandAlone/StandAlone.cpp",
-        "StandAlone/Worklist.h",
-        ":glslang/glsl_intrinsic_header.h"
-    ],
-    copts = COMMON_COPTS,
-    deps = [
-        ":SPIRV",
-        ":glslang",
-        ":glslang-default-resource-limits",
-    ],
-)
-
-cc_binary(
-    name = "spirv-remap",
-    srcs = ["StandAlone/spirv-remap.cpp"],
-    copts = COMMON_COPTS,
-    deps = [
-        ":SPIRV",
-        ":glslang",
-        ":glslang-default-resource-limits",
-    ],
-)
-
-filegroup(
-    name = "test_files",
-    srcs = glob(
-        ["Test/**"],
-        exclude = [
-            "Test/bump",
-            "Test/glslangValidator",
-            "Test/runtests",
-        ],
-    ),
-)
-
-cc_library(
-    name = "glslang_test_lib",
-    testonly = 1,
-    srcs = [
-        "gtests/HexFloat.cpp",
-        "gtests/Initializer.h",
-        "gtests/Settings.cpp",
-        "gtests/Settings.h",
-        "gtests/TestFixture.cpp",
-        "gtests/TestFixture.h",
-        "gtests/main.cpp",
-    ],
-    copts = COMMON_COPTS,
-    data = [":test_files"],
-    defines = select({
-        # Unfortunately we can't use $(location) in cc_library at the moment.
-        # See https://github.com/bazelbuild/bazel/issues/1023
-        # So we'll specify the path manually.
-        "@bazel_tools//src/conditions:windows":
-            ["GLSLANG_TEST_DIRECTORY='\"../../../../../Test\"'"],
-        "//conditions:default":
-            ["GLSLANG_TEST_DIRECTORY='\"Test\"'"],
-    }),
-    linkstatic = 1,
-    deps = [
-        ":SPIRV",
-        ":glslang",
-        ":glslang-default-resource-limits",
-        "@com_google_googletest//:gtest",
-    ],
-)
-
-GLSLANG_TESTS = glob(
-    ["gtests/*.FromFile.cpp"],
-    # Since we are not building the SPIRV-Tools dependency, the following tests
-    # cannot be performed.
-    exclude = [
-        "gtests/Hlsl.FromFile.cpp",
-        "gtests/Spv.FromFile.cpp",
-    ],
-)
-
-[cc_test(
-    name = test_file.replace("gtests/", "").replace(".FromFile.cpp", "") + "_test",
-    srcs = [test_file],
-    copts = COMMON_COPTS,
-    data = [
-        ":test_files",
-    ],
-    deps = [
-        ":SPIRV",
-        ":glslang",
-        ":glslang_test_lib",
-    ],
-) for test_file in GLSLANG_TESTS]

+ 0 - 353
ThirdParty/Glslang/BUILD.gn

@@ -1,353 +0,0 @@
-# Copyright (C) 2018 Google, Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of Google Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-import("//build_overrides/glslang.gni")
-
-# Both Chromium and Fuchsia use by default a set of warning errors
-# that is far too strict to compile this project. These are also
-# typically appended after |cflags|, overriding target-specific
-# definitions. To work around this, determine which configs to
-# add and remove in order to succesfully build the project.
-if (defined(is_fuchsia_tree) && is_fuchsia_tree) {
-  _configs_to_remove = [ "//build/config:default_warnings" ]
-  _configs_to_add = []
-} else {
-  _configs_to_remove = [ "//build/config/compiler:chromium_code" ]
-  _configs_to_add = [ "//build/config/compiler:no_chromium_code" ]
-}
-
-action("glslang_build_info") {
-  script = "build_info.py"
-
-  src_dir = "."
-  changes_file = "CHANGES.md"
-  template_file = "build_info.h.tmpl"
-  out_file = "${target_gen_dir}/include/glslang/build_info.h"
-
-  inputs = [
-    changes_file,
-    script,
-    template_file,
-  ]
-  outputs = [ out_file ]
-  args = [
-    rebase_path(src_dir, root_build_dir),
-    "-i",
-    rebase_path(template_file, root_build_dir),
-    "-o",
-    rebase_path(out_file, root_build_dir),
-  ]
-}
-
-action("glslang_extension_headers") {
-  script = "gen_extension_headers.py"
-
-  out_file = "${target_gen_dir}/include/glslang/glsl_intrinsic_header.h"
-
-  # Fuchsia GN build rules require all GN actions to be hermetic and they
-  # should correctly and fully state their inputs and outpus (see
-  # https://fuchsia.dev/fuchsia-src/development/build/hermetic_actions
-  # for details). All input files of the script should be added to the
-  # |sources| list.
-  sources = [
-    "glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl",
-  ]
-
-  inputs = [
-    script
-  ]
-  outputs = [ out_file ]
-  args = [
-    "-i",
-    rebase_path("glslang/ExtensionHeaders", root_build_dir),
-    "-o",
-    rebase_path(out_file, root_build_dir),
-  ]
-}
-
-spirv_tools_dir = glslang_spirv_tools_dir
-if (!defined(glslang_angle)) {
-  glslang_angle = false
-}
-
-config("glslang_public") {
-  include_dirs = [ "." ]
-  if (!is_win || is_clang) {
-    cflags = [ "-Wno-conversion" ]
-  }
-}
-
-config("glslang_hlsl") {
-  defines = [ "ENABLE_HLSL=1" ]
-}
-
-template("glslang_sources_common") {
-  source_set(target_name) {
-    public_configs = [ ":glslang_public" ]
-
-    if (invoker.enable_hlsl) {
-      public_configs += [ ":glslang_hlsl" ]
-    }
-
-    sources = [
-      "OGLCompilersDLL/InitializeDll.cpp",
-      "OGLCompilersDLL/InitializeDll.h",
-      "SPIRV/GLSL.ext.AMD.h",
-      "SPIRV/GLSL.ext.EXT.h",
-      "SPIRV/GLSL.ext.KHR.h",
-      "SPIRV/GLSL.ext.NV.h",
-      "SPIRV/GLSL.std.450.h",
-      "SPIRV/GlslangToSpv.cpp",
-      "SPIRV/GlslangToSpv.h",
-      "SPIRV/InReadableOrder.cpp",
-      "SPIRV/Logger.cpp",
-      "SPIRV/Logger.h",
-      "SPIRV/NonSemanticDebugPrintf.h",
-      "SPIRV/SPVRemapper.cpp",
-      "SPIRV/SPVRemapper.h",
-      "SPIRV/SpvBuilder.cpp",
-      "SPIRV/SpvBuilder.h",
-      "SPIRV/SpvPostProcess.cpp",
-      "SPIRV/SpvTools.h",
-      "SPIRV/bitutils.h",
-      "SPIRV/disassemble.cpp",
-      "SPIRV/disassemble.h",
-      "SPIRV/doc.cpp",
-      "SPIRV/doc.h",
-      "SPIRV/hex_float.h",
-      "SPIRV/spirv.hpp",
-      "SPIRV/spvIR.h",
-      "glslang/GenericCodeGen/CodeGen.cpp",
-      "glslang/GenericCodeGen/Link.cpp",
-      "glslang/Include/BaseTypes.h",
-      "glslang/Include/Common.h",
-      "glslang/Include/ConstantUnion.h",
-      "glslang/Include/InfoSink.h",
-      "glslang/Include/InitializeGlobals.h",
-      "glslang/Include/PoolAlloc.h",
-      "glslang/Include/ResourceLimits.h",
-      "glslang/Include/ShHandle.h",
-      "glslang/Include/SpirvIntrinsics.h",
-      "glslang/Include/Types.h",
-      "glslang/Include/arrays.h",
-      "glslang/Include/intermediate.h",
-      "glslang/MachineIndependent/Constant.cpp",
-      "glslang/MachineIndependent/InfoSink.cpp",
-      "glslang/MachineIndependent/Initialize.cpp",
-      "glslang/MachineIndependent/Initialize.h",
-      "glslang/MachineIndependent/IntermTraverse.cpp",
-      "glslang/MachineIndependent/Intermediate.cpp",
-      "glslang/MachineIndependent/LiveTraverser.h",
-      "glslang/MachineIndependent/ParseContextBase.cpp",
-      "glslang/MachineIndependent/ParseHelper.cpp",
-      "glslang/MachineIndependent/ParseHelper.h",
-      "glslang/MachineIndependent/PoolAlloc.cpp",
-      "glslang/MachineIndependent/RemoveTree.cpp",
-      "glslang/MachineIndependent/RemoveTree.h",
-      "glslang/MachineIndependent/Scan.cpp",
-      "glslang/MachineIndependent/Scan.h",
-      "glslang/MachineIndependent/ScanContext.h",
-      "glslang/MachineIndependent/ShaderLang.cpp",
-      "glslang/MachineIndependent/SpirvIntrinsics.cpp",
-      "glslang/MachineIndependent/SymbolTable.cpp",
-      "glslang/MachineIndependent/SymbolTable.h",
-      "glslang/MachineIndependent/Versions.cpp",
-      "glslang/MachineIndependent/Versions.h",
-      "glslang/MachineIndependent/attribute.cpp",
-      "glslang/MachineIndependent/attribute.h",
-      "glslang/MachineIndependent/gl_types.h",
-      "glslang/MachineIndependent/glslang_tab.cpp",
-      "glslang/MachineIndependent/glslang_tab.cpp.h",
-      "glslang/MachineIndependent/intermOut.cpp",
-      "glslang/MachineIndependent/iomapper.cpp",
-      "glslang/MachineIndependent/iomapper.h",
-      "glslang/MachineIndependent/limits.cpp",
-      "glslang/MachineIndependent/linkValidate.cpp",
-      "glslang/MachineIndependent/localintermediate.h",
-      "glslang/MachineIndependent/parseConst.cpp",
-      "glslang/MachineIndependent/parseVersions.h",
-      "glslang/MachineIndependent/preprocessor/Pp.cpp",
-      "glslang/MachineIndependent/preprocessor/PpAtom.cpp",
-      "glslang/MachineIndependent/preprocessor/PpContext.cpp",
-      "glslang/MachineIndependent/preprocessor/PpContext.h",
-      "glslang/MachineIndependent/preprocessor/PpScanner.cpp",
-      "glslang/MachineIndependent/preprocessor/PpTokens.cpp",
-      "glslang/MachineIndependent/preprocessor/PpTokens.h",
-      "glslang/MachineIndependent/propagateNoContraction.cpp",
-      "glslang/MachineIndependent/propagateNoContraction.h",
-      "glslang/MachineIndependent/reflection.cpp",
-      "glslang/MachineIndependent/reflection.h",
-      "glslang/OSDependent/osinclude.h",
-      "glslang/Public/ShaderLang.h",
-    ]
-
-    # Workaround gn issue complaining about these not being allowed even though GLSLANG_HLSL is not
-    # defined.
-    sources += [
-      "glslang/HLSL/hlslParseHelper.h",
-      "glslang/HLSL/hlslParseables.h",
-      "glslang/HLSL/hlslScanContext.h",
-      "glslang/HLSL/hlslTokens.h",
-    ]
-
-    if (invoker.enable_hlsl) {
-      sources += [
-        "glslang/HLSL/hlslAttributes.cpp",
-        "glslang/HLSL/hlslAttributes.h",
-        "glslang/HLSL/hlslGrammar.cpp",
-        "glslang/HLSL/hlslGrammar.h",
-        "glslang/HLSL/hlslOpMap.cpp",
-        "glslang/HLSL/hlslOpMap.h",
-        "glslang/HLSL/hlslParseHelper.cpp",
-        "glslang/HLSL/hlslParseables.cpp",
-        "glslang/HLSL/hlslScanContext.cpp",
-        "glslang/HLSL/hlslTokenStream.cpp",
-        "glslang/HLSL/hlslTokenStream.h",
-      ]
-    }
-
-    defines = []
-    if (invoker.enable_opt) {
-      sources += [ "SPIRV/SpvTools.cpp" ]
-      defines += [ "ENABLE_OPT=1" ]
-    }
-    if (invoker.is_angle) {
-      defines += [ "GLSLANG_ANGLE" ]
-    }
-
-    if (is_win) {
-      sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
-      defines += [ "GLSLANG_OSINCLUDE_WIN32" ]
-    } else {
-      sources += [ "glslang/OSDependent/Unix/ossource.cpp" ]
-      defines += [ "GLSLANG_OSINCLUDE_UNIX" ]
-    }
-
-    if (is_clang) {
-      cflags = [
-        "-Wno-extra-semi",
-        "-Wno-ignored-qualifiers",
-        "-Wno-implicit-fallthrough",
-        "-Wno-inconsistent-missing-override",
-        "-Wno-missing-field-initializers",
-        "-Wno-newline-eof",
-        "-Wno-sign-compare",
-        "-Wno-suggest-destructor-override",
-        "-Wno-suggest-override",
-        "-Wno-unused-variable",
-      ]
-    }
-    if (is_win && !is_clang) {
-      cflags = [
-        "/wd4018",  # signed/unsigned mismatch
-        "/wd4189",  # local variable is initialized but not referenced
-      ]
-    }
-
-    include_dirs = [ "${target_gen_dir}/include" ]
-
-    deps = [ ":glslang_build_info" ]
-
-    if (invoker.enable_opt) {
-      deps += [
-        "${spirv_tools_dir}:spvtools_opt",
-        "${spirv_tools_dir}:spvtools_val",
-      ]
-      include_dirs += [ "${spirv_tools_dir}/include" ]
-    }
-
-    configs -= _configs_to_remove
-    configs += _configs_to_add
-  }
-}
-
-glslang_sources_common("glslang_lib_sources") {
-  enable_opt = !glslang_angle
-  enable_hlsl = !glslang_angle
-  is_angle = glslang_angle
-}
-
-glslang_sources_common("glslang_sources") {
-  enable_opt = true
-  enable_hlsl = true
-  is_angle = false
-}
-
-source_set("glslang_default_resource_limits_sources") {
-  sources = [
-    "StandAlone/ResourceLimits.cpp",
-    "StandAlone/ResourceLimits.h",
-    "glslang/Include/ResourceLimits.h",
-  ]
-  public_configs = [ ":glslang_public" ]
-
-  configs -= _configs_to_remove
-  configs += _configs_to_add
-}
-
-executable("glslang_validator") {
-  sources = [
-    "StandAlone/DirStackFileIncluder.h",
-    "StandAlone/StandAlone.cpp",
-  ]
-  if (!is_win) {
-    cflags = [ "-Woverflow" ]
-  }
-  defines = [ "ENABLE_OPT=1" ]
-  deps = [
-    ":glslang_build_info",
-    ":glslang_default_resource_limits_sources",
-    ":glslang_sources",
-    ":glslang_extension_headers",
-  ]
-  public_configs = [ ":glslang_hlsl" ]
-
-  include_dirs = [
-    "${target_gen_dir}/include",
-    "${spirv_tools_dir}/include",
-  ]
-
-  configs -= _configs_to_remove
-  configs += _configs_to_add
-}
-
-executable("spirv-remap") {
-  sources = [ "StandAlone/spirv-remap.cpp" ]
-  defines = [ "ENABLE_OPT=1" ]
-  deps = [ ":glslang_sources" ]
-
-  include_dirs = [ "${spirv_tools_dir}/include" ]
-
-  configs -= _configs_to_remove
-  configs += _configs_to_add
-}

+ 0 - 112
ThirdParty/Glslang/CHANGES.md

@@ -1,112 +0,0 @@
-# Revision history for `glslang`
-
-All notable changes to this project will be documented in this file.
-This project adheres to [Semantic Versioning](https://semver.org/).
-
-## 11.10.0 2022-06-02
-
-### Other changes
-* Generate OpLine before OpFunction
-* Add support for VK_EXT_fragment_shader_barycentric
-* Add whitelist filtering for debug comments in SPIRV-Remap
-* Add support for GL_EXT_ray_cull_mask
-
-## 11.9.0 2022-04-06
-
-### Other changes
-* Add GLSL version override functionality
-* Add eliminate-dead-input-components to -Os
-* Add enhanced-msgs option
-* Explicitly use Python 3 for builds
-
-## 11.8.0 2022-01-27
-
-### Other changes
-* Add support for SPIR-V 1.6
-* Add support for Vulkan 1.3
-* Add --hlsl-dx-position-w option
-
-## 11.7.0 2021-11-11
-
-### Other changes
-* Add support for targeting Vulkan 1.2 in the C API
-
-## 11.6.0 2021-08-25
-
-### Other changes
-* Atomic memory function only for shader storage block member or shared variable
-* Add support for gl_MaxVaryingVectors for ogl
-* Fix loading bool arrays from interface blocks
-* Generate separate stores for partially swizzled memory stores
-* Allow layout(std430) uniform with GL_EXT_scalar_block_layout
-* Support for pragma STDGL invariant(all)
-* Support for GL_NV_ray_tracing_motion_blur
-
-## 11.5.0 2021-06-23
-
-### Other changes
-* Implement GLSL_EXT_shader_atomic_float2
-* Implement GL_EXT_spirv_intrinsics
-* Fixed SPIR-V remapper not remapping OpExtInst instruction set IDs
-* only declare compatibility gl_ variables in compatibility mode
-* Add support for float spec const vector initialization
-* Implement GL_EXT_subgroup_uniform_control_flow.
-* Fix arrays dimensioned with spec constant sized gl_WorkGroupSize
-* Add support for 64bit integer scalar and vector types to bitCount() builtin
-
-## 11.4.0 2021-04-22
-
-### Other changes
-* Fix to keep source compatible with CMake 3.10.2
-
-## 11.3.0 2021-04-21
-
-### Other changes
-* Added --depfile
-* Added --auto-sampled-textures
-* Now supports InterpolateAt-based functions
-* Supports cross-stage automatic IO mapping
-* Supports GL_EXT_vulkan_glsl_relaxed (-R option)
-
-## 11.2.0 2021-02-18
-
-### Other changes
-* Removed Python requirement when not building with spirv-tools
-* Add support for GL_EXT_shared_memory_block
-* Implement GL_EXT_null_initializer
-* Add CMake support for Fuschia
-
-## 11.1.0 2020-12-07
-
-### Other changes
-* Added ray-tracing extension support
-
-## 11.0.0 2020-07-20
-
-### Breaking changes
-
-#### Visual Studio 2013 is no longer supported
-
-[As scheduled](https://github.com/KhronosGroup/glslang/blob/9eef54b2513ca6b40b47b07d24f453848b65c0df/README.md#planned-deprecationsremovals),
-Microsoft Visual Studio 2013 is no longer officially supported. Please upgrade
-to at least Visual Studio 2015.
-
-## 10.15.3847 2020-07-20
-
-### Breaking changes
-
-* The following files have been removed:
-  * `glslang/include/revision.h`
-  * `glslang/include/revision.template`
-
-The `GLSLANG_MINOR_VERSION` and `GLSLANG_PATCH_LEVEL` defines have been removed
-from the public headers. \
-Instead each build script now uses the new `build_info.py`
-script along with the `build_info.h.tmpl` and this `CHANGES.md` file to generate
-the glslang build-time generated header `glslang/build_info.h`.
-
-The new public API to obtain the `glslang` version is `glslang::GetVersion()`.
-
-### Other changes
-* `glslang` shared objects produced by CMake are now `SONAME` versioned using
-   [Semantic Versioning 2.0.0](https://semver.org/).

+ 0 - 369
ThirdParty/Glslang/CMakeLists.txt

@@ -1,369 +0,0 @@
-# Copyright (C) 2020 The Khronos Group Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of The Khronos Group Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-# increase to 3.1 once all major distributions
-# include a version of CMake >= 3.1
-cmake_minimum_required(VERSION 2.8.12)
-if (POLICY CMP0048)
-  cmake_policy(SET CMP0048 NEW)
-endif()
-if(POLICY CMP0054)
-  cmake_policy(SET CMP0054 NEW)
-endif()
-
-project(glslang LANGUAGES CXX)
-
-set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-
-# Enable compile commands database
-set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
-
-# Adhere to GNU filesystem layout conventions
-include(GNUInstallDirs)
-
-# Needed for CMAKE_DEPENDENT_OPTION macro
-include(CMakeDependentOption)
-
-option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
-option(BUILD_EXTERNAL "Build external dependencies in /External" ON)
-
-set(LIB_TYPE STATIC)
-
-if(BUILD_SHARED_LIBS)
-    set(LIB_TYPE SHARED)
-endif()
-
-if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
-    # This logic inside SPIRV-Tools, which can upset build target dependencies
-    # if changed after targets are already defined. To prevent these issues,
-    # ensure CMAKE_BUILD_TYPE is assigned early and at the glslang root scope.
-    message(STATUS "No build type selected, default to Debug")
-    set(CMAKE_BUILD_TYPE "Debug")
-endif()
-
-option(SKIP_GLSLANG_INSTALL "Skip installation" ${SKIP_GLSLANG_INSTALL})
-if(NOT ${SKIP_GLSLANG_INSTALL})
-  set(ENABLE_GLSLANG_INSTALL ON)
-endif()
-option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON)
-
-option(ENABLE_GLSLANG_BINARIES "Builds glslangValidator and spirv-remap" ON)
-
-option(ENABLE_GLSLANG_JS
-    "If using Emscripten, build glslang.js. Otherwise, builds a sample executable for binary-size testing." OFF)
-CMAKE_DEPENDENT_OPTION(ENABLE_GLSLANG_WEBMIN
-    "Reduces glslang to minimum needed for web use"
-    OFF "ENABLE_GLSLANG_JS"
-    OFF)
-CMAKE_DEPENDENT_OPTION(ENABLE_GLSLANG_WEBMIN_DEVEL
-    "For ENABLE_GLSLANG_WEBMIN builds, enables compilation error messages"
-    OFF "ENABLE_GLSLANG_WEBMIN"
-    OFF)
-CMAKE_DEPENDENT_OPTION(ENABLE_EMSCRIPTEN_SINGLE_FILE
-    "If using Emscripten, enables SINGLE_FILE build"
-    OFF "ENABLE_GLSLANG_JS AND EMSCRIPTEN"
-    OFF)
-CMAKE_DEPENDENT_OPTION(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE
-    "If using Emscripten, builds to run on Node instead of Web"
-    OFF "ENABLE_GLSLANG_JS AND EMSCRIPTEN"
-    OFF)
-
-CMAKE_DEPENDENT_OPTION(ENABLE_HLSL
-    "Enables HLSL input support"
-    ON "NOT ENABLE_GLSLANG_WEBMIN"
-    OFF)
-
-option(ENABLE_RTTI "Enables RTTI" OFF)
-option(ENABLE_EXCEPTIONS "Enables Exceptions" OFF)
-option(ENABLE_OPT "Enables spirv-opt capability if present" ON)
-
-if(MINGW OR (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU"))
-    # Workaround for CMake behavior on Mac OS with gcc, cmake generates -Xarch_* arguments
-    # which gcc rejects
-    option(ENABLE_PCH "Enables Precompiled header" OFF)
-else()
-    option(ENABLE_PCH "Enables Precompiled header" ON)
-endif()
-option(ENABLE_CTEST "Enables testing" ON)
-
-if(ENABLE_GLSLANG_INSTALL AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND WIN32)
-    set(CMAKE_INSTALL_PREFIX "install" CACHE STRING "..." FORCE)
-endif()
-
-option(USE_CCACHE "Use ccache" OFF)
-if(USE_CCACHE)
-    find_program(CCACHE_FOUND ccache)
-    if(CCACHE_FOUND)
-        set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
-    endif()
-endif()
-
-if(ENABLE_CTEST)
-    include(CTest)
-endif()
-
-if(ENABLE_HLSL)
-    add_definitions(-DENABLE_HLSL)
-endif()
-
-if(ENABLE_GLSLANG_WEBMIN)
-    add_definitions(-DGLSLANG_WEB)
-    if(ENABLE_GLSLANG_WEBMIN_DEVEL)
-        add_definitions(-DGLSLANG_WEB_DEVEL)
-    endif()
-endif()
-
-if(WIN32)
-    set(CMAKE_DEBUG_POSTFIX "d")
-    option(OVERRIDE_MSVCCRT "Overrides runtime of MSVC " ON)
-    if(MSVC AND OVERRIDE_MSVCCRT)
-        include(ChooseMSVCCRT.cmake)
-    endif()
-    add_definitions(-DGLSLANG_OSINCLUDE_WIN32)
-elseif(UNIX)
-    add_definitions(-DGLSLANG_OSINCLUDE_UNIX)
-else()
-    message("unknown platform")
-endif()
-
-if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
-    add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
-                        -Wunused-parameter -Wunused-value  -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -fno-exceptions)
-    add_compile_options(-Wno-reorder)  # disable this from -Wall, since it happens all over.
-    if(NOT ENABLE_RTTI)
-        add_compile_options(-fno-rtti)
-    endif()
-    if(NOT ENABLE_EXCEPTIONS)
-        add_compile_options(-fno-exceptions)
-    endif()
-    if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0.0")
-        add_compile_options(-Werror=deprecated-copy)
-    endif()
-
-    if(NOT CMAKE_VERSION VERSION_LESS "3.13" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
-        # Error if there's symbols that are not found at link time.
-        # add_link_options() was added in CMake 3.13 - if using an earlier
-        # version don't set this - it should be caught by presubmits anyway.
-        add_link_options("-Wl,--no-undefined")
-    endif()
-elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" AND NOT MSVC)
-    add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
-                        -Wunused-parameter -Wunused-value  -Wunused-variable)
-    add_compile_options(-Wno-reorder)  # disable this from -Wall, since it happens all over.
-    if(NOT ENABLE_RTTI)
-        add_compile_options(-fno-rtti)
-    endif()
-    if(NOT ENABLE_EXCEPTIONS)
-        add_compile_options(-fno-exceptions)
-    endif()
-
-    if(NOT CMAKE_VERSION VERSION_LESS "3.13")
-        # Error if there's symbols that are not found at link time.
-        # add_link_options() was added in CMake 3.13 - if using an earlier
-        # version don't set this - it should be caught by presubmits anyway.
-        if (WIN32)
-            add_link_options("-Wl,--no-undefined")
-        else()
-            add_link_options("-Wl,-undefined,error")
-        endif()
-    endif()
-elseif(MSVC)
-    if(NOT ENABLE_RTTI)
-        string(FIND "${CMAKE_CXX_FLAGS}" "/GR" MSVC_HAS_GR)
-        if(MSVC_HAS_GR)
-            string(REGEX REPLACE "/GR" "/GR-" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-        else()
-            add_compile_options(/GR-) # Disable RTTI
-        endif()
-    endif()
-    if(ENABLE_EXCEPTIONS)
-        add_compile_options(/EHsc) # Enable Exceptions
-	else()
-        string(REGEX REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # Try to remove default /EHsc cxx_flag
-        add_compile_options(/D_HAS_EXCEPTIONS=0)
-    endif()
-endif()
-
-if(ENABLE_GLSLANG_JS)
-    if(MSVC)
-        add_compile_options(/Os /GR-)
-    else()
-        add_compile_options(-Os -fno-rtti -fno-exceptions)
-        if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" AND NOT MSVC)
-            add_compile_options(-Wno-unused-parameter)
-            add_compile_options(-Wno-unused-variable -Wno-unused-const-variable)
-        endif()
-    endif()
-endif()
-
-# Request C++11
-if(${CMAKE_VERSION} VERSION_LESS 3.1)
-    # CMake versions before 3.1 do not understand CMAKE_CXX_STANDARD
-    # remove this block once CMake >=3.1 has fixated in the ecosystem
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-else()
-    set(CMAKE_CXX_STANDARD 11)
-    set(CMAKE_CXX_STANDARD_REQUIRED ON)
-    set(CMAKE_CXX_EXTENSIONS OFF)
-endif()
-
-function(glslang_set_link_args TARGET)
-    # For MinGW compiles, statically link against the GCC and C++ runtimes.
-    # This avoids the need to ship those runtimes as DLLs.
-    if(WIN32 AND ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
-        set_target_properties(${TARGET} PROPERTIES
-                              LINK_FLAGS "-static -static-libgcc -static-libstdc++")
-    endif()
-endfunction(glslang_set_link_args)
-
-if(NOT COMMAND find_host_package)
-    macro(find_host_package)
-        find_package(${ARGN})
-    endmacro()
-endif()
-
-# Root directory for build-time generated include files
-set(GLSLANG_GENERATED_INCLUDEDIR "${CMAKE_BINARY_DIR}/include")
-
-################################################################################
-# Build version information generation
-################################################################################
-include(parse_version.cmake)
-set(GLSLANG_CHANGES_FILE      "${CMAKE_CURRENT_SOURCE_DIR}/CHANGES.md")
-set(GLSLANG_BUILD_INFO_H_TMPL "${CMAKE_CURRENT_SOURCE_DIR}/build_info.h.tmpl")
-set(GLSLANG_BUILD_INFO_H      "${GLSLANG_GENERATED_INCLUDEDIR}/glslang/build_info.h")
-
-parse_version(${GLSLANG_CHANGES_FILE} GLSLANG)
-
-function(configurate_version)
-    set(major ${GLSLANG_VERSION_MAJOR})
-    set(minor ${GLSLANG_VERSION_MINOR})
-    set(patch ${GLSLANG_VERSION_PATCH})
-    set(flavor ${GLSLANG_VERSION_FLAVOR})
-    configure_file(${GLSLANG_BUILD_INFO_H_TMPL} ${GLSLANG_BUILD_INFO_H} @ONLY)
-endfunction()
-
-configurate_version()
-
-# glslang_add_build_info_dependency() adds the glslang-build-info dependency and
-# generated include directories to target.
-function(glslang_add_build_info_dependency target)
-    target_include_directories(${target} PUBLIC $<BUILD_INTERFACE:${GLSLANG_GENERATED_INCLUDEDIR}>)
-endfunction()
-
-# glslang_only_export_explicit_symbols() makes the symbol visibility hidden by
-# default for <target> when building shared libraries, and sets the
-# GLSLANG_IS_SHARED_LIBRARY define, and GLSLANG_EXPORTING to 1 when specifically
-# building <target>.
-function(glslang_only_export_explicit_symbols target)
-    if(BUILD_SHARED_LIBS)
-        target_compile_definitions(${target} PUBLIC "GLSLANG_IS_SHARED_LIBRARY=1")
-        if(WIN32)
-            target_compile_definitions(${target} PRIVATE "GLSLANG_EXPORTING=1")
-        else()
-            target_compile_options(${target} PRIVATE "-fvisibility=hidden")
-        endif()
-    endif()
-endfunction()
-
-# glslang_pch() adds precompiled header rules to <target> for the pre-compiled
-# header file <pch>. As target_precompile_headers() was added in CMake 3.16,
-# this is a no-op if called on earlier versions of CMake.
-if(NOT CMAKE_VERSION VERSION_LESS "3.16" AND ENABLE_PCH)
-    function(glslang_pch target pch)
-        target_precompile_headers(${target} PRIVATE ${pch})
-    endfunction()
-else()
-    function(glslang_pch target pch)
-    endfunction()
-    if(ENABLE_PCH)
-        message("Your CMake version is ${CMAKE_VERSION}. Update to at least 3.16 to enable precompiled headers to speed up incremental builds")
-    endif()
-endif()
-
-if(BUILD_EXTERNAL AND IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/External)
-    find_host_package(PythonInterp 3 REQUIRED)
-
-    # We depend on these for later projects, so they should come first.
-    add_subdirectory(External)
-endif()
-
-if(NOT TARGET SPIRV-Tools-opt)
-    set(ENABLE_OPT OFF)
-endif()
-
-if(ENABLE_OPT)
-    message(STATUS "optimizer enabled")
-    add_definitions(-DENABLE_OPT=1)
-else()
-    if(ENABLE_HLSL)
-        message(STATUS "spirv-tools not linked - illegal SPIRV may be generated for HLSL")
-    endif()
-    add_definitions(-DENABLE_OPT=0)
-endif()
-
-add_subdirectory(glslang)
-add_subdirectory(OGLCompilersDLL)
-if(ENABLE_GLSLANG_BINARIES)
-    add_subdirectory(StandAlone)
-endif()
-add_subdirectory(SPIRV)
-if(ENABLE_HLSL)
-    add_subdirectory(hlsl)
-endif()
-if(ENABLE_CTEST)
-    add_subdirectory(gtests)
-endif()
-
-if(ENABLE_CTEST AND BUILD_TESTING)
-    # glslang-testsuite runs a bash script on Windows.
-    # Make sure to use '-o igncr' flag to ignore carriage returns (\r).
-    set(IGNORE_CR_FLAG "")
-    if(WIN32)
-        set(IGNORE_CR_FLAG -o igncr)
-    endif()
-
-    if (CMAKE_CONFIGURATION_TYPES)
-        set(RESULTS_PATH ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/localResults)
-        set(VALIDATOR_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/$<CONFIGURATION>/glslangValidator)
-        set(REMAP_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/$<CONFIGURATION>/spirv-remap)
-    else()
-        set(RESULTS_PATH ${CMAKE_CURRENT_BINARY_DIR}/localResults)
-        set(VALIDATOR_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/glslangValidator)
-        set(REMAP_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/spirv-remap)
-    endif()
-
-    add_test(NAME glslang-testsuite
-        COMMAND bash ${IGNORE_CR_FLAG} runtests ${RESULTS_PATH} ${VALIDATOR_PATH} ${REMAP_PATH}
-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Test/)
-endif()

+ 0 - 138
ThirdParty/Glslang/ChooseMSVCCRT.cmake

@@ -1,138 +0,0 @@
-# Copyright (C) 2020 The Khronos Group Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of The Khronos Group Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-# The macro choose_msvc_crt() takes a list of possible
-# C runtimes to choose from, in the form of compiler flags,
-# to present to the user. (MTd for /MTd, etc)
-#
-# The macro is invoked at the end of the file.
-#
-# CMake already sets CRT flags in the CMAKE_CXX_FLAGS_* and
-# CMAKE_C_FLAGS_* variables by default. To let the user
-# override that for each build type:
-# 1. Detect which CRT is already selected, and reflect this in
-# LLVM_USE_CRT_* so the user can have a better idea of what
-# changes they're making.
-# 2. Replace the flags in both variables with the new flag via a regex.
-# 3. set() the variables back into the cache so the changes
-# are user-visible.
-
-### Helper macros: ###
-macro(make_crt_regex regex crts)
-  set(${regex} "")
-  foreach(crt ${${crts}})
-    # Trying to match the beginning or end of the string with stuff
-    # like [ ^]+ didn't work, so use a bunch of parentheses instead.
-    set(${regex} "${${regex}}|(^| +)/${crt}($| +)")
-  endforeach(crt)
-  string(REGEX REPLACE "^\\|" "" ${regex} "${${regex}}")
-endmacro(make_crt_regex)
-
-macro(get_current_crt crt_current regex flagsvar)
-  # Find the selected-by-CMake CRT for each build type, if any.
-  # Strip off the leading slash and any whitespace.
-  string(REGEX MATCH "${${regex}}" ${crt_current} "${${flagsvar}}")
-  string(REPLACE "/" " " ${crt_current} "${${crt_current}}")
-  string(STRIP "${${crt_current}}" ${crt_current})
-endmacro(get_current_crt)
-
-# Replaces or adds a flag to a variable.
-# Expects 'flag' to be padded with spaces.
-macro(set_flag_in_var flagsvar regex flag)
-  string(REGEX MATCH "${${regex}}" current_flag "${${flagsvar}}")
-  if("${current_flag}" STREQUAL "")
-    set(${flagsvar} "${${flagsvar}}${${flag}}")
-  else()
-    string(REGEX REPLACE "${${regex}}" "${${flag}}" ${flagsvar} "${${flagsvar}}")
-  endif()
-  string(STRIP "${${flagsvar}}" ${flagsvar})
-  # Make sure this change gets reflected in the cache/gui.
-  # CMake requires the docstring parameter whenever set() touches the cache,
-  # so get the existing docstring and re-use that.
-  get_property(flagsvar_docs CACHE ${flagsvar} PROPERTY HELPSTRING)
-  set(${flagsvar} "${${flagsvar}}" CACHE STRING "${flagsvar_docs}" FORCE)
-endmacro(set_flag_in_var)
-
-
-macro(choose_msvc_crt MSVC_CRT)
-  if(LLVM_USE_CRT)
-    message(FATAL_ERROR
-      "LLVM_USE_CRT is deprecated. Use the CMAKE_BUILD_TYPE-specific
-variables (LLVM_USE_CRT_DEBUG, etc) instead.")
-  endif()
-
-  make_crt_regex(MSVC_CRT_REGEX ${MSVC_CRT})
-
-  foreach(build_type ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE})
-    string(TOUPPER "${build_type}" build)
-    if (NOT LLVM_USE_CRT_${build})
-      get_current_crt(LLVM_USE_CRT_${build}
-        MSVC_CRT_REGEX
-        CMAKE_CXX_FLAGS_${build})
-      set(LLVM_USE_CRT_${build}
-        "${LLVM_USE_CRT_${build}}"
-        CACHE STRING "Specify VC++ CRT to use for ${build_type} configurations."
-        FORCE)
-      set_property(CACHE LLVM_USE_CRT_${build}
-        PROPERTY STRINGS ;${${MSVC_CRT}})
-    endif(NOT LLVM_USE_CRT_${build})
-  endforeach(build_type)
-
-  foreach(build_type ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE})
-    string(TOUPPER "${build_type}" build)
-    if ("${LLVM_USE_CRT_${build}}" STREQUAL "")
-      set(flag_string " ")
-    else()
-      set(flag_string " /${LLVM_USE_CRT_${build}} ")
-      list(FIND ${MSVC_CRT} ${LLVM_USE_CRT_${build}} idx)
-      if (idx LESS 0)
-        message(FATAL_ERROR
-          "Invalid value for LLVM_USE_CRT_${build}: ${LLVM_USE_CRT_${build}}. Valid options are one of: ${${MSVC_CRT}}")
-      endif (idx LESS 0)
-      message(STATUS "Using ${build_type} VC++ CRT: ${LLVM_USE_CRT_${build}}")
-    endif()
-    foreach(lang C CXX)
-      set_flag_in_var(CMAKE_${lang}_FLAGS_${build} MSVC_CRT_REGEX flag_string)
-    endforeach(lang)
-  endforeach(build_type)
-endmacro(choose_msvc_crt MSVC_CRT)
-
-
-# List of valid CRTs for MSVC
-set(MSVC_CRT
-  MD
-  MDd
-  MT
-  MTd)
-
-choose_msvc_crt(MSVC_CRT)

+ 0 - 82
ThirdParty/Glslang/DEPS

@@ -1,82 +0,0 @@
-# Copyright (C) 2020 The Khronos Group Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of The Khronos Group Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-use_relative_paths = True
-
-gclient_gn_args_file = 'build/config/gclient_args.gni'
-
-vars = {
-  'chromium_git': 'https://chromium.googlesource.com',
-  'build_with_chromium': False,
-}
-
-deps = {
-
-  './build': {
-    'url': '{chromium_git}/chromium/src/build.git@85ee3b7692e5284f08bd3c9459fb5685eed7b838',
-    'condition': 'not build_with_chromium',
-  },
-
-  './buildtools': {
-    'url': '{chromium_git}/chromium/src/buildtools.git@4be464e050b3d05060471788f926b34c641db9fd',
-    'condition': 'not build_with_chromium',
-  },
-
-  './tools/clang': {
-    'url': '{chromium_git}/chromium/src/tools/clang.git@3a982adabb720aa8f3e3885d40bf3fe506990157',
-    'condition': 'not build_with_chromium',
-  },
-
-}
-
-hooks = [
-  {
-    'name': 'sysroot_x64',
-    'pattern': '.',
-    'condition': 'checkout_linux and (checkout_x64 and not build_with_chromium)',
-    'action': ['python', './build/linux/sysroot_scripts/install-sysroot.py',
-               '--arch=x64'],
-  },
-  {
-    # Note: On Win, this should run after win_toolchain, as it may use it.
-    'name': 'clang',
-    'pattern': '.',
-    'action': ['python', './tools/clang/scripts/update.py'],
-    'condition': 'not build_with_chromium',
-  },
-]
-
-recursedeps = [
-  # buildtools provides clang_format, libc++, and libc++abi
-  'buildtools',
-]

+ 0 - 77
ThirdParty/Glslang/External/CMakeLists.txt

@@ -1,77 +0,0 @@
-# Copyright (C) 2020 The Khronos Group Inc.
-#
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-#    Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-#    Redistributions in binary form must reproduce the above
-#    copyright notice, this list of conditions and the following
-#    disclaimer in the documentation and/or other materials provided
-#    with the distribution.
-#
-#    Neither the name of The Khronos Group Inc. nor the names of its
-#    contributors may be used to endorse or promote products derived
-#    from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-# POSSIBILITY OF SUCH DAMAGE.
-
-# Suppress all warnings from external projects.
-set_property(DIRECTORY APPEND PROPERTY COMPILE_OPTIONS -w)
-
-if(BUILD_TESTING)
-    if(TARGET gmock)
-        message(STATUS "Google Mock already configured - use it")
-    elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
-        # We need to make sure Google Test does not mess up with the
-        # global CRT settings on Windows.
-        if(WIN32)
-            set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
-        endif(WIN32)
-        # EXCLUDE_FROM_ALL keeps the install target from installing GTEST files.
-        add_subdirectory(googletest EXCLUDE_FROM_ALL)
-        set(GTEST_TARGETS
-            gtest
-            gtest_main
-            gmock
-            gmock_main)
-        foreach(target ${GTEST_TARGETS})
-            set_property(TARGET ${target} PROPERTY FOLDER gtest)
-        endforeach()
-        mark_as_advanced(gmock_build_tests
-            BUILD_GMOCK
-            BUILD_GTEST
-            BUILD_SHARED_LIBS
-            gtest_build_samples
-            gtest_build_tests
-            gtest_disable_pthreads
-            gtest_force_shared_crt
-            gtest_hide_internal_symbols)
-    else()
-        message(STATUS
-            "Google Mock was not found - tests based on that will not build")
-    endif()
-endif()
-
-if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt)
-    if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools)
-        set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests")
-        add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools)
-    endif()
-endif()
-

+ 0 - 6
ThirdParty/Glslang/External/spirv-tools/.clang-format

@@ -1,6 +0,0 @@
----
-Language: Cpp
-BasedOnStyle: Google
-DerivePointerAlignment: false
-SortIncludes: true
-...

+ 0 - 20
ThirdParty/Glslang/External/spirv-tools/.gn

@@ -1,20 +0,0 @@
-# Copyright 2018 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-buildconfig = "//build/config/BUILDCONFIG.gn"
-
-default_args = {
-  clang_use_chrome_plugins = false
-  use_custom_libcxx = false
-}

+ 0 - 559
ThirdParty/Glslang/External/spirv-tools/BUILD.bazel

@@ -1,559 +0,0 @@
-load(
-    ":build_defs.bzl",
-    "COMMON_COPTS",
-    "DEBUGINFO_GRAMMAR_JSON_FILE",
-    "CLDEBUGINFO100_GRAMMAR_JSON_FILE",
-    "SHDEBUGINFO100_GRAMMAR_JSON_FILE",
-    "TEST_COPTS",
-    "base_test",
-    "generate_core_tables",
-    "generate_enum_string_mapping",
-    "generate_extinst_lang_headers",
-    "generate_glsl_tables",
-    "generate_opencl_tables",
-    "generate_vendor_tables",
-    "link_test",
-    "lint_test",
-    "opt_test",
-    "reduce_test",
-    "util_test",
-    "val_test",
-)
-
-package(
-    default_visibility = ["//visibility:private"],
-)
-
-licenses(["notice"])
-
-exports_files([
-    "CHANGES",
-    "LICENSE",
-])
-
-py_binary(
-    name = "generate_grammar_tables",
-    srcs = ["utils/generate_grammar_tables.py"],
-)
-
-py_binary(
-    name = "generate_language_headers",
-    srcs = ["utils/generate_language_headers.py"],
-)
-
-generate_core_tables("unified1")
-
-generate_enum_string_mapping("unified1")
-
-generate_opencl_tables("unified1")
-
-generate_glsl_tables("unified1")
-
-generate_vendor_tables("spv-amd-shader-explicit-vertex-parameter")
-
-generate_vendor_tables("spv-amd-shader-trinary-minmax")
-
-generate_vendor_tables("spv-amd-gcn-shader")
-
-generate_vendor_tables("spv-amd-shader-ballot")
-
-generate_vendor_tables("debuginfo")
-
-generate_vendor_tables("opencl.debuginfo.100", "CLDEBUG100_")
-
-generate_vendor_tables("nonsemantic.shader.debuginfo.100", "SHDEBUG100_")
-
-generate_vendor_tables("nonsemantic.clspvreflection")
-
-generate_extinst_lang_headers("DebugInfo", DEBUGINFO_GRAMMAR_JSON_FILE)
-
-generate_extinst_lang_headers("OpenCLDebugInfo100", CLDEBUGINFO100_GRAMMAR_JSON_FILE)
-
-generate_extinst_lang_headers("NonSemanticShaderDebugInfo100", SHDEBUGINFO100_GRAMMAR_JSON_FILE)
-
-py_binary(
-    name = "generate_registry_tables",
-    srcs = ["utils/generate_registry_tables.py"],
-)
-
-genrule(
-    name = "gen_registry_tables",
-    srcs = ["@spirv_headers//:spirv_xml_registry"],
-    outs = ["generators.inc"],
-    cmd = "$(location generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)",
-    cmd_bat = "$(location //:generate_registry_tables) --xml=$(location @spirv_headers//:spirv_xml_registry) --generator-output=$(location generators.inc)",
-    tools = [":generate_registry_tables"],
-)
-
-py_binary(
-    name = "update_build_version",
-    srcs = ["utils/update_build_version.py"],
-)
-
-genrule(
-    name = "gen_build_version",
-    srcs = ["CHANGES"],
-    outs = ["build-version.inc"],
-    cmd = "SOURCE_DATE_EPOCH=0 $(location update_build_version) $(location CHANGES) $(location build-version.inc)",
-    cmd_bat = "set SOURCE_DATE_EPOCH=0  && $(location //:update_build_version) $(location CHANGES) $(location build-version.inc)",
-    tools = [":update_build_version"],
-)
-
-# Libraries
-
-cc_library(
-    name = "generated_headers",
-    hdrs = [
-        ":gen_build_version",
-        ":gen_core_tables_unified1",
-        ":gen_enum_string_mapping",
-        ":gen_extinst_lang_headers_DebugInfo",
-        ":gen_extinst_lang_headers_OpenCLDebugInfo100",
-        ":gen_extinst_lang_headers_NonSemanticShaderDebugInfo100",
-        ":gen_glsl_tables_unified1",
-        ":gen_opencl_tables_unified1",
-        ":gen_registry_tables",
-        ":gen_vendor_tables_debuginfo",
-        ":gen_vendor_tables_nonsemantic_clspvreflection",
-        ":gen_vendor_tables_opencl_debuginfo_100",
-        ":gen_vendor_tables_nonsemantic_shader_debuginfo_100",
-        ":gen_vendor_tables_spv_amd_gcn_shader",
-        ":gen_vendor_tables_spv_amd_shader_ballot",
-        ":gen_vendor_tables_spv_amd_shader_explicit_vertex_parameter",
-        ":gen_vendor_tables_spv_amd_shader_trinary_minmax",
-    ],
-    copts = COMMON_COPTS,
-)
-
-cc_library(
-    name = "spirv_tools_headers",
-    hdrs = glob([
-        "include/spirv-tools/libspirv.h",
-        "include/spirv-tools/libspirv.hpp",
-        "source/*.h",
-        "source/util/*.h",
-        "source/val/*.h",
-    ]),
-    copts = COMMON_COPTS,
-    includes = ["source"],
-    deps = [
-        "@spirv_headers//:spirv_c_headers",
-    ],
-)
-
-cc_library(
-    name = "spirv_tools",
-    srcs = glob([
-        "source/*.cpp",
-        "source/util/*.cpp",
-        "source/val/*.cpp",
-    ]),
-    hdrs = [
-        "include/spirv-tools/libspirv.h",
-        "include/spirv-tools/libspirv.hpp",
-    ],
-    copts = COMMON_COPTS + select({
-        "@bazel_tools//src/conditions:windows": [""],
-        "//conditions:default": ["-Wno-implicit-fallthrough"],
-    }),
-    includes = ["include"],
-    linkstatic = 1,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":generated_headers",
-        ":spirv_tools_headers",
-        "@spirv_headers//:spirv_c_headers",
-        "@spirv_headers//:spirv_common_headers",
-    ],
-)
-
-cc_library(
-    name = "spirv_tools_comp",
-    srcs = glob([
-        "source/comp/*.cpp",
-        "source/comp/*.h",
-    ]),
-    copts = COMMON_COPTS,
-    linkstatic = 1,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":generated_headers",
-        ":spirv_tools",
-        ":spirv_tools_headers",
-        "@spirv_headers//:spirv_common_headers",
-    ],
-)
-
-cc_library(
-    name = "spirv_tools_opt_headers",
-    hdrs = glob(["source/opt/*.h"]),
-    copts = COMMON_COPTS,
-)
-
-cc_library(
-    name = "spirv_tools_opt",
-    srcs = glob(["source/opt/*.cpp"]),
-    hdrs = [
-        "include/spirv-tools/instrument.hpp",
-        "include/spirv-tools/optimizer.hpp",
-    ],
-    copts = COMMON_COPTS,
-    includes = ["include"],
-    linkstatic = 1,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_headers",
-        ":spirv_tools_opt_headers",
-        "@spirv_headers//:spirv_common_headers",
-    ],
-)
-
-cc_library(
-    name = "spirv_tools_reduce",
-    srcs = glob(["source/reduce/*.cpp"]),
-    hdrs = glob(["source/reduce/*.h"]),
-    copts = COMMON_COPTS,
-    linkstatic = 1,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_opt",
-    ],
-)
-
-cc_library(
-    name = "spirv_tools_link",
-    srcs = glob(["source/link/*.cpp"]),
-    hdrs = ["include/spirv-tools/linker.hpp"],
-    copts = COMMON_COPTS,
-    linkstatic = 1,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_opt",
-    ],
-)
-
-cc_library(
-    name = "spirv_tools_lint",
-    srcs = glob(["source/lint/*.cpp", "source/lint/*.h"]),
-    hdrs = ["include/spirv-tools/linter.hpp"],
-    copts = COMMON_COPTS,
-    linkstatic = 1,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_opt",
-    ],
-)
-
-cc_library(
-    name = "tools_util",
-    srcs = glob(["tools/util/*.cpp"]),
-    hdrs = glob(["tools/util/*.h"]),
-    copts = COMMON_COPTS,
-    linkstatic = 1,
-    visibility = ["//visibility:public"],
-    deps = [":spirv_tools"],
-)
-
-# Tools
-
-cc_binary(
-    name = "spirv-as",
-    srcs = [
-        "tools/as/as.cpp",
-        "tools/io.h",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-    ],
-)
-
-cc_binary(
-    name = "spirv-dis",
-    srcs = [
-        "tools/dis/dis.cpp",
-        "tools/io.h",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-    ],
-)
-
-cc_binary(
-    name = "spirv-val",
-    srcs = [
-        "tools/io.h",
-        "tools/val/val.cpp",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":tools_util",
-    ],
-)
-
-cc_binary(
-    name = "spirv-opt",
-    srcs = [
-        "tools/io.h",
-        "tools/opt/opt.cpp",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_opt",
-        ":tools_util",
-    ],
-)
-
-cc_binary(
-    name = "spirv-reduce",
-    srcs = [
-        "tools/io.h",
-        "tools/reduce/reduce.cpp",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_opt",
-        ":spirv_tools_reduce",
-        ":tools_util",
-    ],
-)
-
-cc_binary(
-    name = "spirv-link",
-    srcs = [
-        "tools/io.h",
-        "tools/link/linker.cpp",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_link",
-    ],
-)
-
-cc_binary(
-    name = "spirv-lint",
-    srcs = [
-        "tools/io.h",
-        "tools/lint/lint.cpp",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [
-        ":spirv_tools",
-        ":spirv_tools_lint",
-        ":tools_util",
-    ],
-)
-
-cc_binary(
-    name = "spirv-cfg",
-    srcs = [
-        "tools/cfg/bin_to_dot.cpp",
-        "tools/cfg/bin_to_dot.h",
-        "tools/cfg/cfg.cpp",
-        "tools/io.h",
-    ],
-    copts = COMMON_COPTS,
-    visibility = ["//visibility:public"],
-    deps = [":spirv_tools"],
-)
-
-# Unit tests
-
-cc_library(
-    name = "test_common",
-    testonly = 1,
-    srcs = [
-        "test/test_fixture.h",
-        "test/unit_spirv.cpp",
-        "test/unit_spirv.h",
-    ],
-    compatible_with = [],
-    copts = TEST_COPTS,
-    includes = ["test"],
-    linkstatic = 1,
-    deps = [
-        ":spirv_tools",
-        "@com_google_googletest//:gtest",
-    ],
-)
-
-cc_library(
-    name = "link_test_common",
-    testonly = 1,
-    srcs = ["test/link/linker_fixture.h"],
-    compatible_with = [],
-    copts = TEST_COPTS,
-    linkstatic = 1,
-    deps = [
-        ":spirv_tools_link",
-        ":test_common",
-    ],
-)
-
-cc_library(
-    name = "opt_test_common",
-    testonly = 1,
-    srcs = ["test/opt/pass_utils.cpp"],
-    hdrs = [
-        "test/opt/assembly_builder.h",
-        "test/opt/function_utils.h",
-        "test/opt/module_utils.h",
-        "test/opt/pass_fixture.h",
-        "test/opt/pass_utils.h",
-    ],
-    compatible_with = [],
-    copts = TEST_COPTS,
-    linkstatic = 1,
-    deps = [
-        ":spirv_tools_opt",
-        ":test_common",
-    ],
-)
-
-cc_library(
-    name = "reduce_test_common",
-    testonly = 1,
-    srcs = [
-        "test/reduce/reduce_test_util.cpp",
-        "tools/io.h",
-    ],
-    hdrs = ["test/reduce/reduce_test_util.h"],
-    compatible_with = [],
-    copts = TEST_COPTS,
-    linkstatic = 1,
-    deps = [
-        ":spirv_tools_reduce",
-        ":test_common",
-    ],
-)
-
-cc_library(
-    name = "val_test_common",
-    testonly = 1,
-    srcs = [
-        "test/val/val_code_generator.cpp",
-        "test/val/val_fixtures.h",
-    ],
-    hdrs = [
-        "test/val/val_code_generator.h",
-    ],
-    compatible_with = [],
-    copts = TEST_COPTS,
-    linkstatic = 1,
-    deps = [":test_common"],
-)
-
-# PCH (precompiled header) tests only work when using CMake and MSVC on Windows,
-# so they will be skipped in the Bazel builds.
-
-[base_test(
-    name = f[5:-4],  # strip test/, .cpp
-    srcs = [f],
-) for f in glob(
-    ["test/*.cpp"],
-    exclude = [
-        "test/cpp_interface_test.cpp", # has its own base_test below.
-        "test/log_test.cpp", # has its own base_test below.
-        "test/pch_test.cpp", # pch tests are skipped.
-        "test/timer_test.cpp", # has its own base_test below.
-    ],
-)]
-
-# This test uses unistd.h and does not run on Windows.
-base_test(
-    name = "timer_test",
-    srcs = select({
-        "@bazel_tools//src/conditions:windows": [],
-        "//conditions:default": ["test/timer_test.cpp"],
-    }),
-)
-
-base_test(
-    name = "cpp_interface_test",
-    srcs = ["test/cpp_interface_test.cpp"],
-    deps = [":spirv_tools_opt"],
-)
-
-base_test(
-    name = "log_test",
-    srcs = ["test/log_test.cpp"],
-    deps = [":spirv_tools_opt"],
-)
-
-[link_test(
-    name = f[10:-4],  # strip test/link/, .cpp
-    srcs = [f],
-) for f in glob(
-    ["test/link/*.cpp"],
-)]
-
-[lint_test(
-    name = f[10:-4],  # strip test/lint/, .cpp
-    srcs = [f],
-) for f in glob(
-    ["test/lint/*.cpp"],
-)]
-
-[opt_test(
-    name = f[9:-4],  # strip test/opt/, .cpp
-    srcs = [f],
-) for f in glob(
-    ["test/opt/*.cpp"],
-    # pch tests are skipped.
-    exclude = ["test/opt/pch_test_opt.cpp"],
-)]
-
-[opt_test(
-    name = "dom_tree_" + f[24:-4],  # strip test/opt/dominator_tree/, .cpp
-    srcs = [f],
-) for f in glob(
-    ["test/opt/dominator_tree/*.cpp"],
-    # pch tests are skipped.
-    exclude = ["test/opt/dominator_tree/pch_test_opt_dom.cpp"],
-)]
-
-[opt_test(
-    name = "loop_" + f[28:-4],  # strip test/opt/loop_optimizations/, .cpp
-    srcs = [f],
-) for f in glob(
-    ["test/opt/loop_optimizations/*.cpp"],
-    # pch tests are skipped.
-    exclude = ["test/opt/loop_optimizations/pch_test_opt_loop.cpp"],
-)]
-
-[reduce_test(
-    name = f[12:-4],  # strip test/reduce/, .cpp
-    srcs = [f],
-) for f in glob(["test/reduce/*.cpp"])]
-
-[util_test(
-    name = f[10:-4],  # strip test/util/, .cpp
-    srcs = [f],
-) for f in glob(["test/util/*.cpp"])]
-
-[val_test(
-    name = f[9:-4],  # strip test/val/, .cpp
-    srcs = [f],
-) for f in glob(
-    ["test/val/*.cpp"],
-    exclude = [
-        "test/val/pch_test_val.cpp", # pch tests are skipped.
-    ],
-)]
-

+ 0 - 1
ThirdParty/Glslang/External/spirv-tools/CODE_OF_CONDUCT.md

@@ -1 +0,0 @@
-A reminder that this issue tracker is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct (https://www.khronos.org/developers/code-of-conduct), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil.

+ 0 - 346
ThirdParty/Glslang/External/spirv-tools/build_defs.bzl

@@ -1,346 +0,0 @@
-COMMON_COPTS = [
-        "-DSPIRV_CHECK_CONTEXT",
-        "-DSPIRV_COLOR_TERMINAL",
-    ] + select({
-    "@bazel_tools//src/conditions:windows": [""],
-    "//conditions:default": [
-        "-DSPIRV_LINUX",
-        "-DSPIRV_TIMER_ENABLED",
-        "-Wall",
-        "-Wextra",
-        "-Wnon-virtual-dtor",
-        "-Wno-missing-field-initializers",
-        "-Werror",
-        "-std=c++11",
-        "-fvisibility=hidden",
-        "-fno-exceptions",
-        "-fno-rtti",
-        "-Wno-long-long",
-        "-Wshadow",
-        "-Wundef",
-        "-Wconversion",
-        "-Wno-sign-conversion",
-    ],
-})
-
-TEST_COPTS = COMMON_COPTS + select({
-    "@bazel_tools//src/conditions:windows": [
-        # Disable C4503 "decorated name length exceeded" warning,
-        # triggered by some heavily templated types.
-        # We don't care much about that in test code.
-        # Important to do since we have warnings-as-errors.
-        "/wd4503"
-    ],
-    "//conditions:default": [
-        "-Wno-undef",
-        "-Wno-self-assign",
-        "-Wno-shadow",
-        "-Wno-unused-parameter"
-    ],
-})
-
-DEBUGINFO_GRAMMAR_JSON_FILE = "@spirv_headers//:spirv_ext_inst_debuginfo_grammar_unified1"
-CLDEBUGINFO100_GRAMMAR_JSON_FILE = "@spirv_headers//:spirv_ext_inst_opencl_debuginfo_100_grammar_unified1"
-SHDEBUGINFO100_GRAMMAR_JSON_FILE = "@spirv_headers//:spirv_ext_inst_nonsemantic_shader_debuginfo_100_grammar_unified1"
-
-def generate_core_tables(version = None):
-    if not version:
-        fail("Must specify version", "version")
-    grammars = [
-        "@spirv_headers//:spirv_core_grammar_" + version,
-        DEBUGINFO_GRAMMAR_JSON_FILE,
-        CLDEBUGINFO100_GRAMMAR_JSON_FILE,
-    ]
-    outs = [
-        "core.insts-{}.inc".format(version),
-        "operand.kinds-{}.inc".format(version),
-    ]
-    fmtargs = grammars + outs
-    native.genrule(
-        name = "gen_core_tables_" + version,
-        srcs = grammars,
-        outs = outs,
-        cmd = (
-            "$(location :generate_grammar_tables) " +
-            "--spirv-core-grammar=$(location {0}) " +
-            "--extinst-debuginfo-grammar=$(location {1}) " +
-            "--extinst-cldebuginfo100-grammar=$(location {2}) " +
-            "--core-insts-output=$(location {3}) " +
-            "--operand-kinds-output=$(location {4})"
-        ).format(*fmtargs),
-        cmd_bat = (
-            "$(location :generate_grammar_tables) " +
-            "--spirv-core-grammar=$(location {0}) " +
-            "--extinst-debuginfo-grammar=$(location {1}) " +
-            "--extinst-cldebuginfo100-grammar=$(location {2}) " +
-            "--core-insts-output=$(location {3}) " +
-            "--operand-kinds-output=$(location {4})"
-        ).format(*fmtargs),
-        tools = [":generate_grammar_tables"],
-        visibility = ["//visibility:private"],
-    )
-
-def generate_enum_string_mapping(version = None):
-    if not version:
-        fail("Must specify version", "version")
-    grammars = [
-        "@spirv_headers//:spirv_core_grammar_" + version,
-        DEBUGINFO_GRAMMAR_JSON_FILE,
-        CLDEBUGINFO100_GRAMMAR_JSON_FILE,
-    ]
-    outs = [
-        "extension_enum.inc",
-        "enum_string_mapping.inc",
-    ]
-    fmtargs = grammars + outs
-    native.genrule(
-        name = "gen_enum_string_mapping",
-        srcs = grammars,
-        outs = outs,
-        cmd = (
-            "$(location :generate_grammar_tables) " +
-            "--spirv-core-grammar=$(location {0}) " +
-            "--extinst-debuginfo-grammar=$(location {1}) " +
-            "--extinst-cldebuginfo100-grammar=$(location {2}) " +
-            "--extension-enum-output=$(location {3}) " +
-            "--enum-string-mapping-output=$(location {4})"
-        ).format(*fmtargs),
-        cmd_bat = (
-            "$(location :generate_grammar_tables) " +
-            "--spirv-core-grammar=$(location {0}) " +
-            "--extinst-debuginfo-grammar=$(location {1}) " +
-            "--extinst-cldebuginfo100-grammar=$(location {2}) " +
-            "--extension-enum-output=$(location {3}) " +
-            "--enum-string-mapping-output=$(location {4})"
-        ).format(*fmtargs),
-        tools = [":generate_grammar_tables"],
-        visibility = ["//visibility:private"],
-    )
-
-def generate_opencl_tables(version = None):
-    if not version:
-        fail("Must specify version", "version")
-    grammars = [
-        "@spirv_headers//:spirv_opencl_grammar_" + version,
-    ]
-    outs = ["opencl.std.insts.inc"]
-    fmtargs = grammars + outs
-    native.genrule(
-        name = "gen_opencl_tables_" + version,
-        srcs = grammars,
-        outs = outs,
-        cmd = (
-            "$(location :generate_grammar_tables) " +
-            "--extinst-opencl-grammar=$(location {0}) " +
-            "--opencl-insts-output=$(location {1})"
-        ).format(*fmtargs),
-        cmd_bat = (
-            "$(location :generate_grammar_tables) " +
-            "--extinst-opencl-grammar=$(location {0}) " +
-            "--opencl-insts-output=$(location {1})"
-        ).format(*fmtargs),
-        tools = [":generate_grammar_tables"],
-        visibility = ["//visibility:private"],
-    )
-
-def generate_glsl_tables(version = None):
-    if not version:
-        fail("Must specify version", "version")
-    grammars = [
-        "@spirv_headers//:spirv_glsl_grammar_" + version,
-    ]
-    outs = ["glsl.std.450.insts.inc"]
-    fmtargs = grammars + outs
-    native.genrule(
-        name = "gen_glsl_tables_" + version,
-        srcs = grammars,
-        outs = outs,
-        cmd = (
-            "$(location :generate_grammar_tables) " +
-            "--extinst-glsl-grammar=$(location {0}) " +
-            "--glsl-insts-output=$(location {1})"
-        ).format(*fmtargs),
-        cmd_bat = (
-            "$(location :generate_grammar_tables) " +
-            "--extinst-glsl-grammar=$(location {0}) " +
-            "--glsl-insts-output=$(location {1})"
-        ).format(*fmtargs),
-        tools = [":generate_grammar_tables"],
-        visibility = ["//visibility:private"],
-    )
-
-def generate_vendor_tables(extension, operand_kind_prefix = ""):
-    if not extension:
-        fail("Must specify extension", "extension")
-    extension_rule = extension.replace("-", "_").replace(".", "_")
-    grammars = ["@spirv_headers//:spirv_ext_inst_{}_grammar_unified1".format(extension_rule)]
-    outs = ["{}.insts.inc".format(extension)]
-    prefices = [operand_kind_prefix]
-    fmtargs = grammars + outs + prefices
-    native.genrule(
-        name = "gen_vendor_tables_" + extension_rule,
-        srcs = grammars,
-        outs = outs,
-        cmd = (
-            "$(location :generate_grammar_tables) " +
-            "--extinst-vendor-grammar=$(location {0}) " +
-            "--vendor-insts-output=$(location {1}) " +
-            "--vendor-operand-kind-prefix={2}"
-        ).format(*fmtargs),
-        cmd_bat = (
-            "$(location :generate_grammar_tables) " +
-            "--extinst-vendor-grammar=$(location {0}) " +
-            "--vendor-insts-output=$(location {1}) " +
-            "--vendor-operand-kind-prefix={2}"
-        ).format(*fmtargs),
-        tools = [":generate_grammar_tables"],
-        visibility = ["//visibility:private"],
-    )
-
-def generate_extinst_lang_headers(name, grammar = None):
-    if not grammar:
-        fail("Must specify grammar", "grammar")
-    outs = [name + ".h"]
-    fmtargs = outs
-    native.genrule(
-        name = "gen_extinst_lang_headers_" + name,
-        srcs = [grammar],
-        outs = outs,
-        cmd = (
-            "$(location :generate_language_headers) " +
-            "--extinst-grammar=$< " +
-            "--extinst-output-path=$(location {0})"
-        ).format(*fmtargs),
-        cmd_bat = (
-            "$(location :generate_language_headers) " +
-            "--extinst-grammar=$< " +
-            "--extinst-output-path=$(location {0})"
-        ).format(*fmtargs),
-        tools = [":generate_language_headers"],
-        visibility = ["//visibility:private"],
-    )
-
-def base_test(name, srcs, deps = []):
-    if srcs == []:
-        return
-    if name[-5:] != "_test":
-        name = name + "_test"
-    native.cc_test(
-        name = "base_" + name,
-        srcs = srcs,
-        compatible_with = [],
-        copts = TEST_COPTS,
-        size = "large",
-        deps = [
-            ":test_common",
-            "@com_google_googletest//:gtest_main",
-            "@com_google_googletest//:gtest",
-            "@com_google_effcee//:effcee",
-        ] + deps,
-    )
-
-def lint_test(name, srcs, deps = []):
-    if name[-5:] != "_test":
-        name = name + "_test"
-    native.cc_test(
-        name = "lint_" + name,
-        srcs = srcs,
-        compatible_with = [],
-        copts = TEST_COPTS,
-        size = "large",
-        deps = [
-            ":spirv_tools_lint",
-            "@com_google_googletest//:gtest_main",
-            "@com_google_googletest//:gtest",
-            "@com_google_effcee//:effcee",
-        ] + deps,
-    )
-
-def link_test(name, srcs, deps = []):
-    if name[-5:] != "_test":
-        name = name + "_test"
-    native.cc_test(
-        name = "link_" + name,
-        srcs = srcs,
-        compatible_with = [],
-        copts = TEST_COPTS,
-        size = "large",
-        deps = [
-            ":link_test_common",
-            "@com_google_googletest//:gtest_main",
-            "@com_google_googletest//:gtest",
-            "@com_google_effcee//:effcee",
-        ] + deps,
-    )
-
-def opt_test(name, srcs, deps = []):
-    if name[-5:] != "_test":
-        name = name + "_test"
-    native.cc_test(
-        name = "opt_" + name,
-        srcs = srcs,
-        compatible_with = [],
-        copts = TEST_COPTS,
-        size = "large",
-        deps = [
-            ":opt_test_common",
-            "@com_google_googletest//:gtest_main",
-            "@com_google_googletest//:gtest",
-            "@com_google_effcee//:effcee",
-        ] + deps,
-    )
-
-def reduce_test(name, srcs, deps = []):
-    if name[-5:] != "_test":
-        name = name + "_test"
-    native.cc_test(
-        name = "reduce_" + name,
-        srcs = srcs,
-        compatible_with = [],
-        copts = TEST_COPTS,
-        size = "large",
-        deps = [
-            ":reduce_test_common",
-            ":spirv_tools_reduce",
-            "@com_google_googletest//:gtest_main",
-            "@com_google_googletest//:gtest",
-            "@com_google_effcee//:effcee",
-        ] + deps,
-    )
-
-def util_test(name, srcs, deps = []):
-    if name[-5:] != "_test":
-        name = name + "_test"
-    native.cc_test(
-        name = "util_" + name,
-        srcs = srcs,
-        compatible_with = [],
-        copts = TEST_COPTS,
-        size = "large",
-        deps = [
-            ":opt_test_common",
-            "@com_google_googletest//:gtest_main",
-            "@com_google_googletest//:gtest",
-            "@com_google_effcee//:effcee",
-        ] + deps,
-    )
-
-def val_test(name, srcs = [], copts = [], deps = [], **kwargs):
-    if name[-5:] != "_test":
-        name = name + "_test"
-    if name[:4] != "val_":
-        name = "val_" + name
-    native.cc_test(
-        name = name,
-        srcs = srcs,
-        compatible_with = [],
-        copts = TEST_COPTS + copts,
-        size = "large",
-        deps = [
-            ":val_test_common",
-            "@com_google_googletest//:gtest_main",
-            "@com_google_googletest//:gtest",
-            "@com_google_effcee//:effcee",
-        ] + deps,
-        **kwargs
-    )

+ 0 - 43
ThirdParty/Glslang/External/spirv-tools/build_overrides/build.gni

@@ -1,43 +0,0 @@
-# Copyright 2018 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Variable that can be used to support multiple build scenarios, like having
-# Chromium specific targets in a client project's GN file etc.
-build_with_chromium = false
-
-declare_args() {
-  # Android 32-bit non-component, non-clang builds cannot have symbol_level=2
-  # due to 4GiB file size limit, see https://crbug.com/648948.
-  # Set this flag to true to skip the assertion.
-  ignore_elf32_limitations = false
-
-  # Use the system install of Xcode for tools like ibtool, libtool, etc.
-  # This does not affect the compiler. When this variable is false, targets will
-  # instead use a hermetic install of Xcode. [The hermetic install can be
-  # obtained with gclient sync after setting the environment variable
-  # FORCE_MAC_TOOLCHAIN].
-  use_system_xcode = ""
-}
-
-if (use_system_xcode == "") {
-  if (target_os == "mac") {
-    _result = exec_script("//build/mac/should_use_hermetic_xcode.py",
-                          [ target_os ],
-                          "value")
-    use_system_xcode = _result == 0
-  }
-  if (target_os == "ios") {
-    use_system_xcode = true
-  }
-}

+ 0 - 25
ThirdParty/Glslang/External/spirv-tools/build_overrides/gtest.gni

@@ -1,25 +0,0 @@
-# Copyright 2018 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Exclude support for registering main function in multi-process tests.
-gtest_include_multiprocess = false
-
-# Exclude support for platform-specific operations across unit tests.
-gtest_include_platform_test = false
-
-# Exclude support for testing Objective C code on OS X and iOS.
-gtest_include_objc_support = false
-
-# Exclude support for flushing coverage files on iOS.
-gtest_include_ios_coverage = false

+ 0 - 25
ThirdParty/Glslang/External/spirv-tools/build_overrides/spirv_tools.gni

@@ -1,25 +0,0 @@
-# Copyright 2018 Google Inc. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# These are variables that are overridable by projects that include
-# SPIRV-Tools. The values in this file are the defaults for when we are
-# building from SPIRV-Tools' repository.
-
-# Whether we are building from SPIRV-Tools' repository.
-# MUST be set to false in other projects.
-spirv_tools_standalone = true
-
-# The path to SPIRV-Tools' dependencies
-spirv_tools_googletest_dir = "//external/googletest"
-spirv_tools_spirv_headers_dir = "//external/spirv-headers"

+ 0 - 171
ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/BUILD.bazel

@@ -1,171 +0,0 @@
-package(
-    default_visibility = ["//visibility:public"],
-)
-
-licenses(["notice"])
-
-exports_files(["LICENSE"])
-
-filegroup(
-    name = "spirv_core_grammar_1.0",
-    srcs = ["include/spirv/1.0/spirv.core.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_glsl_grammar_1.0",
-    srcs = ["include/spirv/1.0/extinst.glsl.std.450.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_opencl_grammar_1.0",
-    srcs = ["include/spirv/1.0/extinst.opencl.std.100.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_core_grammar_1.1",
-    srcs = ["include/spirv/1.1/spirv.core.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_glsl_grammar_1.1",
-    srcs = ["include/spirv/1.1/extinst.glsl.std.450.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_opencl_grammar_1.1",
-    srcs = ["include/spirv/1.1/extinst.opencl.std.100.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_core_grammar_1.2",
-    srcs = ["include/spirv/1.2/spirv.core.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_glsl_grammar_1.2",
-    srcs = ["include/spirv/1.2/extinst.glsl.std.450.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_opencl_grammar_1.2",
-    srcs = ["include/spirv/1.2/extinst.opencl.std.100.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_core_grammar_unified1",
-    srcs = ["include/spirv/unified1/spirv.core.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_glsl_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.glsl.std.450.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_opencl_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.opencl.std.100.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_xml_registry",
-    srcs = ["include/spirv/spir-v.xml"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_debuginfo_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.debuginfo.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_nonsemantic_clspvreflection_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_nonsemantic_debugprintf_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.nonsemantic.debugprintf.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_opencl_debuginfo_100_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_nonsemantic_shader_debuginfo_100_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_spv_amd_gcn_shader_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.spv-amd-gcn-shader.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_spv_amd_shader_ballot_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.spv-amd-shader-ballot.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_spv_amd_shader_explicit_vertex_parameter_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json"],
-)
-
-filegroup(
-    name = "spirv_ext_inst_spv_amd_shader_trinary_minmax_grammar_unified1",
-    srcs = ["include/spirv/unified1/extinst.spv-amd-shader-trinary-minmax.grammar.json"],
-)
-
-cc_library(
-    name = "spirv_common_headers",
-    hdrs = [
-        "include/spirv/1.0/GLSL.std.450.h",
-        "include/spirv/1.0/OpenCL.std.h",
-        "include/spirv/1.1/GLSL.std.450.h",
-        "include/spirv/1.1/OpenCL.std.h",
-        "include/spirv/1.2/GLSL.std.450.h",
-        "include/spirv/1.2/OpenCL.std.h",
-        "include/spirv/unified1/GLSL.std.450.h",
-        "include/spirv/unified1/NonSemanticClspvReflection.h",
-        "include/spirv/unified1/NonSemanticDebugPrintf.h",
-        "include/spirv/unified1/OpenCL.std.h",
-    ],
-    includes = ["include"],
-)
-
-cc_library(
-    name = "spirv_c_headers",
-    hdrs = [
-        "include/spirv/1.0/spirv.h",
-        "include/spirv/1.1/spirv.h",
-        "include/spirv/1.2/spirv.h",
-        "include/spirv/unified1/spirv.h",
-    ],
-    includes = ["include"],
-    deps = [":spirv_common_headers"],
-)
-
-cc_library(
-    name = "spirv_cpp_headers",
-    hdrs = [
-        "include/spirv/1.0/spirv.hpp",
-        "include/spirv/1.1/spirv.hpp",
-        "include/spirv/1.2/spirv.hpp",
-        "include/spirv/unified1/spirv.hpp",
-    ],
-    includes = ["include"],
-    deps = [":spirv_common_headers"],
-)
-
-cc_library(
-    name = "spirv_cpp11_headers",
-    hdrs = [
-        "include/spirv/1.0/spirv.hpp11",
-        "include/spirv/1.1/spirv.hpp11",
-        "include/spirv/1.2/spirv.hpp11",
-        "include/spirv/unified1/spirv.hpp11",
-    ],
-    includes = ["include"],
-    deps = [":spirv_common_headers"],
-)
-

+ 0 - 44
ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/BUILD.gn

@@ -1,44 +0,0 @@
-# Copyright (c) 2020 Google LLC
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and/or associated documentation files (the "Materials"),
-# to deal in the Materials without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Materials, and to permit persons to whom the
-# Materials are furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Materials.
-#
-# MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-# STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-# HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
-#
-# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-# IN THE MATERIALS.
-
-config("spv_headers_public_config") {
-  include_dirs = [ "include" ]
-}
-
-source_set("spv_headers") {
-  sources = [
-    "include/spirv/1.2/GLSL.std.450.h",
-    "include/spirv/1.2/OpenCL.std.h",
-    "include/spirv/1.2/spirv.h",
-    "include/spirv/1.2/spirv.hpp",
-    "include/spirv/unified1/GLSL.std.450.h",
-    "include/spirv/unified1/NonSemanticClspvReflection.h",
-    "include/spirv/unified1/NonSemanticDebugPrintf.h",
-    "include/spirv/unified1/OpenCL.std.h",
-    "include/spirv/unified1/spirv.h",
-    "include/spirv/unified1/spirv.hpp",
-  ]
-
-  public_configs = [ ":spv_headers_public_config" ]
-}

+ 0 - 138
ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/CMakeLists.txt

@@ -1,138 +0,0 @@
-# Copyright (c) 2015-2016 The Khronos Group Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and/or associated documentation files (the
-# "Materials"), to deal in the Materials without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Materials, and to
-# permit persons to whom the Materials are furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Materials.
-#
-# MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-# KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-# SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-#    https://www.khronos.org/registry/
-#
-# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-
-#
-# The SPIR-V headers from the SPIR-V Registry
-# https://www.khronos.org/registry/spir-v/
-#
-cmake_minimum_required(VERSION 3.0)
-project(SPIRV-Headers VERSION 1.5.5)
-
-# There are two ways to use this project.
-#
-# Using this source tree directly from a CMake-based project:
-#   1. Add an add_subdirectory directive to include this sub directory.
-#   2. Use ${SPIRV-Headers_SOURCE_DIR}/include} in a target_include_directories
-#      command.
-#
-# Installing the headers first, then using them with an implicit include
-# directory.  To install the headers:
-#   1. mkdir build ; cd build
-#   2. cmake ..
-#   3. cmake --build . --target install
-
-# legacy
-add_custom_target(install-headers
-    COMMAND cmake -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv
-        $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/include/spirv)
-
-option(SPIRV_HEADERS_SKIP_EXAMPLES "Skip building examples"
-      ${SPIRV_HEADERS_SKIP_EXAMPLES})
-
-option(SPIRV_HEADERS_SKIP_INSTALL "Skip install"
-      ${SPIRV_HEADERS_SKIP_INSTALL})
-
-if(NOT ${SPIRV_HEADERS_SKIP_EXAMPLES})
-  set(SPIRV_HEADERS_ENABLE_EXAMPLES ON)
-endif()
-
-if(NOT ${SPIRV_HEADERS_SKIP_INSTALL})
-  set(SPIRV_HEADERS_ENABLE_INSTALL ON)
-endif()
-
-if (SPIRV_HEADERS_ENABLE_EXAMPLES)
-  message(STATUS "Building SPIRV-Header examples")
-  add_subdirectory(example)
-endif()
-
-include(GNUInstallDirs)
-add_library(${PROJECT_NAME} INTERFACE)
-target_include_directories(${PROJECT_NAME} INTERFACE
-    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-)
-
-# Installation
-
-if (SPIRV_HEADERS_ENABLE_INSTALL)
-    message(STATUS "Installing SPIRV-Header")
-
-    set(config_install_dir "${CMAKE_INSTALL_DATADIR}/cmake/${PROJECT_NAME}")
-
-    set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-
-    set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
-    set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
-    set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
-    set(namespace "${PROJECT_NAME}::")
-
-    include(CMakePackageConfigHelpers)
-
-    if (NOT CMAKE_VERSION VERSION_LESS 3.14)
-        set(arch_independent_str ARCH_INDEPENDENT)
-    endif()
-    write_basic_package_version_file(
-        "${version_config}"
-        COMPATIBILITY SameMajorVersion
-        ${arch_independent_str}
-    )
-
-    configure_package_config_file(
-        "cmake/Config.cmake.in"
-        "${project_config}"
-        INSTALL_DESTINATION "${config_install_dir}"
-    )
-
-    install(
-        TARGETS ${PROJECT_NAME}
-        EXPORT "${TARGETS_EXPORT_NAME}"
-        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-        INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-    )
-
-    install(
-        DIRECTORY include/spirv
-        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-    )
-
-    install(
-        FILES "${project_config}" "${version_config}"
-        DESTINATION "${config_install_dir}"
-    )
-
-    install(
-        EXPORT "${TARGETS_EXPORT_NAME}"
-        NAMESPACE "${namespace}"
-        DESTINATION "${config_install_dir}"
-    )
-
-    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/SPIRV-Headers.pc.in ${CMAKE_BINARY_DIR}/SPIRV-Headers.pc @ONLY)
-    install(
-        FILES "${CMAKE_BINARY_DIR}/SPIRV-Headers.pc"
-        DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig
-    )
-endif()

+ 0 - 1
ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/CODE_OF_CONDUCT.md

@@ -1 +0,0 @@
-A reminder that this issue tracker is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct (https://www.khronos.org/developers/code-of-conduct), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil.

+ 0 - 25
ThirdParty/Glslang/External/spirv-tools/external/spirv-headers/LICENSE

@@ -1,25 +0,0 @@
-Copyright (c) 2015-2018 The Khronos Group Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and/or associated documentation files (the
-"Materials"), to deal in the Materials without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Materials, and to
-permit persons to whom the Materials are furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Materials.
-
-MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
-KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
-SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
-   https://www.khronos.org/registry/
-
-THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.

Some files were not shown because too many files changed in this diff