Hans-Kristian Arntzen
301e981203
Merge pull request #60 from KhronosGroup/spec-constant
...
Add more complete specialization constant support
2016-10-03 17:33:28 +02: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
6bd545bc6b
Basic support for specialization constant reflection.
2016-10-03 12:29:46 +02:00
Hans-Kristian Arntzen
48ca43c8e0
Merge pull request #59 from h3xl3r/master
...
MSL: Add color attribute qualifiers to fragment function outputs
2016-10-01 09:37:32 +02:00
rob
8bdc4060e8
MSL: Add color attribute qualifiers to fragment function outputs
2016-10-01 15:46:43 +09:00
Hans-Kristian Arntzen
25c4467a10
Add tests for all geometry shader primitive types.
2016-09-28 08:23:21 +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
18129663d9
Run format.sh.
2016-09-21 08:20:16 +02:00
Hans-Kristian Arntzen
62d223adda
Comment the workaround for layout_for_variable.
2016-09-21 08:20:04 +02:00
Hans-Kristian Arntzen
64f62e53ce
Merge branch 'master' of git://github.com/h3xl3r/SPIRV-Cross
2016-09-21 08:17:02 +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
394521b287
Workaround compiler crash in VS 2013.
2016-09-19 13:17:04 +02:00
Hans-Kristian Arntzen
6cc9624e88
Run format.sh.
2016-09-17 18:46:10 +02:00
Hans-Kristian Arntzen
64a2803dec
Merge pull request #53 from luboslenco/master
...
Legacy GLES extensions.
2016-09-17 18:45:01 +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
Hans-Kristian Arntzen
b812cec992
Merge pull request #52 from h3xl3r/master
...
Fix for array textures in GLSL < 130, and fix for MSL sequential resource binding
2016-09-17 14:20:52 +02:00
Rob Fischer
691072894f
Reset MSL sequential resource binding EACH pass
2016-09-17 18:30:58 +09: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
5fa4bc6874
Merge pull request #51 from h3xl3r/master
...
Emit header_lines for MSL also
2016-09-17 08:46:29 +02:00
Rob Fischer
e2a37b6301
Emit header_lines for MSL also
2016-09-17 12:21:37 +09:00
Hans-Kristian Arntzen
f1079941c4
Merge pull request #50 from h3xl3r/master
...
Correct vector's size begin checked
2016-09-16 08:03:17 +02:00
Rob Fischer
3e45786fbc
Correct vector's size begin checked
...
This caused a null pointer being used when called with p_vtx_attrs = nullptr and p_res_bindings != nullptr
2016-09-16 09:14:22 +09:00
Hans-Kristian Arntzen
706d3ead29
Always run spirv-val for SPIR-V files created.
...
Add way to disable testing if SPIR-V is not validating properly.
2016-09-12 20:11:30 +02:00
Hans-Kristian Arntzen
88681fd7fd
Struct packing test now works again in glslang.
2016-09-12 19:39:43 +02:00
Hans-Kristian Arntzen
41f9fd9ef0
Merge pull request #48 from KhronosGroup/combined-image-samplers
...
Support separate image samplers in GLSL/ESSL
2016-09-11 19:18:17 +02:00
Hans-Kristian Arntzen
378fbe8b92
Consistently use "image" nomenclature for separate images.
2016-09-11 13:48:25 +02:00
Hans-Kristian Arntzen
3c5f55cde1
Add special test for more coverage in combined image sampler.
2016-09-11 13:41:38 +02:00
Hans-Kristian Arntzen
50839910a2
Separate image samplers are compatible now.
2016-09-11 13:26:03 +02:00
Hans-Kristian Arntzen
fab9ee8adf
Update separate sampler test.
2016-09-11 13:23:38 +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
a5f0abdc11
Use the "SPIRV_Cross" naming scheme for generated uniforms.
2016-09-11 12:13:31 +02:00
Hans-Kristian Arntzen
dfb6597ee4
Begin redirecting separate params to other params.
2016-09-11 12:05:20 +02:00
Hans-Kristian Arntzen
ed98a8ec86
Begin implementing parameter remapping for combined image sampler.
...
The basic idea here is that all functions will have a list of which
combinations of parameters will be combined inside the function.
The caller will then know which combined samplers must be provided to
the callee in order to satisfy it.
2016-09-11 11:39:20 +02:00
Hans-Kristian Arntzen
901b45e09a
Fix remap_parameter.
...
Need to return after backing variable resolve.
2016-09-10 22:21:57 +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