Commit Graph
25 Commits
Author SHA1 Message Date
Cameron Cawley 71c40b90de TESTS: Remove use of deprecated ManagedSurface constructors 2025-03-03 18:13:02 +02:00
Cameron Cawley 89c57d29ef COMMON: Move more maths functions into the Math namespace 2024-07-27 14:00:48 +03:00
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