Permalink
Browse files

Externals: Update glslang to upstream commit 32d3ec3

  • Loading branch information...
stenzek committed Jun 2, 2018
1 parent 160d16f commit bc96557ec4e66d645794e0a7a586faa0fb60cb2e
Showing with 50,045 additions and 16,101 deletions.
  1. +51 −1 Externals/glslang/.appveyor.yml
  2. +17 −0 Externals/glslang/.gitattributes
  3. +10 −0 Externals/glslang/.gitignore
  4. +78 −15 Externals/glslang/.travis.yml
  5. +3 −9 Externals/glslang/CMakeLists.txt
  6. +91 −15 Externals/glslang/CMakeLists.txt.dist
  7. +39 −30 Externals/glslang/External/CMakeLists.txt
  8. +5 −2 Externals/glslang/OGLCompilersDLL/CMakeLists.txt
  9. +40 −30 Externals/glslang/OGLCompilersDLL/InitializeDll.cpp
  10. +19 −20 Externals/glslang/OGLCompilersDLL/InitializeDll.h
  11. +1 −1 Externals/glslang/README-spirv-remap.txt
  12. +55 −16 Externals/glslang/README.md
  13. +59 −5 Externals/glslang/SPIRV/CMakeLists.txt
  14. +108 −0 Externals/glslang/SPIRV/GLSL.ext.AMD.h
  15. +37 −0 Externals/glslang/SPIRV/GLSL.ext.EXT.h
  16. +42 −0 Externals/glslang/SPIRV/GLSL.ext.KHR.h
  17. +57 −0 Externals/glslang/SPIRV/GLSL.ext.NV.h
  18. +3,162 −611 Externals/glslang/SPIRV/GlslangToSpv.cpp
  19. +37 −20 Externals/glslang/SPIRV/GlslangToSpv.h
  20. +25 −25 Externals/glslang/SPIRV/InReadableOrder.cpp
  21. +349 −111 Externals/glslang/SPIRV/SPVRemapper.cpp
  22. +58 −42 Externals/glslang/SPIRV/SPVRemapper.h
  23. +442 −165 Externals/glslang/SPIRV/SpvBuilder.cpp
  24. +109 −54 Externals/glslang/SPIRV/SpvBuilder.h
  25. +81 −0 Externals/glslang/SPIRV/bitutils.h
  26. +179 −33 Externals/glslang/SPIRV/disassemble.cpp
  27. +17 −17 Externals/glslang/SPIRV/disassemble.h
  28. +468 −608 Externals/glslang/SPIRV/doc.cpp
  29. +20 −22 Externals/glslang/SPIRV/doc.h
  30. +1,078 −0 Externals/glslang/SPIRV/hex_float.h
  31. +191 −5 Externals/glslang/SPIRV/spirv.hpp
  32. +39 −31 Externals/glslang/SPIRV/spvIR.h
  33. +17 −13 Externals/glslang/StandAlone/CMakeLists.txt
  34. +141 −0 Externals/glslang/StandAlone/DirStackFileIncluder.h
  35. +115 −102 Externals/glslang/StandAlone/ResourceLimits.cpp
  36. +885 −298 Externals/glslang/StandAlone/StandAlone.cpp
  37. +24 −27 Externals/glslang/StandAlone/Worklist.h
  38. +19 −20 Externals/glslang/StandAlone/spirv-remap.cpp
  39. +7 −16 Externals/glslang/glslang.vcxproj
  40. +15 −45 Externals/glslang/glslang.vcxproj.filters
  41. +35 −5 Externals/glslang/glslang/CMakeLists.txt
  42. +17 −17 Externals/glslang/glslang/GenericCodeGen/CodeGen.cpp
  43. +18 −18 Externals/glslang/glslang/GenericCodeGen/Link.cpp
  44. +170 −21 Externals/glslang/glslang/Include/BaseTypes.h
  45. +72 −51 Externals/glslang/glslang/Include/Common.h
  46. +385 −64 Externals/glslang/glslang/Include/ConstantUnion.h
  47. +23 −24 Externals/glslang/glslang/Include/InfoSink.h
  48. +17 −20 Externals/glslang/glslang/Include/InitializeGlobals.h
  49. +38 −46 Externals/glslang/glslang/Include/PoolAlloc.h
  50. +19 −19 Externals/glslang/glslang/Include/ResourceLimits.h
  51. +36 −34 Externals/glslang/glslang/Include/ShHandle.h
  52. +499 −283 Externals/glslang/glslang/Include/Types.h
  53. +60 −39 Externals/glslang/glslang/Include/arrays.h
  54. +622 −75 Externals/glslang/glslang/Include/intermediate.h
  55. +1 −4 Externals/glslang/glslang/Include/revision.h
  56. +1 −1 Externals/glslang/glslang/Include/revision.template
  57. +213 −78 Externals/glslang/glslang/MachineIndependent/Constant.cpp
  58. +36 −32 Externals/glslang/glslang/MachineIndependent/InfoSink.cpp
  59. +4,843 −517 Externals/glslang/glslang/MachineIndependent/Initialize.cpp
  60. +23 −26 Externals/glslang/glslang/MachineIndependent/Initialize.h
  61. +19 −19 Externals/glslang/glslang/MachineIndependent/IntermTraverse.cpp
  62. +2,327 −476 Externals/glslang/glslang/MachineIndependent/Intermediate.cpp
  63. +138 −0 Externals/glslang/glslang/MachineIndependent/LiveTraverser.h
  64. +613 −0 Externals/glslang/glslang/MachineIndependent/ParseContextBase.cpp
  65. +1,469 −920 Externals/glslang/glslang/MachineIndependent/ParseHelper.cpp
  66. +197 −83 Externals/glslang/glslang/MachineIndependent/ParseHelper.h
  67. +43 −75 Externals/glslang/glslang/MachineIndependent/PoolAlloc.cpp
  68. +18 −18 Externals/glslang/glslang/MachineIndependent/RemoveTree.cpp
  69. +19 −17 Externals/glslang/glslang/MachineIndependent/RemoveTree.h
  70. +432 −69 Externals/glslang/glslang/MachineIndependent/Scan.cpp
  71. +29 −28 Externals/glslang/glslang/MachineIndependent/Scan.h
  72. +19 −17 Externals/glslang/glslang/MachineIndependent/ScanContext.h
  73. +558 −290 Externals/glslang/glslang/MachineIndependent/ShaderLang.cpp
  74. +57 −23 Externals/glslang/glslang/MachineIndependent/SymbolTable.cpp
  75. +193 −62 Externals/glslang/glslang/MachineIndependent/SymbolTable.h
  76. +334 −61 Externals/glslang/glslang/MachineIndependent/Versions.cpp
  77. +106 −25 Externals/glslang/glslang/MachineIndependent/Versions.h
  78. +257 −0 Externals/glslang/glslang/MachineIndependent/attribute.cpp
  79. +102 −0 Externals/glslang/glslang/MachineIndependent/attribute.h
  80. +54 −0 Externals/glslang/glslang/MachineIndependent/gl_types.h
  81. +985 −59 Externals/glslang/glslang/MachineIndependent/glslang.y
  82. +5,739 −3,358 Externals/glslang/glslang/MachineIndependent/glslang_tab.cpp
  83. +391 −271 Externals/glslang/glslang/MachineIndependent/glslang_tab.cpp.h
  84. +686 −84 Externals/glslang/glslang/MachineIndependent/intermOut.cpp
  85. +798 −0 Externals/glslang/glslang/MachineIndependent/iomapper.cpp
  86. +63 −0 Externals/glslang/glslang/MachineIndependent/iomapper.h
  87. +20 −20 Externals/glslang/glslang/MachineIndependent/limits.cpp
  88. +352 −116 Externals/glslang/glslang/MachineIndependent/linkValidate.cpp
  89. +408 −47 Externals/glslang/glslang/MachineIndependent/localintermediate.h
  90. +31 −37 Externals/glslang/glslang/MachineIndependent/parseConst.cpp
  91. +31 −18 Externals/glslang/glslang/MachineIndependent/parseVersions.h
  92. +356 −237 Externals/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp
  93. +59 −70 Externals/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp
  94. +25 −29 Externals/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp
  95. +195 −137 Externals/glslang/glslang/MachineIndependent/preprocessor/PpContext.h
  96. +0 −162 Externals/glslang/glslang/MachineIndependent/preprocessor/PpMemory.cpp
  97. +612 −194 Externals/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp
  98. +0 −135 Externals/glslang/glslang/MachineIndependent/preprocessor/PpSymbols.cpp
  99. +204 −144 Externals/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp
  100. +34 −26 Externals/glslang/glslang/MachineIndependent/preprocessor/PpTokens.h
  101. +8 −7 Externals/glslang/glslang/MachineIndependent/propagateNoContraction.cpp
  102. +2 −0 Externals/glslang/glslang/MachineIndependent/propagateNoContraction.h
  103. +190 −108 Externals/glslang/glslang/MachineIndependent/reflection.cpp
  104. +68 −25 Externals/glslang/glslang/MachineIndependent/reflection.h
  105. +5 −2 Externals/glslang/glslang/OSDependent/Unix/CMakeLists.txt
  106. +111 −97 Externals/glslang/glslang/OSDependent/Unix/ossource.cpp
  107. +6 −3 Externals/glslang/glslang/OSDependent/Windows/CMakeLists.txt
  108. +17 −17 Externals/glslang/glslang/OSDependent/Windows/main.cpp
  109. +50 −66 Externals/glslang/glslang/OSDependent/Windows/ossource.cpp
  110. +17 −20 Externals/glslang/glslang/OSDependent/osinclude.h
  111. +321 −97 Externals/glslang/glslang/Public/ShaderLang.h
  112. +54 −2 Externals/glslang/gtests/AST.FromFile.cpp
  113. +1 −1 Externals/glslang/gtests/BuiltInResource.FromFile.cpp
  114. +54 −35 Externals/glslang/gtests/CMakeLists.txt
  115. +4 −4 Externals/glslang/gtests/Config.FromFile.cpp
  116. +1,231 −0 Externals/glslang/gtests/HexFloat.cpp
  117. +315 −8 Externals/glslang/gtests/Hlsl.FromFile.cpp
  118. +1 −33 Externals/glslang/gtests/Initializer.h
  119. +114 −0 Externals/glslang/gtests/Link.FromFile.Vk.cpp
  120. +3 −2 Externals/glslang/gtests/Link.FromFile.cpp
  121. +1 −1 Externals/glslang/gtests/Pp.FromFile.cpp
  122. +118 −0 Externals/glslang/gtests/Remap.FromFile.cpp
  123. +11 −1 Externals/glslang/gtests/Settings.cpp
  124. +4 −0 Externals/glslang/gtests/Settings.h
  125. +260 −14 Externals/glslang/gtests/Spv.FromFile.cpp
  126. +31 −1 Externals/glslang/gtests/TestFixture.cpp
  127. +326 −19 Externals/glslang/gtests/TestFixture.h
  128. +18 −2 Externals/glslang/gtests/main.cpp
  129. +18 −3 Externals/glslang/hlsl/CMakeLists.txt
  130. +106 −0 Externals/glslang/hlsl/hlslAttributes.cpp
  131. +59 −0 Externals/glslang/hlsl/hlslAttributes.h
  132. +2,146 −508 Externals/glslang/hlsl/hlslGrammar.cpp
  133. +59 −33 Externals/glslang/hlsl/hlslGrammar.h
  134. +21 −19 Externals/glslang/hlsl/hlslOpMap.cpp
  135. +17 −17 Externals/glslang/hlsl/hlslOpMap.h
  136. +9,050 −3,218 Externals/glslang/hlsl/hlslParseHelper.cpp
  137. +371 −98 Externals/glslang/hlsl/hlslParseHelper.h
  138. +805 −352 Externals/glslang/hlsl/hlslParseables.cpp
  139. +18 −18 Externals/glslang/hlsl/hlslParseables.h
  140. +320 −65 Externals/glslang/hlsl/hlslScanContext.cpp
  141. +19 −19 Externals/glslang/hlsl/hlslScanContext.h
  142. +71 −27 Externals/glslang/hlsl/hlslTokenStream.cpp
  143. +35 −24 Externals/glslang/hlsl/hlslTokenStream.h
  144. +105 −19 Externals/glslang/hlsl/hlslTokens.h
  145. +18 −0 Externals/glslang/known_good.json
  146. +18 −0 Externals/glslang/known_good_khr.json
  147. +1 −5 Externals/glslang/make-revision
  148. +155 −0 Externals/glslang/update_glslang_sources.py
  149. +1 −1 Source/Core/VideoBackends/Vulkan/ShaderCompiler.cpp
