Граф коммитов

14 Коммитов

Автор SHA1 Сообщение Дата
Lei Zhang ea1bf8d24c
[spirv] Silence GoogleTest std::tr1 deprecation warnings (#894) 2017-12-07 11:01:49 -05:00
Lei Zhang fb377afe5a
[spirv] Add missing capability for storage image read/write (#870)
Refreshed SPIRV-Tools and re-enabled all validations for texure/
buffer methods.

Also added support for -Cc to color the disassembly.
2017-12-01 17:28:56 -05:00
Lei Zhang 05057495e8
[spirv] Adopt new changes in SPIRV-Tools (#846)
Uses the legalization pass recipe from SPIRV-Tools.

Also change -fcgl to disable both legalization and optimization.

Validation on some tests are turned off because of new image
instruction checking in SPIRV-Tools. Enabling them is a TODO.
2017-11-23 22:30:49 -05:00
Lei Zhang ac8618ab07
[spirv] Update SPIRV-Tools and mark resource write legalization (#839) 2017-11-22 13:59:27 -05:00
Lei Zhang 3caadf5001
[spirv] Update external dependencies (#779) 2017-11-09 10:26:33 -05:00
Lei Zhang 4046ce318a [spirv] Update dependencies and use two new opt passes (#735) 2017-10-25 16:43:54 -04:00
Lei Zhang 62629d982a [spirv] Call SPIR-V legalization passes from SPIRV-Tools (#655)
When seeing opaque types within structs in function parameter,
function return, and variable definition, invoke SPIRV-Tools
legalization passes.

Also refreshed external projects
2017-09-27 16:04:35 -04:00
Lei Zhang f96f92d711 [spirv] Update SPIR-V dependencies and disable debug iterators (#574) 2017-08-16 21:11:48 -07:00
Lei Zhang 265c8db219 [spirv] Use EXCLUDE_FROM_ALL to ignore unused external targets (#489)
With this change, targets in the subdirectory will not be included
in the ALL target of the parent directory by default, and will be
excluded from IDE project files.
2017-07-31 10:52:09 -07:00
Lei Zhang bd2371f900 [spirv] Use git submodules for SPIR-V dependency projects (#455) 2017-07-24 13:12:48 -07:00
Ehsan aa2751504e [spirv] Effcee test fixture and a sample test. (#452)
* Added effcee and its dependencies (re2) to the project.
* Introduced FileTest that uses effcee to perform checks.
* Added a sample test (check-entrypoint.hlsl)
* Refactored code so WholeFileTest and FileTest can reuse code.
2017-07-24 09:03:31 -07:00
Ehsan 3e84980892 [spirv] Adding test fixture for HLSL to SPIRV codegen flow (#383)
This change enables CodeGenSPIRV test flow.

New tests can be added by simply adding the test file to
`tools/clang/test/CodeGenSPIRV/` directory and running:

```cpp
TEST_F(WholeFileTest, NewTest) {
  EXPECT_TRUE(runWholeFileTest("new-test-name"));
}
```

The input file with the format described in `WholeFileCheck.h` is read in;
the HLSL portion is passed to the compiler with SPIR-V codegen enabled.
The resulting SPIR-V binary is disassembled and compared to the expected
result in the input file.
2017-07-06 17:00:59 -07:00
Lei Zhang 3c6537a7d5 [spirv] Add GoogleTest as an external dependency (#285)
GoogleTest will be used for unit testing and codegen testing for
SPIR-V.

* Added SPIRV_BUILD_TESTS option in CMake to control building
  of SPIR-V tests.
* Added "-spirvtest" into hctbuild to enable it.
* Added "spirv" and "spirv_only" targets for hcttest.

Running `hcttest spirv` will run ALL tests including SPIRV tests.
Running `hcttest spirv_only` will ONLY run SPIRV tests.

The default behavior of hctbuild and hcttest is not changed.
2017-05-22 12:02:23 -07:00
Lei Zhang 1e58245a73 [spirv] Add SPIRV-Headers and SPIRV-Tools as external dependencies (#280)
We need SPIRV-Headers for spirv.hpp11 and SPIRV-Tools for SPIR-V
diassembling.
2017-05-09 18:33:24 -07:00