David Neto
9fc8658ef3
Relicense SPIRV-Tools under Apache 2.0
...
Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/383
Finalize v2016.4
2016-09-02 10:00:29 -04:00
David Neto
c296701964
Add target envs for OpenCL, OpenGL
...
Covers: OpenCL 2.1, OpenCL 2.2
Covers: OpenGL 4.0, OpenGL 4.1, OpenGL 4.2, OpenGL 4.3, OpenGL 4.5.
The OpenGL environments assume the use of GL_ARB_gl_spirv, of course.
2016-08-05 18:19:30 -04:00
Lei Zhang
10dba91781
Use SPIR-V headers from the KhronosGroup/SPIRV-Headers repo.
2016-06-10 08:48:37 -04:00
Lei Zhang
ca1bf94c90
Use a single definition of ARRAY_SIZE to simplify code.
2016-04-27 17:05:24 -04:00
Dejan Mircevski
cb3c49ef82
Add SPIR-V 1.1 grammar.
...
Switch to SPIR-V 1.1 as default.
Introduce SPV_ENV_UNIVERSAL_1_1.
Add "1_0" to the internal variable names.
Add spv_target_env to spv*GetTable().
2016-04-18 10:45:57 -04:00
Dejan Mircevski
e26fdc6bd1
Mark SPIR-V grammar files as 1.0.
...
Factor the CMake generate_grammar_tables invocation into a function
parameterized on the version.
2016-04-18 10:00:01 -04:00
Lei Zhang
80e416ce91
Use JSON grammar files to generate extended instruction sets.
2016-04-04 16:13:06 -04:00
Lei Zhang
6fa3f8aad9
Remove dependency on SPIR-V headers in libspirv.h.
...
For fulfilling this purpose, the |opcode| field in the
|spv_parsed_instruction_t| struct is changed to of type uint16_t.
Also add functions to query the information of a given SPIR-V
target environment.
2016-04-04 10:34:28 -04:00
David Neto
d1bb51dbb0
Some GLSL extended instructions depend on capabilities.
2016-02-17 13:37:30 -05:00
David Neto
58c4e1d57a
Add GLSL instructions NMin, NMax, NClamp
...
These appear first in GLSL.std.450 in 1.0 Rev3
2016-02-17 13:35:13 -05:00
Dejan Mircevski
b6fe02fc39
Extend copyright to 2016.
2016-01-07 13:44:22 -05:00
David Neto
ba73a7cee5
Fix conversion warnings reported by GCC.
2016-01-06 17:36:33 -05:00
Lei Zhang
2a0b773b27
Add missing copyright.
2015-11-12 09:43:03 -05:00
Lei Zhang
7a222e4abf
Move info table related structs into table.h.
2015-11-12 09:42:58 -05:00
Lei Zhang
1a0334edee
Run clang-format to enforce Google style globally.
...
Note that we are more strict than Google style for one aspect:
pointer/reference indicators are adjacent to their types, not
their variables.
find . -name "*.h" -exec clang-format -i {} \;
find . -name "*.cpp" -exec clang-format -i {} \;
2015-11-10 15:56:47 -05:00
David Neto
1bb8b70341
Use literal integers for OpenCL extended instructions.
2015-10-26 12:55:33 -04:00
David Neto
21c4ad4b22
Add OpenCL extended instructions.
...
Versions 1.2, 2.0, and 2.1 all use the same
extended instruction list.
Updated the source code patch for the SPIR-V doc generator,
so it can both generate the core syntax table, and also the
OpenCL extended instructions table.
Tested the Math and Common functions.
TODO: test the remaining entries.
2015-10-26 12:55:33 -04:00
David Neto
dbaf40718a
Update to Rev32 headers. Part 1.
...
Just enough fixes to code make it build and pass tests.
Core changes:
- Fix spelling for: NoPerspective, NonWritable, NonReadable,
- Remove NoStaticUse, RelaxedMask
GLSL changes:
- Fixed spelling for: InverseSqrt, FaceForward, MatrixInverse,
SmoothStep, FindILsb, FindSMsb, FindUMsb
- Replace Mix with IMix and FMix
- Remove AddCarry, SubBorrow, MulExtended
Replace header OpenCLLib.h with OpenCL.std.h
TODO:
- Regenerate the core instruction syntax table (source/opcode.inc)
- Add test coverage for new enums and instructions.
2015-10-26 12:55:33 -04:00
Lei Zhang
4005670363
Limit the use of spvCheck and spvCheckReturn to validator.
...
spvCheck is indeed just an if-statement. Defining such a macro
doesn't help much.
2015-10-26 12:55:33 -04:00
Lei Zhang
5b73214223
Add GLSL std450 extended instruction 72-80.
2015-10-26 12:52:01 -04:00
Dejan Mircevski
afdbd2d303
Add std450 instructions 53-64.
2015-10-26 12:52:01 -04:00
Lei Zhang
3cb589639d
Add GLSL std450 extended instruction 65-71.
2015-10-26 12:52:01 -04:00
Lei Zhang
2d879b9334
Simplify macro names used for GLSL std450 extended instruction table.
2015-10-26 12:52:01 -04:00
Dejan Mircevski
c48fcce978
Add std450 instructions 49-52.
2015-10-26 12:52:01 -04:00
Lei Zhang
dca65b3f8c
Reformat GLSL std450 extended instruction table.
...
Also add test for Smoothstep.
2015-10-26 12:52:01 -04:00
Lei Zhang
e5ae7f677f
Add GLSL std450 instructions 35-48.
2015-10-26 12:52:01 -04:00
Dejan Mircevski
a5c171544b
Add std450 instructions 25-34.
2015-10-26 12:52:01 -04:00
Andrew Woloszyn
1d2a87ed1b
Added the initial set of glsl450 instructions.
...
Also rewrote the extended-instruction tests so that they would actually
make sure that the instruction actually appears in the output.
2015-08-24 15:04:49 -04:00
Lei Zhang
884c833889
Substitute GLSL450Lib.h with GLSL.std.450.h of revision 31.
2015-08-17 09:08:31 -04:00
Kenneth Benzie (Benie)
83e5a29b06
Code drop of the Codeplay spirv-tools source.
...
This commit contains the source for the SPIRV static library, spirv-as,
spirv-dis, and spirv-val tools.
2015-05-22 18:26:19 +01:00