1915 Commits

Author SHA1 Message Date
Le Philousophe
79c3063979 ANDROID: Improve CPU detection
CPU architecture can be determined at build time.
Add support for x86 extensions.
2023-08-13 12:58:45 +02:00
Le Philousophe
3b1465120a ANDROID: Fix build
cpu-features needs to be compiled by us
2023-08-13 12:58:45 +02:00
Eugene Sandulenko
7cf76b22fa
CONFIGURE: Fix architecture names for CPU features 2023-08-13 00:23:41 +02:00
Wyatt Radkiewicz
41f82fbab8 BUILD: Change wording for AVX2 option 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
f802ad16d0 BUILD: Simplify SIMD options 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
c45918ea91 BUILD: SIMD flags only enabled on blit-blend.o 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
bf7b6c1cf6 BUILD: Fixed typo in Arm NEON feature 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
9b312eb16a BUILD: Removed unnessesary SIMD engine features 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
480a77f310 BUILD: Configure automatically detects SIMD 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
01e2183161 BUILD: Make ./configure POSIX compliant 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
Cameron Cawley
37764d86fc AUDIO: Support building the EAS MIDI driver on non-Android platforms 2023-08-06 14:10:50 +02:00
Le Philousophe
29a02151d1 COMMON: Only apply alignment on supported platforms 2023-07-14 20:48:13 +02:00
Lars Sundström
fb4f7d6de2 IOS7: Remove old IOS7 graphic handling
Delete the old graphic handling in the IOS7 backend which is not
used anymore after implementing iOSGraphicsManager.

The Accelerate framework is not used anymore. The OpenGLGraphics
manager handles the different color formats.
2023-07-03 21:50:32 +02:00
Lars Sundström
e6232547d5 IOS7: Add iOSGraphicsManager class
The ios7 backend implements the graphic handling in the backend code.
iOS supports OpenGL through the OpenGL Framework since iOS 2.0. It's
marked as deprecated but is still shipped with the SDKs for iPhoneOS
and tvOS and will hopefully be so for some time.
The ios7 backend can therefore utilize the OpenGLGraphicsManager to
handle all graphics.

Implement an iOSGraphicsManager class that can be used in the ios7
backend. The iOSGraphicsManager will require some callback functions
in the ios7 backend. createOpenGLContext() will be called to ask the
backend to create an OpenGL context in which the graphic manager can
draw. The function returns the ID of the renderbuffer which shall be
used when creating the framebuffer object this differ iOS from other
platforms). A custom RenderBufferTarget class is added to address
this.

destroyOpenGLContext() will be called to make sure that the old GLES
context is not reused. notifyContextDestroy() does call the function
OpenGLContext.reset() but that will not destroy the context.

refreshScreen() will be called to ask the backend to present the
drawn graphics on the screen. getSystemHiDPIScreenFactor() is called
to get the screen scaling factor. getScreenWidth() and
getScreenHeight() are called to get the width and height of the
surface to draw on.

This commit adds the class but the ios7 backend doesn't make use of
it quite yet. To use it require the ios7 to be a child class of the
ModularGraphicsBackend. That change requires a lot of changes which
will be targeted in separate commits.

Update docportal and github ci worker to only disable the feature
opengl_classic_game since opengl and opengl_shaders are required to
compile the OpenGLGraphicsManager.
2023-07-03 21:50:32 +02:00
Miro Kropacek
5537759c53 BACKENDS: ATARI: Rework
- Atari TT support
- all video and audio is now handled via XBIOS
- reworked IKBD handling using Kbdvbase vectors, esp. Kbdvec()
- video uses proper triple buffer
- arbitrary game screen size support
- many fixes and optimizations
2023-06-15 22:57:55 +02:00
Thierry Crozat
7af069b110 CONFIGURE: Rename iphone host_os to iphoneos 2023-05-31 19:33:48 +01:00
Thierry Crozat
0eca37a262 BACKENDS: Remove old iPhone backend
This backend was no longer maintained and have had no release
and no daily builds for several years.
2023-05-31 19:31:19 +01:00
D G Turner
f1d2ba701a WII: Add Code for GDB Debugging Over Ethernet using TCP
The Gecko USB serial adapter is no longer easy to obtain and using
the Ethernet adapter instead is supported by devkitPro/libogc.

