Commit Graph

783 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
89a29becd4 Add support for coherent SSBO qualifiers. 2017-08-28 08:59:54 +02:00
Hans-Kristian Arntzen
f0b4df00cd Merge pull request #262 from KhronosGroup/fix-253
Add sampler buffer support to HLSL.
2017-08-21 10:38:04 +02:00
Hans-Kristian Arntzen
e8d2c8e710 Support samplerBuffer as function parameters in HLSL. 2017-08-21 10:26:44 +02:00
Hans-Kristian Arntzen
e8d5d71cad Add sampler buffer support to HLSL. 2017-08-21 10:01:03 +02:00
Hans-Kristian Arntzen
d70d558292 Merge pull request #261 from KhronosGroup/fix-259
Fix variable scoping when dest block only uses OpPhi to read variable.
2017-08-21 09:47:18 +02:00
Hans-Kristian Arntzen
a1c0ab67eb Fix variable scoping when dest block only uses OpPhi to read variable. 2017-08-21 09:36:53 +02:00
Hans-Kristian Arntzen
6b7b76a63f Merge pull request #257 from KhronosGroup/fix-215
Add support for querying SPIR-V Capabilities and Extensions.
2017-08-15 15:48:15 +02:00
Hans-Kristian Arntzen
8d7a909c92 Add support for querying SPIR-V Capabilities and Extensions. 2017-08-15 15:27:53 +02:00
Hans-Kristian Arntzen
b0985b6a93 Merge pull request #256 from KhronosGroup/multiview
Add support for SPV_KHR_multiview.
2017-08-15 13:43:07 +02:00
Hans-Kristian Arntzen
d7f38ab4bf Add support for SPV_KHR_multiview. 2017-08-15 13:28:16 +02:00
Hans-Kristian Arntzen
d36bd4fb9c Merge pull request #255 from KhronosGroup/fix-249
Basic HLSL compute shader support
2017-08-15 10:43:03 +02:00
Hans-Kristian Arntzen
945425eaa8 Add some access chain tests. 2017-08-15 10:23:04 +02:00
Hans-Kristian Arntzen
4375aa3fd2 Refactor out access chain reads.
Prepare for matrix, array and struct loads.
2017-08-15 10:12:08 +02:00
Hans-Kristian Arntzen
af2b233582 Add test for ByteAddressBuffer vs. RWByteAddressBuffer. 2017-08-15 09:39:45 +02:00
Hans-Kristian Arntzen
e2bb5b8959 Add test for compute shader builtins. 2017-08-15 09:35:23 +02:00
Hans-Kristian Arntzen
247ab1ce24 Declare ByteAddressBuffer/RWByteAddressBuffer. 2017-08-15 09:15:23 +02:00
Hans-Kristian Arntzen
7d7f4b3b50 Emit flattened loads and stores. 2017-08-15 09:15:23 +02:00
Hans-Kristian Arntzen
3cbdbec712 Begin implementing ByteAddressBuffer flattening for HLSL. 2017-08-15 09:15:23 +02:00
Hans-Kristian Arntzen
3589c64007 Merge pull request #254 from brenwill/master
Fix issues #239 & #245
2017-08-12 21:19:56 +02:00
Bill Hollings
1e84a379ff Fix issue #245: assignment of flattened input struct.
Emit input struct assignment by assigning member by member from stage_in struct.
Map qualified member name from pointer type, not base type.
Add Comiler::expression_type_id() function, similar to expression_type().
2017-08-12 00:21:13 -04:00
Bill Hollings
d461ca03cc Merge branch 'master' of https://github.com/brenwill/SPIRV-Cross 2017-08-11 14:56:28 -04:00
Bill Hollings
77f5812c55 Fix issue #239: compilation of shaders-msl/frag/texture-proj-shadow.frag.
Remove unsupported sampler1DShadow from shaders-msl/frag/texture-proj-shadow.frag.
Improve error message response from unsupported depth texture formats.
Fix several integer cast warnings in unrelated code.
Run ./format_all.sh on unrelated files.
2017-08-11 14:54:58 -04:00
Bill Hollings
62d12b1e4a Fix compilation issue with shaders-msl/frag/texture-proj-shadow.frag.
Remove unsupported Depth1D texture from shaders-msl/frag/texture-proj-shadow.frag.
Improve error message response from unsupported depth texture formats.
Fix several integer cast warnings in unrelated code.
Run ./format_all.sh on unrelated files.
2017-08-11 14:52:14 -04:00
Hans-Kristian Arntzen
6cda7f120b Merge pull request #246 from KhronosGroup/fix-241
Unify vertex clip-coord fixups.
2017-08-11 12:42:10 +02:00
Hans-Kristian Arntzen
dd4c5ce068 Merge pull request #252 from brenwill/master
CompilerMSL enhancements.
2017-08-11 12:41:24 +02:00
Bill Hollings
730257cf67 Merge upstream 2017-08-10 17:27:01 -04:00
Hans-Kristian Arntzen
9dbbe7c3d7 Merge pull request #251 from KhronosGroup/fix-250
Preserve arguments with inout unless complete writes are made.
2017-08-09 17:33:11 +02:00
Hans-Kristian Arntzen
744d0405b0 Preserve arguments with inout unless complete writes are made. 2017-08-09 17:06:41 +02:00
Hans-Kristian Arntzen
14cd000f3d Merge pull request #247 from KhronosGroup/fix-244
Support OpConstantNull.
2017-08-03 14:55:41 +02:00
Hans-Kristian Arntzen
48ccde3779 Support OpConstantNull. 2017-08-03 14:32:29 +02:00
Hans-Kristian Arntzen
bdfa97a1cf Unify vertex clip-coord fixups.
The different options were scattered around in different backends and
didn't really work right with CLI at all.
2017-08-03 13:02:59 +02:00
Hans-Kristian Arntzen
98b0c29f9d Merge pull request #243 from KhronosGroup/fix-242
Declare undefined variables (OpUndef) upfront.
2017-08-02 12:13:05 +02:00
Hans-Kristian Arntzen
a4fafa0607 Fix edge-case where do/while body is a dominator.
Shows up quite a lot in inlined code, should get more test coverage in
this area ...
2017-08-02 11:58:24 +02:00
Hans-Kristian Arntzen
2abdc135c3 Declare undefined values up front.
They might potentially be used as part of OpStore in the SPIRV-Tools
inliner in some cases.

