tree f8b08e3232b927e950b9403c7822e6b3b1a48c9e
parent 01c3b1a21e9642a61aa1f6a6a80a4f26b7a964e8
parent a84571caead1f963701fd6ff859a32c4b2d5a702
author David Neto <dneto@google.com> 1538071085 -0400
committer David Neto <dneto@google.com> 1538071123 -0400

Merge remote-tracking branch 'aosp/upstream-master' into update-shaderc

Includes:
a84571c Add support for missing CallableNV shader stage
e2ddeea [ci] Remove Travis and Appveyor CI
dd41537 Set the CMake C++ standard to C++11
38fbaed Specify NV_EXTENSIONS for Android build
0165db5 Add BUILD.gn rules
9340ae5 Re-order glslc help (almost) alphabetically and add -O, -Os, -O0
5cd480f Add new Glslang files to Android.mk
a8dcbfa [appveyor] Use the correct filename for shared library
10aee4a [appveyor] Disable testing on VS2013
3104e38 [travis] Update Android NDK toolchain
8973958 [kokoro] Skip building SPIRV-tools tests on VS 2013
e7a6a26 [kokoro] Checkout effcee and re2 repos
7aef860 Update CHANGES.  (E.g. Added NV Turing extensions)
b430877 Add-support-for-SPV_NVX_raytracing
e8ffa06 Add-support-for-SPV_NV_mesh_shader
30af9f9 Add virtual dtor to classes with virtual functions
a2c044c [kokoro] Update Windows bots. (#468)
f7efa14 Update to Glslang generator version 7
be8e087 Travis: download and install pip
4f36a64 Force binary mode when writing a binary to stdout
87a8420 Adjust configuration to link SPIRV-Tools into Glslang
5fd1b25 Support -fhlsl_functionality1
8dec681 Also install shaderc_shared.dll on windows.
2a0f3a3 Use standard SPIRV-Tools transformation recipes
583fb13 Locate clang for Linux buildbots. (#446)
c993158 Support setting target environment version, e.g. Vulkan 1.1
45e1621 Re-enable the Windows continuous Debug builds. (#444)
fc15f0a Add build result badges to README. (#439)
371d6ef Glslang generator version 6
0d23433 Glslang generator version 5
b6d4dcb Update glslc README for -fauto-map-locations
cce7bbc Add glslc tests for -fauto-map-locations
13c6d97 Fix setting of debug DLL name for AppVeyor
461cc14 Adding kokoro build configurations. (#429)
e55a246 AppVeyor packaging: debug DLL name no longer has extra "d"
dbb0f14 Start v2018.0-dev
7a23a01 Finalize v2017.2
10530a0 copyright check: Skip auto-generated CMakeFiles
1628033 Update CHANGES for -fauto-map-locations
afb2658 Glslang now requires bindings on resources
d1f763c Add -fauto-map-locations option
563bc6e Add a virtual destructor, otherwise Clang 6.0complains about delete being called on an abstract class.
c7b5df4 Skip Debug builds for VS 2013 and VS 2015
66aac8c Glslang updated its generator version number to 4
5d4b3f4 Android.mk: add glslang/MachineIndependent/attribute.cpp
773ec22 Make tests resilient to better SPIR-V optimizations
22aee5d Travis CI: install pip and set clone depth to 1
ad86c6c Adapt to Glslang codegen version update
98ab88b glslc tests: Relax version word check
c607253 Avoid -fPIC for MinGW builds
1927f30 Allow override of SPVTOOLS_LOCAL_PATH
bcadbc1 Move spirv-tools build from third_party/Android.mk
3fde660 Update CHANGES
c815335 Adapt to Glslang generator version number change
259ca18 Travis CI: use make to build
16f8253 Add HLSL legalization passes to compiler.cc
e089609 Add SPIRV-Tools optimizer files for linker
84c9dd9 Added more opt passes to PassId enum
b58a21a Fix typos in README.md
5c4fd69 Allow SPIRV-Headers to be checked out at third_party/
c677f26 Include SPIRV-Tools before glslang
8aa64c6 Appveyor: stop downloading pip
c8ba3e4 Check _WIN32 instead of WIN32 for building shared library
00c9fe4 Appveyor: Stop deploying to BinTray
97e0e13 Appveyor: deploy to BinTray instead of GitHub Release page
0b99bfa Serialize inclusions by the CountingIncluder
4cdf49e Fix the build by changing deploy repo
6db3870 Deploy Appveyor build artifacts to GitHub Releases
7ad5b69 SPIRV-Tools added source/validate_bitwise.cpp
4138101 SPIRV-Tools added source/opt/eliminate_dead_functions_pass.cpp
61eb9ff Android: Fix generation of 1.2 grammar tables
c77e1e9 SPIRV-Tools added source/validate_logicals.cpp
eadd549 SPIRV-Tools added source/opt/strength_reduction_pass.cpp
c56b7dc Add shared library variant for libshaderc
777c9ff SPIRV-Tools added validate_arithmetics.cpp
12fb656 Don't build HTML docs by default
1803679 SPIRV-Tools added source/opt/inline_opaque_pass.cpp
280b66d SPIRV-Tools: Add source/opt/pass.cpp
c276932 Android.mk: Add source/id_descriptor.cpp to SPIRV-Tools
7d7725f Add SPIRV-Tools opt/inline_exhaustive_pass.cpp
ab73cf3 Add SPIRV-Tools source/opt/common_uniform_elim_pass.cpp
274d102 Support GLSL 4.6 and ESSL 3.2
9752555 Add source/opt/mem_pass.cpp to SPRIV-Tools
d10af57 Add Appveyor configs for VS 2015, VS 2017
aa8f376 Adapt to Glslang error changes
fb33022 Add recent SPIRV-Tools source file additions
41ce8e6 Fix Glslang Android build
f382c71 Update CHANGES to mention use of GNUInstallDirs
e27569f Introduce new option to skip installation
cd5199f Glslang requires -DENABLE_HLSL
7bd63fb Add block_merge_pass.cpp to SPIRV-Tools
ef03acd Increase default maxDrawBuffers
2f68ce7 Add SPIRV-Tools file source/opt/insert_extract_elim.cpp
c4b491b SPIRV-Tools added source/opt/local_single_store_elim_pass.cpp
62fd200 Avoid unnecessary lambda capture
8f79dd1 Reorganize options in glslc README
63d0f82 Add -fresource-set-binding
bf60221 Add option to set HLSL register descriptor set and binding
44dff89 Add -fhlsl-offsets
6194f07 Render table of contents for glslc manual
aede4fe Fix Glslang test dir path for MSVC build
760c3f5 React to new SPIRV-Tools source files
0dd731a React to removed Glslang .cpp files
1adfc98 Update tests for Glslang global warning changes
6ff1564 Add layout(location = 0) where needed in tests.
b1228ba Adjust copying of Glslang test files, for include test
558dede Shorten arg checking for -f*-binding-base
7df8217 Reject negative numbers when parsing unsigned.
63313f9 Add -fuav-binding-base
cdcc015 Support setting SSBO binding base
357d24b Add glslc options to set binding base for uniforms
735a541 Add shaderc_compile_options_set_binding_base_for_stage
c1729a4 Add libshaderc_util::Compiler::SetAutoBindingBaseForStage
2c7db7c Add shaderc_util::Compiler::Stage
da4f9b0 Add generic names for shader stages
a290067 Add glslc options to set binding base numbers
d8eb937 Add C, C++ API to set binding base for uniforms
b54a418 Add libshaderc_util::SetAutoBindingBase
b7b4892 Add -flimit-file to glslc doc summary
a532710 Document some recent changes, e.g. HLSL offsets
7261ab8 Fix Travis-CI so ctest emits output on failure
3c85d26 Make git ignore android_test/libs
580d540 Support SPIR-V 1.2 in SPIRV-Tools Android build
dcb3036 Avoid mem leaks in counting includer test
44823cb Add util/bit_stream.cpp in Android.mk for SPIRV-Tools
a571eef Trim Appveyor notification list
659b796 Fix test to update glslang
9b3dbd1 Avoid noexcept-type in GCC 7.1 for test code
21e2016 Added compact_ids_pass.cpp to Android.mk
380e143 React to Glslang #version error message for HLSL
ed5e93e Update tests for different Glslang error message
3966711 SPIRV-Tools added flatten decorations pass
6509a8b Update tests for Glslang message changes
32b0c71 Add SPIRV-Tools source file for its MR534
71b9b3b Support non-standard vendor extended instructions
c698442 Add pervasive dependency to extension_enum.inc
97ab4d1 SPIRV-Tools added source/validate_capability.cpp
9a08e4a Added extension enum, mapping autogen to android
fef405c Add util/string_utils.cpp to SPIRV-Tools
9faaa69 Fix include error message when no options object
e29176b Start v2017.2-dev
1b4359c Finalize v2017.1
b541cc5 Update CHANGES with all recent key items
6d49dcf Mention Rust binding in README
7da4872 Describe the known-good branch
864d819 SPIRV-Tools added source/extensions.cpp
5432099 Clarify that bindings are maintained by others
0609612 Add Bindings section in Readme
1a149f6 Fix shaderc_compile_to_spv examples in shaderc.h
cb4f0f6 Describe includer error convention in the struct.
48b5f88 Add comment to explain how to return an error in callback
9c3a4ee Use OpenCL extended instruction set from SPIRV-Headers
5c6247c Add validate_type_unique.cpp to SPIRV-Tools
b4f0c10 Add spirv_validator_options.cpp to SPIRV-Tools
83afd96 Update CHANGES to say NVIDIA extensions enabled
f6d5124 Enable NV_EXTENSIONS for Android build of glslang
849ae99 Install shaderc header files.
7ae44a1 Add -fauto-bind-uniforms to glslc
ea687fd Add C, C++ API option to auto bind uniforms
fc60017 Add libshader_util::Compiler::SetAutoBindUniforms
26c29e4 Test compiler option to auto bind uniforms
6ec47b0 Fix installation of libshaderc_combined.a on Windows.
0de1e58 Add CMake configuration to install shaderc libraries.
4fa3150 SPIRV-Tools added source/validate_decorations.cpp
9f7547d Allow build time to be overidden.
38777c7 Update Travis CI configuration.
dd79e70 Adapt to Glslang Includer interface changes.
0675ac7 Updated CMake configuration for Android Studio. (#296)
607daae Allow trailing whitespace in version lines in CHANGES
c5cfcc5 Adapt to Glslang include message changes
419214b Don't write an output file if compilation fails
138757e shaderc_util::GetOutputStream sends errors to a given stream
54fa1d7 Set the tool to Google Shaderc over Glslang
30e5bc0 Start v2016.3-dev
2fb6a3a Finalize v2016.2
e3f0d2e Add -Werror to Android build
4ff1d25 Add rule for creating SPIRV-Tools generators.inc file
01921d4 Updated maxDrawBuffers to be consistent with Vulkan/GLES3.0 (#283)

Change-Id: Ib5ffc53fb129e8880350bae3fa7a98bf729e89da
Testing: checkbuild.py on Linux; unit tests on Windows
