Skip to content

Conversation

@RazrFalcon
Copy link
Collaborator

TODO:

  • f32 pipeline is a bit broken. Specifically gradients and patterns. No idea why. Maybe due to rounding.
  • f32 pipeline is up to 40% slower on aarch64. Should start with fixing color_burn. Maybe Mask::select is not getting vectorized?
  • Bench on x86.
  • Make sure output on x86 and aarch64 is identical.
  • Figure out what to do with simd::StdFloat and no_std.
  • Figure out what to do with the old f32x8::recip_fast method.
  • Wait until std::simd will become stable...

Some methods in the u16 pipeline are up to 20% faster on aarch64, which is very good.

Gradients in the u16 pipeline are slightly different because of explicit mul_add instead of a manual f * m + a.

Closes #59

@notgull
Copy link

notgull commented May 27, 2023

Not sure if you're planning on releasing this soon, but I would be against making tiny-skia a nightly-only package. It's currently relied on by winit and theo, which are not nightly-only and would likely be opposed to becoming nighly-only.

@RazrFalcon
Copy link
Collaborator Author

@notgull

Wait until std::simd will become stable...

@notgull
Copy link

notgull commented May 27, 2023

Ah, my bad, I missed that option. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Try using std::simd

3 participants