Commit Graph

43 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
a07441568e Overhaul how we deal with reserved identifiers.
- Do not silently drop reserved identifiers in the parser. This makes it
  possible to reflect identifiers which are reserved by the
  cross-compiler module.
- Instead of dropping the name, emit _RESERVED_IDENTIFIER_FIXUP in the
  source to make it clear that a name has been rewritten.
- Document what is reserved and not.
2020-08-21 16:33:27 +02:00
Barath Nadar
eac76d9473
Typo at line 324 2020-01-22 07:57:42 +05:30
Hans-Kristian Arntzen
3a7cb0c2a9 Support running {,update_}test_shader.sh with CMake builds.
Make path to spirv-cross configurable so we can be a bit more flexible
with build systems used to update tests.
2019-04-12 14:56:10 +02:00
Hans-Kristian Arntzen
3699ead741 Add C sample code to the README. 2019-03-04 11:33:01 +01:00
Hans-Kristian Arntzen
9bbdccddb7 Add a stable C API for SPIRV-Cross.
This adds a new C API for SPIRV-Cross which is intended to be stable,
both API and ABI wise.

The C++ API has been refactored a bit to make the C wrapper easier and
cleaner to write. Especially the vertex attribute / resource interfaces
for MSL has been rewritten to avoid taking mutable pointers into the
interface. This would be very annoying to wrap and it didn't fit well
with the rest of the C++ API to begin with. While doing this, I went
ahead and removed all the old deprecated interfaces.

The CMake build system has also seen an overhaul.
It is now possible to build static/shared/CLI separately with -D
options.
The shared library only exposes the C API, as it is the only ABI-stable
API. pkg-configs as well as CMake modules are exported and installed for
the shared library configuration.
2019-03-01 11:53:51 +01:00
Hans-Kristian Arntzen
e75f3b760f Remove some obsolete build systems.
They are unmaintained and untested for years.
2019-02-06 12:04:13 +01:00
Hans-Kristian Arntzen
0d63e89404
Change reference to AppVeyor status 2019-01-11 13:08:05 +01:00
Piotr Paczkowski (trzeci.eu)
30743aa931
Adding C++ syntax coloring for missed snippet 2018-11-19 10:49:49 +01:00
Piotr Paczkowski (trzeci.eu)
bc6011b512
Syntax coloring for C++ snippets in README.md 2018-11-19 08:52:12 +01:00
Hans-Kristian Arntzen
809631ce21 Mention JSON backend in README. 2018-06-22 09:48:30 +02:00
Hans-Kristian Arntzen
1ebccb4466
Mention Wiki in README. 2018-04-30 16:47:49 +02:00
Hans-Kristian Arntzen
1478847122
Change AppVeyor badge link to the correct one. 2018-04-18 17:14:51 +02:00
Hans-Kristian Arntzen
d559a8df39 Add AppVeyor status badge. 2018-04-18 17:02:50 +02:00
Hans-Kristian Arntzen
4f348a9807 Update README and update_test_shaders.sh. 2018-03-13 12:38:05 +01:00
Hans-Kristian Arntzen
d871a89886 Remove "EXPERIMENTAL" tag from MSL/HLSL.
These backends have been useful enough for a while,
and the experimental tag has been reported to be off-putting.
2018-02-20 16:19:48 +01:00
Hans-Kristian Arntzen
e6ea63cdfd Add some convenience scripts for running tests. 2017-12-05 10:25:04 +01:00
Hans-Kristian Arntzen
bdfa97a1cf Unify vertex clip-coord fixups.
The different options were scattered around in different backends and
didn't really work right with CLI at all.
2017-08-03 13:02:59 +02:00
Hans-Kristian Arntzen
56e71c1dad Do not emit layout(location) qualifiers for older GLSL targets.
ESSL 300 and GLSL <410 do not support this along with legacy targets.
2017-07-31 11:17:02 +02:00
Jason Chan
9f1eb5a20d added --rename-interface-variable <in|out> <location> <new_variable_name> 2017-06-23 22:20:42 +02:00
Bill Hollings
5ad73f33f5 MSL fixes from review of PR 134.
Remove unnecessary use of std:: prefix in spirv_msl.cpp.
Use typedef instead of #define.
spirv-cross deprecate --metal CLI option and replace with --msl option.
2017-03-19 21:06:21 -04:00
Hans-Kristian Arntzen
c5de1cfa90 Add support for flattening I/O blocks.
Fix issue where layout() qualifiers are emitted for members in legacy
targets.
2017-03-06 14:01:51 +01:00
Hans-Kristian Arntzen
e941b92b11 Write up a section in README about implementation details. 2017-02-23 20:00:17 +01:00
Robert Konrad
bfa635af16 Mention HLSL in readme 2017-01-27 15:21:38 +01:00
Hans-Kristian Arntzen
1c28ec6885 Add basic setup for regression testing Metal output. 2017-01-24 14:04:55 +01:00
Panagiotis Christopoulos Charitos
7f69f9395e Rework after review 2016-12-15 20:46:10 +01:00
Hans-Kristian Arntzen
875c32fd39 Use correct link for Travis CI build status. 2016-12-08 22:33:40 +01:00
Hans-Kristian Arntzen
0a065ff594 Add Travis CI build result to README. 2016-12-08 22:31:27 +01:00
Hans-Kristian Arntzen
f7ce25b6c2 Add some documentation for HLSL. 2016-11-13 11:24:13 +01:00
Bill Hollings
ac00c6032f Run clang-format. 2016-10-24 09:24:24 -04:00
Bill Hollings
a759e2c872 Merge Brenwill fork with upstream. 2016-10-19 14:09:51 -07:00
Hans-Kristian Arntzen
1b5cef5f0e Add first C++ backend sample. 2016-05-30 21:31:29 +02:00
Hans-Kristian Arntzen
ba47be9896 README tweaks.
Remove outdated references to glslang.
2016-05-13 15:32:16 +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
Bill Hollings
d7660fa129 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2016-04-18 22:41:58 -04:00
Hans-Kristian Arntzen
defb416bc0 Add information to README about contributions. 2016-04-15 09:08:23 +02:00
Bill Hollings
6236cc79f0 Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross 2016-04-11 13:35:14 -04:00
Hans-Kristian Arntzen
1230dd9fe2 Build static library during Makefile build.
Makes it easier to use SPIRV-Cross as an API.
Add some subsection in README about this.
2016-04-11 14:30:17 +02:00
Hans-Kristian Arntzen
a1fd2403e9 Add API usage sample to README.md. 2016-04-11 14:22:51 +02: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
Hans-Kristian Arntzen
e50e04c247 Add --keep argument to test_shaders.py.
Improves debuggability when regressions are found.
2016-03-22 14:56:50 +01:00
Hans-Kristian Arntzen
0a5b3a6c78 Add --update flag and --malisc flag to test_shaders.py.
Avoids the hard dependency on malisc as well as making test_shaders.py
more suitable to regression testing.
2016-03-22 14:47:59 +01:00
Hans-Kristian Arntzen
75471fbb98 Initial commit. 2016-03-11 16:30:27 +01:00