Commit fd759223 authored by Alexander Smorkalov's avatar Alexander Smorkalov

Package selection for Tegra 4i fixed. Initial Tegra5 support added.

parent 8a4f3570
...@@ -14,8 +14,9 @@ ...@@ -14,8 +14,9 @@
#define FEATURES_HAS_VFPv3d16 1L #define FEATURES_HAS_VFPv3d16 1L
#define FEATURES_HAS_VFPv3 2L #define FEATURES_HAS_VFPv3 2L
#define FEATURES_HAS_NEON 4L #define FEATURES_HAS_VFPv4 4L
#define FEATURES_HAS_NEON2 8L #define FEATURES_HAS_NEON 8L
#define FEATURES_HAS_NEON2 16L
#define FEATURES_HAS_SSE 1L #define FEATURES_HAS_SSE 1L
#define FEATURES_HAS_SSE2 2L #define FEATURES_HAS_SSE2 2L
#define FEATURES_HAS_SSSE3 4L #define FEATURES_HAS_SSSE3 4L
...@@ -24,10 +25,12 @@ ...@@ -24,10 +25,12 @@
// TODO: Do not forget to add Platrfom name to PackageInfo::PlatformNameMap // TODO: Do not forget to add Platrfom name to PackageInfo::PlatformNameMap
// in method PackageInfo::InitPlatformNameMap() // in method PackageInfo::InitPlatformNameMap()
#define PLATFORM_UNKNOWN 0L #define PLATFORM_UNKNOWN 0L
#define PLATFORM_TEGRA 1L #define PLATFORM_TEGRA 1L
#define PLATFORM_TEGRA2 2L #define PLATFORM_TEGRA2 2L
#define PLATFORM_TEGRA3 3L #define PLATFORM_TEGRA3 3L
#define PLATFORM_TEGRA4 4L #define PLATFORM_TEGRA4 4L
#define PLATFORM_TEGRA4i 5L
#define PLATFORM_TEGRA5 6L
int DetectKnownPlatforms(); int DetectKnownPlatforms();
int GetProcessorCount(); int GetProcessorCount();
......
...@@ -196,8 +196,11 @@ std::vector<std::pair<int, int> > CommonPackageManager::InitArmRating() ...@@ -196,8 +196,11 @@ std::vector<std::pair<int, int> > CommonPackageManager::InitArmRating()
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_NEON)); result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON)); result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_NEON)); result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_VFPv4 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON)); result.push_back(std::pair<int, int>(PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_TEGRA4, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON)); result.push_back(std::pair<int, int>(PLATFORM_TEGRA4i, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv4 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_TEGRA4, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv4 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_TEGRA5, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv4 | FEATURES_HAS_NEON));
return result; return result;
} }
......
...@@ -19,6 +19,8 @@ map<int, string> PackageInfo::InitPlatformNameMap() ...@@ -19,6 +19,8 @@ map<int, string> PackageInfo::InitPlatformNameMap()
result[PLATFORM_TEGRA2] = PLATFORM_TEGRA2_NAME; result[PLATFORM_TEGRA2] = PLATFORM_TEGRA2_NAME;
result[PLATFORM_TEGRA3] = PLATFORM_TEGRA3_NAME; result[PLATFORM_TEGRA3] = PLATFORM_TEGRA3_NAME;
result[PLATFORM_TEGRA4] = PLATFORM_TEGRA4_NAME; result[PLATFORM_TEGRA4] = PLATFORM_TEGRA4_NAME;
result[PLATFORM_TEGRA4i] = PLATFORM_TEGRA4_NAME;
result[PLATFORM_TEGRA5] = PLATFORM_TEGRA5_NAME;
return result; return result;
} }
......
...@@ -21,10 +21,12 @@ ...@@ -21,10 +21,12 @@
#define FEATURES_HAS_SSSE3_NAME "ssse3" #define FEATURES_HAS_SSSE3_NAME "ssse3"
#define FEATURES_HAS_GPU_NAME "gpu" #define FEATURES_HAS_GPU_NAME "gpu"
// TODO: Do not forget to update PackageInfo::InitPlatformNameMap() after constant changes
#define PLATFORM_TEGRA_NAME "tegra" #define PLATFORM_TEGRA_NAME "tegra"
#define PLATFORM_TEGRA2_NAME "tegra2" #define PLATFORM_TEGRA2_NAME "tegra2"
#define PLATFORM_TEGRA3_NAME "tegra3" #define PLATFORM_TEGRA3_NAME "tegra3"
#define PLATFORM_TEGRA4_NAME "tegra4" #define PLATFORM_TEGRA4_NAME "tegra4"
#define PLATFORM_TEGRA5_NAME "tegra5"
class PackageInfo class PackageInfo
{ {
......
...@@ -20,16 +20,16 @@ class ServiceStarter ...@@ -20,16 +20,16 @@ class ServiceStarter
public: public:
ServiceStarter() ServiceStarter()
{ {
PackageManager = new PackageManagerStub(); PackageManager = new PackageManagerStub();
Engine = new OpenCVEngine(PackageManager); Engine = new OpenCVEngine(PackageManager);
defaultServiceManager()->addService(IOpenCVEngine::descriptor, Engine); defaultServiceManager()->addService(IOpenCVEngine::descriptor, Engine);
LOGI("OpenCVEngine native service started successfully"); LOGI("OpenCVEngine native service started successfully");
ProcessState::self()->startThreadPool(); ProcessState::self()->startThreadPool();
} }
~ServiceStarter() ~ServiceStarter()
{ {
delete PackageManager; delete PackageManager;
} }
PackageManagerStub* PackageManager; PackageManagerStub* PackageManager;
...@@ -46,9 +46,9 @@ sp<IOpenCVEngine> InitConnect() ...@@ -46,9 +46,9 @@ sp<IOpenCVEngine> InitConnect()
do do
{ {
EngineService = ServiceManager->getService(IOpenCVEngine::descriptor); EngineService = ServiceManager->getService(IOpenCVEngine::descriptor);
if (EngineService != 0) break; if (EngineService != 0) break;
usleep(500000); // 0.5 s usleep(500000); // 0.5 s
} while(true); } while(true);
Engine = interface_cast<IOpenCVEngine>(EngineService); Engine = interface_cast<IOpenCVEngine>(EngineService);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment