tree 56ac4aa535734d401671f42b87926470e94cc9af
parent 2a7bb558a86e95ea34fe537c5b8b22cd04101e82
parent 91ac4290bcf2cb930b4fb0981f09c00c0b6797e1
author David Neto <dneto@google.com> 1538070938 -0400
committer David Neto <dneto@google.com> 1538071012 -0400

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

Includes:
91ac4290 Merge pull request #1510 from Kangz/complete_lib
873734dd BUILD.gn: make the static_lib complete to fix the build on OSX
5ff3c3da Interfaces: Remove NV_EXTENSIONS from two more headers.
01c4076a Merge pull request #1508 from jeffbolznv/remove_ifdefs_shaderlang
27f5db05 Remove NV_EXTENSION ifdefs from ShaderLang.h
1f60c72c Interface: remove NV_EXTENSIONS from the resources header.
a4752945 Merge pull request #1506 from alelenv/master
18268c85 Merge pull request #1505 from dj2/gn_build
aac6d637 Use unsigned int instead of uint32_t
a535bc13 Fix missing case label for miss stage.
b29c58ea Review feedback
257b25c8 Add BUILD.gn configuration.
a8453d4b SPIRV-Tools: Move to more recent (higher quality) version.
088da332 Bump revision.
dc591081 Merge pull request #1500 from KhronosGroup/turing-known-good
aedccf96 Update known-good to tools/headers for the Nvidia Turing extensions.
8751c13c Bump minor version.
5942c015 Merge pull request #1499 from chaoc/nvidia_turing
fb13a3ab update glslang test results for temporary validation fail
5b2203db Add-support-for-SPV_NV_shading_rate
b50c02ef Add-support-for-SPV_NVX_raytracing
3c366990 Add-support-for-SPV_NV_mesh_shader
3a137966 0003-Add-support-for-SPV_NV_shader_image_footprint
beae2251 Add-support-for-SPV_NV_compute_shader_derivatives
9eada4b9 Add-support-for-SPV_NV_fragment_shader_barycentric
6dd4757f Update to latest spirv.hpp header (which fixed a typo).
7105cb30 SPV: Move to latest SPIR-V header (latest NV extensions support).
d122a728 Build: Fix some warnings.
b4a598ba Bump revision.
92fab623 Merge pull request #1492 from NorbertGarnysAMD/shader_atomic_int64
dad0c1be Add GL_EXT_shader_atomic_int64
f658c303 Merge pull request #1491 from DennisOSRM/patch-1
fc89f065 Fix compiler warning emitted from GCC8
6def4375 Bump revision.
afe0c66f SPV: Fix #1487: Only declare AMD int16/half_float extensions when needed.
546b7885 Printing preprocessed shaders (not a supported path): Fix #1490: strings
1ca0f8e8 Bump version and revision.
ddfb4a80 Merge branch 'jeffbolznv-memory_scope_semantics'
36831c9b GL_KHR_memory_scope_semantics
97068d8b Merge pull request #1465 from otakuto/remove-execute-permissions
1d12970a Merge pull request #1485 from karl-lunarg/karl-lunarg-patch-1
12b99ef1 Merge pull request #1486 from mrtrizer/patch-1
949344f0 Update SpvTools.cpp
ac2e1b63 bump revision
4e11b615 SPV: Turn off the default validation done by the SPIRV-Tools optimizer.
a4dfede4 Merge pull request #1482 from KhronosGroup/validate
d5aabf34 GLSL: Remove use of __ in the implementation of keywords having __.
381dd3c0 GLSL: Remove use of __ in the implementation of keywords having __.
0cb8ad55 tooling: Fix update sources script for Python 3
c340425b SPV: Add option for controling when the SPIRV-Tools validator is used.
717c80a9 SPV: Isolate SPIRV-tools glue to its own file.
cc14f2d3 SPV: Add SPIRV-Tools validator. This needs the latest SPIR-Tools.
e7df8e0b Non-functional: Rationalize some existing use of SPIRV-Tools.
1323bf8e Merge pull request #1480 from dneto0/stringify
9fd2a8cd Use our own SPIRV-Tools message stringifier
93dbbdee Merge pull request #1474 from KhronosGroup/pure-8-16-bit-capability
09d7672d Merge pull request #1476 from greg-lunarg/kg24
1676e73d Update SPIRV-Tools known good.
31aa3d60 SPV: only declare the pure 8/16-bit capabilities when needed.
149afc39 SPV: More corrections of <id> versus "immediate" operands.
228e964b SPV: Correct SPIR-V operands for <id> versus immediate.
72f8c690 Bump version patch level.
251901ac Fix #1471: Merge shift amounts for different sets: --stb ... --std ...
ade8bbbf Fix #1393: rationalize usage, in the spirit of #1393.
ec5c1193 Bump revision.
640bd096 Fix #1468: Add command-line --entry-point support, same as existing -e.
56a75975 Fix #1469: Make it easier to copy/paste build instructions.
c4510e5e Merge pull request #1466 from Kangz/warning_fixes
242c28f2 Merge pull request #1470 from antiagainst/patch-2
fb4165b5 Appveyor CI: build artifacts for x64
e7061422 Fix -Wignored-qualifier and -Wunused-variable warnings
dae0b0a5 Add shebang
d03da06a Remove execute permissions
e0bc65b2 Merge pull request #1460 from KhronosGroup/postprocess
f04c51b3 Non-Functional: Add postprocess as more robust way to add capabilities
29619b23 Merge pull request #1459 from dgkoch/dgkoch_build_fixes4
883607d5 Fix build warnings/errors:
e99a2681 Merge pull request #1457 from KhronosGroup/parse-floats
7cdc24c0 PP: Address #1456: Strip float suffixes before using platform library.
994d4bf3 Tests: Add more string -> float tests. Related to #1456.
561a43d2 PP: floating-point parsing: more stable handling of istringstream::fail
13803b18 Bump revision.
6e382f63 Merge pull request #1455 from TiemoJung/nullpointer_crash_fix
e161cc11 GLSL: No more restrictions on (non)shadow sampler construction.
9f8cb850 Fixes a crash when in/out varying variable had no semantic name and an error was reported in ioremapper phase when the variable was rejected
62faea79 Merge pull request #1451 from KhronosGroup/shadow-forces-depth
11da9eed HLSL: Fix #1445: distance() works on scalars.
56b33196 Merge pull request #1453 from greg-lunarg/kg22
7d4c9a07 GLSL: Construct shadow texture from non-shadow sampler.
0339af3c GLSL/SPV: If a texture is used with a shadow sampler, force 'shadow'.
3f05bedd Update spirv-tools known good
fa4952c3 Merge branch 'zeux-master'
5a7321eb Merge branch 'master' of https://github.com/zeux/glslang into zeux-master
81793ad2 Merge pull request #1450 from KhronosGroup/link-merge-all
b617e14a Link: Merge all the settings in TIntermediate.
5d6b5679 Merge pull request #1436 from karl-lunarg/karl-ccache
8103cb95 Merge pull request #1446 from KhronosGroup/spv-link
ebd989dd Merge pull request #1437 from mattparks/patch-2
34e56891 Merge branch 'jeffbolznv-missing_descriptor_indexing_extension'
4137241a Merge branch 'missing_descriptor_indexing_extension' of https://github.com/jeffbolznv/glslang into jeffbolznv-missing_descriptor_indexing_extension
41436ad2 Link/SPV: Correct symbol IDs on merging ASTs to a single coherent space
806af25f Merge pull request #1442 from dneto0/use-forked-android-ndk-repo
c140b968 Add missing OpExtension SPV_EXT_descriptor_indexing for dynamic indexing capabilities
e7f9caea Errors and Build: Fix build warnings, which also improved error messages.
4aeca2df NDK build: Use NDK r17b and its own CMake toolchain file
b75c7065 Travis CI: Fix comments disabling code.
e5b27660 Merge pull request #1440 from dneto0/later-android
3541d8a5 Travis-CI: Use Android NDK r13b specifically
8dafeab4 Merge pull request #1438 from Think-Silicon/getUniformStages
0ea33a26 Non-functional: Retrigger bots; the previous failure looks suspicious.
cf6bd066 HLSL: Fix #1432: Globally initialize local static variables.
f556e5da Reflection exposes the Shader Stages where a Uniform is present
f9c2aeb7 Allowed debug postfix to be changed.
857f25cf Added the cmake option to disable building SPVRemapper.
64315a8a Merge pull request #1434 from antiagainst/fix-spirv-tools-header
23770b9a build: Add ccache option to CMake config
112e2858 SPIRV: Simplify matrix->matrix constructor
a2c39a29 Use public SPIRV-Tools header
cd57b4ba Merge pull request #1431 from KhronosGroup/implement-8-16-bit-storage
312dcfb0 Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.
eefab240 Bump revision.
dccfeedf HLSL: Fix #1423: implement CalculateLevelOfDetailUnclamped().
ab8960fd Merge pull request #1416 from aejsmith/samplerless-texture-functions
513cc4cf Merge branch 'HaydnTrigg-patch-1'
c88edb13 Merge branch 'patch-1' of https://github.com/HaydnTrigg/glslang into HaydnTrigg-patch-1
5e701954 Merge pull request #1420 from KhronosGroup/spir-dis
e2156222 SPV: Add option to print disassembly in standard form using SPIRV-Tools.
6d61684f Bump revision.
802c62bc PP: Rationalize return values of MacroExpand.
9cc81de0 PP/HLSL: Fix #1424: support comma in nested curly braces for macro arg
e47bfaed Add support for GL_EXT_samplerless_texture_functions
e826286f Constant.cpp Floating point divide by zero
0b964b3c Merge pull request #1419 from tgjones/spirv-remap-artifact
9177e05f Include spirv-remap.exe in AppVeyor artifacts
ef1f899b Merge pull request #1413 from karl-lunarg/fix-update
fa403b96 script: Improve update sources script
16cf5a5d Merge pull request #1411 from KhronosGroup/fix-literal-warnings
866f6714 Build: Make literal casting have fewer warnings and be more consistent.
5fe506a8 Merge pull request #1409 from greg-lunarg/remap3
c6831d1e Add support for OpConstantNull and OpConstantSampler to spirv-remap
c99304c5 Bump revision.
2a805d9c Revert "GLSL: Fix #1279: refract does not have a double-type eta."
bea08fe0 Merge pull request #1405 from Igalia/nroberts/amb-arrays
1d024b53 Take into account arrays of opaque types when reserving bindings
2c8265bb GLSL: Fix #1358: Support "struct name", where name could be a user type
1ea8f595 Merge pull request #1402 from greg-lunarg/kg21
ff50b9fb Update spirv-tools known-good
7dc1a989 Merge pull request #1401 from dneto0/bad-e11
617d1b12 Relax a stringToDouble test for, OSX AppleClang 9.1
ba018e67 SPV: Fix #1399 emit ImageGatherExtended when using ConstOffsets operand
ad7645f4 Fix #1360: uint->int width conversions must still be typed as uint.
14b85d3f Fix #1395: GLSL volatile maps to SPIR-V Volatile and Coherent.
d6c97557 Change the major revision number for next commit.
a7eb582a Bump revision.
9c3fde7f Merge pull request #1397 from LoopDawg/warning-fix-4
470a68cf Fix several signed/unsigned comparison compile warnings.
32d3ec31 Merge pull request #1394 from greg-lunarg/kg20
b0c42b28 Update spirv-tools known-good.
4f888534 Fix #1391: Remove use of nonportable strnlen().
b91189db Merge pull request #876 from ligfx/cmaketargetincludedirectories
a895f378 CMake: use target_include_directories to expose includes
92d05c0c Merge pull request #1386 from zeux/master
369dc87a Merge pull request #1387 from jeffbolznv/disassembly_explicit_types
fa34a9ad Merge pull request #1385 from KhronosGroup/fix-strtod
3e8e9f7b PP: Implement locale-independent strtod, using istringstream and a fast path.
af7a9487 Add bit width of types to disassembleInstruction
6c52f896 PP: Remove second parsing of numbers recorded in macros; save/use original.
1ea1b13f Testing: Add new tests, and new ways of testing, for floating-point.
8e4b496d Merge pull request #1388 from greg-lunarg/kg19
d2b55801 Update spirv-tools known-good
b239d22f Fix TextureUpgradeAndSamplerRemovalTransform when used with qualifiers
c6d25539 Merge pull request #1384 from LoopDawg/self-cast
c5991671 HLSL: allow self-type cast (as no-op passthrough)
2aaef122 Bump revision.
ebec9094 GLSL: Fix #1279: refract does not have a double-type eta.
a0044f4f Merge pull request #1381 from LoopDawg/coverage_array
98e1d7f6 Merge pull request #1383 from amdrexu/bugfix
b4a2a6cf Fix issue #1376: SPV_AMD_gpu_shader_half_float is not emitted under vulkan1.1
4e6d3eaf HLSL: require coverage mask to be arrayed output.
cfb05ec7 Merge pull request #1379 from LoopDawg/groupid-fix
91a8178e HLSL: various SPIR-V compute shader IDs must be a 3-vector of integers.
90de7a74 Merge pull request #1378 from LoopDawg/append-decl-order
1326b8c7 HLSL: Allow stream output Append() method after entry point.
1831087e SPV: Fix #1374: For an SSBO 16-bit access, only emit StorageUniformBufferBlock16 capability.
2fb966aa Merge pull request #1375 from Igalia/nroberts/aml-arrayio
ecbd056b Tests: Fix #1372: Don't legalize runtests HLSL tests.
22b71f9a Skip outermost array when assigning locations to auto-array interfaces
fd9d9ef4 Bump version.
d2e9829a Merge pull request #1370 from KhronosGroup/fix-param-types
115c3b14 Merge pull request #1369 from greg-lunarg/kg18
d3ed90be Fix #944: Convert argument type to match formal parameter type.
517eabb4 Update spirv-opt known-good
25bef930 Merge pull request #1363 from mattparks/patch4
115cf8ea Merge pull request #1368 from danginsburg/issue_1367
fb6924d2 Fix issue #1367 - change the I/O remapper to ignore push constants so it does not apply a binding/descriptor set to them.
9cf275bb Build: Add missing break statements. Fixes #1052.
1199cf92 Fixed install for SPIRV, glslang, and hlsl when building shared libs
e375dad6 Merge pull request #1364 from greg-lunarg/kg17
6b5d52a6 Update known-good.
46e07313 GLSL/Vulkan: Warn about arrays of arrays of resources that need bindings.
b4cb70fc GLSL: Fix #1359: don't allow unsized arrays as initializers.
d8462c6f validate script: fix path
c325f436 GLSL: Fix #1300: Can redeclare without size a sized built-in block array.
3beac945 Infrastructure: If using .hlsl suffix, default is -D.
4c574708 Bump revision.
2ead40ff Tests: Add usage and tests for previous commit.
fccbb8b4 Merge branch 'nicebyte-glsl-ext'
62f84fd5 Merge branch 'glsl-ext' of https://github.com/nicebyte/glslang into nicebyte-glsl-ext
3bb4c48c Bump revision.
16b80f78 Merge pull request #1345 from amdrexu/bugfix
7c88aff1 Specify SPV_AMD_gpu_shader_int16 extension string when frexp() takes 16-bit exp operand
6cf7645c Bump revision.
c034c5a8 HLSL/SPV: Declare DepthReplacing for shaders declaring SV_Depth* outputs.
24eae066 Merge pull request #1348 from greg-lunarg/kg16
d91e0360 Merge pull request #1351 from danginsburg/issue_1350
5a69b675 Update gold results
33ddaaaf Make FindLanguage use the entire name if parseStageName is false
ef203bfa Fix build error
3350741e Make glslang validator support files ending in .glsl
95c87b65 Fix issue #1350 - set the node type to match the atomic TIntermAggregate node type so that AtomicSMin/Max is not generated with a result type of void.
0f8d43e5 GLSL/Vulkan: Enforce no location aliasing in vertex inputs.
c51bff8d Update spirv-opt known good
5d3babdb Build: Fix #1347: Compile with NV_EXTENSIONS disabled.
b9e9e57f Merge pull request #1326 from mattparks/patch1
461ea099 Non-functional: Fix tabs.
e891afac GLSL: Fix #1330: default outputs for GL_NV_geometry_shader_passthrough
9de57c81 Bump revision.
5cd155f0 Merge pull request #1343 from KhronosGroup/uint-counter-bufs
c3a370db Merge pull request #1341 from St0fF-NPL-ToM/master
6ae18707 HLSL: Fix #1332: consistently use uint for counter buf typing.
1aaa3567 Revert "add ability to record accessed and declared "named defines""
619dc896 Merge pull request #1338 from cgmb/minor-shaderlang-fixups
1dcd1623 GLSL/SPV: no location on atomic_uint; Fix #1339.
39bbad5a Minor cleanup in ShaderLang.cpp
a1184ddd fix further MSVC 2012 build issues
e7350423 add ability to record accessed and declared "named defines"
77d04598 fix VS2012 compile issues
b92ce60f GLSL/SPV: Fix #1310: don't create unnecessary integer matrices.
88a6a181 README: Expand on the C++11 compiler requirement for MSVS.
11b5c311 Update revision.
5d8d7882 Fix #1328: ENABLE_HLSL=OFF breaking build.
f52b6381 Fix #1331: Emit SPV_GOOGLE_hlsl_functionality1 for counters.
7f0bcfd8 Fix #1333: Protect against -g for non-generating code.
a89f8cf7 Merge branch 'nonuniform-dynindex'
4597fea8 Update revision.
6a8a678c Revision/Version update.
5611c6d2 GLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier
0b5e5da7 Update revision.
6a4a427e GLSL: Implement correct semantic checking for run-time sized arrays.
5a867aca Linker: Fix #1329: correctly merge unsized arrays, and fix link tests.
ed834895 Merge pull request #1327 from mattparks/patch2
21993569 Added getter for uniform block bindings
6c5f649a Allowed for LIB_TYPE to be set to switch between static and shared libs for glslang, SPIRV, and HLSL
fbdba369 Merge pull request #1325 from KhronosGroup/simplify-doc
10971553 Non-Functional: Remove unused parts of the disassembler.
d688796a Merge pull request #1322 from jeffbolznv/master
2abe9a4d Implement GL_NV_shader_subgroup_partitioned
6b1ede41 Merge pull request #1320 from greg-lunarg/addopt21
fb03a55e Only print legalization warning if optimizer disabled
7be36647 Merge pull request #1319 from KhronosGroup/array-rationalization
f9a05f96 Merge pull request #1316 from greg-lunarg/addopt18
c408b430 Merge pull request #1318 from amdrexu/feature
ead86224 Non-functional. Rationalizations enabling future generalizations:
2316924b Non-Functional: Remove merge-replicated code and fix white space.
ae06d1fe Add int16 support to AMD_trinary_minmax and AMD_shader_ballot
4bede9eb Disable DCE by Remapper through glslangValidator...
643e57cd Merge pull request #1313 from greg-lunarg/kg15
26ad99b5 Merge pull request #1312 from KhronosGroup/fix-mixed-array-styles
0b46c1ed Merge branch 'master' into kg15
eecb874c Update SPIRV-Tools known good.
859b0342 Types: Fix #1290: Rationalize and correct "mixed" style array dimensioning.
1c3ab274 Test Results Only: Include size in implicitly sized arrays (change to unsized).
7cec64fc Non functional: add EshTargetClientVersion alias for EShTargetClientVersion.
97e35420 Non-functional: always return value from makeFpConstant().
569dd84a Merge pull request #1306 from Igalia/uniform-aml-v2
1b1ad97d Merge pull request #1305 from amdrexu/bugfix
2d539049 Take into account the number of locations taken up by a uniform
1fe4a447 Add locations to opaque types for OpenGL
b126550b Add additional error check for fragment shader outputs
95b1334a Bump patch version.
ca4366cf Merge pull request #1302 from KhronosGroup/cpp-relax-skiptokens-errors
e7e081bd PP: don't give errors on some tokens under #if 0 (or similar).
56e80565 Merge pull request #1282 from KhronosGroup/hlslFunctionality1
5d610ee1 Implement SPV_GOOGLE_hlsl_functionality1.
cd23a475 Merge pull request #1291 from ben-clayton/add-nv-nopersp
0af69da1 Bump patch version.
fb1e40b4 Merge pull request #1299 from KhronosGroup/fix-conversions
f6480833 Add tests for GL_NV_shader_noperspective_interpolation
cb32c544 Merge pull request #1289 from Igalia/igalia/dmat-scalar-division
647fccaf AST: Fix shift conversions, which don't require matching types.
6e899be5 Non-functional: Rationalize operators handled by the split addConversion() functions.
137a24df AST: Remove convertToBasicType() which was obfuscating the conversion design.
075c8c11 Merge pull request #1294 from dgkoch/dgkoch_build_fixes4
bfe09521 Fix build several build errors
3e2a3c46 Merge pull request #1293 from baldurk/remove-en-dash
34cd7630 Replace en-dash with simple ASCII hyphen
017a567b Add support for GL_NV_shader_noperspective_interpolation
eddb1318 Use the correct type for the constant for matrix/scalar division
2ad4737d Merge pull request #1286 from greg-lunarg/kg14
b095da74 Merge pull request #1288 from amdrexu/bugfix
2bd8cd04 Merge pull request #1287 from eintw1ck/master
a00e51b5 HLSL: Correct some mistakes for min16 types
b3e80f5a include/Common.h: reorder includes to avoid redefinition on some platforms
bfa64afb Increment minor version to 4
c96885f4 Update known_good to SPIR-V 1.3 support
845860d5 Merge pull request #1283 from siavashserver/fix-memory-leak
ca279340 Merge pull request #1284 from amdrexu/bugfix
7798aaf1 Allow --hlsl-enable-16bit-types to be used without AMD_EXTENSIONS
b502a802 Fix memory leak upon ProcessDeferred failure.
a5152505 Merge pull request #1269 from bkaradzic/master
9c82dd10 Merge branch 'amdrexu-feature'
fb97d25c Merge branch 'feature' of https://github.com/amdrexu/glslang into amdrexu-feature
45422f18 Merge branch 'amdrexu-bugfix'
f15fbc04 Merge branch 'bugfix' of https://github.com/amdrexu/glslang into amdrexu-bugfix
56364b08 Merge branch 'sheredom-fixup_sm_60_wording'
e62d1baf Merge branch 'fixup_sm_60_wording' of https://github.com/sheredom/glslang into sheredom-fixup_sm_60_wording
ac370792 Revert the commits that change OpArrayLength type and bumped the version number.
fd920b3b WaveReadLaneFirst is the correct wording (was using WaveReadFirstLane previously...).
097047a9 Merge pull request #1277 from KhronosGroup/Vulkan_1_1
e68a7698 Add more error checks for swizzleInvocations{Masked}AMD()
cb61eec9 HLSL: Map min types to GLSL 16-bit types
1e5c9463 Fixed ifdef.
66011cb2 SPV: Implement Vulkan 1.1 features and extensions.
b2ae1d05 Revert "Merge pull request #1274 from greg-lunarg/legal2"
663b90d9 Build: Fix build issues with previous commit.
2c65069e Merge pull request #1274 from greg-lunarg/legal2
fa9b465b Versioning: Bump to minor version 1, for new SPIRV-Tools update.
fd50f6a4 Legalization: Omit legalization warning when spirv-opt is linked.
caa54449 Merge pull request #1263 from greg-lunarg/kg12
02538357 Merge pull request #1272 from amdrexu/bugfix
4f5b99e3 Add more error checks for interpolateAtVertexAMD()
c6c80a6e Versioning: Address #1255: Move to semantic versioning.
1de8e54d Fixed GCC+Clang errors and warnings on Linux and OSX.
41e24fdb Merge branch 'amdrexu-bugfix'
aa2295f1 Merge branch 'bugfix' of https://github.com/amdrexu/glslang into amdrexu-bugfix
0216f24f SPV: Bump up the generator number.
e518772d SPV: The result type of OpArrayLength should be UINT
b5b5f918 Non-functional: Make the vulkan version number meaning be only 0 or not 0.
e58d58b7 Non-functional: Move to latest headers.
29c49e10 Merge pull request #1266 from amdrexu/feature
2c40e856 Merge pull request #1268 from amdrexu/bugfix2
81f4c03a Fix issues of SPIRV headers
1e5d7b0b Implement the extension GL_AMD_gpu_shader_half_float_fetch
5630d0ec Fix typo.
60a57840 Merge pull request #1264 from dneto0/typo-client-version
52e9435e Merge pull request #1265 from davidhubbard/master
f5ddcfc5 TBuiltIns::identifyBuiltIns: EShLangFragment fallthrough
506d2c24 Fix typo in help for -V<bad-number>
c5215791 IO mapper: Fix #1261: Supply location mapper with size computer.
5778ee4a Update spirv-tools known_good
d55fe865 HLSL: Fix #1257: layout float1, int1, etc., as scalars.
46413d57 SPV: Fix #1258: cache constant structs by id, not opcode.
57f6a016 SPV: Complete OpModuleProcessed implementation, enabled by have 1.2 headers.
e1cc1e2e Merge pull request #1256 from KhronosGroup/require-binding
9c9c4e90 GLSL/SPV: Fix #1196: Require resources to have layout(binding=X).
2d9973de Tests: specExamples.vert is used twice, it needs two different output names.
90ac5fcf Merge pull request #1253 from KhronosGroup/hlsl-ternary-select
4bee531f HLSL: Fix #1249: Always execute both sides of ternary "?:".
a5cae082 Merge pull request #1250 from LoopDawg/image-fetch-conversion
4425f245 HLSL: Add conversions for image ops during SPV construction
b587fb62 GLSL: Fix #1247. Remove extraneous *= matrix test.
98e3fb19 Merge pull request #1246 from amdrexu/bugfix
35a3de74 Fix an issue of interpolateAtVertexAMD().
23ea3db3 Warning for #pragma once. GLSL and HLSL. Addresses #824.
b5bf536b Merge pull request #1244 from dneto0/update-spirv-tools
3394353b Merge pull request #1243 from greg-lunarg/kg11
497d5ffe Update SPIRV-Tools known-good
484cbd04 Upgrade update_glslang_sources.py to work with gitlab branch
4ee5193b Non-functional: GLSL: Fix #1242; don't pass reference to nullptr.
2f658e1f Merge pull request #1241 from greg-lunarg/kg9
8a4848f5 Add DeadInsertElim to legalization and RedundancyElim to -Os.
b5ab3459 Merge pull request #1239 from KhronosGroup/deeper-access-chains
9ffc72d1 Merge pull request #1238 from zeux/pp-string-buffer
71b5da60 SPV: Bump up generator number, because previous commit changes code gen slightly.
5c3eed54 SPV: Create more access chains addressing a few swizzling issues.
75cffdf9 Preprocessor: Use std::string instead of std::stringstream
2651ccae Merge pull request #1234 from dneto0/update-spirv
d1232992 Update SPIRV-Tools known-good
b3f9e0a3 GLSL: Fix #1229: merge array sizes in parameter declarations.
98e733cb Merge pull request #1232 from KhronosGroup/control-flow-attributes
da0b18c3 Error message: Improve error message (will help another party id a bug).
30476568 AST: dump attributes along with control flow.
a2858d9b GLSL: Implement GL_EXT_control_flow_attributes.
e18fd20d HLSL: Refactor attribute implementation.
e349af7e Non-functional: Fix #1231: remove duplicated code.
2b5ea9f8 SPV Version: Emit the requested SPIR-V version, not the header version.
43f5b273 Non-Functional: Use OpModuleProcessed from the unified header.
22f02d09 EShTargetSpv: Fix #1235, spelling, in a backward compatible way.
6c1c2766 SPV: Bump SPIR-V header to the unified1 version (version 1.2).
82ead04c Non-functional. Fix #1223: expand comments.
ade21c71 Merge pull request #1224 from fjhenigman/unused
ab46a2e5 Merge pull request #1221 from dneto0/update-spirv
541f7bbd Fix unused function warning.
0e58bbd5 Update known-good spirv-tools.
e22e3473 HLSL: Fix #1208: accept both int and uint in asuint() and asint().
63400477 HLSL: Protect against 'continue' outside of loops.
9b5668c8 HLSL: Fix #1214: check for nesting in loop/switch of break statements.
7420a761 HLSL: Fix #1215: propagate error on seeing a type name instead of a variable.
eb2c0c72 GLSL: XFB: more support for built-in block redeclarations with XFB.
9c6f8cc2 Scanner: Many int16 and float16 fixes, including performance.
c043aadd Scanner: Many int64 fixes, including performance.
adc33b23 Non-functional: Fix HLSL error message, and code formatting.
99892d5a Merge pull request #1211 from greg-lunarg/kg7
ead4bb19 Update known good spirv-tools. Fixes issue #1205.
798d005c Build: Tickle bots to try again... seems like a process hang; all tests passed.
132cf537 HLSL: Fix #1203: Declare anonymous members for cbuffer with no ';'
fd1e8a78 HLSL: Fix 1201: Accept 'layout' as an identifier.
046bae0b HLSL: Attributes: Add [[vk::constant_id()]] and [[vk::push_constant]]
e08ed0cc Merge pull request #1190 from jfmarquis/hlsl-store-type-propagation
848a0ccb Merge branch 'greg-lunarg-flatten1'
8a3f7a12 Merge branch 'flatten1' of https://github.com/greg-lunarg/glslang into greg-lunarg-flatten1
b3cff2f2 HLSL Tests: Remove optimization from tests that don't need it.
e0639287 HLSL Legalization: Add scalar replacement
3f0aff8e HLSL: Fix possibly incorrect type conversion in StoreN and LoadN
3b2dc1a7 Merge pull request #1195 from LoopDawg/gcc-bug-workaround
c074f2bc g++ 5.4.0 suspected defect workaround
3f0d4bcd SPV: Document history of the generator version number.
e1ff2312 GLSL: Fix #1193: no 'location' on uniform/buffer block.
a0d60f2b gcc: potentially a compiler-bug work around
2505057a SPV: Memory model: Reduce set of memory-semantic bits requested for "all".
838d7afc SPV: HLSL: Move to correct HLSL barrier semantics, per Khronos recommendation.
c72e5937 SPV: Bump the generator number to account for barrier changes.
8297936d SPV: Change barrier emission to conform to Khronos decisions.
070aaeaf HLSL: Fix #1192: when bool operands are converted to ints, convert result type.
35682b59 Merge pull request #1191 from greg-lunarg/kg6
72deeb25 Update spirv-tools known-good.
788fbeb3 HLSL: Make attributes for built-in override semantics.
a67d0706 Merge pull request #1189 from KhronosGroup/spv-xfb
edaf5567 SPV: Plumb through XFB buffer and stride information.
be3842f6 GLSL: Implement XFB for redeclared built-in blocks.
04f4566f Merge pull request #1184 from KhronosGroup/SPV_EXT_fragment_fully_covered
1c5443c6 Add implementation of SPV_EXT_fragment_fully_covered
e9e0cb60 Update to latest public headers.
396de16c Merge pull request #1183 from LoopDawg/builtin-output-array-indirect
69feabc9 Merge pull request #1186 from zeux/master
c92860e2 HLSL: Implement support for RT/Viewport output from VS
0cff5100 HLSL: for split output structs, propagate indirection to builtin.
e078059d Merge pull request #1174 from LoopDawg/y-flip
8116cfc9 HLSL: Give error on unsupported buffer initializer.
87982be1 HLSL: Remove unintended/untested functionality PrimitiveID.
67fca7c4 Merge pull request #1178 from LoopDawg/primitiveid-hs-input
1cfc0f9e Merge pull request #1175 from KhronosGroup/no-flatten-local-opaque
280c75ca HLSL: Allow primitive id on hull shader inputs
dc005fb0 HLSL: Stop flattening non-IO structs containing opaques.
b22c069f HLSL: add optional position.Y inversion
471bfed0 HLSL: Fix #606: make layout() override register.
cc951f81 HLSL: Fix #1154: Support PointSize, as an attribute.
b0159f85 Merge pull request #1151 from cgmb/update-readme
384b2070 Improve build instructions
6a14f780 HLSL: Fix #1163: treat buffers as references when calling functions.
1f899924 Merge pull request #1171 from greg-lunarg/kg5
531898a4 Merge pull request #1170 from LoopDawg/matsize-warnings
3e72d265 Update spirv-tools known-good
8c49f9b4 HLSL: minor: add warning for mat() matrix size truncation
7199a6d1 Add initialization in case it is causing the Apple Clang release failure.
ffc31cdc Tests: Trigger more texture tests, and hopefully see build failure go away.
1ce94b2d Merge pull request #1166 from tafuri/#1165-invalid_Store
b2abe2f0 Merge pull request #1169 from LoopDawg/cbuffer-identifier
c4372e43 Merge pull request #1167 from LoopDawg/matmul-truncate-mxm
72cddd01 Merge pull request #1168 from greg-lunarg/kg4
7ee29ba7 HLSL: allow keyword-identifiers as cbuffer/struct names.
30d92db0 Update spirv-tools known-good
cee29b04 HLSL: add implicit mat*mat truncations
66b319d3 Added new test to gtests and updated test data
59677dae Respect the array type in Store operation
792a9480 Merge pull request #1161 from LoopDawg/matmul-truncate
2e629106 HLSL: matrix and vector truncations for m*v, v*m, m*m
698bf754 Memory: Mak full explicit destructor functionality, techincally correctly.
1cf2b355 Memory: Fix #705: don't use pool object after invoking destructor.
fd1d07da Memory: Put pragma tables in the pool.
cbdf871d SPV: SampleMask does not depend on SampleRateShading.
e2c15b4f Memory: Reference count number of clients, to support multiple independent clients in same process.
b63f4a38 Usage: clarify meaning of -s; fixes #1135.
cb421ef9 Test: Add more legalization tests; those effected by flattening.
ca4ef9f4 Merge pull request #1156 from LoopDawg/snorm-uav
6e49c76e Merge pull request #1157 from LoopDawg/gs-hs-mix
7573a2ab HLSL: ignore geometry attributes on non-GS stages.
4036ef15 Merge pull request #1147 from KhronosGroup/memory1
ab9c6a8a Merge pull request #1155 from antiagainst/skip-tags
5da8ead7 Memory: Remove redundant pool popAll(), which is potentially confusing.
fa39cffd HLSL: Accept unorm and snorm on types
9a65c6a9 Appveyor: avoid double testing on master commits
fc3e8647 Implement OS_DumpMemoryCounters for Linux
74bde987 Memory: Restore unused interfaces, in case other tools called them.
c9e67405 Merge pull request #1150 from antiagainst/readme-release
30c60bdf Update README about the automatic master-tot relase
a9c8cce8 Merge pull request #1143 from LoopDawg/texturebuffer
94f28eb6 Memory: Add loop around main, to test tear-down and reuse, and monitor memory changes.
cb42541e Memory: Remove the need for per-thread tear down.
ff8e59f5 Memory: Do process and 1st thread tear down.
4ceaab16 Memory: Move to a normal model of ownership of memory pools, for new/delete.
be209055 Memory: Non-Functional: Rationalize and improve encapsulation of TLS usage.
a36997cb Merge pull request #1142 from greg-lunarg/kg3
4abd6b58 Merge pull request #1145 from antiagainst/travis-auto-deploy
fba299a2 Travis: auto deploy build artifacts to GitHub Releases
a0680e61 Merge pull request #1114 from LoopDawg/validator-script
a50a9de3 Merge pull request #1116 from LoopDawg/reverse-shift-args
7c2f6d85 Merge pull request #1144 from antiagainst/appveyor-auto-deploy
e570955c Reverse order of setShiftBindingForSet parameters
4ec680e1 Add script to crank test shaders through spirv-val
a7eab9b3 Appveyor: auto deploy build artifacts to GitHub Releases
e5530b92 HLSL: implement TextureBuffer<type>
c77da685 Update spirv-tools known good.
2edde666 SPV: Don't support noise*() when generating SPV.
af52799c Errors: Have a whole set of tool-level error messages report to stderr.
a372a3ed Versioning: Update some version strings. Still need better overall version.
9f0b6fa4 Merge pull request #1139 from greg-lunarg/remap2
e86b4c84 Remapper: Fix strip algo when strip ranges overlap
88e22a60 Fix #1079: don't give error when macro() name used without open (.
e8d21388 Fix nondeterminism discussed in 258b700f5957fc13b0512b3734a1b0e81a1c271d
ac516024 Fix #1065: don't validate Vulkan binding numbers.
715c353a Non-functional: copyright update, to help with non-determinism test.
5866e67b Tests: Non-determinancy: Add back in the IntMin tests.
a6362228 Merge pull request #1133 from greg-lunarg/kg2
3f9c03bd Add python3 compatibility to update_glslang_sources.py
258b700f Non-determinant tests: Remove recent tests, to see if things stabelize.
e9173b19 Non-functional: Add {} expected by convention; retrigger failed bot tests.
0501e7c8 Merge pull request #1129 from xorgy/const-fold-int-min-modulo-negative-one
f83e2f06 GLSL: Fold constant SHRT_MIN/INT_MIN/LLONG_MIN % -1 to 0.
b5b08462 Merge pull request #1124 from xorgy/check-inner-implicit-atomic-uint
60209951 Merge pull request #1127 from xorgy/preprocessor-int-min-mod-negative-one
9d4a1b24 Preprocessor: Evaluate INT_MIN % -1 to 0.
047b65f9 Merge pull request #1125 from greg-lunarg/kg1
cc80d80d Update spirv-tools known-good
437911af GLSL: Check for implicit inner dimension in array of atomic_uint.
9cfc1551 Merge pull request #1118 from xorgy/only-swizzle-numbers-and-bools
016e47f7 Merge branch 'only-parse-inf-constant-in-hlsl' of https://github.com/xorgy/glslang into xorgy-only-parse-inf-constant-in-hlsl
6e33b787 Tests: Add test for GLSL +-#INF.
79a40740 Merge pull request #1120 from xorgy/overlong-hex-literal
60312662 GLSL: Only parse [-]1.#INF in HLSL mode.
9028ed20 Check for hexadecimal literals exceeding MaxTokenLength.
07c0bcea Only try swizzles on vectors, numbers, and booleans.
b1eaf82c Merge pull request #1115 from LoopDawg/stdarray-binding-set
2915da30 Nonfunctional: minor: use std::array for per-set shifts, fix warning.
573cc9e9 Merge pull request #1111 from LoopDawg/per-set-binding-offsets
7a9db71f SPV: Don't emit StorageImageMultisample capability for subpass images.
6cfeced8 Non-functional: missing comments from missed git add.
1b46f137 HLSL: Fix #1106. Support shader setting of binding/set for $Global.
08a14422 Add per-descriptor-set IO mapping shift values.
fe4e572c GLSL->SPIR-V: Put precision decorations on imageLoad().
f0e35bf0 GLSL: Make sampling operations have agnostic precision qualifiers for desktop.
3112b568 Merge pull request #1113 from xorgy/preprocessor-int-min-over-negative-one
0b55e0f2 Merge pull request #1102 from KhronosGroup/partially-flatten
dc756a61 Preprocessor: Evaluate INT_MIN / -1 to 0.
a50b107e Build: Fix build warning.
8b555f74 Merge pull request #1109 from xorgy/never-try-to-swizzle-void
5313613d Don't try to swizzle void.
856502cb Update spirv-tools known-good
7d67c6cb PP: Fix #1104: Missing check for #if overflow.
1a4bbc4a HLSL: More clip fix: It is more involved than previous commit. Complete.
4ce5b562 Fix #1103: clip() works on int/uint.
5889fa03 Tests: Add clip(int) tests.
cf571f73 Infrastructure: Add a TShader method to publicly expose the intermediate.
41aa1995 HLSL: Partially flatten hierarchies, instead of all or nothing.
60e91611 Merge pull request #1098 from LoopDawg/attribute-gets
0d1f63ec Merge pull request #1097 from SWIFTingAround/master
ad2bc097 Merge pull request #1094 from LoopDawg/split-shadow-tx
ddb45f8d Merge pull request #1080 from hedejing/master
52c087ff HLSL: add helper access methods to TAttributeMap
aab00012 Set cmake-policy CMP0048 to NEW
fdbd0eba Add getAsLoopNode() method for Loop node
028c5a8d HLSL: nonfunctional: rename setId -> switchId, add comment
bb79abcc HLSL: Validate implicit initializer assignment to opaque members.
07ed11f9 SPV: GeneratorVersion: bump version number because of atomic decrement change.
b27de028 Merge pull request #1090 from tafuri/#1084-fix-segfault
48d6e798 SPV: Correct semantics of atomic-counter decrement.
592e8f04 HLSL: Tests: Add subset of flattened opaque test to legalize results.
4f6865f4 Added test for local structured buffer variable
5133b108 Fixed formatting
908813c2 Merge pull request #1089 from LoopDawg/split-shadow-tx
0a826111 Only track variables in the global scope
73c57bbe HLSL: split textures used for both shadow and non-shadow modes
263986eb Readme: Update with additional Windows build information for SPIRV-tools build.
2c9c2af6 Merge pull request #1085 from KhronosGroup/flatten-assign-subset
700bdeb7 HLSL: Fix #954: Track/access subsets of flattened multi-level aggregates.
86a82bb9 Merge pull request #1081 from xxxbxxx/for-upstream-1
a6085875 HLSL: Fix crash when flattening both side of assignement simultaneously.
24919659 Merge pull request #1075 from LoopDawg/subpass-input
7f93d56e HLSL: add subpass input types and methods
092b7d2e Build: Fix a couple build issues.
77ea30bd HLSL: Additional attribute support: [[]], namespace, parameters:
3693e631 Fix #1060: Could crash if using --source-entry-point with -e; fixed.
5a57ca68 Merge pull request #1078 from greg-lunarg/addopt14
354a54c6 Legalization: Fix tests after workarounds removed
d41993d9 SPV: rationalize parameter handling for "original" and "writable" parameters.
bed4e4f7 HLSL: Pass opaques by local copy, instead of by interface original.
15fa7ef5 HLSL: Remove workarounds for assigning to opaques.
dabd1bf2 Merge pull request #1076 from LoopDawg/shadow-tx-types
195f584e HLSL: force textures to shadow modes from combined samplers
fc7aeaee Merge pull request #1077 from greg-lunarg/addopt12
52fe3d59 Legalization: Fix warnings and disable tests when spirv-tools not present
3ddcd3f1 Merge pull request #1070 from greg-lunarg/addopt8
e2b36163 Advance spirv-opt known-good to hopefully fix travis multithread failure
b56366ab Legalization: Skip spirv-tools tests
741d1f20 Pick up latest spirv-tools in attempt to fix travis failures
87fd7429 Try Python interpreter on update_glslang_sources.py in appveyor
f451756d Fix travis and appveyor calls to update_glslang_sources.py
cd1f169c Enable HLSL legalization
44dd6a00 Merge pull request #1072 from amdrexu/feature
e8fe8b0d Implement extension GL_NV_shader_atomic_int64
f21c173a Merge pull request #1071 from antiagainst/ninja-make
afa128a8 Travis: use make instead of ninja and limit concurrent jobs
9cf5dfbd Merge pull request #1063 from LoopDawg/remapper-error-cleanup
ea5204d1 Build: Merge pull request #1068 from greg-lunarg/addopt4
fd34f0e6 CMake changes for HLSL legalization
8004d365 Remapper: make remapper robust against non-exiting error handlers
5f77d864 HLSL: Fix #1064: Don't include empty structures on OpEntryPoint
31365afa Merge pull request #1044 from dsrbecky/image_external_essl3
ae8af5d3 HLSL: fix array[1] of vec4 constant declaration.
c64a9dd6 Test: Make another test legal HLSL, and rationalize GLSL vs HLSL addConstructor().
bdbbc68e HLSL: Add bounds checking, shared with GLSL. Partially address #1032.
346dd7c7 Merge pull request #1051 from LoopDawg/bug-1049
4a145dbf HLSL: handle split InputPatch templat type in patch constant functions
a5d86164 HLSL: allow mixed user & builtin members in hull shader output structure
ba6a3c29 GLSL: Make gl_Layer and gl_ViewportIndex always be outside blocks.
aab3bcff Merge pull request #1056 from KhronosGroup/glsl-entrypoint-rename
9855bdad GLSL: Promote HLSL entry-point renaming code to be used by GLSL as well.
4f4683d2 Merge pull request #1050 from amdrexu/feature
30ac0525 Merge pull request #1055 from KhronosGroup/strdup
d9bd97d0 Build: Fix strdup -> _strdup warnings.
b3ca4045 Build: Fix build warnings.
5002c26b Fix #1043: set all scan string-locations to have bias, not just the first one.
a25530cc Non-functional: Make usage for entry points more consistent.
e22c11fd Merge pull request #1053 from mchock-nv/mchock-nv-fix-lambda
ea1ea974 Address #1052: Have language-level exits of case statements.
933c10cd Delete unused 'this' capture
05506bb8 Implement the extension GL_AMD_shader_fragment_mask
d004e5ca Merge pull request #1047 from svenstaro/add-stdin-option
0dd1285c Add --stdin
8688e3fb Merge pull request #1048 from LoopDawg/opaque-type-fix
76117921 Fix lvalue check in SPIR-V generation
2c5b3d64 Add support for GL_OES_EGL_image_external_essl3
3a21c880 Merge pull request #1042 from LoopDawg/warning-fix-2
43f682f6 Merge pull request #1039 from amdrexu/bugfix
2baa7742 Linux build warning fix
2a305f65 Fix issues of GL_ARB_viewport_layer_array
75e057f9 Merge pull request #1037 from LoopDawg/clip-cull-geom
5e5b12e9 HLSL: add geometry stage support for clip/cull distance
a459fc81 Merge pull request #1031 from xxxbxxx/for-upstream-2
4e2f05da Build: Fix #1036: size_t warning.
eb71cdd5 HLSL: fix preprocessor concatenation behaviour.
ea0c1643 Merge pull request #1035 from LoopDawg/clip-cull-type-fix
d6f4d9b4 HLSL: fix type on clip/cull index result
82e95a3a SPV: Add auto location mapping of non-opaque non-block uniform variables.
8268a355 Build: Attempt better support for VS 2012.
74c5f711 Merge pull request #1014 from KhronosGroup/SPV_EXT_shader_viewport_index_layer
35343cb8 Merge pull request #1034 from KhronosGroup/module-processes
b41bff69 SPV: 1st pass implementation of SPV_EXT_shader_viewport_index_layer.
2a27116c SPV reflection: Add OpModuleProcessed for compile options.
1f312f90 Merge pull request #1028 from LoopDawg/clip-cull-input
e2cda3c2 HLSL: handle clip and cull distance input builtin type conversion
fc343694 Merge pull request #1029 from amdrexu/feature2
00b3e384 Merge pull request #1025 from amdrexu/feature
129799a7 Implement extension GL_AMD_shader_image_load_store_lod
e8fdd79f SPV: Implement extension SPV_EXT_shader_stencil_export
3d1b7096 HLSL: Fix #1027.
778806a6 HLSL: Fix #1018: Give an error for mismatched return type.
b207daa5 Merge pull request #1017 from LoopDawg/texture-struct-return.1
786e8795 Build: Fix build when NV_EXTENSIONS is not enabled.
d6be6da0 SPV: Fix #1016: Don't allow non-GLSL-extension protected Layer and ViewportIndex members.
5ee05891 HLSL: add methods to track user structure in texture return type.
03e63fa8 HLSL: Add fall-back for opaque initializers to just generate long-term expected code.
25495fdf Merge pull request #1013 from KhronosGroup/flatten-nonarrayed
260f5061 SPV: Correct selection of storage-image capabilities. Fixes #986.
e29ff3cd HLSL: Flatten structs for all non-arrayed I/O interfaces.
01109546 HLSL: Make fresh array sizes for TessLevelOuter and TessLevelInner arrays.
4baebea8 HLSL Test: Expand test, adding a user-patch-constant signature.
e516d433 HLSL: Move debug naming to a simpler, more consistent, scheme.
3322dd8f HLSL: Include built-in processing for vertex input and fragment output flattening.
ecd08bc3 Non-functional HLSL: Factor out built-ins from splitting and related simplifications.
eaed0682 Merge pull request #1011 from LoopDawg/pragma-pack-matrix
6a264bed HLSL: implement #pragma pack_matrix(layout)
d5aedc19 HLSL: Correct which things flattening tracks for linkage, based on caller, not type.
7497e7c9 Merge pull request #1010 from LoopDawg/mat-rowcol-fix-1
898f5fbe HLSL: fix qualifier propagation from user struct types to block definitions.
2b4f77f2 HLSL: Correct use of isPerVertexBuiltIn() to be isClipOrCullDistance().
d319fb4e HLSL: Test change: Geometry shaders can't return values from main.
b6be80f4 HLSL: Flatten more I/O: non-arrayed user-only structures.
cca42a8e HLSL: Stop including empty structures in the I/O interface. Fix #785.
6042eb47 Non-functional: HLSL: Simplify I/O logic for splitting.
4cf52660 Merge pull request #1006 from KhronosGroup/4.60
934d11b6 GLSL 4.6: Implement shader group vote.
941f3bbd GLSL 4.6: Implement draw parameters.
0d0c6d38 GLSL 4.6: Implement atomic counter ops and SPV_KHR_shader_atomic_counter_ops.
de16e52b GLSL: Initiate version GLSL 460, including accept extraneous semicolons.
fda6edcb HLSL Tests: Fix two tests to be valid under FXC.
318a379b Non-functional: HLSL further simplications to base I/O flattening on.
8bcdf2ea Non-functional: HLSL: clean up dead code for splitting.
48dc5872 Merge pull request #1005 from LoopDawg/remove-unused
7a3cef10 HLSL: Non-functional: warning fix, remove unused member.
a58cc9ff GLSL reflection: Fix #985: reflect runtime sized arrays having no constant index.
a353bf1f Nonfunctional: Add reflect test case, and fix long lines in reflection code.
2ceec681 Nonfunctional: Shorten some lines to the coding standard, to retrigger failed test run.
38151b2f Merge pull request #1002 from amdrexu/bugfix
286ca432 SPV: Memory qualifiers should decorate top-level block members
f1f5058a Merge pull request #997 from LoopDawg/clipcull-semantic
307b6507 HLSL: handle multiple clip/cull semantic IDs
d2d3a142 SPV: Update to latest 1.0 headers, removing redundancies in GLSL.ext.AMD.h.
cd52fd5a Merge pull request #1000 from LoopDawg/samplecmpzero-cubearray-fix
ef94b1a5 Fix dref explicit LOD form of sample with cube texture arrays
53863a3a GLSL: Implement version 320 for ES.
9353f1af GLSL: Add version-number checking.
67eb4970 SPV/OpenGL: Require locations on non-opaque uniform variables.
ab008675 Merge pull request #991 from LoopDawg/resource-set-binding-fix
a2b71902 Reflection: Fix #977: Expose getBinding(), use in new getUniformBinding().
52017192 Fix crash with --resource-set-binding [n] (common set form, not per-register form)
0e392aa9 Merge pull request #996 from KhronosGroup/decorate-parameters
961cd35b SPV: Fix #995: Include memory decorations on parameters.
fad62972 SPV: Non-functional: support lists of decorations per parameter.
198652a6 Merge pull request #994 from KhronosGroup/opaque-init
0e6e2ffd Fix #980: flatten opaque initializers to use aliases.
37c202aa Merge pull request #992 from polarina/null-deref-fix
b5d9c11e Fix NULL pointer dereference in TParseContext::builtInOpCheck
91e69c03 SPV: Address #989: Don't add Location to built-ins when automapping.
56d2b990 Merge pull request #987 from KhronosGroup/global-std140
735d7e56 Address part A of #982: $Global will use std140 instead of HLSL offsets.
1e4a721c Merge pull request #978 from LoopDawg/global-const-init-fix
d854ac8b Merge pull request #983 from LoopDawg/warning-fix
b97b25e4 Fix StandAlone.cpp compilation warnings
0fca0baf WIP: HLSL: support global const initializers from non-constant rvalues
652db16f Build: Fix #975: shut up a compiler warning (code was fine).
4b1a890b Nonfunctional, infrastructure: Clean up Test directory droppings.
645fdaa7 Merge pull request #971 from amdrexu/bugfix
57e65929 HLSL: Translate directive [flatten] and [branch] to SPV control mask.
423fae48 Tests: Add a test for concurrent use of std430 and push_constant.
9645f782 Merge pull request #965 from chaoc/spv-khr-post-depth-coverage
c1204527 Implement SPV_KHR_post_depth_coverage
33bf7b2f Merge pull request #974 from LoopDawg/anyall-types
54b9ff9c HLSL: handle type conversion for any/all intrinsics
17b5f917 Merge pull request #969 from d3x0r/patch-1
3f70d405 Merge pull request #970 from rohith10/master
6206091e Fix CMake scripts: The set_property script can be used to set only a single property, so now setting the POSITION_INDEPENDENT_CODE property correctly.
45933124 Update CMakeLists.txt
4e53d905 Update CMakeLists.txt
89de217f Update CMakeLists.txt
9c6ea324 Update CMakeLists.txt
57a2b22d Update CMakeLists.txt
cde46127 Update CMakeLists.txt
02ed9eb2 Update CMakeLists.txt
42b69261 Update CMakeLists.txt
f8f494ff Add option to skip installation
eb5f12d1 Merge pull request #967 from dsrbecky/multiview
d1be7545 HLSL: Non-functional: Move partial flattened access into symbol node.
02a14e7c HLSL: Non-functional: some coding convention tweaks (120 columns, nullptr).
0af795e8 Merge pull request #966 from TiemoJung/io_remapper_update
aad93a80 Merge pull request #959 from TiemoJung/texture_upgrade
5513d9d0 Multiview extension: Accept layout(num_views) qualifier
0422eb23 io resolver improvements
99466020 Merge pull request #964 from dsrbecky/multiview
0fbe02c6 Implement extensions GL_OVR_multiview and GL_OVR_multiview2
fde4975d Fix for not transforming all image symbols into sampled images symbols
2ae23ca1 Merge pull request #957 from amdrexu/feature
37d7cfb1 Merge pull request #961 from benvanik/fix_order
82da44d4 Fixing initialization order to fix -Wreorder warning in clang.
89400ea7 GLSL: validation of early_fragment_tests, others, on an object.
37cdceed Implement extension GL_ARB_shader_stencil_export
89f8d1e6 HLSL: Fix #942: Map SV_TargetN to SPV Location N.
4f54c0c4 HLSL: Fix hull-shader test.
da9eb815 HLSL: Don't pin down which tessellation stage must error check input primitive.
fe6689c6 HLSL: support point mode.
102328b7 Merge pull request #950 from dsrbecky/shadow_samplers
a8a83204 Merge pull request #948 from KhronosGroup/env-control
6353d55e Command-line: Add support for setting language's environment.
c178f0a4 Infrastructure: Non-functional: rationalize some command-line processing.
4be4aebd Infrastructure: Non-functional: Move to rich description of environment.
c6ac40a1 Add support for GL_EXT_shadow_samplers
4fbb8cb4 Merge pull request #947 from LoopDawg/clip-cull-distance
c44b95fd WIP: HLSL: handle clip/cull distance array semantic matching
4329d555 HLSL: Broaden solution for #940, editing integer input for 'flat'.
f0bc598d HLSL: Force flat interpolation for structure members. Fixes #940.
be1085cb Build: add switch default to make compilers happy
fba125a9 Merge pull request #943 from xxxbxxx/for-upstream-1
54596ff9 HLSL: Force flat (nointerp) onto integer fragment inputs.
b1d97537 hlsl: "in out" is also an inout qualifier.
f02c8e6b Non-functional: Attempt to reset Travis error, while adding more nullptr use.
2fcdd64e HLSL: Remove support for named tbuffer/cbuffer.  Fixes #939.
054378d9 HLSL: Non-functional: Make test valid HLSL, and related comments/cleanup.
e2ff404f Merge pull request #917 from KhronosGroup/remove-redundant-locations
f790b161 Tests: Fix missing test result.
a931366f Standalone: Implement -D and -U for preprocessor macros.
04acb1b7 Standalone: Rationalize ShaderCompUnit and file data.
6263fb19 Infrastructure: Rationalize command-line options.
2d46e73b Merge pull request #931 from LoopDawg/scalar-mat-assign
e2713125 HLSL: fix several issues in mat construction from scalars
f7cd88a2 Merge pull request #937 from amdrexu/bugfix
301a2bc8 SPV: Fix an typo of SPV_AMD_texture_gather_bias_lod
82ae8c31 HLSL: Fix #924: Convert between two different arrays with cast.
0320d090 HLSL: Recognize types declared as identifiers as identifiers.
91c46c65 Merge pull request #932 from LoopDawg/warning-fix-1
1892886a HLSL: compilation warning fix: no functional change
5ea6a192 Merge branch 'amdrexu-feature'
cabbb788 Implement extension GL_AMD_gpu_shader_int16
4d5bcd31 HLSL: Allow macro expansions to create the 'defined' operator.
3fcb42cf GLSL: Fix #853: Only outer dimension of array can be specialization constant.
d314ecfb GLSL: Correct missing "not" from error message about non writeonly images.
dd56173d GLSL: Disallow 'shared' in nested scopes.
c5f2ab96 GLSL: Disallow unsized arrays of atomic_uint.
885443c7 Build: reset for multi-threaded test error, that reported a single missing character.
14d65beb GLSL: Fix Khronos private Bugzilla 15973: local sizes can't be 0.
2eb13550 GLSL: Fix #396: Error when 'defined' comes from macro expansion.
65755667 Merge pull request #922 from KhronosGroup/dash-I
971a0a8d Infrastructure: add include search paths (-I, etc.).
96f65521 HLSL: Implement half matrices, and map all half* -> float*.
f6deacd5 HLSL: Track control-flow nesting and warn on aliasing under it.
9b2531ba Infrastructure: Move nesting counters, etc., to base class.
b4d46627 Build: Fix build warnings.
a83959fa Merge pull request #920 from jeremy-lunarg/jeremy-build
549764b5 Build: Fix linux
0e07119a HLSL: Fix #919: for-init-statement is arbitrary declaration or expression.
e00e8f45 GLSL: replace general missing functionality with specific messages.
21369c82 Merge pull request #912 from amdrexu/feature
225e0fca Implement the extension GL_AMD_texture_gather_bias_lod
7cdf3fc3 Replace #422: Remove the redundant location setting in AST->SPIR-V.
94c18a84 GLSL: Fix bug setting component=0 for an auto-location assignment.
8de7e7bf GLSL: Error when using location on an arrayed block.
99f289d4 Merge pull request #899 from antiagainst/rm-empty-cpps
0b94a31e Merge pull request #915 from LoopDawg/subvec4-intrinsic
70942e5f Merge pull request #905 from KhronosGroup/flatten-opaque-structs
f3150742 HLSL: Convert run-time sampler assignments to compile-time aliases.
750c2d07 SPV: When passing structs of opaque types, flatten and pass the members instead.
d66c5b12 HLSL: iomapper: Fix #914. Tolerate user aliasing of bindings.
a696fd1a HLSL: add test coverage for sub-vec4 texture intrinsics
ae99875e Merge pull request #907 from KhronosGroup/include
5052152e Merge pull request #913 from amdrexu/bugfix
3494b4da HLSL: Add an Includer to handle #include.
0848cc07 Parser: Add missing codes for float16
44d2728e Merge pull request #911 from KhronosGroup/debug-info
e485c7af SPV: Debug output: Include OpLine information for execution path.
121853f4 SPV: Add OpSource shader source code and file name.
136b1e2d Merge pull request #856 from TiemoJung/texture_upgrade
baf570ef Pure Texture to Sampled Texture Transform
d6af18f6 Merge pull request #901 from LoopDawg/imat-construct
7c9129bc SPV: Fix #904: Correctly check for built-in block redeclations for location check.
84cc15f0 HLSL: Fix #903: Don't short-circuit && or ||.
6e2295d3 HLSL: Fix #902: Incorrect protection against zero arguments.
174ccb8f HLSL: Add imat, umat, and bmat constructors
2c6f48b1 Fix #373: Implicitly make gl_FragColor a location=0 output.
1d585ac8 SPV: Correctly enforce 'location' presence on in/out blocks.
557caf24 Merge pull request #900 from LoopDawg/tx-overloads
7b8c386c More non-determinism fixed.
b6cabc4f Fix C++ portability, non-deterministic order of argument evaluation.
80f92a19 Fix #857: Convert uniform int to local bool for struct alias assignment.
0d2b4713 HLSL: Don't do logical short-circuits when the operands are bool-vectors.
132a28aa HLSL: allow name mangling based on texture template type
ddda9cb8 Remove empty cpp files
ab0847ef Merge pull request #896 from KhronosGroup/spv-location
ff164d87 Merge pull request #897 from LoopDawg/remap-specconstop-fix.2
65c2eed6 Remapper: handle embedded opcode in OpSpecConstantOp
71facdf4 SPV: Give error on not assigning locations to I/O.
24e895b4 Merge pull request #860 from steve-lunarg/sb-counter-args.2
09a29d9b Merge pull request #893 from KhronosGroup/member-call
2bb1f39f WIP: HLSL: add ability to pass struct buffers with counters to fns
0a2a0cd3 HLSL: Implement member functions calling member functions.
b29cc30c Merge pull request #852 from steve-lunarg/declared-builtin
a4bfed12 WIP: track declared builtin type [proposal]
1a010b83 Merge pull request #890 from LoopDawg/mip-operator
726bf96a HLSL: add .mips[][] operator for texture types
c70bbc83 Merge pull request #889 from antiagainst/travis-android
b21213e8 Check Android build on Travis CI.
ef7efb21 Merge pull request #888 from LoopDawg/geometry-stage-mix
c6510a33 HLSL: allow GS-specific methods in other stages
c49b4efa HLSL: Fix #884: Use promoted children, not pre-promoted, in completing binary nodes.
c48c8e76 Merge pull request #886 from antiagainst/unordered-set
2840f63f Use unordered_set in ReadableOrderTraverser.
d9b08d5c Merge pull request #880 from aras-p/master
02c4728a Merge pull request #874 from xlpiao/DescriptorSet-and-Binding
23d3c712 [lumped builds] Add include guards (#pragma once) to header files that did not have any.
8e204b2d [lumped builds] Only define _CRT_SECURE_NO_WARNINGS if it’s not defined yet. When glslang is built with some other build system and lumped/unity builds are used, without the checks this would get “macro is being redefined” warnings/errors.
36dc8290 HLSL: Manually configure descriptor set and binding number for resources
12d69368 Build fix: Make string assignment simpler to avoid some compiler issues.
1ee1c8e1 Build: Fix portability in previous commit.
c10191d1 SPV: Support texelFetch() on a textureBuffer (no sampler).
a5c5fb61 SPV: Emit extension for using StorageClassStorageBuffer.
43c72b0e Merge pull request #878 from steve-lunarg/unroll-hint
f1709e71 HLSL: implement [unroll] and [loop] attributes
de1cc06c Merge pull request #877 from steve-lunarg/warn-fix1
0c20067c Fix iomapper build warnings
7aaf4191 Merge pull request #873 from steve-lunarg/gathercmp
6817f81e HLSL: Implement missing GatherCmp
22be5788 Merge pull request #870 from SoapGentoo/cmake-fixes
22afc38b Modernise CMake #2
eb9a532b Merge pull request #869 from KhronosGroup/revert-828-fixes
cfc69d95 Revert "Modernise CMake"
a01600b8 Merge pull request #828 from SoapGentoo/fixes
8f824265 Make test suite optional by using CTest
5a5699bd Modernise CMake
acce8dce Merge pull request #868 from TiemoJung/two_pass_io_remap
bbae7de0 Merge pull request #867 from steve-lunarg/emptyinit
f1bfeec7 Notification phase for io remapper
c0043cda HLSL: Allow empty struct initializers
7cca1409 HLSL: Turn on hlsl-offsets by default for HLSL-source shaders.
dd5dee0b Merge pull request #859 from steve-lunarg/sampleposition
d4d0b297 HLSL: add standard sample position return form of GetSamplePosition method
88aabcca Merge pull request #855 from steve-lunarg/constantbuffer
a766b838 HLSL: Add ConstantBuffer<T> syntax
a1cdd13b Merge pull request #851 from dgkoch/dgkoch_build_fixes3
15bb4370 Fix Android build errors
8a5718a9 Merge pull request #849 from steve-lunarg/samplercmp-errmsg
3cbc32f4 HLSL: add error for expected comparison sampler in SampleCmp* ops
32a385e9 HLSL: Fix #846: support mixed ternary types.
0603a383 Merge pull request #847 from steve-lunarg/sb-param-fix
1c04f1e5 Merge pull request #842 from steve-lunarg/sb-cast
1487db54 Merge pull request #840 from steve-lunarg/iomap-hlsl
e404e088 HLSL: fix for byte address buffers in fn parmeters
7b1dcd66 HLSL: add readonly qualifier to tbuffer, so they end up as SRV
be283550 WIP: HLSL: hlsl register class iomapping
ba5cc2fa GLSL: Fix #822: Improve information given for syntax errors.
0c6f9360 HLSL: Fix #96: Support do-while loop substatements with no curly braces.
f8203a0a HLSL: cast non-int types to uint on Load/Store indexes
67027189 SPV: Support test #pragma for generating the StorageBuffer storage class.
a8d3db6b Merge pull request #835 from steve-lunarg/sb-counters
d5d9ffbd HLSL: vector shape conversions for all ops: Fix #839. Fix #653. Fix #631.
2aa12b1c HLSL: Address #839: avoid crash by distinguishing between bad argument and no argument.
350b9485 WIP: HLSL: add refection queries for structuredbuffer counter blocks
12bc9aa9 WIP: HLSL: add Append/ConsumeBuffer support
8e26feb8 WIP: HLSL: structuredbuffer counter functionality
d1141843 SPV Non-functional: fix ordering causing problems with another branch.
97366a0d HLSL: Fix #770: implicitly convert bool operands to numeric operators.
a4c64c98 HLSL: Fix #834: Report #version is an illegal command.
a0c578a6 HLSL: Fix #758: Support character literals (except for numeric escape sequences).
2051815b HLSL: Fix #803: Add shape conversions to the constant-initializer path.
a8b217fd Merge pull request #833 from KhronosGroup/hlsl-inf-syntax
776c515e HLSL: Support 1.#INF and -1.#INF syntax.
b5e739c2 HLSL: Fix boolean conversion bug and add more tests for ?:.
636b62db HLSL: Support vector 'cond ? :' -> EOpMix -> OpSelect.
34718204 HLSL: Non-functional: add vector ? : tests.
13075c61 HLSL: Fix #832: don't require terminating semicolon for cbuffer/tbuffer.
e9f18fd9 Merge pull request #831 from steve-lunarg/isfinite
9e5a19fd HLSL: fix return type for isfinite
ae79697d Merge pull request #827 from amdrexu/feature4
a09eefd8 Non-functional: Fix typos in comments.
6fa17641 HLSL: Emit the OpSource HLSL instruction for HLSL, using new headers.
7962bda3 Merge pull request #825 from steve-lunarg/index-cast
f89ad980 Implement the extension SPV_KHR_16bit_storage
2efd6c6d HLSL: cast bracket dereference index to int type if not.
38a42535 SPV: Move to latest public headers.
07b30c42 Merge pull request #823 from steve-lunarg/tess-coord-size
4f1403ed SPV: Fix #807: use --hlsl-offsets to allow hlsl-style offsets in a buffer.
ccb076ac HLSL: allow non-vec3 tessellation coordinate declarations
6f1e595d Merge branch 'jantlo-cpp11-feat'
d92b5679 Merge branch 'cpp11-feat' of https://github.com/jantlo/glslang into jantlo-cpp11-feat
a558b265 This refactor the StandAlone and WorkList files in order to use more C++11 features remove the dependencies from OS specific code. Changes:
97cb85c7 PP: Fix #783: Catch end-of-argument expansion in token pasting.
82460b5e HLSL: Fix #805: Support cast of scalars to structures.
5ce1e4af Merge pull request #817 from steve-lunarg/isfinite
c633f644 HLSL: Non-functional: rationalize making constructors.
8df9a486 Merge pull request #812 from steve-lunarg/PatchIO
13975525 Decompose OpIsFinite to avoid capability restrictions
067eb9b4 WIP: HLSL: Support InputPatch variables in patch constant functions
b68b9a8b Merge pull request #808 from steve-lunarg/gs-ep-wrap-fix
08e0c086 HLSL: fix GS implementation for EP wrapping
2184c2f2 Fix #287: pin down the io-array size before checking for out of range index.
6f03bfc7 Merge pull request #815 from steve-lunarg/tess-ds-pcf-order
f38cca3c HLSL: handle PCF input to DS in arbitrary argument position
fa84001a Merge pull request #814 from steve-lunarg/contains
27309f68 Refactor TType::contains* methods (nonfunctional)
c7fd73b7 Merge pull request #811 from steve-lunarg/combine-test
bf1537f4 WIP: HLSL: force uncombined flag off for Buffer<>
f36542f4 Revert "Merge pull request #779 from steve-lunarg/buffer-unsampled-fix"
84a30c8b Merge pull request #774 from steve-lunarg/tess-ctrlpt-pcf
e70fcf2d Merge pull request #810 from steve-lunarg/clip-crash-fix
db2e3b41 HLSL: fix crash on empty sequence node passed to intrinsic expansions
e741249b HLSL: pass tessellation execution modes through to SPIR-V
9ce76553 Merge pull request #797 from steve-lunarg/scalar-length
18958f6c HLSL: Fix #802: Preserve promoted child under ! operator.
7e997e26 HLSL: Implicit bool conversions for conditional expressions and related.
8f9fdc98 HLSL: Add namespace grammar and some basic semantics.
e752f463 HLSL: HS return is arrayed to match SPIR-V semantics
7afe1344 HLSL: strip off array dimension when assign locations of arrayed IO.
194f0f39 HLSL: require tessellation factors to be fixed size arrays
9cee73e0 HLSL: support per control point patch const fn invocation
e434ad92 Fix #809: smear scalar condition in OpSelect for selecting vector operands.
4dc835c3 Non-functional: Round of adding 'const', related to more efficient getFullNamespaceName().
714e58b2 Merge pull request #801 from amdrexu/bugfix
3feac2eb Merge pull request #806 from amdrexu/bugfix2
bcf291a7 Don't emit NV-specific interface members if NV extensions are disabled.
470026f9 HLSL: Fix an issue of frexp().
86e49d17 HLSL: Move frexp() to a separate test file.
aa3c64c2 Fix #800 (mostly): set of Linux warnings.
9fb31ce8 Tests: strengthen the value of test for NV members.
0e737844 Fix #790: Don't emit NV-specific interface members unless enabled by extension.
1ca04c2b HLSL: allow length() on scalars
93750bc0 Merge pull request #796 from steve-lunarg/emptystruct-return-fix
d8e34c51 HLSL: fix crash on empty struct return from entry point
19ea5689 Tests: Update test results.
000c818e HLSL: Allow use of $Global members in between function calls.
7a41f96d HLSL: Implement 'this' keyword.
3778979c HLSL: non-static member functions: track and find active anonymous 'this' scopes and members.
f4ba25e0 HLSL: Non-functional: the symbol field of a token was in practice unused; remove it.
5a839069 Merge pull request #782 from steve-lunarg/builtin-methods-prefix
1dd65ca3 Merge pull request #779 from steve-lunarg/buffer-unsampled-fix
e7d0752a HLSL: use prefix for builtin functions names to avoid namespace collisions
4960baaf HLSL: Basic turn on of non-static member functions.
dfbdd9eb HLSL: Add implicit-this tracking to TFunction.
f3d88bd4 HLSL non-functional: Generalize namespace nesting.
d3947d23 WIP: HLSL: propagate readonly qualifier for buffer types
cf2e7275 WIP: HLSL: Buffer types should be unsampled.
e751bca7 Fix #777: don't parse .suffix if <stage> is provided.
26013595 Merge pull request #776 from amdrexu/bugfix
5e317ffe SPV: Fix unexpected declarations of capability and extension
36b218de HLSL: Fix #771: add inline keyword.
95e736c8 Merge pull request #767 from DragoonX6/master
2dd643ff Merge branch 'TiemoJung-semantic_handling'
2dc50ff3 Merge branch 'semantic_handling' of https://github.com/TiemoJung/glslang into TiemoJung-semantic_handling
71c100d7 GLSL output: Removed fixed-size buffer; fixes #769.
c08fb8ab Full stack: properly implement GL_EXT_device_group and GL_EXT_multiview.
78cfba97 Fix location of #defines for core and compatibility profile.
601b7fa4 Revert previous check-in, until knowing what the spec. is and whether the test failure is related.
7a44a31d SPV: Address #759: make ViewIndex and DeviceIndex by 'in', not 'uniform'.
946e0a6d Merge pull request #768 from amdrexu/bugfix
d41a696c HLSL: Additional channel value for textureGatherXXX().
8155934b Fix building on MinGW-w64
b16f7e68 HLSL: Member-functions: capture body token stream for deferred syntax/semantics.
088d52ba HLSL: Non-functional: consolidate function declarator information.
c04c6a40 Merge pull request #762 from LukasBanana/master
54ee28f4 HLSL: Add scoping operator, accept static member functions, and support calling them.
5f12d2f7 HLSL: non-functional: simplify handleBuiltInMethod() to isBuiltInMethod().
1fbc6e6c Added 'GL_core_profile' and 'GL_compatibility_profile' macro definition to preamble.
523e20dc PP: Recognize the '::' token, and translate appropriately to GLSL/HLSL token.
6212e86f Merge pull request #764 from steve-lunarg/imagequery-sign
0b5c2ae7 Preserve signedness in SPV image query ops
757bc874 Merge pull request #763 from steve-lunarg/nullstruct-preservation
4198b8bf WIP: HLSL: preserve empty structures after splitting
6e1d50a7 HLSL: Accept SV_Cull/ClipDistanceN, by refactoring the way semantics are mapped.
229a6f7f Merge pull request #761 from baldurk/vs2010-compile-fixes
79f8bf0d Merge pull request #760 from steve-lunarg/gathercmpred
5d5db80d Compile fixes for VS2010
d00b0261 Enable GatherCmpRed.  Green/Blue/Alpha cannot be supported.
88e88e59 HLSL: Non-functional: Remove dead .length() code.
516d92d3 HLSL: Non-functional: Drive existing method recognition by syntax, not by name.
78388726 HLSL: Non-functional: Don't process function name/parameters before expected a function declaration.
b7201f8e Merge pull request #756 from steve-lunarg/getdimensions-fix
ca71d946 HLSL: Grammar: Generalize accepting a declaration to accept an aggregate of subtrees.
3ce4536a HLSL: use LOD form of ImageQuerySize when needed.
057df293 HLSL: Fix #754: recognize type casts in if-statements separately from declarations.
621c0e3d Merge pull request #755 from steve-lunarg/sb-orderfix
40efe5ce WIP: HLSL: Fix ordering defect if global SB decl after fn param
33f85b6e SPV: Allow push constant buffers to not have an instance name.
789086a8 HLSL: Test for issue #699.
322cb192 Merge pull request #750 from dgkoch/rename_KHX_to_EXT
27ffb299 HLSL: Add 'class' keyword as (so far) synonym for 'struct'.
efc97279 Rename KHX to EXT to match the released specs
c18cae21 Merge pull request #748 from dgkoch/dgkoch_build_fixes2
d9b7a850 More build fixes
854fe247 HLSL: Fix #747: accept 'struct' in front of previously user-defined type name.
0479437a SPV: Fix #739: OpSelect can only operate on scalars and vectors.
173c0c01 Merge pull request #744 from realitix/sanitize_sh_link
9c3f7b60 Merge pull request #746 from dgkoch/dgkoch_build_fixes
efeefd98 Build: Another fix for issue #718: implement the hidden methods of tFinalize.
197082ca Fix build warnings on some platforms
bc3fdcc8 Sanitize ShaderLang.h
3494d71c PP: Fix issue #738: don't assert on characters within a string.
fb22b69f PP: Partially address issue #738: handle premature end of argument when token pasting.
45c1b5b9 Merge pull request #742 from steve-lunarg/f16tof32-typefix
fdbfb65e HLSL: small fix for index type in f16tof32 opcode
5a042c06 GLSL: Fix #741: rationalize per-block vs. per-member offset checking.
69a2c696 Merge pull request #736 from steve-lunarg/structbuffer-params
b67b4a70 PP: Address #737: accept 'h'/'H' floating-point suffix more broadly.
f67f9d7e Merge pull request #740 from steve-lunarg/f16tof32
86b510ef WIP: HLSL: add f16tof32 and f32tof16 decompositions.
42e33c9b SPV: Update SPV header to official Rev. 10 of 1.0, and fix the consequences of doing so.
6c8aaacd SPV: Implement new extensions GL_KHX_device_group and GL_KHX_multiview.
dd8287a1 WIP: HLSL: add structuredbuffer pass by reference in fn params
4a57dced SPV: Handle nested opaque types as function parameters.
74912347 Merge pull request #734 from steve-lunarg/ssbo-reflection
cb34945e Merge pull request #733 from amdrexu/bugfix
932bb5cc Add reflection queries for thread local size and ssbo auto-binding
3e783f9b SPV: Unexpected declarations of capabilities from NV extensions.
2fbe08c7 Merge pull request #725 from steve-lunarg/structurebuffer
5da1f038 HLSL: implement 4 (of 6) structuredbuffer types
c8aed915 Merge pull request #732 from dneto0/fix-overrides
4c64a40d Add override where needed by clang++
8f674e82 Fix issue #676: emit error message on failure to open spv file.
0302bdf0 SPV: Fix #723: construct vectors from matrices.
36852b83 Merge pull request #727 from jekstrand/image-load-formatted
f2b27603 Merge pull request #729 from gwihlidal/master
f44d89a3 Implement GL_EXT_shader_image_load_formatted
6f332f3a Warning fixes
005120cc HLSL - Support for SV_GroupIndex
b0cfcb5c Merge pull request #1 from KhronosGroup/master
b0561d93 Merge pull request #720 from flaviobortot/master
54f3ab7d Merge pull request #728 from MaciejJesionowskiAMD/fix-mismatched-subgroup-vote-string
5227b6de Fix mismatched doc string for SPV_KHR_subgroup_vote
d9502833 Merge pull request #724 from chaoc/master
15017db9 Removed tabs and replaced with spaces. Changed layout for "else if"
df3956c5 Implement NVX_multiview_per_view_attributes
8bb3ee53 added semantic handling and support for remapping variables with semantics
7225a1cb Support align/offset for all versions GLSL/ESSL targeting SPIR-V.
e4e8f7b7 Merge pull request #722 from steve-lunarg/tessellation
9a2733a9 PP, nonfunctional: Properly encapsulate a TokenStream.
858c928a Add basic HS/DS implementation.
b49bb2ca PP, nonfunctional: Remove crufty bit-twiddling of tokens.
8e711b84 Fix issue #708: token pasting within macro argument expansion.
07939886 Merge pull request #707 from KhronosGroup/emit-opSelect
f8d0d8c2 Address issue #718. Should change which warning is generated, hopefully to a better one.
8e6c6cef SPV: Implement specialization constants for ?:.
433e9ff8 SPV: Emit OpSelect when a selection node is simple enough.
509177d1 Merge pull request #685 from KhronosGroup/wrap-entry-point
dd40260b HLSL: don't do a deepCopy() for typedef, as we still want to share the type graph.
65ee230f HLSL: Add tests and refine what decorations are passed through per stage/in/out.
bf47286f HLSL: Move to fine-grained control for defining input/output/uniform IO types.
727b374f HLSL: Build IO types bottom up, as parsed, and cache the original (IO).
88c4464d HLSL: Have loose uniforms also go through the makeTypeNonIo() path.
2c5ab9c8 HLSL: remove pervertex output blocks
fbb58a4e Build: Fix Linux for older compiler: Use TMap instead of TUndorderedMap.
ec712ebe HLSL: fix copies between arrays of structs of builtins, and arrayed builtins.
abd8dca8 HLSL: Make the entry-point shadow function have non-IO params and return.
5d3023af HLSL: Type sanitization: create non-IO types for var decl and fn param/ret
0fe106af AST: Have type deepCopy() preserve type graphs as graphs.
02467d8d HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
aea3c890 Added --vn option to generate a C header file containing a variable assigned to the hex representation of the shader. This is a standard feature on Microsoft's HLSL compiler and it allows developers to include pre-compiled shaders directly into the code. This option enables "Hex output", so it is NOT required to specify -x as well. The output file name is preserved, so no ".h" extension is added. If you want the output file to have ".h" extension then you have to specify it on the output file name. The generated header file uses the "#pragma once" pragma to avoid multiple inclusions.
18adbdbb Resolve issue #700: allow initializers on struct members.
32fd5d26 Memory/constructor/warning clean-up. Addresses issue #705.
f1aeac89 Merge pull request #711 from eoma/fix-friendly-specialization-name
ad58d454 SPV: Emit names of specialization constants
7e134cdf Merge pull request #706 from Ralith/install-headers
5a074532 Install headers
62c3e400 Fix bug from PR #678: NV_EXTENSIONS deleted implicit array sizing.
82e0e589 Fix issue #693. Ternary operator on void type.
c0904c15 Merge pull request #690 from ligfx/proper_dependencies
2918a2ef README: point to HLSL status issues
24ed24dd Merge pull request #702 from resetnow/master
689490fd SpvBuilder: add const specifier to vector reference arguments
72754864 Merge pull request #694 from mtavenrath/fix_origin_link
7b89e752 Use correct OriginUpperLeft when linking more than one shader.
047a6a49 Merge pull request #696 from amdrexu/bugfix2
ab9e5e9f Merge pull request #695 from amdrexu/bugfix
00d54b44 Semantics: Texture clamp functions are available for fragment shader only.
c708f980 Fix a CMakeLists issue
2043da90 Merge pull request #692 from hrydgard/no-nvextensions-build-fix
bec5fc89 Fix build if NV_EXTENSIONS is not set
64b010f3 Merge pull request #678 from chaoc/stereo_view_rendering
6077a19b CMake: add target_link_libraries internally
771d89fc support SPV_NV_viewport_array2 and SPV_NV_stereo_view_rendering
52fceb08 Merge pull request #689 from mikew-lunarg/master
4e9e400e Fix for not-handled-in-switch warnings
c37f8d6b Merge pull request #683 from rdb/master
a2f0e0e7 Fix compilation with MSVC 2010
22f25d80 Merge pull request #682 from steve-lunarg/split-copy-fix
d3aea5ed Merge pull request #679 from ashwinkolhe/akolhe_spv_khr_subgroup_vote
7dccb151 SPV: Merge pull request #675 from amdrexu/feature
e48b8d74 Infrastructure: remove potential memory leaks.
65cdff9a HLSL: fix dereferencing when copying split structures with arrays
430ef40a Implement new revision of extension GL_AMD_shader_ballot
94dfb7a5 Non-functional: Factor out entry-point logic from handleFunctionDefinition().
c720f3e6 Implement SPV_KHR_subgroup_vote
33dadd12 Fix build break for non-VS.
44251539 Non-functional: Fix round of compiler warnings.
c142c889 Front-ends: Non-functional: Rationalize vector and matrix swizzles.
0a76a187 Merge pull request #656 from TiemoJung/overload_fix
fdf6347f HLSL: Add EOpMatrixSwizzle, selectively decomposed to other ops, for issue #670.
001dfa1c HLSL: matrix swizzle (_12, _m23) syntax, partial semantics.
913e3b68 PP: Clean up and rationalize floating-point-number scanner.
e86fc094 Merge pull request #664 from steve-lunarg/stage-io-fix
dc1a8196 Infrastructure: Support standard build with ENABLE_HLSL set to off.
65d538c8 Infrastructure: Protect against missing built-in symbol table generators.
ce80197c Merge pull request #663 from KhronosGroup/full-include-semantics
eaecfe71 Merge pull request #668 from slime73/DisableHLSL
ff21a25b Change disabled-by-default DISABLE_HLSL option to enabled-by-default ENABLE_HLSL.
46d54284 WIP: add other builtins to interstage IO
84eabf7e Add a CMake option to disable compilation of HLSL input support.
5d89d4d4 Merge pull request #667 from slime73/Compiler-Warnings
5f316d9b Reorder initializer fields to match variable declaration order (or vice versa) for several class constructors.
844dd45d Add a virtual destructor to a class which has virtual methods.
7d39ad58 Mark an overriden method in a subclass with ‘override’.
facde2c8 PP #include: address PR feedback.
63204c25 External interface change: PP: Full <> and "" semantics for the Includer.
25086025 PP #include non-functional: consistent notation for "header" and "header name".
927608b3 Non-functional: White space after "//", mostly for copyrights.
ecba76fe Non-Functional: Whitespace, comments, replace accidentally deleted comment.
3dd32293 Merge pull request #661 from KhronosGroup/fix-include-error-paths
1b1defd6 PP: #include: simplify the different paths out of #include.
28d31335 PP: #include: add names to error messages, so that lexical analysis can be tested.
64285c9e Non-functional: Very minor clean up.
acb9076a Merge pull request #650 from steve-lunarg/lvalue-swizzle-fix
085b8334 HLSL: Fix issue #658: Don't adopt initializer constness from declaration.
bf9a2f30 Merge pull request #648 from steve-lunarg/type-identifiers
ddfbbe26 Merge pull request #632 from steve-lunarg/structure-splitting
5abd308e Merge pull request #659 from steve-lunarg/d3dcolortoubyte4
c4ed9500 Merge pull request #647 from steve-lunarg/default-fn-params
7ea7ff4c Add EOpD3DCOLORtoUBYTE4 decomposition
affc2667 PP: Recognize <> style #include header names. I.e., #include <header-name>.
cd6829ba HLSL: allow destination swizzles when writing RWTexture/RWBuffer objects.
faa720f1 PP: Fix issue #426, recover from bad-source macro expansion.
bc5196c0 SPV: Fix issue #369, don't support gl_NumSamples -> SPIR-V.
f37f4d23 HLSL: Fix issue #646: map SV_DispatchThreadID -> GlobalInvocationID.
84e59203 updates overload handling to be more careful when allowing overloads over texture types
aa6d5629 HLSL: Handle const with no initializer. Fixes issue #651.
53864846 HLSL: Support empty {} initializers for arrays and scalars.
26d31453 HLSL default function parameters
5ca85ad9 HLSL: allow scalar type keywords as identifiers, and add half type support.
132d3318 HLSL: struct splitting: assignments of hierarchical split types
a2e75310 HLSL: inter-stage structure splitting.
807a0d9e Merge pull request #640 from chaoc/modify-shader-ballot
f48faec3 PP: Non-functional: Make a proper class out of the atom <-> string mapping.
f200da86 Modify shader ballot extension by adding OpSubgroupReadInvocationKHR
224b1f73 PP: Support operator creation with token pasting.
0c4b7c93 PP: Rationalize names of tokens.
2dcdda92 Merge pull request #641 from chaoc/passthrough
906b0a3e Merge pull request #644 from hrydgard/override-warning-fixes
9a931b39 Fix a large number of warnings about inconsistent usage of 'override' produced by clang
907aabb6 PP: Non-functional: Only use string <-> atom mapping when needed.
54af2de7 PP: Non-functional: rationalize TPpToken.
1fbb9c14 PP: Non-functional: clean up, simplify, completely identical operation.
6e5acae1 Add support for SPV_NV_geometry_shader_passthrough
3c264ce8 Merge pull request #639 from hrydgard/master
7a21a115 Merge pull request #638 from chaoc/master
b8387c87 PP: Non-functional: Remove custom allocator and related improvements.
868746ad Add option to make it possible not to build the executables
bfff871d PP: Add missing i64val code.
0ad6a4e6 Add support for SPV_NV_sample_mask_override_coverage
7583ed73 Merge remote-tracking branch 'refs/remotes/KhronosGroup/master'
432576fd Build: Fix #633, add missing overrides.
0955b1cb Merge pull request #637 from KhronosGroup/token-paste
e6cbc5b1 Merge pull request #624 from steve-lunarg/remapper-strip-removed
4ba444b6 Merge pull request #635 from steve-lunarg/sample-fix-2
059d46ee Merge pull request #625 from jbeich/gcc6
d485e0b7 PP: Implement token pasting for PP identifiers.
a64ed3eb HLSL: allow "sample" in expressions.
abf50579 Fix comment typo.
1e275c84 HLSL: More robust handling of bad shader input, catching a few more things.
dca93d6b Merge pull request #629 from null77/fix-unicode
cebd97eb Change unicode dash to ASCII.
95abd284 Merge pull request #628 from null77/fix-cast-warn
3ec327c5 Fix size_t to int cast warnings.
20f01e7f Fix last commit; EOptionKeepUncalled incorrect enum bug.
297754cf Remapper: remove debug info for IDs stripped in other passes
906cc218 Linker: Eliminate uncalled functions, because they can be ill-defined.
bf6d7f43 Linker: Track the mangled entry-point name along with the non-mangled one.
4b6ce415 GLSL Linker: Track entry point across compilation units.
1bcb254a Add missing header and drop duplicate one
6a60c2f9 Linker: Walk the call graph to report an error on missing bodies.
e795cc91 Merge pull request #621 from steve-lunarg/recursive-flattening
302e619e Merge pull request #619 from steve-lunarg/opcode-specific-promote
56b45476 Merge pull request #620 from fjhenigman/foo
a2b01a0d HLSL: Recursive composite flattening
05f75142 HLSL: opcode specific promotion rules for interlocked ops
8dcf2029 GLSL: Always define TShader::~Includer().
b56f4ac7 Merge pull request #615 from dneto0/consistent-location-for-test-files
9df6aa53 GLSL: Allow desktop shaders to call functions from outside main().
ec2e27ad Merge pull request #613 from Corillian/hlslpreprocess
5cc92c56 runtests should refer to test files in current directory
205dc4e4 Fixed processing #include's when preprocessing HLSL
fb06e955 Don't print the "Linked stage" message unless the AST is being dumped.
09512cbd Merge branch 'steve-lunarg-intrinsic-promotion'
21b11f4c Merge branch 'intrinsic-promotion' of https://github.com/steve-lunarg/glslang into steve-lunarg-intrinsic-promotion
41be1cbe Merge pull request #604 from steve-lunarg/entry-rename-2
f1e0c871 allow renaming of shader entry point when creating SPIR-V
ef33ec09 HLSL: add intrinsic function implicit promotions

Change-Id: I295258005685b14d53ddbc2d516cb7d69e9b20cd
Testing: checkbuild.py on Linux, unit tests on Windows
