Commit graph

23 commits

Author SHA1 Message Date
Eugene Sandulenko
eae2fbeb4f
TESTS: Remove tests for transparent_surface.h 2023-10-29 01:41:29 +02:00
Le Philousophe
4a8cfd6d0b TEST: Fix missing include 2023-08-30 13:41:26 +02:00
Le Philousophe
cc2c04a8cd TEST: Don't build slow blending tests by default 2023-08-16 13:06:03 +02:00
Le Philousophe
c48512b1f2 TEST: Check supported instruction set before running tests 2023-08-16 13:06:03 +02:00
Le Philousophe
e801c1b437 TEST: Fix test when only blending tests are built
When all tests are built, encoding sets up the backend.
2023-08-16 13:06:03 +02:00
Le Philousophe
7cfa940a7a TEST: JANITORIAL: Fix indentation style 2023-08-16 13:06:03 +02:00
Wyatt Radkiewicz
4fbde03866 ALL: blendBlitFrom exaclty matched TS::blit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
0961399727 ALL: blendBlitFrom prototype now matches TS::blit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
72c01fcdbe TEST: Remove unnessesary functions in blending.h 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
91b9c112b5 TEST: Put bitmap saving under ifdef in blending.h 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
df073eeed7 TEST: Added copyright header to blendBlitFrom test 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
41a942c5ce ALL: Renamed TS_ARGB to MS_ARGB 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
ad0c823f2f GRAPHICS: TransparentSurface scales in place
TransparentSurface now scales in place instead of making a copy. This
is much faster than before.
Also BlendBlit::blit now takes a scale offset parameter to help with
vary large images being cropped, otherwise people can leave it to 0.
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
a18332ab36 JANITORIAL: Touch up BlendBlit comments 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
e5bc2d696d TEST: Test for AVX2 BlendBlit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
e4c984cd3a BUILD: Configure flags for SIMD extensions
--enable-ext-neon
--enable-ext-sse2
--enable-ext-avx2
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
843d835641 TEST: Change blendFrom test 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
4f9739685a TEST: blendBlit test will now also test SSE2 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
c2c7ca0275 GRAPHICS: BlendBlit NEON blending modes coded 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
9ad04f8000 GRAPHICS: Optimize BLEND_NORMAL on NEON 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
eebadf4495 GRAPHICS: Optimize alpha blend NEON and Generic
I optimized the NEON and Generic paths for ManagedSurface::blendBlitFrom
and the new TransparentSurface::blit. Now (on arm), the new blit function
matches the speed of the old blit function even with the added
inderections that the runtime extension detection code adds in.

Other than that, I made a benchmark for this code and you can make it
using this command:
CFLAGS="-DTEST_BLEND_SPEED" make test

I reverted wii to not use altivec anymore since it doesn't.

I also removed graphics/blit-neon.cpp from graphics/module.mk because
simply including the .cpp file in graphics/blit-alpha.cpp was a better
option because then I didn't need to instantiate every version of the
templates that I needed.
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
d039a8570e TEST: Add test for ManagedSurface::blendBlitFrom 2023-08-13 00:22:10 +02:00
Martin Gerhardy
bb34721dd4 IMAGE: added GIFDecoder using libgif 2021-04-10 10:59:09 +02:00