- Replace IJobSPMD with T4-generated, multi-type SPMD job interfaces and wrappers (up to 8 numeric types) - Extend ISPMD with Cast/BitCast; implement for ScalarLane and WideLane (SIMD-aware) - Add unary minus, scalar-lane, and lane-scalar operators to Vector2/3/4; improve Select methods - WideLane now partial with T4-generated Cast/BitCast (SIMD conversions) - SPMD job Execute now requires unmanaged TLane; update all usages and benchmarks - Add GGXMipGenerationBenchmark with vectorized and scalar paths, SkiaSharp output - Update project files: add generated code, SkiaSharp, bump version to 1.3.0 - Misc: fix formatting, method signatures, FreeList logic
Misaki.HighPerformance.Image
STB-based image loading and translation helpers for C#.
This package focuses on practical image decoding with low-level control over memory ownership and result handling.
What it includes
- image loading from streams and memory
- animated GIF frame enumeration
- image metadata and result wrappers
- runtime helpers and native memory statistics
- translation layers for STB image formats
Highlights
- allocates image data in unmanaged memory
- exposes width, height, and component information alongside the pixel buffer
- useful when you need simple decoding without a heavy graphics dependency
- supports animated frame workflows in addition to single image loads
Main types
StbImageImageResultImageInfoAnimatedGifEnumeratorAnimatedFrameResultImageResultFloatColorComponents
Example
using Misaki.HighPerformance.Image;
using var stream = File.OpenRead("image.png");
using ImageResult image = ImageResult.FromStream(stream);
Span<byte> pixels = image.AsSpan();
Package reference
dotnet add package Misaki.HighPerformance.Image
Notes
This project targets net10.0 and uses unsafe code for image memory handling.