Mira Grudzinska
8362ddda74
sw_engine: avxRasterTranslucentRle implemented
2021-11-15 11:16:17 +09:00
Mira Grudzinska
8ef928fcfc
sw_engine avx: removing not portable variable type
...
__m256i_u is an internal gcc/clang type, which can not be used by msvc.
To ensure the portability of the lib a proper intrinsic is used.
2021-09-22 12:41:57 +09:00
Hermet Park
d6193dddd0
Revert "sw_engine avx: the not aligned memory separated in the rasterRGBA32 func"
...
This reverts commit dafc229a75
.
2021-09-03 11:08:40 +09:00
Mira Grudzinska
dafc229a75
sw_engine avx: the not aligned memory separated in the rasterRGBA32 func
...
The aligned and not aligned memory parts handled separately.
This gives around 10% of the performance increase (tested on i7-8700 CPU)
2021-09-03 11:06:59 +09:00
Mira Grudzinska
54b328b1a9
sw_engine avx: addad ALPHA_BLEND and avxRasterTranslucentRect functions
...
Both functions implemented using 128-bit registers.
avxRasterTranslucentRect is around 5 times faster than cRasterTranslucentRect (i7-8700 CPU - Coffe Lake)
2021-08-28 15:55:50 +09:00
Hermet Park
0e98809f15
sw_engine raster: code refactoring.
...
Separate simd implementation by files to maintain them easier.
Now we have avx, c, neon version implementation base,
we can add implementations to them.
2021-08-05 10:58:48 +09:00