Jim Blandy
9c5f324de2
TypeInner::span: Tolerate bad array length constants for now.
2021-05-13 22:09:22 -04:00
Matúš Talčík
5e5d64291d
[spv-in] fix handling of break blocks (borrowed from Tint)
2021-05-13 22:08:06 -04:00
Dzmitry Malyshau
a8df6a2b34
[msl] make sizes buffer local to each function
2021-05-13 22:02:37 -04:00
Dzmitry Malyshau
0250ffe2fb
[msl] early out if the binding sizes are missing
2021-05-13 00:42:15 -04:00
Igor Shaposhnik
6a42e4a0f8
[wgsl-out] Enable snapshot testing for spv-in quad shader
2021-05-12 15:15:50 -04:00
Dzmitry Malyshau
ba422f10f8
[msl] fix splat namespace
2021-05-08 22:07:13 -04:00
Dzmitry Malyshau
350ceb383d
WGSL support for f64, snapshot test for it
2021-05-08 21:20:23 -04:00
Dzmitry Malyshau
59d1dcab5b
Support width changes in As expression
2021-05-08 21:20:23 -04:00
Dzmitry Malyshau
c25c06409c
[spv-in] fix casting length expectations
2021-05-08 21:20:23 -04:00
Gordon-F
53fe7a329f
[glsl-out] Handle uninitialized global variables
2021-05-08 21:09:11 -04:00
Dzmitry Malyshau
851f504e41
[spv-in] patch the SPIR-Vs wacky CFG cases by hand
2021-05-08 21:06:29 -04:00
Dzmitry Malyshau
e173a514a0
[spv-in] respect per-member access decorations
2021-05-08 10:20:15 -04:00
Gordon-F
73b20ffa70
Add CullDistance BuiltIn
2021-05-08 09:51:14 -04:00
Dzmitry Malyshau
bbb1b6b366
[msl] move Compose into a helper method
2021-05-07 01:21:55 -04:00
Dzmitry Malyshau
10c4c906da
[msl] move ArrayLength logic out
2021-05-07 01:21:55 -04:00
Dzmitry Malyshau
01f4922806
Validation parameter for the converter
2021-05-07 00:42:49 -04:00
Dzmitry Malyshau
09032695b0
Barrier follow-up fixes
2021-05-06 14:48:55 -04:00
Dzmitry Malyshau
84eac75f71
Fix new clippy errors
2021-05-06 12:38:34 -04:00
Matúš Talčík
0960d1162f
[spv-in] multiple improvements
...
- added constructs
- added loop detection
- some logic from Tint borrowed for selection constructs
2021-05-06 10:49:09 -04:00
Dzmitry Malyshau
63afb9a215
Add Capabilities bitset for validation
2021-05-05 21:39:41 -04:00
Gordon-F
3a0f014411
[glsl-out] Add clip distance feature
2021-05-05 15:16:42 -04:00
Dzmitry Malyshau
990fd2d3a3
Allow matrix indexing behind a pointer
2021-05-05 09:34:12 -04:00
Dzmitry Malyshau
be00a05fa5
[spv-in] default output builtins
2021-05-04 22:54:33 -04:00
Dzmitry Malyshau
9fe75ed7f1
Barriers
2021-05-04 22:16:24 -04:00
Ashley
3ffc361724
[spv-in,spv-out] Handle outer product
2021-05-04 15:37:06 -04:00
Ashley
04c639c3f1
[spv-in] Handle Glo::MatrixInverse
2021-05-04 15:35:34 -04:00
Ashley
b3c29871a7
[spv-in] Handle Op::LogicalEqual
2021-05-04 15:34:33 -04:00
Igor Shaposhnik
1476ef84ff
[spv-in] Fix empty gl_PerVertex name
2021-05-04 10:45:39 -04:00
Gordon-F
9fbe681316
[spv-in] Give entry point function the same name as entry point itself
2021-05-04 10:45:39 -04:00
Lachlan Sneff
f6da21f8dd
Unify back::msl push constants map and sizes buffer ( #825 )
...
* Unify back::msl push constants map and sizes buffer
* Fix clippy warning
* Actually remove PushConstantsMap
* Update snapshots
2021-05-03 21:51:44 -04:00
Gordon-F
dbfc11a196
[glsl-out] Fix writing identifiers starting with gl_
2021-05-03 21:47:16 -04:00
Dzmitry Malyshau
b8649b3848
Fix struct layouts for WGSL and SPIRV
2021-05-03 17:27:12 -04:00
Dzmitry Malyshau
bb7ebed23a
[spv-in] null initialization for matrices
2021-05-03 00:55:47 -04:00
Gordon-F
3537bffad3
[glsl-out] Fix scalar arrays writing
2021-05-02 23:51:49 -04:00
Dzmitry Malyshau
46a244fff0
[wgsl-in] remove lifetime from ParseError
2021-05-02 23:49:34 -04:00
Dzmitry Malyshau
e78f5e69ce
[spv-in] derive Error
2021-05-02 23:49:34 -04:00
Timo de Kort
05d3608737
HLSL CI ( #788 )
...
* Add validation-windows yml for HLSL
Add workgroup size to hlsl-out
* Update Readme with Make target information
* Change runs on to windows-latest
* Remove snapshot file
2021-05-02 11:29:35 -04:00
Lachlan Sneff
232fd65ec7
Add support for retrieving array length in msl backend ( #806 )
...
* Add support for arrayLength to the wgsl frontend
* Fix clippy warning
* Add draft support for array length to the msl backend
* Finalize support for array length in msl
* Convert buffer size to array length in msl backend
* Fix clippy warning
* Fix misleading documentation
* Changes based on review of PR
* Use a fake binding for sizes buffer in msl backend if necessary
* Only generate the msl buffer size structure if globals are present that have unsized arrays
* Make sure to generate separators
* Replace uses_unsized_buffers with !self.runtime_sized_buffers.is_empty()
* Clear self.runtime_sized_buffers
* Run snapshot of shadow.msl
* Add Expression::ArrayLength support to the spirv backend
* Remove wgsl target from the access snapshot test
* Update access.msl snapshot
* Update stack size for msl backend
* Update stack size again for msl backend
2021-04-30 22:40:32 -04:00
Lachlan Sneff
960551f952
Add support for arrayLength to the wgsl frontend ( #805 )
...
* Add support for arrayLength to the wgsl frontend
* Fix clippy warning
2021-04-30 00:20:09 -04:00
Lachlan Sneff
37a6ff7bfe
Add several additional ops to the spirv frontend. ( #803 )
...
* Add support for int8, int16, and int64 as well as null constant structs
* Add support for OpArrayLength to the spirv frontend
* Add hacky OpCopyMemory support to spirv frontend
* Add OpInBoundsAccessChain to spirv frontend
* Add OpLogical(Not)Equal to spirv frontend
* Fix several of the issues raised in the pr
* Fix the Op::ArrayLength match
* Validate accessing structs through pointers
* Remove extraneous type check
2021-04-29 19:45:49 -04:00
Ashley
881c8a7abc
[spv-in] Impl GLOp::Radians and GLOp::Degrees ( #797 )
...
* Implement GLOp::Radians and GLOp::Degrees
* Simplify and inline
* Change comment
* Generate constant on demand
* Fix 180/pi/180
2021-04-29 10:19:30 -04:00
Dzmitry Malyshau
fd561da44c
[msl] derive access qualifier based on the global variable flags ( #798 )
2021-04-28 20:37:42 -04:00
Ashley
d21dded649
[msl-out] wrap arrays in structs so that they can be returned by functions ( #764 )
...
* [msl-out] wrap arrays in structs so that they can be returned by functions
* Fix clippy problems
* use a raw array for output fields
* Fix clippy problems
* Apply suggestions
* Remove put_initialization_component
* Check if the array is a constant size
* Don't use the pointer class
2021-04-28 10:26:17 -04:00
Dzmitry Malyshau
d9171dbc61
[wgsl-in] fix composition of a single element
2021-04-27 11:11:28 -04:00
Dzmitry Malyshau
120fc22e9f
Support unary not in WGSL
2021-04-27 01:24:21 -04:00
Ashley Ruglys
33003d8ea2
Add MathFunction::Refract
2021-04-26 14:14:30 -04:00
Dzmitry Malyshau
4a5ff9a053
Validate that used expressions are emitted
2021-04-26 09:59:54 -04:00
Dzmitry Malyshau
bb29f8e142
[spv-in] emit the cast expression for builtin signness
2021-04-26 00:44:16 -04:00
Gordon-F
dd1d9fe290
[wgsl-out] More improvements. Enable quad snapshot testing for wgsl backend
2021-04-26 00:20:01 -04:00
Dzmitry Malyshau
117d729ff8
[spv-in] allow non-strict check for capabilities
2021-04-25 18:32:34 -04:00