@@ -7,7 +7,7 @@ version: "{build}"
os: Visual Studio 2013
platform:
- Any CPU
- x64
configuration:
- Debug
@@ -17,6 +17,13 @@ branches:
only:
- master
# 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:
@@ -25,6 +32,7 @@ matrix:
# scripts that run after cloning repository
install:
- git clone https://github.com/google/googletest.git External/googletest
- C:/Python27/python.exe update_glslang_sources.py
build:
parallel: true # enable MSBuild parallel builds
@@ -38,3 +46,45 @@ build_script:
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
include\glslang\*
include\SPIRV\*
lib\glslang%SUFFIX%.lib
lib\HLSL%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 2013
@@ -0,0 +1,17 @@
# test files have a mix of lf/crlf, and that's a good thing, for testing, don't mess with it
# bash scripts need lines ending with lf, and that's correct for Windows too, e.g., under Cygwin
# (scripts often don't have a suffix)
* -text
*.sh text eof=lf
# txt files should be native and normalized
*.txt text
# source code can be native and normalized, but simpler if lf everywhere; will try that way
*.h text eof=lf
*.c text eof=lf
*.cpp text eof=lf
*.y text eof=lf
*.out text eof=lf
*.conf text eof=lf
*.err text eof=lf
@@ -0,0 +1,10 @@
*.o
*.a
*.so
*.exe
tags
TAGS
build/
Test/localResults/
External/googletest
External/spirv-tools
@@ -7,12 +7,15 @@ os:
- osx
# Use Ubuntu 14.04 LTS (Trusty) as the Linux testing environment.
sudo: required
sudo: false
dist: trusty
env:
- GLSLANG_BUILD_TYPE=Release
- GLSLANG_BUILD_TYPE=Debug
global:
- secure: aGFrgzyKp+84hKrGkxVWg8cHV61uqrKEHT38gfSQK6+WS4GfLOyH83p7WnsEBb7AMhzU7LMNFdvOFr6+NaMpVnqRvc40CEG1Q+lNg9Pq9mhIZLowvDrfqTL9kQ+8Nbw5Q6/dg6CTvY7fvRfpfCEmKIUZBRkoKUuHeuM1uy3IupFcdNuL5bSYn3Beo+apSJginh9DI4BLDXFUgBzTRSLLyCX5g3cpaeGGOCr8quJlYx75W6HRck5g9SZuLtUoH9GFEV3l+ZEWB8noErW+J56L03bwNwFuuAh321evw++oQk5KFa8rlDvar3SJ3b1RHB8u/eq5DBYMyaK/fS8+Q7QbGr8diF/wDe68bKO7U9IhpNfExXmczCpExjHomW5TQv4rYdGhygPMfW97aIsPRYyNKcl4fkmb7NDrM8w0Jscdq2g5c2Kz0ItyZoBri/NXLwFQQjaVCs7Pf97TjuMA7mK0GJmDTRzi6SrDYlWMt5BQL3y0CCojyfLIRcTh0CQjQI29s97bLfQrYAxt9GNNFR+HTXRLLrkaAlJkPGEPwUywlSfEThnvHLesNxYqemolAYpQT4ithoL4GehGIHmaxsW295aKVhuRf8K9eBODNqrfblvM42UHhjntT+92ZnQ/Gkq80GqaMxnxi4PO5FyPIxt0r981b54YBkWi8YA4P7w5pNI=
matrix:
- GLSLANG_BUILD_TYPE=Release
- GLSLANG_BUILD_TYPE=Debug
compiler:
- clang
@@ -24,6 +27,9 @@ matrix:
# Skip GCC builds on Mac OS X.
- os: osx
compiler: gcc
include:
# Additional build using Android NDK.
- env: BUILD_NDK=ON
cache:
apt: true
@@ -36,25 +42,82 @@ addons:
apt:
packages:
- clang-3.6
- ninja-build
install:
# Install ninja on Mac OS X.
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install ninja; fi
# Make sure that clang-3.6 is selected.
# Make sure that clang-3.6 is selected on Linux.
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CC" == "clang" ]]; then
export CC=clang-3.6 CXX=clang++-3.6;
fi
# Download Android NDK and Android CMake toolchain file.
- if [[ "$BUILD_NDK" == "ON" ]]; then
git clone --depth=1 https://github.com/urho3d/android-ndk.git $HOME/android-ndk;
export ANDROID_NDK=$HOME/android-ndk;
git clone --depth=1 https://github.com/taka-no-me/android-cmake.git $HOME/android-cmake;
export TOOLCHAIN_PATH=$HOME/android-cmake/android.toolchain.cmake;
fi
before_script:
- git clone https://github.com/google/googletest.git External/googletest
- git clone --depth=1 https://github.com/google/googletest.git External/googletest
- ./update_glslang_sources.py
script:
- mkdir build && cd build
# We need to install the compiled binaries so the paths in the runtests script can resolve correctly.
- cmake -GNinja -DCMAKE_BUILD_TYPE=${GLSLANG_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
- ninja install
# Run Google-Test-based tests.
- ctest --output-on-failure
# Run runtests-based tests.
- cd ../Test && ./runtests
# For Android, do release building using NDK without testing.
# For Linux and macOS, do debug/release building with testing.
- if [[ "$BUILD_NDK" == "ON" ]]; then
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_PATH}
-DANDROID_NATIVE_API_LEVEL=android-12
-DCMAKE_BUILD_TYPE=Release
-DANDROID_ABI="armeabi-v7a with NEON"
-DBUILD_TESTING=OFF ..;
make -j4;
else
cmake -DCMAKE_BUILD_TYPE=${GLSLANG_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=`pwd`/install ..;
make -j4 install;
ctest --output-on-failure &&
cd ../Test && ./runtests;
fi
after_success:
# For debug build, the generated dll has a postfix "d" in its name.
- if [[ "${GLSLANG_BUILD_TYPE}" == "Debug" ]]; then
export SUFFIX="d";
else
export SUFFIX="";
fi
# Create tarball for deployment
- if [[ ${CC} == clang* && "${BUILD_NDK}" != "ON" ]]; then
cd ../build/install;
export TARBALL=glslang-master-${TRAVIS_OS_NAME}-${GLSLANG_BUILD_TYPE}.zip;
zip ${TARBALL}
bin/glslangValidator
include/glslang/*
include/SPIRV/*
lib/libglslang${SUFFIX}.a
lib/libHLSL${SUFFIX}.a
lib/libOGLCompiler${SUFFIX}.a
lib/libOSDependent${SUFFIX}.a
lib/libSPIRV${SUFFIX}.a
lib/libSPVRemapper${SUFFIX}.a
lib/libSPIRV-Tools${SUFFIX}.a
lib/libSPIRV-Tools-opt${SUFFIX}.a;
fi
before_deploy:
# Tag the current top of the tree as "master-tot".
# Travis CI replies on the tag name to properly push to GitHub Releases.
- git config --global user.name "Travis CI"
- git config --global user.email "builds@travis-ci.org"
- git tag -f master-tot
- git push -q -f https://${glslangtoken}@github.com/KhronosGroup/glslang --tags
deploy:
provider: releases
api_key: ${glslangtoken}
on:
branch: master
condition: ${CC} == clang* && ${BUILD_NDK} != ON
file: ${TARBALL}
skip_cleanup: true
overwrite: true
@@ -1,24 +1,25 @@
set(SRCS
glslang/GenericCodeGen/CodeGen.cpp
glslang/GenericCodeGen/Link.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/preprocessor/Pp.cpp
glslang/MachineIndependent/preprocessor/PpAtom.cpp
glslang/MachineIndependent/preprocessor/PpContext.cpp
glslang/MachineIndependent/preprocessor/PpMemory.cpp
glslang/MachineIndependent/preprocessor/PpScanner.cpp
glslang/MachineIndependent/preprocessor/PpSymbols.cpp
glslang/MachineIndependent/preprocessor/PpTokens.cpp
glslang/MachineIndependent/propagateNoContraction.cpp
glslang/MachineIndependent/reflection.cpp
@@ -27,13 +28,6 @@ set(SRCS
glslang/MachineIndependent/ShaderLang.cpp
glslang/MachineIndependent/SymbolTable.cpp
glslang/MachineIndependent/Versions.cpp
hlsl/hlslGrammar.cpp
hlsl/hlslOpMap.cpp
hlsl/hlslParseables.cpp
hlsl/hlslParseHelper.cpp
hlsl/hlslScanContext.cpp
hlsl/hlslTokenStream.cpp
OGLCompilersDLL/InitializeDll.cpp
SPIRV/disassemble.cpp
SPIRV/doc.cpp
Oops, something went wrong.

0 comments on commit bc96557

Please sign in to comment.