Implement these as declared variables but without any initializer.
2017-08-02 10:33:03 +02:00
Hans-Kristian Arntzen
8f4bbdeb0c Merge pull request #237 from KhronosGroup/fix-236
Fix spurious struct type aliasing in stripped binaries.
2017-07-31 12:00:29 +02:00
Hans-Kristian Arntzen
f7b300d31e Merge pull request #240 from KhronosGroup/fix-222
Do not emit layout(location) qualifiers for older GLSL targets.
2017-07-31 11:31:46 +02:00
Hans-Kristian Arntzen
56e71c1dad Do not emit layout(location) qualifiers for older GLSL targets.
ESSL 300 and GLSL <410 do not support this along with legacy targets.
2017-07-31 11:17:02 +02:00
Hans-Kristian Arntzen
dea2ee7f29 Merge pull request #238 from KhronosGroup/fix-221
Fix textureProj with shadow on GLSL.
2017-07-31 10:23:19 +02:00
Hans-Kristian Arntzen
f337e50844 Remove MSL textureProj test shader. Need to sort it out later. 2017-07-31 10:16:07 +02:00
Hans-Kristian Arntzen
cbcaca5a39 Fix textureProj with shadow on GLSL. 2017-07-31 10:05:32 +02:00
Hans-Kristian Arntzen
818c1bea21 Fix spurious struct type aliasing in stripped binaries.
Should not consider aliasing when names are stripped.
2017-07-31 09:31:20 +02:00
Hans-Kristian Arntzen
24c35e3fb3 Merge pull request #235 from KhronosGroup/hlsl-spec-constant
Declare specialization constants in HLSL.
2017-07-30 06:32:20 +02:00
Hans-Kristian Arntzen
0817869797 Merge pull request #234 from KhronosGroup/member-name-fix
Fix default member name implementation.
2017-07-30 06:32:12 +02:00
Hans-Kristian Arntzen
98c76eed69 Declare specialization constants in HLSL. 2017-07-29 22:13:27 +02:00
Hans-Kristian Arntzen
dbaaf1b69e Add test for default member names. 2017-07-29 21:58:37 +02:00
Hans-Kristian Arntzen
955319aa66 Update test files. 2017-07-29 21:47:28 +02:00
Hans-Kristian Arntzen
1c6df1b7b4 Use _m* for member names without OpMemberName.
Member names could conflict with type names in stripped modules with
very large structs.
2017-07-29 21:44:20 +02:00
Hans-Kristian Arntzen
7fd7dc9266 Merge pull request #229 from KhronosGroup/cfg-walk-optimize
Optimize CFG walking
2017-07-25 21:13:59 +02:00
Hans-Kristian Arntzen
0d14448b4d Minor optimization of enclose_expression. 2017-07-25 18:25:03 +02:00
Hans-Kristian Arntzen
f0c50a618d Fix parsing time explosion for huge shaders.
Need to prune already walked blocks.
2017-07-25 18:22:15 +02:00