Hans-Kristian Arntzen
5ad4340976
Workaround case with identical structs but different types.
...
With the current workarounds for SSBO type aliasing, we have no choice
but to look at OpName in order to figure this out properly.
2016-05-28 09:47:52 +02:00
Hans-Kristian Arntzen
46892ab745
Fix MSVC warnings.
2016-05-23 13:45:20 +02:00
Hans-Kristian Arntzen
5ea59bd11b
Non-functional: Update formatting.
2016-05-23 13:30:02 +02:00
Hans-Kristian Arntzen
f05373bdd1
Do not rely on OpName when finding OpTypeStruct aliases.
...
SPIR-V can stamp out multiple variants of the same types to deal with
different offsets, layouts, array strides and so on in buffer blocks.
2016-05-23 10:57:22 +02:00
Hans-Kristian Arntzen
45ad58a903
Implement more correct integer op handling.
...
In some cases we need to bitcast when dealing with int vs. uint.
SPIR-V allows inputs to be of different integer signedness, so we need
to deal with this somehow.
Add testing system to test SPIR-V assembly.
For now, test all possible combination for all major cases.
- IAdd (which doesn't care about input type as long as they're equal)
- SDiv/UDiv operations which case about input type.
- Arith/Logical right shifts.
- IEqual to test outputs to bvec, which shouldn't get output cast. Also
tests casting in function-like calls.
2016-05-13 15:23:33 +02:00
Hans-Kristian Arntzen
5af1a51727
Treat more opcodes as impure.
2016-05-05 09:52:28 +02:00
Hans-Kristian Arntzen
4b8ed53974
Add Clang format.
...
Reformats the entire codebase. Better to do it now than later.
Adds .clang-format and a convenience script format_all.sh which formats
everything automatically.
2016-05-05 09:40:58 +02:00
Hans-Kristian Arntzen
926916d745
Add -Wshadow.
...
Fixes lots of dubious variable shadowing.
2016-05-05 09:15:25 +02:00
Bill Hollings
2b1e6a8706
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2016-05-04 12:02:45 -04:00
Hans-Kristian Arntzen
12cfbb221f
Add support for querying DecorationInputAttachmentIndex.
...
Was missing from OpDecoration handling.
2016-05-04 13:41:04 +02:00
Bill Hollings
2570121582
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2016-04-19 10:14:01 -04:00
Hans-Kristian Arntzen
b6e3a00976
Support sampler and texture as function arguments.
...
sampler is also not an lvalue type.
2016-04-19 11:27:17 +02:00
Bill Hollings
6236cc79f0
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2016-04-11 13:35:14 -04:00
Bill Hollings
f9e5fb38b8
Fix compiler warnings.
2016-04-11 10:19:20 -04:00
Hans-Kristian Arntzen
5ac882765d
Avoid out of range access to spirv data.
...
Avoids debug assertion crashes on MSVC 2015 when trying to access
elements out of range.
2016-04-11 13:40:36 +02:00
Bill Hollings
6ddd80e3fe
Fixes from code review of MSL functionality.
...
Rename MSLOptions to MSLConfiguration.
Convert tabs to spaces.
Replace Builtin with uint32_t as map key.
2016-04-08 15:12:40 -04:00
Bill Hollings
103aabf5e8
Initial support for Metal Shading Language.
2016-04-06 17:42:27 -04:00
Hans-Kristian Arntzen
147e53aeb2
Rename project to SPIRV-Cross.
...
Rename to coincide with moving the project to KhronosGroup.
2016-04-04 15:42:30 +02:00