However, when enabled, this fails to link when dynamic plugins are
enabled due to missing symbols for gdbstub_getoffsets() found in
devkitPro/libogc/libdb/debug_supp.c. To be exact, this is the
u8 __text_fstart[],__data_fstart[],__bss_fstart[] which should be
implicitly provided by the linker(?)

A monolithic static build with this enabled does succeed, but has not
yet been tested.
2023-05-15 00:51:27 +01:00
Miro Kropacek
76d3706492 BACKENDS: ATARI: Add build scripts
- consolidate public #define's (just ATARI)
- cpu compiler flags are specified in the script
- allow explicit move16, SV and SV Blitter features enabled/disabled

Provide two build scripts:

1. "Fat" one targeted at 040/060 machines (possibly with SuperVidel)

This one is optimized for 68020-60 (so it's still possible to try
highres engines on 68030 machines).

2. "Slim" one targeted at 030 machines (Falcon030+DFB/CT2 or TT030)

This one is optimized for 68030 and stripped from even more features:
"fancy" (highres) themes, move16 & SuperVidel routines and most
importantly the highres engines.
2023-05-10 22:58:26 +02:00
Einar Johan Trøan Sømåen
0c4190679f BUILD: Add support for flagging opengl_game_classic as an engine dep. 2023-04-29 13:01:08 +02:00
Thierry Crozat
a0e32ee370 IOS7: Remove support for non-sandboxed mode 2023-04-26 22:31:31 +01:00
Miro Kropacek
740aefcedf BACKENDS: ATARI: Re-enable DOSBOX OPL
After hearing the difference between MAME and DOSBOX OPL I have decided
to keep it available. Some games select it by default (and therefore
the game takes more CPU time) but the reason is valid.
2023-04-08 20:27:44 +02:00
Miro Kropacek
cb5b2dc021 ATARI: DISABLE_SID, DISABLE_NES_APU & DISABLE_DOSBOX_OPL
Doesn't save much space but limits the number of options to confuse
users.

For instance if DOSBOX OPL is compiled in, it is automatically used for
the Gob engine which perhaps sounds better but making the engine crawl
without further user interaction.
2023-04-03 20:36:33 +02:00
Miro Kropacek
d3ba1c49ee ATARI: Add DISABLE_TEXT_CONSOLE for release builds
Saves about 900 KB and relaxes a few games like Toonstruck (11.17% CPU
utilisation) or Bear Stormin' (1.26%).

Not the same as --disable-text-console (USE_TEXT_CONSOLE_FOR_DEBUGGER),
this one is better enabled as it saves a few KBs from Debugger class.

Compile as:

