[Scummvm-git-logs] scummvm master -> 0c98d170ca24e59a9686bc3ab80129778b1f490a
sev-
noreply at scummvm.org
Sun Sep 3 20:26:42 UTC 2023
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e60db69c41 GRAPHICS: Add SCUMMVM_NEON prepreocessor flag to blit-neon.cpp
db192eed39 AGS: Add SCUMMVM_NEON prepreocessor flag to surface_neon.cpp
76af53dc7f CREATE_PROJECT: Define SCUMMVM_NEON for iphoneos and tvos
f943fba3d0 IOS7: Enable kFeatureCpuNEON in IOS7 backend
0c98d170ca CONFIGURE: Enable NEON for all IOS7 targets
Commit: e60db69c41a132e1c0e3e211d6a5178177d85e02
https://github.com/scummvm/scummvm/commit/e60db69c41a132e1c0e3e211d6a5178177d85e02
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2023-09-03T22:26:37+02:00
Commit Message:
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.
Changed paths:
graphics/blit/blit-neon.cpp
diff --git a/graphics/blit/blit-neon.cpp b/graphics/blit/blit-neon.cpp
index 4a9afb8c134..60a65c59fde 100644
--- a/graphics/blit/blit-neon.cpp
+++ b/graphics/blit/blit-neon.cpp
@@ -19,6 +19,7 @@
*
*/
+#ifdef SCUMMVM_NEON
#include "common/scummsys.h"
#include <arm_neon.h>
@@ -463,3 +464,4 @@ void BlendBlit::blitNEON(Args &args, const TSpriteBlendMode &blendMode, const Al
}
} // end of namespace Graphics
+#endif // SCUMMVM_NEON
Commit: db192eed398b1aa527f5b3265e3e45c78c98be75
https://github.com/scummvm/scummvm/commit/db192eed398b1aa527f5b3265e3e45c78c98be75
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2023-09-03T22:26:37+02:00
Commit Message:
AGS: Add SCUMMVM_NEON prepreocessor flag to surface_neon.cpp
The surface_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.
Changed paths:
engines/ags/lib/allegro/surface_neon.cpp
diff --git a/engines/ags/lib/allegro/surface_neon.cpp b/engines/ags/lib/allegro/surface_neon.cpp
index 35c8669e657..831efea7456 100644
--- a/engines/ags/lib/allegro/surface_neon.cpp
+++ b/engines/ags/lib/allegro/surface_neon.cpp
@@ -19,6 +19,7 @@
*
*/
+#ifdef SCUMMVM_NEON
#include <arm_neon.h>
#include "ags/ags.h"
#include "ags/globals.h"
@@ -925,3 +926,4 @@ template void BITMAP::drawNEON<false>(DrawInnerArgs &);
template void BITMAP::drawNEON<true>(DrawInnerArgs &);
} // namespace AGS3
+#endif // SCUMMVM_NEON
Commit: 76af53dc7fdb78139bd68597540d9729f756f3cb
https://github.com/scummvm/scummvm/commit/76af53dc7fdb78139bd68597540d9729f756f3cb
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2023-09-03T22:26:37+02:00
Commit Message:
CREATE_PROJECT: Define SCUMMVM_NEON for iphoneos and tvos
Add the definition of SCUMMVM_NEON in create_project for the iOS
and tvOS targets. Do not add the same definition to corresponding
simulators since they can run on x86_64 hosts, which for obvious
reasons lacks support for NEON.
Changed paths:
devtools/create_project/create_project.cpp
devtools/create_project/xcode.cpp
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index 8e81a339ba1..6aca7d730b7 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -413,6 +413,7 @@ int main(int argc, char *argv[]) {
// the files, according to the target.
setup.defines.push_back("MACOSX");
setup.defines.push_back("IPHONE");
+ setup.defines.push_back("SCUMMVM_NEON");
} else if (projectType == kProjectMSVC || projectType == kProjectCodeBlocks) {
setup.defines.push_back("WIN32");
backendWin32 = true;
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index 783f035a584..989bf1ab8de 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -1396,13 +1396,18 @@ void XcodeProvider::setupBuildConfiguration(const BuildSetup &setup) {
ADD_SETTING_QUOTE_VAR(iPhone_Debug, "PROVISIONING_PROFILE[sdk=iphoneos*]", "");
ADD_SETTING(iPhone_Debug, "SDKROOT", "iphoneos");
ADD_SETTING_QUOTE(iPhone_Debug, "TARGETED_DEVICE_FAMILY", "1,2");
- ValueList scummvmIOS_defines;
- ADD_DEFINE(scummvmIOS_defines, "\"$(inherited)\"");
- ADD_DEFINE(scummvmIOS_defines, "IPHONE");
- ADD_DEFINE(scummvmIOS_defines, "IPHONE_IOS7");
+ ValueList scummvmIOSsimulator_defines;
+ ADD_DEFINE(scummvmIOSsimulator_defines, "\"$(inherited)\"");
+ ADD_DEFINE(scummvmIOSsimulator_defines, "IPHONE");
+ ADD_DEFINE(scummvmIOSsimulator_defines, "IPHONE_IOS7");
if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
- ADD_DEFINE(scummvmIOS_defines, "WITHOUT_SDL");
- ADD_SETTING_LIST(iPhone_Debug, "GCC_PREPROCESSOR_DEFINITIONS", scummvmIOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ ADD_DEFINE(scummvmIOSsimulator_defines, "WITHOUT_SDL");
+ ADD_SETTING_LIST(iPhone_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]\"", scummvmIOSsimulator_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ // Separate iphoneos and iphonesimulator definitions since simulator running on x86_64
+ // hosts doesn't support NEON
+ ValueList scummvmIOS_defines = scummvmIOSsimulator_defines;
+ ADD_DEFINE(scummvmIOS_defines, "SCUMMVM_NEON");
+ ADD_SETTING_LIST(iPhone_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*]\"", scummvmIOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
ADD_SETTING(iPhone_Debug, "ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
ADD_SETTING(iPhone_Debug, "ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
@@ -1554,13 +1559,18 @@ void XcodeProvider::setupBuildConfiguration(const BuildSetup &setup) {
ADD_SETTING_QUOTE_VAR(tvOS_Debug, "PROVISIONING_PROFILE[sdk=appletvos*]", "");
ADD_SETTING(tvOS_Debug, "SDKROOT", "appletvos");
ADD_SETTING_QUOTE(tvOS_Debug, "TARGETED_DEVICE_FAMILY", "3");
- ValueList scummvmTVOS_defines;
- ADD_DEFINE(scummvmTVOS_defines, "\"$(inherited)\"");
- ADD_DEFINE(scummvmTVOS_defines, "IPHONE");
- ADD_DEFINE(scummvmTVOS_defines, "IPHONE_IOS7");
+ ValueList scummvmTVOSsimulator_defines;
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "\"$(inherited)\"");
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "IPHONE");
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "IPHONE_IOS7");
if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
- ADD_DEFINE(scummvmTVOS_defines, "WITHOUT_SDL");
- ADD_SETTING_LIST(tvOS_Debug, "GCC_PREPROCESSOR_DEFINITIONS", scummvmTVOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "WITHOUT_SDL");
+ ADD_SETTING_LIST(tvOS_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvsimulator*]\"", scummvmTVOSsimulator_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ // Separate appletvos and appletvsimulator definitions since simulator running on x86_64
+ // hosts doesn't support NEON
+ ValueList scummvmTVOS_defines = scummvmTVOSsimulator_defines;
+ ADD_DEFINE(scummvmTVOS_defines, "SCUMMVM_NEON");
+ ADD_SETTING_LIST(tvOS_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvos*]\"", scummvmTVOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
ADD_SETTING(tvOS_Debug, "ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
ADD_SETTING(tvOS_Debug, "ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
tvOS_Debug_Object->addProperty("name", "Debug", "", kSettingsNoValue);
@@ -1644,6 +1654,7 @@ void XcodeProvider::setupDefines(const BuildSetup &setup) {
REMOVE_DEFINE(_defines, "IPHONE");
REMOVE_DEFINE(_defines, "IPHONE_IOS7");
REMOVE_DEFINE(_defines, "SDL_BACKEND");
+ REMOVE_DEFINE(_defines, "SCUMMVM_NEON");
ADD_DEFINE(_defines, "CONFIG_H");
ADD_DEFINE(_defines, "UNIX");
ADD_DEFINE(_defines, "HAS_FSEEKO_OFFT_64");
Commit: f943fba3d07533c268a2e210651ea0d6b8ade51a
https://github.com/scummvm/scummvm/commit/f943fba3d07533c268a2e210651ea0d6b8ade51a
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2023-09-03T22:26:37+02:00
Commit Message:
IOS7: Enable kFeatureCpuNEON in IOS7 backend
Make use of the NEON optimisations in iOS and tvOS.
Changed paths:
backends/platform/ios7/ios7_osys_main.cpp
diff --git a/backends/platform/ios7/ios7_osys_main.cpp b/backends/platform/ios7/ios7_osys_main.cpp
index 16d4ed6dd4e..3a72ef87609 100644
--- a/backends/platform/ios7/ios7_osys_main.cpp
+++ b/backends/platform/ios7/ios7_osys_main.cpp
@@ -160,6 +160,9 @@ bool OSystem_iOS7::hasFeature(Feature f) {
case kFeatureOpenGLForGame:
case kFeatureShadersForGame:
case kFeatureTouchscreen:
+#ifdef SCUMMVM_NEON
+ case kFeatureCpuNEON:
+#endif
return true;
default:
Commit: 0c98d170ca24e59a9686bc3ab80129778b1f490a
https://github.com/scummvm/scummvm/commit/0c98d170ca24e59a9686bc3ab80129778b1f490a
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2023-09-03T22:26:37+02:00
Commit Message:
CONFIGURE: Enable NEON for all IOS7 targets
The SCUMMVM_NEON definition is alredy added by default for aarch64
host cpus. NEON is also supported on iOS devices running on armv7
cpus. Make sure to enable NEON for all ios7 devices.
Changed paths:
configure
diff --git a/configure b/configure
index 751fd141c59..3a2f8996240 100755
--- a/configure
+++ b/configure
@@ -3665,6 +3665,7 @@ if test -n "$_host"; then
_backend="ios7"
_seq_midi=no
_timidity=no
+ _ext_neon=yes
;;
kos32)
# neither pkg-config nor *-config work, so we setup everything manually
More information about the Scummvm-git-logs
mailing list