Commit Graph

1153 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
e7bf8d2f48 Refactor out noopt shaders to their own folders.
Makes maintenance easier with less clutter.
2018-03-13 10:39:49 +01:00
Hans-Kristian Arntzen
1a4a36b6cd Experiment a bit more with Travis.
It's hanging for some reason on OSX build of spirv-tools.
2018-03-12 19:18:27 +01:00
Hans-Kristian Arntzen
5a746ba941 Split checkout and build on Travis CI.
Seems to be getting timeouts.
2018-03-12 18:25:44 +01:00
Hans-Kristian Arntzen
4979d10b54 Implement packHalf2x16/unpackHalf2x16 on MSL. 2018-03-12 17:51:14 +01:00
Hans-Kristian Arntzen
ae2680c898 Make sure ballotARB inherits expression dependencies. 2018-03-12 17:42:48 +01:00
Hans-Kristian Arntzen
938c7debed Handle control-dependent temporaries.
Derivatives, subgroup and implicit-lod instructions all need to happen
in the block they were created.
2018-03-12 17:34:54 +01:00
Hans-Kristian Arntzen
012377f811 Refactor block IO emission to use bitset. 2018-03-12 15:59:34 +01:00
Hans-Kristian Arntzen
955eac522b Make use of the handy scripts for Travis as well. 2018-03-12 15:15:06 +01:00
Hans-Kristian Arntzen
9fbd8b789e Update tests for latest SPIRV-Tools and glslang. 2018-03-12 15:11:55 +01:00
Hans-Kristian Arntzen
e8e58844d4 Rewrite everything to use Bitset rather than uint64_t. 2018-03-12 13:24:14 +01:00
Hans-Kristian Arntzen
29315f3b3f
Merge pull request #498 from JustSid/master
Added generation of the textureXYZGrad() legacy GLSL instruction
2018-03-11 21:11:32 +01:00
Sidney Just
e66fd6c2a0 Added generation of the textureXYZGrad() legacy GLSL instruction 2018-03-12 00:59:06 +10:00
Hans-Kristian Arntzen
0f9cb0da0d
Merge pull request #497 from KhronosGroup/fix-489
Deprecate old set_options()/get_options() interface in favor of explicit names.
2018-03-09 15:37:19 +01:00
Hans-Kristian Arntzen
9a52713d77 Run format_all.sh. 2018-03-09 15:26:36 +01:00
Hans-Kristian Arntzen
a803e5ae38 Deprecate set_options()/get_options() interface, replace it.
Replace with common/hlsl/msl instead. The old interface had some bad
interaction with overloading which meant you had to up-cast to base
class to be able to use set_options, which was awkward.
2018-03-09 15:25:25 +01:00
Hans-Kristian Arntzen
236b2fa47c
Merge pull request #496 from KhronosGroup/fix-494
Handle Phi expressions being invalidated at end of a block.
2018-03-09 15:00:22 +01:00
Hans-Kristian Arntzen
e3b8e9455c Add test shader where a phi variable invalidates a temporary.
The temporary in question is used to flush a phi variable.
2018-03-09 14:42:26 +01:00
Hans-Kristian Arntzen
1de74fdabd Explicitly emit break/continues in selection branches. 2018-03-09 13:59:39 +01:00
Hans-Kristian Arntzen
e0efa737ca Expand the implementation of inherit_expression_dependencies. 2018-03-09 13:21:38 +01:00
Hans-Kristian Arntzen
01fbb3a342
Merge pull request #495 from KhronosGroup/fix-493
Fix cases where loops and branches merge into continue blocks.
2018-03-09 09:04:16 +01:00
Hans-Kristian Arntzen
28cccc3dbb Emit complex continue blocks "properly". 2018-03-08 17:59:21 +01:00
Hans-Kristian Arntzen
54549a624f Add some test shaders for special merge methods. 2018-03-08 16:48:50 +01:00
Hans-Kristian Arntzen
8d557d4103 Handle cases where merge selects as also loop merge or continue blocks. 2018-03-08 14:01:10 +01:00
Hans-Kristian Arntzen
8c8a93f745
Merge pull request #492 from KhronosGroup/fix-488
Disallow arrays and structs from becoming loop variables.
2018-03-07 15:04:57 +01:00
Hans-Kristian Arntzen
922420e346 Disallow arrays and structs from becoming loop variables.
Fixes awkward code-gen issue.
2018-03-07 14:54:11 +01:00
Hans-Kristian Arntzen
2e5d06d1ce
Merge pull request #485 from KhronosGroup/fix-484
Add true FP16 support.
2018-03-07 11:59:12 +01:00
Hans-Kristian Arntzen
bdabd0c73a Disable double test in MSL FP16 tests. 2018-03-07 11:36:26 +01:00
Hans-Kristian Arntzen
723bec5d33 frexp/ldexp fails in debug builds, workaround temporarily. 2018-03-07 11:20:53 +01:00
Hans-Kristian Arntzen
0780820a7b Skip interpolateAt tests with FP16. 2018-03-07 10:58:38 +01:00
Hans-Kristian Arntzen
ac0e93f392 Run format_all.sh. 2018-03-07 10:29:20 +01:00
Hans-Kristian Arntzen
18ad1be3c3 Add FP16 test for MSL as well. 2018-03-07 10:29:11 +01:00
Hans-Kristian Arntzen
47d94ff8d9 Add FP16 to HLSL.
Cannot be used in buffer types, similar to mediump in GLSL.
half is useless, because it's 32-bit in FXC.
2018-03-07 10:21:25 +01:00
Hans-Kristian Arntzen
770ed25f29
Merge pull request #487 from KhronosGroup/fix-486
Add builtin GLSL functions to blacklist.
2018-03-06 18:21:39 +01:00
Hans-Kristian Arntzen
15a941cd3d Add builtin GLSL functions to blacklist. 2018-03-06 17:37:47 +01:00
Hans-Kristian Arntzen
d9da2db442 Some compat fixes for MSL and Half. 2018-03-06 17:09:18 +01:00
Hans-Kristian Arntzen
547278da12 Test denormal fp16 constants. 2018-03-06 17:09:18 +01:00
Hans-Kristian Arntzen
24dfe496c2 Run format_all.sh. 2018-03-06 17:09:18 +01:00
Hans-Kristian Arntzen
05348a66ca Add test shader for FP16 support. 2018-03-06 17:09:18 +01:00
Hans-Kristian Arntzen
bc0f698df3 Fix packing alignments for float16. 2018-03-06 17:09:18 +01:00
Hans-Kristian Arntzen
91f85d3412 Begin adding float16_t support to GLSL. 2018-03-06 17:09:18 +01:00
Hans-Kristian Arntzen
b0a2de5b63
Merge pull request #483 from KhronosGroup/fix-466
Overhaul type_alias for MSL.
2018-03-06 16:41:04 +01:00
Hans-Kristian Arntzen
38d9d8af68 Add some more MSL test shaders. 2018-03-05 16:42:38 +01:00
Hans-Kristian Arntzen
5fe79eb59c Update tests.
Adds an earlier reported shader packing failure into regression suite.
2018-03-05 16:34:42 +01:00
Hans-Kristian Arntzen
294259e2f1 Fix type aliasing on MSL.
Be careful about who gets to be the alias master, and don't alias types
when we have packed types in play.
2018-03-05 16:27:04 +01:00
Hans-Kristian Arntzen
c9516fa917 Fix OSX Travis. 2018-03-02 09:47:37 +01:00
grovesNL
94cd77799f Move rename_interface_variable to util 2018-03-01 23:47:08 -07:00
Hans-Kristian Arntzen
467c95679e
Merge pull request #480 from KhronosGroup/fix-476
Take execution model into account for entry point methods.
2018-03-01 14:42:16 +01:00
Hans-Kristian Arntzen
1e4db56a65 Run format_all.sh. 2018-03-01 14:03:59 +01:00
Hans-Kristian Arntzen
eecbeaa33d Take execution model into account for entry point methods.
SPIR-V allows names to alias if they implement different stages.
Deprecate the old interface and replace it with a new one which takes
execution modes into account.
2018-03-01 14:00:55 +01:00
Hans-Kristian Arntzen
337150f12d
Merge pull request #479 from KhronosGroup/fix-477
Support Invariant for BuiltInPosition.
2018-03-01 12:53:26 +01:00