Commit Graph
36 Commits
Author SHA1 Message Date
Miro Kropacek 212dd1655f Revert "BACKENDS: ATARI: Remove move16 code"
This reverts commit 0f85939bc5.

Embarrassingly, my benchmark code was broken. move16 very much does
help, both in VRAM<->TT RAM and TT RAM<->TT RAM copying.
2025-04-25 23:27:19 +02:00
Miro Kropacek e53fc61ceb BACKENDS: ATARI: Move g_unalignedPitch check into OSystem::engineInit() 2025-04-20 21:33:15 +02:00
Le Philousophe 859a8e06ad GRAPHICS: Also enable NEON codepath if compiler builds with NEON enabled
This will allow to build with NEON on platforms using an old compiler
but with NEON enabled for all translation units.
2025-02-01 18:06:56 +01:00
Miro Kropacek 0f85939bc5 BACKENDS: ATARI: Remove move16 code
There's no evidence of that code being faster than the already optimized
memcpy().
2024-11-21 11:31:25 +01:00
Cameron Cawley ec53c5ea87 GRAPHICS: Simplify the generic blending routines 2024-09-29 02:19:42 +03:00
Cameron Cawley c41edfd2e5 GRAPHICS: Some optimisations for the alpha blending routines 2024-09-29 02:19:42 +03:00
Cameron Cawley 433d6804f7 GRAPHICS: Make the blend structs into objects on the stack 2024-09-29 02:19:42 +03:00
Cameron Cawley b987fe3573 GRAPHICS: Reduce complexity of the crossBlit() code 2024-09-27 03:48:52 +03:00
Le Philousophe 8b26ce1c16 GRAPHICS: Add target specifiers for Clang
This allows to enable back SIMD support when compiling with it
2024-09-05 07:24:29 +03:00
Cameron Cawley 89c57d29ef COMMON: Move more maths functions into the Math namespace 2024-07-27 14:00:48 +03:00
Hubert Maier 395739c0f8 JANITORIAL: Fix adress typo in blit-atari.cpp 2024-05-18 13:52:31 +02:00
Miro Kropacek f41a678ba1 GRAPHICS: ATARI: Utilize dlmalloc
- every malloc is now aligned on 16 bytes

- no need for the hidden pointers

- ct60_vmalloc() is called only once, the rest is handled
  by dlmalloc (SV XBIOS' vmalloc is pretty fragile)
2024-02-24 03:54:54 +01:00
elasota 9e374ec4ca GRAPHICS: Use target pragmas instead of compiler flags to prevent ODR problems. 2024-01-08 23:37:39 +01:00
Cameron Cawley f3486a162d GRAPHICS: Add fast paths for scaleBlit when dstW == srcW 2023-12-29 18:00:54 +02:00
Kaloyan Chehlarski 654879f507 GRAPHICS: Fix Multiply blending in NEON path
This fixes the color bleeding issues that previously happened
when using Multiply blending (e.g. Out of Order intro)
2023-11-14 12:05:27 +02:00
Cameron Cawley c878250662 GRAPHICS: Add functions for blitting with transparent masks 2023-11-10 14:36:55 +01:00
Cameron Cawley 94569762cd GRAPHICS: Share code between the generic and SIMD blending functions 2023-10-29 00:56:58 +02:00
Cameron Cawley b1863032d4 GRAPHICS: Split BlendBlitImpl_Default into a separate file 2023-10-29 00:56:58 +02:00
Cameron Cawley 9f7b9b4f3a GRAPHICS: Unify common SIMD code for alpha blending 2023-10-29 00:56:58 +02:00
Kaloyan Chehlarski b0de3e786c GRAPHICS: Fix AVX2 path for MultiplyBlend
Applies the same fixes to multiply blending in the AVX2
optimized path that were previously applied to the SSE2 path.
Namely, alpha blending and colors now both blend correctly
2023-10-22 00:25:56 +03:00
Kaloyan Chehlarski 0d0aa24df3 GRAPHICS: Allow AVX2 optimized blit path to build
The way the SIMD blitting paths were previously organized
ensured that the AVX2 one would never actually build. This
commit separates the different implementations into
classes with differing names, ensuring the shadowing
cannot occur.
2023-10-22 00:25:56 +03:00
Kaloyan Chehlarski c82dd21fa7 GRAPHICS: JANITORIAL: Convert spaces to tabs 2023-10-22 00:25:56 +03:00
Kaloyan Chehlarski b115d8d019 GRAPHICS: Fix SSE2 path MultiplyBlend
The multiply blender in the SSE2 optimized path for
TransparentSurface blitting no longer produces wrong
colors and incorrect alpha blending.
2023-10-22 00:25:56 +03:00
Filippos Karapetis ca36ea9403 GRAPHICS: Fix typos 2023-10-16 17:31:30 +02:00
Cameron Cawley 34d04a76cb GRAPHICS: Support 3bpp destinations using crossBlit functions 2023-10-16 17:31:30 +02:00
Miro Kropacek dcab5d3369 CONFIGURE: Add support for m68k-atari-mintelf
This is basically the same as m68k-atari-mint host os but with a
different compiler/file format.
2023-09-24 17:48:54 +02:00
Eugene Sandulenko 94755eb838 BUILD: MACOS: Fix building with NEON enabled 2023-09-03 22:47:00 +02:00
Lars Sundström e60db69c41 GRAPHICS: Add SCUMMVM_NEON prepreocessor flag to blit-neon.cpp
The blit-neon.cpp file is only added to the project if the flag
SCUMMVM_NEON is defined. However some backends, e.g. iOS, adds the
definition of SCUMMVM_NEON in create_project so the file can be
added to the project during configuration.
The same backend can then unset the definition due to changing
build target, the iOS simulator in this example, which runs can
run on x86_64 hosts which doesn't support NEON.

Since the project still include the source file it will be compiled.
Make sure to not build the file if not SCUMMVM_NEON is defined at
compile time.
2023-09-03 22:26:37 +02:00
Miro Kropacek 17f0941878 GRAPHICS: Fix compilation of blit-atari.cpp 2023-08-24 22:42:04 +02:00
Wyatt Radkiewicz 41815c9816 GRAPHICS: Fix BlendBlit additive blending mode 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz 9d354fc636 GRAPHICS: Fixing blendBlitTo bugs 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz 0597770654 GRAPHICS: Refactor BlendBlit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz 66c75ee760 GRAPHICS: Moved SIMD code to new translation unit 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz e95cfb4877 GRAPHICS: Fixed indentation in blit files 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz e61fce02c8 GRAPHICS: Fix blend blit indentation 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz 975808bac4 GRAPHICS: Moved blit files into graphics/blit 2023-08-13 00:22:10 +02:00