./configure --backend=atari --host=m68k-atari-mint --enable-release --disable-mt32emu --disable-lua --disable-nuked-opl --disable-16bit --disable-scalers --disable-translation --disable-eventrecorder --disable-tts --disable-bink --opengl-mode=none --enable-verbose-build --enable-text-console && make -j 16 && rm -rf dist-generic; make dist-generic
2023-04-03 20:19:46 +02:00
Le Philousophe
1af55ed1dc ANDROID: Remove ANDROID_PLAIN_PORT defines
They are not used anymore and we don't have any other kind of port
anymore
2023-04-02 11:39:44 +02:00
Le Philousophe
5c2252186e ANDROID: Don't set DATA_DIR and PLUGIN_DIRECTORY
Android doesn't have the concept of prefix so these pointed to something
invalid
2023-04-02 11:39:44 +02:00
Miro Kropacek
0e2cb19de7 ATARI: Use dlmalloc for final release 2023-03-25 21:45:50 +01:00
Miro Kropacek
6c5e3dbfd5 BACKENDS: ATARI: Refactor 2023-03-25 21:45:50 +01:00
Eugene Sandulenko
3a4b032bfc
CONFIGURE: Fix libmikmod detection under macOS homebrew 2023-03-25 00:11:10 +01:00
Harishankar Kumar
afa9ccbf62 AUDIO: Add support for Impulse Tracker using libmikmod 2023-03-24 23:59:53 +01:00
Le Philousophe
bd4adcec66 CONFIGURE: Fix libvpx detection when it's static 2023-03-13 23:25:13 +01:00
Le Philousophe
693ebf2ec3 PSP: Use toolchain provided pkg-config 2023-03-12 17:37:02 +01:00
Donovan Watteau
5c2a6c17f2 CONFIGURE: Define USE_SDL2 in the preprocessor when found 2023-03-09 01:30:34 +01:00
Donovan Watteau
3e49159bf7 CONFIGURE: Recognize more common architectures, and sort them 2023-03-07 20:41:57 +01:00
Donovan Watteau
a5106d86ef BUILD: Disable -Wshadow and -Wmissing-field-initializers before GCC 5
They just gave many false positives creating a lot of noise in build
logs for ports using an older GCC.
2023-03-07 20:41:16 +01:00
Donovan Watteau
c1fd025a64 CONFIGURE: ENET: Add more system headers in checks
They mostly come from OpenBSD 7.2 and Debian 11 manual pages, and they
shouldn't hurt since backends/networking/enet/source/unix.cpp already
includes them.
2023-03-06 17:11:55 +01:00
Little Cat
fd89b8c82f
CONFIGURE: Disable ENet if send/recvmsg is missing 2023-03-05 21:24:48 -04:00
Little Cat
bd1872c2ab BACKENDS: ENET: Now compiles on Windows. 2023-03-06 00:07:13 +01:00
Little Cat
cef3054212 BACKENDS: ENET: Check and set additional defines. 2023-03-06 00:07:13 +01:00
Little Cat
c16244a23a BACKENDS: ENET: Compile stable 1.3.17 source. 2023-03-06 00:07:13 +01:00
Little Cat
ade9fab8d6 CONFIGURE: Add ENet library. 2023-03-06 00:07:13 +01:00
Eugene Sandulenko
115231e59d CONFIGURE: Added detection for libvpx 2023-03-05 21:29:03 +01:00
Miro Kropacek
c3977fd53a ATARI: Disable the launcher grid view
As we don't compile in libpng, this crashes with an assert.
2023-03-05 14:34:01 +01:00
Carlo Bramini
cd57e39c0f CONFIGURE: fix build of dynamic modules under Cygwin
This tiny fix allows to build SCUMMVM with dynamic modules, when  --enable-cygwin-build is also activated.
2023-03-05 03:24:01 +00:00
Miro Kropacek
5ba26fdf35 GRAPHICS: ATARI: Introduce accelerated blitting 2023-03-04 23:38:42 +01:00
Miro Kropacek
4892d0b48b CONFIGURE: Adjustments for ATARI
- add NDEBUG for smaller file size and better performance when building
  with --enable-release

- add exe extensions for both ATARI and FreeMiNT

- use "dist-generic" instead of the clunky ./configure paths

Build as:

./configure --backend=atari --host=m68k-atari-mint --enable-release --disable-mt32emu --disable-lua --disable-nuked-opl --disable-16bit --disable-scalers --disable-translation --disable-eventrecorder --disable-tts --disable-bink --opengl-mode=none --enable-verbose-build && make -j 16 && rm -rf dist-generic; make dist-generic
2023-03-04 23:38:42 +01:00
Miro Kropacek
4d21a496d2 BACKENDS: ATARI: Add new backend (graphics, mixer, platform)
Compile as:

./configure --backend=atari --host=m68k-atari-mint --enable-release --disable-mt32emu --disable-lua --disable-nuked-opl --disable-16bit --disable-scalers --disable-translation --disable-eventrecorder --disable-tts --disable-bink --opengl-mode=none --enable-verbose-build --prefix=/usr --bindir=/ --datarootdir=share --datadir=data && make -j 16 && m68k-atari-mint-flags -S -r ./scummvm && make install DESTDIR=$PWD/_release/ && mv $PWD/_release/scummvm $PWD/_release/scummvm.ttp
2023-03-04 23:38:42 +01:00
Vladimir Serbinenko
e29c151404 KOLIBRI: Fix paths to tools 2023-02-26 23:20:15 +01:00
Cameron Cawley
09ae0b6986 CONFIGURE: Remove leftover debug message 2023-02-14 22:51:35 +00:00