Hans-Kristian Arntzen
a6b71ae999
MSL: Support 64-bit integers.
2019-06-19 09:55:00 +02:00
Hans-Kristian Arntzen
2e1cee5e1e
MSL: Support PrimitiveID in fragment and barycentrics.
2019-06-19 09:52:35 +02:00
Hans-Kristian Arntzen
707312b83a
GLSL: Support NV barycentrics.
2019-06-19 09:52:35 +02:00
Hans-Kristian Arntzen
0671b3c35b
MSL: Support OpImageQueryLod.
...
Correctness is a bit unclear at the moment. The spec document for 2.2 is
not updated for query-lod, but this is the best we can do anyways.
2019-06-19 09:51:56 +02:00
Hans-Kristian Arntzen
f171d82590
MSL: Support MinLod operand.
2019-06-19 09:43:03 +02:00
Hans-Kristian Arntzen
05ea055096
Merge pull request #1032 from KhronosGroup/test-script-workaround
...
Make sure args.msl22 is set in test_shaders.py.
2019-06-18 19:59:00 +02:00
Hans-Kristian Arntzen
856a8d200e
Make sure args.msl22 is set in test_shaders.py.
...
Works locally, but apparently not on Travis?
2019-06-18 12:22:46 +02:00
Hans-Kristian Arntzen
e9ec5ce7b1
Merge pull request #1030 from KhronosGroup/msl-2.2-invalid-test
...
MSL: Fix path check in test_shaders.py.
2019-06-18 10:38:35 +02:00
Hans-Kristian Arntzen
33fc2ad8cc
MSL: Fix path check in test_shaders.py.
2019-06-18 10:36:10 +02:00
Hans-Kristian Arntzen
146dc453bc
Merge pull request #1029 from KhronosGroup/msl-2.2-validation-fix
...
Prepare for MSL 2.2 testing
2019-06-17 19:06:02 +02:00
Hans-Kristian Arntzen
be1e27a6e5
MSL: Conditionally validate MSL 2.2 shaders.
...
Travis CI Xcode image does not support MSL 2.2 yet (beta), so just do
local validation for now.
2019-06-17 16:07:07 +02:00
Hans-Kristian Arntzen
026a167549
MSL: New SDK errors out on cull distance.
...
Not supported, so just ignore this test for now, it should not have
compiled in the first place.
2019-06-14 12:12:40 +02:00
Hans-Kristian Arntzen
4104e36300
Merge pull request #1027 from KhronosGroup/fix-1026
...
MSL: Fix regression with Private parameter declaration.
2019-06-13 13:45:01 +02:00
Hans-Kristian Arntzen
d81bfc5b58
MSL: Fix regression with Private parameter declaration.
...
If we compile multiple times due to forced_recompile, we had
deferred_declaration = true while emitting function prototypes which
broke an assumption. Fix this by clearing out stale state before leaving
a function.
2019-06-13 10:36:21 +02:00
Hans-Kristian Arntzen
95053ea4bc
Merge pull request #1024 from KhronosGroup/fix-1016
...
GLSL/MSL: Support stencil export
2019-06-12 12:48:10 +02:00
Hans-Kristian Arntzen
00a8539d1d
Merge pull request #1022 from KhronosGroup/fix-1017
...
MSL: Support Invariant qualifier on position.
2019-06-12 11:35:08 +02:00
Hans-Kristian Arntzen
14d0a1eb0c
MSL: Support stencil export.
2019-06-12 10:21:20 +02:00
Hans-Kristian Arntzen
a9da59b0b8
GLSL: Support GL_ARB_shader_stencil_export.
2019-06-12 10:06:54 +02:00
Hans-Kristian Arntzen
a7b2ba28a0
MSL: Support Invariant qualifier on position.
2019-06-12 09:39:12 +02:00
Hans-Kristian Arntzen
fccf1d0462
Add MSL 2.2 path in test_shaders.py.
2019-06-12 09:30:41 +02:00
Hans-Kristian Arntzen
5e9e8918f9
Merge pull request #1020 from KhronosGroup/msl-constexpr-by-binding
...
MSL: Support remapping constexpr samplers by set/binding.
2019-06-11 10:11:29 +02:00
Hans-Kristian Arntzen
7fd379774e
Expand constexpr sampler sanity check.
2019-06-10 16:00:20 +02:00
Hans-Kristian Arntzen
30bb197a5d
MSL: Support remapping constexpr samplers by set/binding.
...
Older API was oriented around IDs which are not available unless you're
doing full reflection, which is awkward for certain use cases which know
their set/bindings up front.
Optimize resource bindings to be hashmap rather than doing linear seeks
all the time.
2019-06-10 15:41:36 +02:00
Hans-Kristian Arntzen
3e53273cc7
Merge pull request #1019 from KhronosGroup/fix-1018
...
Employ heuristics to figure out how to emit SSBO/UAV reflection names.
2019-06-10 14:05:37 +02:00
Hans-Kristian Arntzen
457eba355e
Employ heuristics to figure out how to emit SSBO/UAV reflection names.
...
This is rather shaky, but we don't have many choices here except add a
lot of awkward and unintuitive options. Try to deduce this from OpSource
and fallback to heuristic.
2019-06-10 11:24:24 +02:00
Hans-Kristian Arntzen
a38eb6209d
Merge pull request #1008 from KhronosGroup/fix-1007
...
Deal with case where a variable is dominated by inner part of a loop.
2019-06-06 14:41:50 +02:00
Hans-Kristian Arntzen
6b52b0fe8b
Deal with nested loops.
...
Actually need to hoist out variable to outermost loop.
2019-06-06 14:37:02 +02:00
Hans-Kristian Arntzen
02ae99f399
Use the existing loop dominator when doing loop variable preservation.
2019-06-06 12:22:28 +02:00
Hans-Kristian Arntzen
bf56dc88b9
Rewrite how loop dominators are propagated.
...
Do this analysis in the CFG stage rather than last minute with the
ad-hoc algorithm we had in place before CFG was introduced.
2019-06-06 12:17:46 +02:00
Hans-Kristian Arntzen
03d93abc1a
Deal with case where a variable is dominated by inner part of a loop.
...
There is a risk that we try to preserve a loop variable through multiple
iterations, even though the dominating block is inside a loop.
Fix this by analyzing if a block starts off by writing to a variable. In
that case, there cannot be any preservation going on. If we don't, pretend the
loop header is reading the variable, which moves the variable to an
appropriate scope.
2019-06-06 11:11:44 +02:00
Hans-Kristian Arntzen
720681da39
Merge pull request #1006 from KhronosGroup/fix-1003
...
Deal with case where a block is somehow emitted in a duplicated fashion.
2019-06-05 16:11:06 +02:00
Hans-Kristian Arntzen
990756b2d4
Merge pull request #1005 from pmoursnv/SPV_NV_ray_tracing
...
Add some missing features for NV_ray_tracing
2019-06-05 16:10:39 +02:00
Patrick Mours
8d64d5e776
Fix storage packing qualifiers missing on "shaderRecordNV" buffers
2019-06-05 13:31:24 +02:00
Patrick Mours
b1d406e481
Add test for callable data
2019-06-05 13:31:24 +02:00
Patrick Mours
be3035db26
Fix callable data variables
2019-06-05 13:31:24 +02:00
Patrick Mours
789178666f
Add support for "shaderRecordNV" qualifier
2019-06-05 13:31:24 +02:00
Hans-Kristian Arntzen
c09ca74c61
Deal with case where a block is somehow emitted in a duplicated fashion.
...
We seen to have to deal with a case where a block is used multiple times
without any "proper" structured control flow, so we risk losing deferred
declaration state.
2019-06-05 12:39:40 +02:00
Hans-Kristian Arntzen
af40a212c2
Fix erronous default for emit_line_directives.
2019-06-02 16:20:21 +02:00
Hans-Kristian Arntzen
2c396ae44b
Merge pull request #1000 from KhronosGroup/fix-998
...
MSL: Fix declaration of unused input variables.
2019-05-31 15:52:02 +02:00
Hans-Kristian Arntzen
314efdcc42
MSL: Fix declaration of unused input variables.
...
In multiple-entry-point modules, we declared builtin inputs which were
not supposed to be used for that entry point.
Fix this, by being more strict when checking which builtins to emit.
2019-05-31 13:23:34 +02:00
Hans-Kristian Arntzen
cb686a5dba
Merge pull request #996 from KhronosGroup/fix-989
...
Support emitting OpLine directive.
2019-05-28 15:53:01 +02:00
Hans-Kristian Arntzen
48a7da4f4d
Fixup OpLine parsing comments.
2019-05-28 15:51:42 +02:00
Hans-Kristian Arntzen
65af09d2d1
Support emitting OpLine directive.
...
Facilitates easier mapping from source language to cross-compiled output
in tooling.
2019-05-28 13:44:24 +02:00
Hans-Kristian Arntzen
d2134bbb71
Merge pull request #995 from KhronosGroup/fix-980
...
GLSL: Support std430 in UBOs with scalar layout.
2019-05-28 12:24:47 +02:00
Hans-Kristian Arntzen
23889f7b87
GLSL: Support std430 in UBOs with scalar layout.
2019-05-28 12:22:44 +02:00
Hans-Kristian Arntzen
1692b1497c
Merge pull request #994 from KhronosGroup/fix-965
...
MSL: Implement OpArrayLength.
2019-05-28 12:03:44 +02:00
Hans-Kristian Arntzen
b3094cd02a
Run format_all.sh.
2019-05-27 16:54:13 +02:00
Hans-Kristian Arntzen
fd0feb1ec1
MSL: Use correct address space when passing array-of-buffers.
...
Need to check if the descriptor set is actually an argument buffer.
2019-05-27 16:53:30 +02:00
Hans-Kristian Arntzen
42e64597a7
OpArrayLength must trigger active variables.
2019-05-27 16:44:02 +02:00
Hans-Kristian Arntzen
7b9e0fb428
MSL: Implement OpArrayLength.
...
This gets rather complicated because MSL does not support OpArrayLength
natively. We need to pass down a buffer which contains buffer sizes, and
we compute the array length on-demand.
Support both discrete descriptors as well as argument buffers.
2019-05-27 16:13:09 +02:00