Hans-Kristian Arntzen
e67f6f85a4
Defer parenthesis generation until needed.
...
Previously, we would generate parentheses proactively when generating
binary ops, however, this leads to uglier code and hits warnings in
compilers when used as a conditional.
2016-12-05 10:56:54 +01:00
Bill Hollings
c5c073699e
CompilerMSL fix func_call_arg() cast error when not passed SPIRVariable type.
...
CompilerGLSL allow retrieval of partial source if an error occurs.
2016-11-27 12:34:04 -05:00
Lubos Lenco
0028b4f278
Legacy GL_ARB_shader_texture_lod support.
2016-11-21 22:37:20 +01:00
Hans-Kristian Arntzen
7630d3cc9c
MSVC maintenance.
...
Fix compilation and warnings.
2016-11-21 12:18:45 +01:00
Hans-Kristian Arntzen
b847c88559
Cleanup, and make cfg analysis optional.
2016-11-18 17:06:49 +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
dad4a34072
Start adding CFG analysis.
...
Not complete yet, but partly working ...
2016-11-17 16:58:05 +01:00
Hans-Kristian Arntzen
75c2285f6e
Merge branch 'master' of git://github.com/brenwill/SPIRV-Cross
2016-10-27 16:26:00 +02:00
Bill Hollings
943191a1c8
Compliance fixes for pull request.
...
Use C++ style primitive casts.
Add BackendVariations.discard_literal to support language variation for discard syntax.
Tweaks to custom MSL defines.
2016-10-27 10:20:01 -04:00
Hans-Kristian Arntzen
48636b4af8
Fix style nits from last merge.
2016-10-27 13:56:10 +02:00
Bas Zalmstra
e042eab551
Changed keywords to const static unordered_set and indented the keywords
2016-10-27 13:48:15 +02:00
Bas Zalmstra
f537adf6e9
Added all glsl reserved keywords to replace_illegal_names
2016-10-27 12:51:22 +02: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
206cb9157c
Handle interpolation qualifiers inside IO blocks.
2016-10-07 16:30:11 +02:00
Corentin Wallez
ef9ee49276
Fix compilation on some old C++11 standard libraries.
2016-10-05 16:13:51 -04:00
Hans-Kristian Arntzen
253b15ff0c
Remove fixed FIXME.
2016-10-03 17:25:20 +02:00
Hans-Kristian Arntzen
5d4bb687bc
Support arrays which have spec constant size.
...
The size of an array can be a specialization constant or a spec constant
op. This complicates things quite a lot.
Reflection becomes very painful in the presence of expressions instead
of literals so add a new array which expresses this.
It is unlikely that we will need to do accurate reflection of interface
types which have specialization constant size.
SSBOs and UBOs will for now throw exception if a dynamic size is used since it
is very difficult to know the real size.
2016-10-03 17:17:11 +02:00
Hans-Kristian Arntzen
7e8afa872b
Implement OpSpecConstantOp.
...
The details here get quite hairy, and it's not complete as not all
functionality is implemented in glslang yet.
2016-10-03 15:54:02 +02:00
Hans-Kristian Arntzen
081620f811
Emit spec constants directly with Vulkan semantics.
...
Emit an actual spec constant declaration in Vulkan instead of resolving
the constant.
2016-10-03 12:52:56 +02:00
Hans-Kristian Arntzen
f3220833e8
Fix triangle mode in tessellation output.
2016-09-28 08:12:04 +02:00
Hans-Kristian Arntzen
6204d8e45d
Move static extension checking out to appropriate method.
...
Also make sure extra statements are placed after extensions as extra
statements can depend on extensions.
2016-09-23 14:25:11 +02:00
Hans-Kristian Arntzen
62d223adda
Comment the workaround for layout_for_variable.
2016-09-21 08:20:04 +02:00
rob
ace1911bd4
No layout qualifiers for versions that can't support GL_ARB_shading_language_420pack
2016-09-21 13:20:28 +09:00
rob
42fe8c31f1
Do not add layout qualifiers to variables for GLSL versions that don't support it
2016-09-21 10:21:52 +09:00
Hans-Kristian Arntzen
4d4e6d7a41
Document variable type remap interface a bit more.
...
Fix some minor missing pieces from C++.
Type remapping like this doesn't seem to fit MSL backend so well, as it
does a lot of remapping internally on its own.
Type name remapping, really is for fringe extension cases in GLSL which
aren't yet supported in SPIR-V.
2016-09-20 10:55:09 +02:00
Panagiotis Christopoulos Charitos
66e76d903f
Add support of variable type remapping
2016-09-20 10:26:07 +02:00
Hans-Kristian Arntzen
6cc9624e88
Run format.sh.
2016-09-17 18:46:10 +02:00
Lubos Lenco
30dfd0d9b7
Clean up.
2016-09-17 18:42:38 +02:00
Lubos Lenco
1caaf2bba6
Typo.
2016-09-17 15:59:41 +02:00
Lubos Lenco
521586445f
Clean up.
2016-09-17 15:56:23 +02:00
Lubos Lenco
80c394160a
Legacy GLES extensions.
2016-09-17 14:33:16 +02:00
Rob Fischer
2199063e3c
For arrayed textures in GLSL < 130, require GL_EXT_texture_array and emit correct texture lookup function names
2016-09-17 17:01:50 +09:00
Hans-Kristian Arntzen
378fbe8b92
Consistently use "image" nomenclature for separate images.
2016-09-11 13:48:25 +02:00
Hans-Kristian Arntzen
b4c67dafdd
Pass down combined samplers to callees.
2016-09-11 13:20:35 +02:00
Hans-Kristian Arntzen
bff273636f
Skip arguments if necessary.
2016-09-11 13:05:44 +02:00
Hans-Kristian Arntzen
313cb5f820
Declare shadow arguments.
2016-09-11 12:54:08 +02:00
Hans-Kristian Arntzen
948930b171
Build new IDs for shadow arguments.
2016-09-11 12:36:12 +02:00
Hans-Kristian Arntzen
dfb6597ee4
Begin redirecting separate params to other params.
2016-09-11 12:05:20 +02:00
Hans-Kristian Arntzen
dd1513b814
Trace usage of image/sampler variants through calls.
2016-09-10 21:52:22 +02:00
Hans-Kristian Arntzen
14bc1ffed8
Correctly emit variable declarations for combined image samplers.
...
Only support direct accesses to global variables in this commit.
2016-09-10 18:09:32 +02:00
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
32b463f740
Only check for image load/store if sampling type is 2.
...
uniform texture2D is sampling type 1.
2016-09-10 13:00:07 +02:00
Bill Hollings
cf476f36d1
Merge MSL with upstream.
2016-08-31 21:00:56 -04:00
Hans-Kristian Arntzen
f61a5d1e5d
Implement dead variable elimination.
2016-08-26 12:58:50 +02:00
Hans-Kristian Arntzen
6ae838c192
Fix legacy GLSL output with gl_FragData.
...
If the source GLSL file accessed gl_FragData, we got double up
with array access, giving invalid GLSL.
2016-08-18 12:55:19 +02:00
Hans-Kristian Arntzen
1c78f353a4
Merge pull request #39 from KTXSoftware/master
...
Change variable names beginning with gl_ in GLSL
2016-08-13 23:41:50 +02:00