Hans-Kristian Arntzen
75391f9a68
Handle vector variants of OpLogicalAnd/Or/Not.
2017-03-20 22:45:40 +01:00
Bill Hollings
dc69427402
Updates to MSL functionality to support PR review feedback.
2017-03-11 12:17:22 -05:00
Bill Hollings
484931d8b2
spirv_msl auto-alignment of members of MSL uniform structs.
...
spirv_msl optionally add padding and packing to allow MSL
struct members to align with SPIR-V struct alignments.
spirv_cross add convenience methods for testing Decorations.
spirv_glsl replace member_decl() function with new emit_stuct_member().
Allow struct member types to be marked as packed via DecorationCPacked decoration.
2017-02-28 21:44:36 -05:00
Hans-Kristian Arntzen
5dd7c04195
Merge branch 'master' of git://github.com/brenwill/SPIRV-Cross into pr-109
2017-02-05 10:59:44 +01:00
Hans-Kristian Arntzen
9cb8616c31
Do not use write/read counters for "global" parameters.
...
Fixes device const & SSBO issues.
2017-02-05 10:50:14 +01:00
Hans-Kristian Arntzen
24df8f0019
Run format_all.sh.
2017-02-04 10:26:26 +01:00
Syoyo Fujita
29179f746a
Fix build when SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS=On.
2017-02-03 13:54:35 +09:00
Bill Hollings
81757507be
CompilerMSL support separate indexed MTLBuffers for stage_in containing matrices.
...
Add DecorationBinding to Compiler::get_member_decoration()/set_member_decoration().
2017-01-29 13:28:20 -05:00
Hans-Kristian Arntzen
18c37bcdab
Update license headers for 2017.
2017-01-28 09:00:40 +01:00
Hans-Kristian Arntzen
1850457b28
Merge pull request #107 from Kode/hlsl
...
HLSL Support
2017-01-28 08:53:24 +01:00
Robert Konrad
4846e081a7
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross into metalcat
...
# Conflicts:
# spirv_msl.cpp
2017-01-26 10:19:26 +01:00
Robert Konrad
429b8cb25f
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross into hlsl
...
# Conflicts:
# spirv_glsl.hpp
2017-01-23 14:44:41 +01:00
Robert Konrad
451bdeeeff
Fix HLSL binding numbers
2017-01-23 14:40:25 +01:00
Hans-Kristian Arntzen
8a80e62fb4
Make get_buffer_block_flags clearer.
...
Fix empty struct case.
2017-01-22 08:51:24 +01:00
Hans-Kristian Arntzen
9540979c55
Support int and uint as flattened UBO types.
2017-01-21 12:29:20 +01:00
Hans-Kristian Arntzen
d3cad99347
Cleanups for flattened access chains.
2017-01-21 11:30:33 +01:00
Hans-Kristian Arntzen
016b1d86e9
Emit readonly, writeonly for SSBOs.
2017-01-21 10:08:27 +01:00
Arseny Kapoulkine
f63e7c5c98
Fix get_declared_struct_member_size for struct members
...
When a member of a struct is a struct, get_declared_struct_member_size
instead returned the size of the entire outer struct because it added
the offset of the last field to the size of the last field.
Restructure the function so that it handles all arrays in the same way
(by using array stride) and for the rest reuses get_declared_struct_size
if possible - this simplifies the function and fixes the issue.
2017-01-17 01:52:12 -08:00
Polona Caserman
3e0f52d44c
Remove redundant function
2017-01-16 17:35:13 +01:00
Robert Konrad
9802823deb
Re-add accidentally removed break
2017-01-15 22:42:22 +01:00
Robert Konrad
881725fb36
Remove video code I accidentally put in
2017-01-15 16:48:01 +01:00
Robert Konrad
a778c363e1
Format code
2017-01-15 16:39:03 +01:00
Robert Konrad
fe5de5e03c
Merge branch 'original' into metalcat
2017-01-15 16:33:14 +01:00
Polona Caserman
84c3092aba
Merge with KhronosGroup/SPIRV-Cross
2017-01-15 16:21:15 +01:00
Polona Caserman
989563ad3f
Add uniform structure
2017-01-15 16:05:11 +01:00
Polona Caserman
bafde4e917
Check if the location of the original variable is set
2017-01-15 16:05:11 +01:00
Hans-Kristian Arntzen
ce3fe29557
MSVC maintenance.
2017-01-12 10:57:44 +01:00
Endre Oma
6ad8b307a1
Use the classic locale when converting floats to string
2017-01-11 17:06:06 +01:00
Hans-Kristian Arntzen
c7659507e8
Merge pull request #90 from gwihlidal/master
...
Improve useability of get_decoration and friends.
2017-01-05 23:07:40 +01:00
Graham Wihlidal
9b1ee8f10a
Improve fix for boolean decorations queried in get_decoration, added support to get_member_decoration, and updated comments to reflect the change in behavior.
2017-01-05 21:01:49 +01:00
Graham Wihlidal
acd98ac0d5
Fix typo in comment
2017-01-05 21:00:05 +01:00
Graham Wihlidal
862a71b4d3
Fix Compiler::get_decoration to correctly return > 0 if DecorationNonWritable or DecorationNonReadable are specified.
2017-01-05 20:19:59 +01:00
Graham Wihlidal
fadc1f9e10
Fix for "error C4146: unary minus operator applied to unsigned type, result still unsigned"
2017-01-05 20:14:53 +01:00
Hans-Kristian Arntzen
97f7ab865a
Fix handling of NoWrite/NoRead decoration for images.
...
The old workaround for glslang is no longer needed, so only apply workaround
carefully.
2017-01-05 18:16:33 +01:00
Hans-Kristian Arntzen
9ccd1aea42
Merge pull request #85 from godlikepanos/master
...
Add the option to build without exceptions
2016-12-19 12:32:04 +01:00
Hans-Kristian Arntzen
44b3216611
Sort loop variables to make sure Travis CI runs are reproducable.
2016-12-16 14:01:09 +01:00
Hans-Kristian Arntzen
a714d424d0
Add directed test for for-loop-init.
2016-12-16 12:43:12 +01:00
Panagiotis Christopoulos Charitos
946f7796c1
Add an option to disable exceptions
...
Some refactoring in the no-exceptions case
Grooming the no-exceptions patch for pull request
2016-12-15 17:49:01 +01:00
Hans-Kristian Arntzen
4f07a32c29
Begin implementing for loop initializer propagation.
2016-12-15 17:44:47 +01:00
Hans-Kristian Arntzen
2d79d365dc
Fix get_declared_struct_size for nested arrays of structs.
...
The array size was dropped from consideration during recursion.
2016-11-28 15:01:36 +01:00
Hans-Kristian Arntzen
7630d3cc9c
MSVC maintenance.
...
Fix compilation and warnings.
2016-11-21 12:18:45 +01:00
Hans-Kristian Arntzen
5ff11cc689
Handle more corner cases with the CFG traversal.
2016-11-18 16:45:11 +01:00
Hans-Kristian Arntzen
0c9683cd85
Distinguish between cross edges and back edges.
...
Handle the weird opcodes CopyMemory/CopyObject.
2016-11-18 09:59:54 +01:00
Hans-Kristian Arntzen
edbe867b74
Improve handling of dead blocks.
...
All tests pass now.
Still need to handle OpFunction, atomics, OpPhi, etc ...
2016-11-17 22:15:07 +01:00
Hans-Kristian Arntzen
dad4a34072
Start adding CFG analysis.
...
Not complete yet, but partly working ...
2016-11-17 16:58:05 +01:00
Hans-Kristian Arntzen
526d06d0a4
Add more descriptive error message.
2016-11-12 10:04:42 +01:00
Bill Hollings
ac00c6032f
Run clang-format.
2016-10-24 09:24:24 -04:00
Bill Hollings
0943d9fece
MoltenVK shader converter handle missing names.
...
Use entry point name if no function name provided.
When flattening in/out structs, qualify member names with struct name.
Fix issue when determining declared size of struct types.
Refactor use of m_ name prefix.
Identify header defines in MSL code.
2016-10-23 21:42:54 -04:00
Nathaniel Brown
9577568d56
Corrects some problems converting to compilable MSL from SPIRV. A better solution is to refactor the glsl compiler base-class so some keywords and actions can be overridden, and then the msl subclass can override them - this is a quick & dirty solution.
...
- adds some common macros that correct for intrinsic differences
- adds some inline functions to adapt for GLSL terms
- injects structure member names when the original SPV has been stripped - there is another way to use the correct temporarily assigned member name, but using m_<id> based on the inside SPV code yields metal code that more correctly maps to the original SPV opcodes/slots.
2016-10-21 13:48:21 -07:00
Bill Hollings
a759e2c872
Merge Brenwill fork with upstream.
2016-10-19 14:09:51 -07:00