mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-20 17:59:08 +02:00
The iOS and tvOS apps no longer link the static MoltenVK (the ios/MoltenVK submodule is gone), so Vulkan can't load there and Metal is the only backend. Without the static case, Vulkan's functions are now always loaded at runtime (PPSSPP_VK_STATIC is gone). The Mac app no longer bundles libMoltenVK.dylib (ext/vulkan/macOS is gone). Metal is the default on Apple Silicon (Intel Macs stay on OpenGL), but Vulkan still works with a separately installed MoltenVK, the Vulkan SDK's or Homebrew's, which is useful for comparisons. A saved Vulkan setting falls back to the default when there's none. The libretro cores are unchanged: they get MoltenVK from the frontend. frametests.py's --ios and --adb default to Metal on a Mac host. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
60 lines
1.7 KiB
Objective-C
60 lines
1.7 KiB
Objective-C
#pragma once
|
|
|
|
#include "ppsspp_config.h"
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
#import <GameController/GameController.h>
|
|
|
|
#if PPSSPP_PLATFORM(TVOS)
|
|
|
|
// The one view controller. Renders with Metal to a CAMetalLayer.
|
|
// A GCEventViewController, so controller input (the Siri Remote included) reaches us only through
|
|
// GCController, instead of also driving UIKit's focus engine.
|
|
@interface PPSSPPViewController : GCEventViewController
|
|
|
|
#else
|
|
|
|
#import <PhotosUI/PhotosUI.h>
|
|
|
|
#import "CameraHelper.h"
|
|
#import "LocationHelper.h"
|
|
|
|
// The one view controller. Renders with Metal to a CAMetalLayer.
|
|
@interface PPSSPPViewController : UIViewController<
|
|
PHPickerViewControllerDelegate,
|
|
CameraFrameDelegate, LocationHandlerDelegate,
|
|
UIGestureRecognizerDelegate>
|
|
|
|
#endif
|
|
|
|
- (void)hideKeyboard;
|
|
- (void)showKeyboard;
|
|
- (void)shareText:(NSString *)text;
|
|
- (void)shareFile:(NSURL *)url;
|
|
- (void)shutdown;
|
|
- (void)startLocation;
|
|
- (void)stopLocation;
|
|
- (void)startVideo:(int)width height:(int)height;
|
|
- (void)stopVideo;
|
|
- (void)appSwitchModeChanged;
|
|
- (void)immersiveModeChanged;
|
|
- (void)setupController:(GCController *)controller;
|
|
|
|
// Forwarded from the AppDelegate
|
|
- (void)didBecomeActive;
|
|
- (void)willResignActive;
|
|
|
|
- (void)uiStateChanged;
|
|
- (void)topLevelChanged;
|
|
- (void)pickPhoto:(NSString *)saveFilename requestId:(int)requestId;
|
|
- (void)updateResolutionWithView:(UIView *)view;
|
|
|
|
@end
|
|
|
|
extern PPSSPPViewController *sharedViewController;
|
|
|
|
#define IS_IPAD() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)
|
|
#define IS_IPHONE() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone)
|
|
#define IS_TV() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomTV)
|