Hans-Kristian Arntzen
71bacc4469
Basic combined image sampler emulation hooked up.
2016-09-10 17:48:52 +02:00
Hans-Kristian Arntzen
1b5ca8d868
Move combined image hiding logic into is_hidden.
2016-09-10 16:20:19 +02:00
Hans-Kristian Arntzen
bcb5560109
Sketch out interface for combined image samplers.
2016-09-10 13:56:36 +02:00
Hans-Kristian Arntzen
e92020819e
Add reflection support for separate textures and samplers.
2016-09-10 13:05:35 +02:00
Hans-Kristian Arntzen
f61a5d1e5d
Implement dead variable elimination.
2016-08-26 12:58:50 +02:00
Hans-Kristian Arntzen
042475e88e
Add support for multiple entry points.
...
- Only consider I/O variables if part of OpEntryPoint.
- Keep a safe fallback if #entry-points is 1 to avoid potentially
breaking previously working shaders.
2016-07-28 13:18:55 +02:00
Hans-Kristian Arntzen
5c24d99ff2
Add distinction between type_id and base_type_id in resource interface.
...
type_id was not intuitive and did not allow for parsing array sizes of
variables.
Expose another member, base_type_id which will provide the base type
suitable for parsing metadata such as decorations and type_id will now
point to the actual type which includes full type information such as
arrays and so on.
2016-07-12 21:20:18 +02:00
Hans-Kristian Arntzen
36a0b63f28
Fix various corner cases with expression dependencies.
...
There was a potential problem if variables were invalidated and SPIR-V
read expressions which depended on other expression which in turn depended on the
invalidated variable.
Also fixes issue where variables were considered immutable if they were
forwardable. This allowed some incorrect optimizations to slip through.
2016-07-12 14:50:23 +02:00
Hans-Kristian Arntzen
078eec5894
Add support for generic remapping of variables.
2016-07-06 11:04:06 +02:00
Hans-Kristian Arntzen
8e63c770da
Add explicit support for remapping variables.
...
Will enable use of extensions like framebuffer fetch, last fragment
depth and so on.
2016-07-06 09:58:01 +02:00
Hans-Kristian Arntzen
3c285a15e0
Add support for reflecting execution modes.
2016-07-04 13:30:05 +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
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
d7660fa129
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2016-04-18 22:41:58 -04:00
Hans-Kristian Arntzen
7c738c5068
Workaround some MSVC issues.
2016-04-16 09:21:56 +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