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