Hans-Kristian Arntzen
044d3c8911
Basic image load store and atomics.
2017-10-24 09:55:25 +02:00
Hans-Kristian Arntzen
e620c99c04
Merge pull request #312 from rossy/hlsl-static-spec-const
...
Use 'static const' for spec constants in HLSL
2017-10-21 13:43:38 +02:00
James Ross-Gowan
1f16f0d260
Use 'static const' for spec constants in HLSL
...
If 'const' is used, the shader expects the variable to be backed by a
constant buffer. 'static const' is probably preferred for a value that
is initialized with a constant in the HLSL source code.
FXC also emits a warning for 'const' variables with initializers, since
'static const' was probably intended.
2017-10-21 19:19:32 +11:00
Hans-Kristian Arntzen
129d8b534f
Merge pull request #309 from KhronosGroup/fix-308
...
Do not emit layout(location) for fragment output pre-330.
2017-10-19 16:48:36 +02:00
Hans-Kristian Arntzen
f4d23cd779
Also check IO location for blocks.
2017-10-19 14:17:18 +02:00
Hans-Kristian Arntzen
b5938e0538
Do not emit layout(location) for fragment output pre-330.
2017-10-19 10:31:48 +02:00
Hans-Kristian Arntzen
cbcf7a4eeb
Merge pull request #306 from KhronosGroup/fix-305
...
Only emit layout() on vertex inputs in version 330/300 es.
2017-10-18 11:01:24 +02:00
Hans-Kristian Arntzen
712084b5b2
Only emit layout() on vertex inputs in version 330/300 es.
2017-10-18 09:56:13 +02:00
Hans-Kristian Arntzen
0cabdcb7c2
Merge pull request #304 from KhronosGroup/buffer-packing-improvements
...
Overhaul buffer packing in HLSL and GLSL
2017-10-11 09:27:14 +02:00
Hans-Kristian Arntzen
d48876ac41
Add test for stripped cbuffer members.
2017-10-10 17:40:37 +02:00
Hans-Kristian Arntzen
94ff355812
Fix some naming issues for stripped and flattened structs.
2017-10-10 17:32:26 +02:00
Hans-Kristian Arntzen
1ec1bec296
Try to fix Travis on OSX.
2017-10-10 16:38:56 +02:00
Hans-Kristian Arntzen
c68c72c5be
Fix ARB_enhanced_layout test.
2017-10-10 16:25:47 +02:00
Hans-Kristian Arntzen
7464232f67
Run format_all.sh.
2017-10-10 16:13:03 +02:00
Hans-Kristian Arntzen
620d01c5d6
Generate decorations for row_major/column_major in HLSL.
2017-10-10 16:11:25 +02:00
Hans-Kristian Arntzen
6feff98295
Update HLSL cbuffer tests.
2017-10-10 15:37:53 +02:00
Hans-Kristian Arntzen
b9814a09bc
Add more robust HLSL packing support.
2017-10-10 15:23:07 +02:00
Hans-Kristian Arntzen
f0200bb18d
Use packoffset in HLSL.
...
Rewrite how cbuffers are emitted.
2017-10-10 13:15:49 +02:00
Hans-Kristian Arntzen
a8e991dec6
Run format_all.sh.
2017-10-10 11:31:05 +02:00
Hans-Kristian Arntzen
4d11220aa8
Add a test for enhanced layouts.
2017-10-10 11:30:29 +02:00
Hans-Kristian Arntzen
5a89606f26
Add support for GL_ARB_enhanced_layouts.
2017-10-10 11:05:46 +02:00
Hans-Kristian Arntzen
1079e7930b
Run format_all.sh.
2017-10-10 10:22:40 +02:00
Hans-Kristian Arntzen
6a7b95d2d6
Validate that std140 packing can actually be used.
2017-10-10 10:12:27 +02:00
Hans-Kristian Arntzen
4263956c02
Merge pull request #300 from ben-clayton/image-load-store
...
Require GL_ARB_shader_image_load_store extension.
2017-10-09 12:50:26 +02:00
Ben Clayton
e9621827c5
Require GL_ARB_shader_image_load_store extension.
...
The early_fragment_tests layout qualifier requires either OpenGL 4.2 or use of the GL_ARB_shader_image_load_store extension.
2017-10-09 10:37:11 +01:00
Hans-Kristian Arntzen
c9168cd981
Merge pull request #299 from KhronosGroup/fix-173
...
Stamp out all variants for mod().
2017-10-06 13:53:06 +02:00
Hans-Kristian Arntzen
9a9c850d81
Merge pull request #298 from KhronosGroup/fix-292
...
Handle empty struct declarations with best effort.
2017-10-06 13:52:56 +02:00
Hans-Kristian Arntzen
d4727fe696
Stamp out all variants for mod().
2017-10-06 13:21:42 +02:00
Hans-Kristian Arntzen
8538b4c9c0
Handle empty struct declarations with best effort.
...
This "feature" is a bit icky as we have no useful representation of it,
so never emit code which has anything to do with empty structs.
2017-10-06 13:05:14 +02:00
Hans-Kristian Arntzen
52a33bf2a5
Merge pull request #297 from KhronosGroup/rename-interface-structs
...
Automatically rename structs as well in rename_interface_variable.
2017-10-06 13:02:55 +02:00
Hans-Kristian Arntzen
51e50c06c0
Automatically rename structs as well in rename_interface_variable.
2017-10-06 12:35:55 +02:00
Bill Hollings
9f06d909e4
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2017-10-05 12:57:30 -04:00
Hans-Kristian Arntzen
a2dc7d5645
Merge pull request #294 from KhronosGroup/fix-264
...
HLSL: Only unroll matrices for vertex input.
2017-10-05 17:17:00 +02:00
Hans-Kristian Arntzen
eb58f67727
Only unroll matrices for vertex input.
...
Bandaid, might have to revisit this later.
2017-10-05 16:31:52 +02:00
Bill Hollings
39c865ed0d
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2017-10-03 10:03:16 -04:00
Hans-Kristian Arntzen
03861274af
Merge pull request #290 from KhronosGroup/storage-buffer
...
WIP: Specialization constant overhaul and StorageBuffer support
2017-10-03 09:14:20 +02:00
Bill Hollings
44347caff1
Add *.bc to .gitignore to ignore Xcode 9 intermediate compiled shader files.
...
spirv_msl.hpp use numeric_limits instead of UINT32_MAX.
2017-10-02 18:13:08 -04:00
Bill Hollings
bd021395f0
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2017-10-02 17:27:34 -04:00
Hans-Kristian Arntzen
067f241bf8
Runtime arrays do not work yet in MSL, so don't try to test that yet.
2017-10-02 09:24:16 +02:00
Hans-Kristian Arntzen
ecaea50739
Add SPVASM test from clspv.
2017-09-29 12:20:57 +02:00
Hans-Kristian Arntzen
aab3107a3f
Add WorkGroupID/NumWorkGroups to MSL. Fix block name alias.
2017-09-29 12:16:53 +02:00
Hans-Kristian Arntzen
db5d49f04a
Add SPVASM testing support for HLSL/MSL.
2017-09-29 11:07:11 +02:00
Hans-Kristian Arntzen
98b91e52f4
Run format_all.sh.
2017-09-29 10:52:04 +02:00
Hans-Kristian Arntzen
6583de8de7
ConstantID can be 0 for spec constants.
2017-09-29 10:33:28 +02:00
Hans-Kristian Arntzen
cff0fb57dc
Add specialization constant work group size test for MSL.
2017-09-29 10:22:19 +02:00
Hans-Kristian Arntzen
825f07c04a
Add test for specialization constant workgroup size on HLSL.
2017-09-29 10:21:02 +02:00
Hans-Kristian Arntzen
84f8c9935b
Declare work group size constants in HLSL and MSL.
...
Technically not needed, but it does make compute code easier to read
compared to magical constants being used for work group size.
2017-09-29 10:15:33 +02:00
Hans-Kristian Arntzen
153fed031d
Add basic support for StorageClassStorageBuffer.
...
Needs more testing, but seems to work.
2017-09-28 13:29:57 +02:00
Hans-Kristian Arntzen
fae64f032d
Correctly resolve constant expressions for WorkGroupSize.
2017-09-28 12:34:48 +02:00
Hans-Kristian Arntzen
0e4ed4102b
Only declare with specialization constant when in Vulkan semantics.
2017-09-28 12:24:04 +02:00