aboutsummaryrefslogtreecommitdiff
path: root/gtests/Link.FromFile.Vk.cpp
AgeCommit message (Collapse)Author
2020-08-05Build/Test: Dropping 2013 allows using the latest googletests.johnkslang
These have a new spelling: INSTANTIATE_TEST_CASE_P -> INSTANTIATE_TEST_SUITE_P
2020-07-31Use GLSLANG_ANGLE to strip features to what ANGLE requiresShahbaz Youssefi
This change strips a few features similar to GLSLANG_WEB but doesn't remove every detail like the latter. It also hardcodes profile/version to core/450. In particular, TBuiltIns::initialize is specialized to remove most of what is not supported or won't be supported by ANGLE. The result of this function is parsed with TParseContext::parseShaderStrings which is a performance bottleneck. This change shaves about 300KB off of ANGLE's binary size and reduces the cost of SetupBuiltinSymbolTable to nearly a sixth. Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>
2020-07-13Revert "Merge pull request #2330 from ShabbyX/optimize_for_angle"John Kessenich
This reverts commit 1ee5d1c0bb683daea245e8329fd619940a35a5b4, reversing changes made to 906d48a7e828701e25487c9cf34418ded831c814.
2020-07-08Use GLSLANG_ANGLE to strip features to what ANGLE requiresShahbaz Youssefi
This change strips a few features similar to GLSLANG_WEB but doesn't remove every detail like the latter. It also hardcodes profile/version to core/450. In particular, TBuiltIns::initialize is specialized to remove most of what is not supported or won't be supported by ANGLE. The result of this function is parsed with TParseContext::parseShaderStrings which is a performance bottleneck. This change shaves about 300KB off of ANGLE's binary size and reduces the cost of SetupBuiltinSymbolTable to nearly a sixth. Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>
2020-07-01Tests: More broadly use automapping binding/location.John Kessenich
This adds or changes binding/location decorations in 100s of shaders. It also allows more output (spv.register.autoassign.rangetest.frag) due to allowing ioMap() to fail.
2020-04-02Shader interface matching rework to fix #2136 (#2156)Malcolm Bechard
* rework how shader interface block naming rules are handled * Fixes 2136 According to the spec, shader interfaces (uniform blocks, buffer blocks, input blocks, output blocks) all should be matched up via their block names across all compilation units, not instance names. Also, all block names can be re-used between all 4 interface types without conflict. This change makes it so all of these blocks are matched and remapped using block name and not by instance name. Additional the rule that matched uniform and buffer blocks must either be anonymous or named (but not nessearily the same name) is now imposed. * add warning if instance names differ between matched shader interfaces * Add test cases from #2137 which is now fixed as well. * replace some tab characters with spaces * buffer blocks and uniform blocks now share the same block namespace
2020-03-16Fix #2005. Allow multiple compilation units to declare identical ↵Malcolm Bechard
push_constant blocks (#2123) * Fixes #2005 Allow multiple units in a stage to have push_constants as long as the blocks match. Requires #2006 to be fixed to be functional. * tweaks to #2005 fix after some testing * add unit tests for push constants across multiple compilation units For #2005 * update reference output for tests that fail validation * fix uninitialized result.validationResult
2019-01-29Build: Remove extra commas in calling INSTANTIATE_TEST_SUITE_P.John Kessenich
Hopefully, this fixes the sudden new breakage with the bots.
2018-12-07Modify testing to only record validation pass/failAlan Baker
* Changed unit tests to only record known the validation pass/fail status * errors are output as part of the failure message if the result is unexpected * can turn off validation for each test individually * Moved some SPV_KHR_vulkan_memory_model tests to be compiled for Vulkan 1.1
2018-08-31Merge pull request #1465 from otakuto/remove-execute-permissionsJohn Kessenich
Remove execute permissions
2018-08-23SPV: Add option for controling when the SPIRV-Tools validator is used.John Kessenich
2018-08-07Remove execute permissionsotakuto
2018-07-18Link/SPV: Correct symbol IDs on merging ASTs to a single coherent spaceJohn Kessenich
This is one step in providing full linker functionality for creating correct SPIR-V from multiple compilation units for the same stage. (This was the only remaining "hard" part. The rest should be simple.)
2018-04-01Linker: Fix #1329: correctly merge unsized arrays, and fix link tests.John Kessenich
2017-05-18SPV: Give error on not assigning locations to I/O.John Kessenich
Also, provides an option to auto-assign locations. Existing tests use this option, to avoid the error message, however, it is not fully implemented yet.
2017-01-25Use correct OriginUpperLeft when linking more than one shader.Markus Tavenrath