Commit Graph

981 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
27ad8c0922 Add more exhaustive test for barrier handling. 2018-01-09 12:26:46 +01:00
Hans-Kristian Arntzen
166eed8c18 Add test shaders for barriers. 2018-01-09 12:19:31 +01:00
Hans-Kristian Arntzen
7bb8874b43 Optimize away redundant barriers. 2018-01-09 12:17:38 +01:00
Hans-Kristian Arntzen
9c72aa00c9 Overhaul barrier handling in GLSL. 2018-01-09 12:07:07 +01:00
Hans-Kristian Arntzen
23f0abf112 Update tests for struct flattening. 2018-01-09 10:40:34 +01:00
Hans-Kristian Arntzen
18f60ed9a9 Update glslang.
Not SPIRV-Tools yet, mis-optimizes many shaders which used to work fine.
2018-01-09 10:37:12 +01:00
Hans-Kristian Arntzen
1a5a755ce5 Flatten structs based on instance name rather than block name.
Block name is too brittle, optimizes will merge block types, making
flattening impossible with unique names.
2018-01-09 10:36:04 +01:00
Hans-Kristian Arntzen
f708b497a4 Opt in to gl_in/gl_out handling rather than other way around. 2018-01-09 09:16:33 +01:00
Hans-Kristian Arntzen
c7aac59188
Merge pull request #385 from billhollings/master
Revert to not forcing gl_in/gl_out block for MSL.
2018-01-09 09:07:30 +01:00
Bill Hollings
27d4af75a0 Revert to not forcing gl_in/gl_out block for MSL, and add MSL gl_ClipDistance tests. 2018-01-08 16:18:34 -05:00
Hans-Kristian Arntzen
513ba86fc8
Merge pull request #373 from billhollings/master
CompilerMSL enhancements PLUS refactoring of MSL tests to avoid optimization crashes
2018-01-08 09:04:03 +01:00
Bill Hollings
6371d9e43a CompilerMSL emit no-warning pragma when emitting spvConvertFromRowMajorCxR functions. 2018-01-06 00:51:25 -05:00
Bill Hollings
5ee6b46087 Fixes from review of PR #373.
Code fixes from review.
Refactor MSL tests back to using the SPIRV-Tools
and glslang loaded by checkout_glslang_spirv_tools.sh.
2018-01-05 23:22:36 -05:00
Bill Hollings
d8d2da9d8d CompilerMSL allow swizzle of packed_float3 vectors by unpacking to float3.
Pass packed indicator back through OpAccessChain and OpLoad.
Unpack packed vector before applying swizzle.
Add packed swizzle test.
2018-01-05 17:46:56 -05:00
Bill Hollings
3a7e8a1035 CompilerMSL fix bad cast error on result type derivation. 2018-01-04 21:13:38 -05:00
Bill Hollings
8890578d2a CompilerMSL support conversion of non-square row-major matrices. 2018-01-04 16:33:45 -05:00
Hans-Kristian Arntzen
dc01e7c760
Merge pull request #381 from KhronosGroup/fix-375
Fix tessellation control shaders from HLSL.
2018-01-04 16:44:52 +01:00
Hans-Kristian Arntzen
9bdfd7025e Fix tessellation control shaders from HLSL.
Need to take into account that gl_Position[i] needs to be rewritten as
gl_out[i].gl_Position instead.
2018-01-04 16:22:44 +01:00
Hans-Kristian Arntzen
8412b10550
Merge pull request #380 from KhronosGroup/fix-368
Add support for gl_ViewportIndex.
2018-01-04 14:09:36 +01:00
Hans-Kristian Arntzen
41ffb1064e Add basic test for viewport-index builtin. 2018-01-04 13:51:05 +01:00
Hans-Kristian Arntzen
c4e787ccf8
Merge pull request #378 from KhronosGroup/fix-371
Fix swizzling of scalar integers in HLSL.
2018-01-04 13:42:27 +01:00
Hans-Kristian Arntzen
81395b067d
Merge pull request #377 from KhronosGroup/fix-367
Support arrays of images in HLSL
2018-01-04 13:18:49 +01:00
Hans-Kristian Arntzen
4590c63b40 Fix swizzling of integers.
Add scalar swizzling to constant composites as well.
2018-01-04 13:16:56 +01:00
Hans-Kristian Arntzen
f825bd90ef Support ViewportIndex builtin. 2018-01-04 12:41:25 +01:00
Hans-Kristian Arntzen
e51b7cd162 Add test for sampler arrays. 2018-01-04 12:28:57 +01:00
Hans-Kristian Arntzen
d9c0948a9c Run format_all.sh. 2018-01-04 12:15:55 +01:00
Hans-Kristian Arntzen
ec1180f198 Support arrays in to_sampler_expression. 2018-01-04 12:14:18 +01:00
Hans-Kristian Arntzen
c7f4b1528f Declare arrays of resources in HLSL. 2018-01-04 11:05:40 +01:00
Bill Hollings
1845f31397 Add option to control use of temp vars for OpVectorShuffle. 2017-12-31 18:55:04 -05:00
Bill Hollings
95910ddd5a MSL test shader refactoring to avoid optimization crashes. 2017-12-26 18:40:46 -05:00
Bill Hollings
a68b32733a CompilerMSL enhancements to nested function use of globals.
Allow function calls to include globals as arguments.
Allow function calls to include built-ins as arguments.
Include all meta info when creating function args from globals.
Do not manufacture a sampler for Buffer-type sampled images.
Add code option to test_shaders.py to preserve SPIR-V code for interactive debugging.
2017-12-26 16:32:45 -05:00
Bill Hollings
3fcdce08ab CompilerMSL support platform semantics.
Support customizing MSL based on iOS or macOS platform.
Support SPIV-V containing multiple memory semantics.
2017-12-26 13:39:07 -05:00
Hans-Kristian Arntzen
bcc96d8c70
Merge pull request #358 from zeux/master
msl generator enhancements/fixes
2017-12-13 20:01:09 +01:00
Vadim Shcherbakov
3376198740 and a bit better case placemenent 2017-12-13 13:03:31 +03:00
Vadim Shcherbakov
db402236a7 move BuiltInLayer to vertex out function block 2017-12-13 13:02:03 +03:00
Hans-Kristian Arntzen
fa27b56e26
Merge pull request #365 from KhronosGroup/fix-363
Validate HLSL output through FXC, fix various HLSL bugs.
2017-12-12 16:06:25 +01:00
Hans-Kristian Arntzen
51a48a7cef Always return win_path for FXC. 2017-12-12 13:33:13 +01:00
Hans-Kristian Arntzen
69e0935e1b Add current directory to PATH when running test scripts. 2017-12-12 13:28:15 +01:00
Hans-Kristian Arntzen
789fa91987 Support running FXC on Unix-likes as well.
Assumes a wine wrapper script is set up, but should be good enough.
2017-12-12 13:23:56 +01:00
Hans-Kristian Arntzen
ffad50b3c2 Remove duplicate swizzles in remap_swizzle.
Makes HLSL image-load-store look much nicer.
2017-12-12 13:01:10 +01:00
Hans-Kristian Arntzen
1c7980a778 Swizzle scalars when splatting in HLSL. 2017-12-12 12:52:45 +01:00
Hans-Kristian Arntzen
950732512e Fix compatibility with FXC. 2017-12-12 12:35:22 +01:00
Vadim Shcherbakov
717d9fefd8 another formatting fix and a comment 2017-12-11 21:02:13 +03:00
Hans-Kristian Arntzen
f7b1ac2e6a
Merge pull request #364 from KhronosGroup/byteaddress-namespace
Use t-namespace for ByteAddressBuffer.
2017-12-11 15:04:50 +01:00
Hans-Kristian Arntzen
cc532cb7b6 Use t-namespace for ByteAddressBuffer.
FXC caught it, but not glslang, hm ...
2017-12-11 13:55:26 +01:00
Hans-Kristian Arntzen
918b451b7e Explicitly use Unix Makefiles when building on Windows. 2017-12-11 13:22:55 +01:00
Hans-Kristian Arntzen
3630d7ef75
Merge pull request #360 from KhronosGroup/vulkan-glsl-desktop-mediump
Support mediump in desktop Vulkan GLSL.
2017-12-07 17:40:14 +01:00
Hans-Kristian Arntzen
f586ef19ae
Merge pull request #361 from KhronosGroup/fix-348
Support VertexID/InstanceID in HLSL.
2017-12-07 15:26:51 +01:00
Vadim Shcherbakov
6c41f9e9da MSL improvements:
- pack/unpack nested constant buffer structs
- support for write-only textures (only global ones for now)
- better rt index support for msl generator
2017-12-06 09:52:07 -08:00
Hans-Kristian Arntzen
5e9b53e354 Support VertexID/InstanceID in HLSL. 2017-12-06 11:01:32 +01:00