Sam Schanken
714421b3c6
Implement BitAnd, BitOr, and Not for U32x2 in scalar version.
2020-06-13 17:18:49 -07:00
Patrick Walton
13f9fdc96c
Use SIMD a bit more in the new tiling code.
2020-05-16 10:38:34 -07:00
Patrick Walton
b29ffdf3fa
Add missing packed comparisons to the scalar implementation of `I32x2`
2020-03-27 10:04:42 -07:00
Patrick Walton
5a21557a6d
Implement basic linear gradients.
...
This is not a very efficient implementation yet, but it seems to work.
2020-02-10 16:01:05 -08:00
Sebastian K
de0f9055ed
fix scalar simd impls
2020-01-24 00:24:22 +03:00
Patrick Walton
3f72847294
Add a few missing methods to geometry and SIMD; fix SIMD tests
2020-01-14 21:31:22 -08:00
Patrick Walton
eb66459ef4
Fold the `.round()` method on SIMD vectors into float-to-int conversion.
...
This drops our requirements from SSE4.1 to SSE2.
Closes #241 .
2019-12-29 15:05:01 -08:00
Patrick Walton
0bb6b88859
Stop using AVX2 when packing pixels.
...
Partially addresses #241 .
2019-12-29 12:38:36 -08:00
Patrick Walton
986792349f
Use the SSE2 `_mm_movemask_ps` on x86 instead of the SSE4.1 `_mm_test_all_ones`
...
and `_mm_test_all_zeros`.
Partially addresses #241 .
2019-12-29 12:13:58 -08:00
Patrick Walton
b886c157c1
Use 2-lane instead of 4-lane SIMD types for 2D vectors.
...
Also, this commit rewrites the `add_fill()` method to stop using shuffle
instructions, which can be slow and make the code overly complicated. The
shuffle instructions have been removed from the various SIMD backends.
2019-06-26 16:38:37 -07:00
Patrick Walton
5133bbfe1a
Use unit vectors instead of angles for arcs.
...
This makes things faster and will also simplify the implementation of round
joins.
2019-05-29 12:14:47 -07:00
Luis de Bethencourt
8c0415c9b9
Remove cross method from F32x4
...
Silencing the following rustc warning:
warning: unused variable: `other`
Followup to Pull Request #152 .
Instead of marking `other` unused (`_other`) we can remove the method
entirely.
2019-05-24 12:19:13 -04:00
Patrick Walton
639a8f39e8
Add Moiré demo
2019-05-11 11:53:50 -07:00
Patrick Walton
328e804378
Run `rustfmt` on the SIMD crate
2019-04-29 16:57:21 -07:00
Patrick Walton
79b26bb9bd
Split out the swizzles into separate modules
2019-03-28 21:25:33 -07:00