Merge pull request #10495 from KentuckyCompass/ios-profiler

iOS: Fix crash with USE_PROFILER, pass command line args to NativeInit, misc cleanups
This commit is contained in:
Unknown W. Brackets authored and GitHub committed 2018-01-01 19:51:46 -08:00
commit 307efe7ecb
5 files changed
+17 -68

No files matched your search

+2 -12
View File
@@ -55,11 +55,6 @@ static const char *logSectionName = "LogDebug";
static const char *logSectionName = "Log";
#endif
#ifdef IOS
extern bool iosCanUseJit;
#endif
struct ConfigSetting {
enum Type {
TYPE_TERMINATOR,
@@ -314,11 +309,8 @@ static int DefaultNumWorkers() {
return cpu_info.num_cores;
}
// TODO: Default to IRJit on iOS when it's done.
static int DefaultCpuCore() {
#ifdef IOS
return (int)(iosCanUseJit ? CPUCore::JIT : CPUCore::INTERPRETER);
#elif defined(ARM) || defined(ARM64) || defined(_M_IX86) || defined(_M_X64)
#if defined(ARM) || defined(ARM64) || defined(_M_IX86) || defined(_M_X64)
return (int)CPUCore::JIT;
#else
return (int)CPUCore::INTERPRETER;
@@ -326,9 +318,7 @@ static int DefaultCpuCore() {
}
static bool DefaultCodeGen() {
#ifdef IOS
return iosCanUseJit ? true : false;
#elif defined(ARM) || defined(ARM64) || defined(_M_IX86) || defined(_M_X64)
#if defined(ARM) || defined(ARM64) || defined(_M_IX86) || defined(_M_X64)
return true;
#else
return false;
-5
View File
@@ -67,11 +67,6 @@
#include "gfx/gl_common.h"
#endif
#ifdef IOS
extern bool iosCanUseJit;
extern bool targetIsJailbroken;
#endif
extern bool VulkanMayBeAvailable();
GameSettingsScreen::GameSettingsScreen(std::string gamePath, std::string gameID, bool editThenRestore)
-5
View File
@@ -130,11 +130,6 @@ std::string config_filename;
bool g_graphicsInited;
#ifdef IOS
bool iosCanUseJit;
bool targetIsJailbroken;
#endif
// Really need to clean this mess of globals up... but instead I add more :P
bool g_TakeScreenshot;
static bool isOuya;
+5 -45
View File
@@ -6,7 +6,6 @@
//
#import "ViewController.h"
#import "AudioEngine.h"
#import <GLKit/GLKit.h>
#include <cassert>
@@ -31,10 +30,6 @@
#define IS_IPAD() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)
#define IS_IPHONE() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone)
#ifndef kCFCoreFoundationVersionNumber_IOS_9_0
#define kCFCoreFoundationVersionNumber_IOS_9_0 1240.10
#endif
class IOSDummyGraphicsContext : public DummyGraphicsContext {
public:
IOSDummyGraphicsContext() {
@@ -54,17 +49,12 @@ private:
Draw::DrawContext *draw_;
};
float dp_xscale = 1.0f;
float dp_yscale = 1.0f;
static float dp_xscale = 1.0f;
static float dp_yscale = 1.0f;
double lastSelectPress = 0.0f;
double lastStartPress = 0.0f;
bool simulateAnalog = false;
extern ScreenManager *screenManager;
extern bool iosCanUseJit;
extern bool targetIsJailbroken;
static double lastSelectPress = 0.0f;
static double lastStartPress = 0.0f;
static bool simulateAnalog = false;
__unsafe_unretained static ViewController* sharedViewController;
static GraphicsContext *graphicsContext;
@@ -75,10 +65,7 @@ static GraphicsContext *graphicsContext;
}
@property (nonatomic, strong) EAGLContext* context;
@property (nonatomic, strong) NSString* documentsPath;
@property (nonatomic, strong) NSString* bundlePath;
@property (nonatomic, strong) NSMutableArray<NSDictionary *>* touches;
@property (nonatomic) AudioEngine* audioEngine;
//@property (nonatomic) iCadeReaderView* iCadeView;
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1
@property (nonatomic) GCController *gameController __attribute__((weak_import));
@@ -87,39 +74,12 @@ static GraphicsContext *graphicsContext;
@end
@implementation ViewController
-(bool) isArm64 {
size_t size;
cpu_type_t type;
size = sizeof(type);
sysctlbyname("hw.cputype", &type, &size, NULL, 0);
return type == CPU_TYPE_ARM64;
}
-(id) init {
self = [super init];
if (self) {
sharedViewController = self;
self.touches = [NSMutableArray array];
self.documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
self.bundlePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/assets/"];
iosCanUseJit = true;
targetIsJailbroken = false;
NSArray *jailPath = [NSArray arrayWithObjects:
@"/Applications/Cydia.app",
@"/private/var/lib/apt",
@"/private/var/stash",
@"/usr/sbin/sshd",
@"/usr/bin/sshd", nil];
for (NSString *string in jailPath) {
if ([[NSFileManager defaultManager] fileExistsAtPath:string]) {
// checking device jailbreak status in order to determine which message to show in GameSettingsScreen
targetIsJailbroken = true;
}
}
NativeInit(0, NULL, [self.documentsPath UTF8String], [self.bundlePath UTF8String], NULL);
iCadeToKeyMap[iCadeJoystickUp] = NKCODE_DPAD_UP;
iCadeToKeyMap[iCadeJoystickRight] = NKCODE_DPAD_RIGHT;
+10 -1
View File
@@ -11,6 +11,7 @@
#import "PPSSPPUIApplication.h"
#include "base/NativeApp.h"
#include "profiler/profiler.h"
@interface UIApplication (Private)
-(void) suspend;
@@ -112,7 +113,15 @@ int main(int argc, char *argv[])
{
// Simulates a debugger. Makes it possible to use JIT (though only W^X)
syscall(SYS_ptrace, 0 /*PTRACE_TRACEME*/, 0, 0, 0);
PROFILE_INIT();
@autoreleasepool {
return UIApplicationMain(argc, argv, NSStringFromClass([PPSSPPUIApplication class]), NSStringFromClass([AppDelegate class]));
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *bundlePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/assets/"];
NativeInit(argc, (const char**)argv, documentsPath.UTF8String, bundlePath.UTF8String, NULL);
return UIApplicationMain(argc, argv, NSStringFromClass([PPSSPPUIApplication class]), NSStringFromClass([AppDelegate class]));
}
}