//
//     Generated by class-dump 3.5 (64 bit).
//
//     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
//

#pragma mark Blocks

typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown

#pragma mark Named Structures

struct Argument {
    void *value;
    unsigned int core_type;
    unsigned int sem_type;
    unsigned int size;
    unsigned short length;
    unsigned short flags;
};

struct CoreFunction {
    unsigned int fenum;
    unsigned int flags;
    unsigned short padding;
    unsigned short argument_count;
    union {
        unsigned long long context_id;
        unsigned long long receiver_id;
    } ;
    struct Argument return_value;
    struct Argument arguments[16];
    unsigned int fbuf_size;
    unsigned int internal_buffer_size;
    void *fbuf;
    void *internal_buffer;
};

struct DYShaderProfilerTiming {
    struct Statistics _field1;
    struct Statistics _field2;
    struct Statistics _field3;
};

struct Function {
    struct CoreFunction core;
    unsigned long long timestamp;
    unsigned long long duration;
    unsigned long long *backtrace;
    unsigned short backtrace_length;
    unsigned short gl_error;
    int events_type;
    void *events;
    unsigned int events_size;
    unsigned int queue_width;
    unsigned long long queue_id;
    unsigned long long thread_id;
    struct Function *next_associated;
    void *sm_context;
};

struct GPUMessageTraceActivity {
    double _startTime;
    double _endTime;
    char _inProgress;
};

struct IFunctionDecoder;

struct Statistics {
    double _field1;
    double _field2;
    double _field3;
};

struct TFunctionStream<GPUTools::FD::Function, void>;

struct _Iterator<GPUTools::FD::Function> {
    struct Function _function;
    void *_encbuf;
    void *_next;
    void *_end;
    struct IFunctionDecoder *_decoder;
    _Bool _fast_size;
};

struct __shared_weak_count;

struct shared_ptr<GPUTools::FD::Function> {
    struct Function *__ptr_;
    struct __shared_weak_count *__cntrl_;
};

struct shared_ptr<GPUTools::FD::TFunctionStream<GPUTools::FD::Function, void>> {
    struct TFunctionStream<GPUTools::FD::Function, void> *__ptr_;
    struct __shared_weak_count *__cntrl_;
};

struct vector<unsigned int, std::__1::allocator<unsigned int>> {
    unsigned int *__begin_;
    unsigned int *__end_;
    struct __compressed_pair<unsigned int *, std::__1::allocator<unsigned int>> {
        unsigned int *__first_;
    } __end_cap_;
};

#pragma mark Typedef'd Structures

// Template types
typedef struct shared_ptr<GPUTools::FD::Function> {
    struct Function *__ptr_;
    struct __shared_weak_count *__cntrl_;
} shared_ptr_2d3f6817;

#pragma mark -

//
// File: /Applications/Xcode-7GM.app/Contents/PlugIns/GPUDebuggerFoundation.ideplugin/Contents/MacOS/GPUDebuggerFoundation
// UUID: 6DCB868A-80F8-3702-8240-F3E14B3849F3
//
//                           Arch: x86_64
//                Current version: 1.0.0
//          Compatibility version: 1.0.0
//                 Source version: 18079.0.0.0.0
//       Minimum Mac OS X version: 10.10.0
//                    SDK version: 10.11.0
//
// Objective-C Garbage Collection: Unsupported
//

@protocol DVTInvalidation <NSObject>
- (void)primitiveInvalidate;

@optional
+ (BOOL)supportsInvalidationPrevention;
+ (unsigned long long)assertionBehaviorForKeyValueObservationsAtEndOfEvent;
+ (unsigned long long)assertionBehaviorAfterEndOfEventForSelector:(SEL)arg1;
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly, nonatomic, getter=isValid) BOOL valid;
- (void)invalidate;
@end

@protocol DYShaderProfilerDelegate <DVTInvalidation>
@property(readonly) DYDeviceInfo *deviceInfo;
- (BOOL)isRuntimeOSAppleInternal;
- (DYFuture *)queryShaderInfoWithPayload:(NSDictionary *)arg1;
- (DYCaptureSessionInfo *)captureSessionInfo;
- (DYCaptureArchive *)modifiedCaptureArchive;
- (DYCaptureArchive *)captureArchive;
@end

@protocol IDEDebugNavigableModel <NSObject>
@property(readonly) IDELaunchSession *launchSession;
@property(readonly, copy) NSString *associatedProcessUUID;
@end

@protocol IDEDebugTopNavigableModel <IDEDebugNavigableModel, DVTInvalidation>
@property(copy, nonatomic) NSString *name;
- (NSString *)contentDelegateUIExtensionIdentifier;

@optional
@property(readonly) NSString *subtitle;
@property(readonly, nonatomic) NSArray *loadedCodeModules;
@property(readonly, nonatomic) IDEDebugSession *parentDebugSession;
@end

@protocol IDEKeyDrivenNavigableItemRepresentedObject <NSObject>
@property(readonly) NSString *navigableItem_name;

@optional
@property(readonly) NSString *navigableItem_groupIdentifier;
@property(readonly) DVTDocumentLocation *navigableItem_contentDocumentLocation;
@property(readonly) DVTFileDataType *navigableItem_documentType;
@property(readonly) IDEFileReference *navigableItem_fileReference;
@property(readonly) BOOL navigableItem_isLeaf;
@property(readonly) BOOL navigableItem_isMajorGroup;
@property(readonly) NSString *navigableItem_toolTip;
@property(readonly) NSImage *navigableItem_image;
- (DVTDocumentLocation *)navigableItem_contentDocumentLocationInDocumentURL:(NSURL *)arg1;
@end

@protocol IDETraceInferiorSession <NSObject>
@property int state;
@property(readonly) id currentTraceSession;
@property(readonly) id <IDEDebugTopNavigableModel> process;
@end

@protocol NSCopying
- (id)copyWithZone:(struct _NSZone *)arg1;
@end

@protocol NSFileManagerDelegate <NSObject>

@optional
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 removingItemAtURL:(NSURL *)arg3;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 removingItemAtPath:(NSString *)arg3;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldRemoveItemAtURL:(NSURL *)arg2;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldRemoveItemAtPath:(NSString *)arg2;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 linkingItemAtURL:(NSURL *)arg3 toURL:(NSURL *)arg4;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 linkingItemAtPath:(NSString *)arg3 toPath:(NSString *)arg4;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldLinkItemAtURL:(NSURL *)arg2 toURL:(NSURL *)arg3;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldLinkItemAtPath:(NSString *)arg2 toPath:(NSString *)arg3;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 movingItemAtURL:(NSURL *)arg3 toURL:(NSURL *)arg4;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 movingItemAtPath:(NSString *)arg3 toPath:(NSString *)arg4;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldMoveItemAtURL:(NSURL *)arg2 toURL:(NSURL *)arg3;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldMoveItemAtPath:(NSString *)arg2 toPath:(NSString *)arg3;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 copyingItemAtURL:(NSURL *)arg3 toURL:(NSURL *)arg4;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldProceedAfterError:(NSError *)arg2 copyingItemAtPath:(NSString *)arg3 toPath:(NSString *)arg4;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldCopyItemAtURL:(NSURL *)arg2 toURL:(NSURL *)arg3;
- (BOOL)fileManager:(NSFileManager *)arg1 shouldCopyItemAtPath:(NSString *)arg2 toPath:(NSString *)arg3;
@end

@protocol NSObject
@property(readonly, copy) NSString *description;
@property(readonly) Class superclass;
@property(readonly) unsigned long long hash;
- (struct _NSZone *)zone;
- (unsigned long long)retainCount;
- (id)autorelease;
- (oneway void)release;
- (id)retain;
- (BOOL)respondsToSelector:(SEL)arg1;
- (BOOL)conformsToProtocol:(Protocol *)arg1;
- (BOOL)isMemberOfClass:(Class)arg1;
- (BOOL)isKindOfClass:(Class)arg1;
- (BOOL)isProxy;
- (id)performSelector:(SEL)arg1 withObject:(id)arg2 withObject:(id)arg3;
- (id)performSelector:(SEL)arg1 withObject:(id)arg2;
- (id)performSelector:(SEL)arg1;
- (id)self;
- (Class)class;
- (BOOL)isEqual:(id)arg1;

@optional
@property(readonly, copy) NSString *debugDescription;
@end

@interface GPUCaptureArchiveManager : NSObject <NSFileManagerDelegate>
{
    NSObject<OS_dispatch_queue> *_queue;
    NSFileManager *_fileManager;
    NSMapTable *_urlToCaptureArchiveTable;
    NSMapTable *_hashToURLTable;
    NSMutableSet *_reportURLSet;
}

+ (id)sharedArchiveManager;
- (void).cxx_destruct;
- (BOOL)isValidReportURL:(id)arg1;
- (void)unregisterReportURL:(id)arg1;
- (void)registerReportURL:(id)arg1;
- (id)URLForHashkeyString:(id)arg1;
- (unsigned long long)hashKeyForURL:(id)arg1;
- (BOOL)copyWriteArchiveAtURL:(id)arg1 toURL:(id)arg2 error:(id *)arg3;
- (id)copyAdjunctDataForFilename:(id)arg1 fromArchiveAtURL:(id)arg2 error:(id *)arg3;
- (BOOL)storeAdjunctData:(id)arg1 filename:(id)arg2 toArchiveAtURL:(id)arg3 error:(id *)arg4;
- (id)retrieveArchivedDataForKey:(id)arg1 fromArchiveAtURL:(id)arg2 error:(id *)arg3;
- (BOOL)archiveData:(id)arg1 withKey:(id)arg2 toArchiveAtURL:(id)arg3 replaceData:(BOOL)arg4 error:(id *)arg5;
- (BOOL)invalidateArchiveWithURL:(id)arg1 eraseFromDisk:(BOOL)arg2 error:(id *)arg3;
- (void)closeArchiveAtURL:(id)arg1;
- (id)createNewArchiveWithInferiorName:(id)arg1 error:(id *)arg2;
- (id)openCaptureArchiveAtURL:(id)arg1 error:(id *)arg2;
- (id)bufferedWriteURLForURL:(id)arg1;
- (BOOL)commitArchiveChangesForArchiveAtURL:(id)arg1 error:(id *)arg2;
- (BOOL)swapBufferedArchiveAtURL:(id)arg1 error:(id *)arg2;
- (id)_writeCaptureArchiveForURL:(id)arg1 createIfNeeded:(BOOL)arg2;
- (id)_copyAndOpenArchiveAtURL:(id)arg1;
- (id)_copyArchiveToTemporaryDirectoryAtURL:(id)arg1 error:(id *)arg2;
- (id)captureArchiveForURL:(id)arg1;
- (id)_readCaptureArchiveForURL:(id)arg1;
- (id)_addCaptureArchive:(id)arg1;
- (id)init;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface GPUCaptureStoreDelegate : NSObject
{
    GPUDebuggerController *_controller;
}

- (id)forwardingTargetForSelector:(SEL)arg1;
- (id)initWithController:(id)arg1;

@end

@interface GPUDebuggerController : NSObject <DVTInvalidation, DYShaderProfilerDelegate>
{
    DVTObservingToken *_extensionsObserver;
    NSMutableArray *_debugStateObservers;
    int _postCaptureDebugState;
    double _appFrameRate;
    double _appTargetFrameRate;
    NSDictionary *_maxIssueSeverity;
    DYShaderProfiler *_shaderProfiler;
    NSObject<OS_dispatch_queue> *_shaderProfilerReplyQueue;
    DYShaderProfilerResult *_shaderProfilerResults;
    DYShaderProfilerResult *_shaderProfilerResultsBase;
    DYInvestigatorCaseConfigData *_investigatorCaseConfigData;
    BOOL _supportsInvestigator;
    BOOL _isInvestigatorReady;
    BOOL _archiveHasPendingChanges;
    BOOL _shouldDisableCaptureFrameButton;
    BOOL _shadersUpdatable;
    int _debugState;
    int _enableGPUValidationMode;
    id <GPUResourceManager> _resourceManager;
    GPUTraceModelFactory *_modelFactory;
    GPUInvestigatorReportItem *_reportItem;
    DYCaptureSessionInfo *_captureSessionInfo;
    GPUTraceSession *_traceSession;
    GPUInferiorSession *_inferiorSession;
    DYDeviceInfo *_deviceInfo;
    NSError *_error;
    NSString *_appName;
    NSArray *_appArguments;
    NSArray *_analyzerFindings;
    NSArray *_extensions;
    NSSet *_fenumsWithErrors;
    NSURL *_captureArchiveURL;
    NSObject<OS_dispatch_queue> *_synchronousJobQueue;
}

+ (unsigned long long)assertionBehaviorAfterEndOfEventForSelector:(SEL)arg1;
+ (void)initialize;
+ (id)logAspect;
@property(readonly) NSObject<OS_dispatch_queue> *synchronousJobQueue; // @synthesize synchronousJobQueue=_synchronousJobQueue;
@property(readonly) BOOL shadersUpdatable; // @synthesize shadersUpdatable=_shadersUpdatable;
@property int enableGPUValidationMode; // @synthesize enableGPUValidationMode=_enableGPUValidationMode;
@property BOOL shouldDisableCaptureFrameButton; // @synthesize shouldDisableCaptureFrameButton=_shouldDisableCaptureFrameButton;
@property(readonly) DYShaderProfilerResult *shaderProfilerResultsBase; // @synthesize shaderProfilerResultsBase=_shaderProfilerResultsBase;
@property(readonly) DYShaderProfilerResult *shaderProfilerResults; // @synthesize shaderProfilerResults=_shaderProfilerResults;
@property(retain) NSURL *captureArchiveURL; // @synthesize captureArchiveURL=_captureArchiveURL;
@property(retain) NSSet *fenumsWithErrors; // @synthesize fenumsWithErrors=_fenumsWithErrors;
@property(retain) NSArray *extensions; // @synthesize extensions=_extensions;
@property(retain) NSArray *analyzerFindings; // @synthesize analyzerFindings=_analyzerFindings;
@property(readonly) double appTargetFrameRate; // @synthesize appTargetFrameRate=_appTargetFrameRate;
@property(readonly) double appFrameRate; // @synthesize appFrameRate=_appFrameRate;
@property(retain) NSArray *appArguments; // @synthesize appArguments=_appArguments;
@property(retain) NSString *appName; // @synthesize appName=_appName;
@property(retain) NSError *error; // @synthesize error=_error;
@property(retain) DYDeviceInfo *deviceInfo; // @synthesize deviceInfo=_deviceInfo;
@property(retain, nonatomic) GPUInferiorSession *inferiorSession; // @synthesize inferiorSession=_inferiorSession;
@property(nonatomic) __weak GPUTraceSession *traceSession; // @synthesize traceSession=_traceSession;
@property(retain) DYCaptureSessionInfo *captureSessionInfo; // @synthesize captureSessionInfo=_captureSessionInfo;
@property BOOL archiveHasPendingChanges; // @synthesize archiveHasPendingChanges=_archiveHasPendingChanges;
@property(retain, nonatomic) GPUInvestigatorReportItem *reportItem; // @synthesize reportItem=_reportItem;
@property BOOL isInvestigatorReady; // @synthesize isInvestigatorReady=_isInvestigatorReady;
@property(readonly) BOOL supportsInvestigator; // @synthesize supportsInvestigator=_supportsInvestigator;
@property int debugState; // @synthesize debugState=_debugState;
@property(retain) GPUTraceModelFactory *modelFactory; // @synthesize modelFactory=_modelFactory;
@property(retain, nonatomic) id <GPUResourceManager> resourceManager; // @synthesize resourceManager=_resourceManager;
- (void).cxx_destruct;
- (void)updateShaders;
@property(readonly) BOOL supportsDebugBarShaderUpdate;
- (id)createProgramPerformanceReportProvider;
- (id)createInvestigatorReportProvider;
- (void)handleDocumentChanged:(id)arg1 currentAPIItem:(id)arg2;
- (id)runShaderProfiler;
- (id)_profileShaders;
- (id)_profileFrame;
- (void)loadShaderProfilerResults;
- (void)saveShaderProfilerResults;
@property(readonly) BOOL isDisassemblerAvailable; // @dynamic isDisassemblerAvailable;
@property(readonly) BOOL shaderProfilerResultsHaveBeenUpdated; // @dynamic shaderProfilerResultsHaveBeenUpdated;
@property(readonly) BOOL isMacOSXDevice;
@property(readonly) BOOL isShaderProfilerAvailable; // @dynamic isShaderProfilerAvailable;
@property(readonly) BOOL isRuntimeOSAppleInternal; // @dynamic isRuntimeOSAppleInternal;
- (id)queryShaderInfoWithPayload:(id)arg1;
- (void)createReportWithCompletionBlock:(CDUnknownBlockType)arg1;
- (void)resetResourceManagerWithResourceStreamer:(id)arg1;
- (void)archiveReports;
- (int)maxIssueSeverity:(int)arg1;
- (BOOL)isDeviceBusy;
- (void)touchDebugState;
- (BOOL)relinquishAutomatedDebugState;
- (BOOL)requestAutomatedDebugState:(int)arg1;
- (void)_handleDebuggerStateChanges;
- (void)handleInferiorSessionActiveState;
- (void)onObservedDictionaryUpdated:(id)arg1 archiveKey:(id)arg2;
- (void)traceSessionEstablishedWithNewArchive:(BOOL)arg1;
- (id)unarchiveDictionaryForKey:(id)arg1;
- (void)handleUpdatedDictionary:(id)arg1 forKey:(id)arg2;
- (void)captureGPUTraceFromBreakpoint:(id)arg1;
- (id)copyAdjunctDataForFilename:(id)arg1 error:(id *)arg2;
- (BOOL)storeAdjunctData:(id)arg1 filename:(id)arg2 error:(id *)arg3;
- (id)retrieveArchivedDataForKey:(id)arg1 error:(id *)arg2;
- (BOOL)archiveData:(id)arg1 withKey:(id)arg2 replaceData:(BOOL)arg3 error:(id *)arg4;
- (void)handleCaptureSessionTearDown;
- (BOOL)handleCaptureSessionFinalization:(id)arg1;
- (void)_handleExtensions;
- (BOOL)analyzeStoredCaptureArchive;
- (void)setupCaptureSessionInfoWithArchive:(id)arg1;
- (void)setupCaptureSession:(id)arg1;
- (void)setupGuestAppSession:(id)arg1;
- (BOOL)archiveLastDisplayableRenderBufferImage;
@property(readonly) NSImage *archivedRenderbufferImage; // @dynamic archivedRenderbufferImage;
- (void)handleAppSessionTransportMessage:(id)arg1;
- (void)cancelAnalysis;
- (void)beginAnalysis;
- (id)captureArchive;
- (id)newGuestAppSessionWithGuestApp:(id)arg1 device:(id)arg2 deferLaunch:(BOOL)arg3;
- (void)createModelFactory;
- (void)primitiveInvalidate;
- (id)init;

// Remaining properties
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly) Class superclass;
@property(readonly, nonatomic, getter=isValid) BOOL valid;

@end

@interface GPUDebuggerError : NSError
{
}

- (id)dy_errorSignature;
- (id)localizedDescription;
- (id)initWithDomain:(id)arg1 code:(long long)arg2 userInfo:(id)arg3;

@end

@interface GPUFunctionInfo : NSObject
{
    BOOL _isOnlineCompiled;
    NSURL *_sourceURL;
    long long _lineNumber;
}

@property(readonly, nonatomic) BOOL isOnlineCompiled; // @synthesize isOnlineCompiled=_isOnlineCompiled;
@property(readonly, nonatomic) long long lineNumber; // @synthesize lineNumber=_lineNumber;
@property(readonly, nonatomic) NSURL *sourceURL; // @synthesize sourceURL=_sourceURL;
- (void).cxx_destruct;
- (id)initWithSourceURL:(id)arg1 lineNumber:(long long)arg2 onlineCompiled:(BOOL)arg3;

@end

@interface GPUGlobalStateManager : NSObject
{
    BOOL _showGroupDisplayableCallCount;
    GPUTraceEditor *_installedTraceEditor;
    NSMutableArray *_installedTraceResourcesEditors;
}

+ (id)sharedGlobalStateManager;
@property(retain, nonatomic) NSMutableArray *installedTraceResourcesEditors; // @synthesize installedTraceResourcesEditors=_installedTraceResourcesEditors;
@property(retain, nonatomic) GPUTraceEditor *installedTraceEditor; // @synthesize installedTraceEditor=_installedTraceEditor;
@property(readonly, nonatomic) BOOL showGroupDisplayableCallCount; // @synthesize showGroupDisplayableCallCount=_showGroupDisplayableCallCount;
- (void).cxx_destruct;
@property(nonatomic) int issueFilterLevel;
@property(nonatomic) BOOL programMetricsAsPercentage;
- (BOOL)showGroupDrawCallCount;
@property(nonatomic) BOOL hideShaderProfilingInFrameNavigator;
@property(nonatomic) BOOL hideGroupMarkerCalls;
@property(nonatomic) BOOL hideEmptyMarkerGroups;
@property(nonatomic) BOOL compactTextMode;
- (id)_init;
- (id)init;

@end

@interface GPUInferiorSession : NSObject <IDETraceInferiorSession, DVTInvalidation>
{
    NSObject<OS_dispatch_queue> *_queue;
    NSObject<OS_dispatch_queue> *_resourceQueue;
    DVTObservingToken *_launchSessionStateObserverToken;
    DVTObservingToken *_traceSessionStateObserverToken;
    IDELaunchSession *_launchSession;
    int _state;
    GPUDebuggerController *_debuggerController;
    GPUTraceSession *_currentTraceSession;
    GPUTraceGroupItem *_workspaceRootResourceGroup;
    GPUTraceProgramGroup *_workspaceRootProgramGroup;
    DYGuestAppSession *_guestAppSession;
    DYFuture *_symbolicatorFuture;
    DYCaptureArchive *_nextCaptureArchive;
    DYCaptureSession *_activeCaptureSession;
    NSMutableDictionary *_updatedResourcesDict;
    NSMutableDictionary *_replayUpdatedResourcesDict;
    NSMutableDictionary *_originalResourcesDict;
    NSMutableDictionary *_programInfoDict;
    NSMutableArray *_traceSessionEstablishedJobQueue;
    NSError *_error;
    BOOL _readyToCapture;
    BOOL _archiveFinalized;
    BOOL _finalizedOverview;
    BOOL _isInvalidating;
    BOOL _isRemoteDebuggingEnabled;
    unsigned int _deviceInterposeVersionGL;
    unsigned int _deviceInterposeVersionMetal;
    unsigned int _updatedResourcesChangeCount;
    NSString *_captureUnavailabilityReason;
    NSString *_inferiorAppName;
}

+ (BOOL)isRemoteDebuggingRequested:(id)arg1;
+ (id)GPUToolsDeviceFromDVTDevice:(id)arg1 error:(id *)arg2;
+ (void)initialize;
+ (id)logAspect;
+ (id)keyPathsForValuesAffectingTraceSession;
@property unsigned int updatedResourcesChangeCount; // @synthesize updatedResourcesChangeCount=_updatedResourcesChangeCount;
@property(readonly) NSString *inferiorAppName; // @synthesize inferiorAppName=_inferiorAppName;
@property BOOL isRemoteDebuggingEnabled; // @synthesize isRemoteDebuggingEnabled=_isRemoteDebuggingEnabled;
@property(readonly) NSString *captureUnavailabilityReason; // @synthesize captureUnavailabilityReason=_captureUnavailabilityReason;
@property(readonly) unsigned int deviceInterposeVersionMetal; // @synthesize deviceInterposeVersionMetal=_deviceInterposeVersionMetal;
@property(readonly) unsigned int deviceInterposeVersionGL; // @synthesize deviceInterposeVersionGL=_deviceInterposeVersionGL;
@property(readonly) DYGuestAppSession *guestAppSession; // @synthesize guestAppSession=_guestAppSession;
@property(readonly) NSMutableDictionary *programInfoDict; // @synthesize programInfoDict=_programInfoDict;
@property(readonly) NSMutableDictionary *originalResourcesDict; // @synthesize originalResourcesDict=_originalResourcesDict;
@property(readonly) NSMutableDictionary *updatedResourcesDict; // @synthesize updatedResourcesDict=_updatedResourcesDict;
@property(retain) GPUTraceProgramGroup *workspaceRootProgramGroup; // @synthesize workspaceRootProgramGroup=_workspaceRootProgramGroup;
@property(retain) GPUTraceGroupItem *workspaceRootResourceGroup; // @synthesize workspaceRootResourceGroup=_workspaceRootResourceGroup;
@property(readonly) GPUDebuggerController *debuggerController; // @synthesize debuggerController=_debuggerController;
@property int state; // @synthesize state=_state;
@property(retain) NSError *error; // @synthesize error=_error;
@property BOOL readyToCapture; // @synthesize readyToCapture=_readyToCapture;
@property(retain) GPUTraceSession *currentTraceSession; // @synthesize currentTraceSession=_currentTraceSession;
@property BOOL archiveFinalized; // @synthesize archiveFinalized=_archiveFinalized;
@property(readonly) IDELaunchSession *launchSession; // @synthesize launchSession=_launchSession;
- (void).cxx_destruct;
- (id)infoDictForProgram:(unsigned long long)arg1 container:(unsigned long long)arg2;
- (void)setInfoDictForProgram:(unsigned long long)arg1 dict:(id)arg2 container:(unsigned long long)arg3;
- (void)addOriginalResource:(id)arg1 container:(unsigned long long)arg2;
- (id)updatedResources;
- (void)removeResourceOverride:(id)arg1 container:(unsigned long long)arg2;
- (void)addResourceOverride:(id)arg1 container:(unsigned long long)arg2;
- (void)addUpdatedResource:(id)arg1 container:(unsigned long long)arg2;
- (void)_removeModifiedResourceFromDict:(id)arg1 resource:(id)arg2 container:(unsigned long long)arg3;
- (void)_addModifiedResourceToDict:(id)arg1 resource:(id)arg2 container:(unsigned long long)arg3;
- (id)generateTraceSessionForCaptureArchive:(id)arg1;
- (id)errorForFailedPlayback;
- (void)queueTraceSessionEstablishedJobWithId:(id)arg1 queue:(id)arg2 handler:(CDUnknownBlockType)arg3;
- (void)handleTraceSessionCreationSuccess:(id)arg1;
- (void)handleTraceSessionCreationFailure:(id)arg1;
- (void)handleCompleteCaptureSession:(id)arg1;
- (void)handleIncompleteCaptureSession:(id)arg1;
- (void)_handleCaptureSessionStateChange:(int)arg1;
- (void)captureGPUTrace:(id)arg1;
- (void)_handleBreakpointHit;
- (void)_handleAppDidLaunch;
- (void)ensureNextCaptureArchive;
- (void)createNextCaptureArchive;
- (void)_handleGraphicsAPIUsageUpdate:(BOOL)arg1;
- (void)_recursivePollForGraphicsAPIUsage;
- (id)prepareForLaunch:(id)arg1 error:(id *)arg2;
- (void)launchDebugServerWithError:(id *)arg1;
@property(readonly) id <IDEDebugTopNavigableModel> process;
- (void)primitiveInvalidate;
- (void)releaseCurrentGPUTrace;
@property(readonly) DYCaptureSessionInfo *captureSessionInfo; // @dynamic captureSessionInfo;
- (id)initWithAppName:(id)arg1 launchSession:(id)arg2 controller:(id)arg3 launchCommand:(id)arg4 error:(id *)arg5;
- (id)initWithAppName:(id)arg1 launchSession:(id)arg2 controller:(id)arg3 error:(id *)arg4;

// Remaining properties
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly) Class superclass;
@property(readonly, nonatomic, getter=isValid) BOOL valid;

@end

@interface GPUTraceOutlineItem : NSObject <IDEDebugNavigableModel, DVTInvalidation, NSCopying>
{
    NSString *_label;
    NSMutableArray *_children;
    shared_ptr_2d3f6817 _decodedFunction;
    GPUTraceOutlineItem *_parent;
    GPUDebuggerController *_controller;
    NSString *_UUID;
}

+ (void)initialize;
+ (id)sharedUUIDString;
@property(readonly, nonatomic) NSString *UUID; // @synthesize UUID=_UUID;
@property(nonatomic) __weak GPUTraceOutlineItem *parent; // @synthesize parent=_parent;
@property(nonatomic) __weak GPUDebuggerController *controller; // @synthesize controller=_controller;
@property(retain, nonatomic) NSString *label; // @synthesize label=_label;
@property(retain, nonatomic) NSMutableArray *children; // @synthesize children=_children;
- (id).cxx_construct;
- (void).cxx_destruct;
- (void)releaseRealizedResources;
- (id)childAtIndex:(unsigned long long)arg1;
- (unsigned long long)numberOfChildren;
@property(readonly, nonatomic) struct Function *decodedFunction; // @dynamic decodedFunction;
- (void)setDecodedFunctionPointer:(shared_ptr_2d3f6817)arg1;
@property(readonly) IDELaunchSession *launchSession;
@property(readonly, copy) NSString *associatedProcessUUID;
@property(readonly) unsigned long long hash;
- (BOOL)isEqual:(id)arg1;
- (void)_createUUID;
- (id)_createUUIDLabelForItem:(id)arg1;
- (id)UUIDSection;
@property(readonly, copy) NSString *description;
@property(readonly, nonatomic) GPUTraceModelFactory *modelFactory; // @dynamic modelFactory;
@property(readonly, nonatomic) NSURL *captureArchiveURL;
@property(readonly, nonatomic) GPUGlobalStateManager *globalStateManager; // @dynamic globalStateManager;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (void)primitiveInvalidate;
- (void)sortChildren;
- (void)invalidateChildren;
- (id)initWithController:(id)arg1 parent:(id)arg2 label:(id)arg3;

// Remaining properties
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly, copy) NSString *debugDescription;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly) Class superclass;
@property(readonly, nonatomic, getter=isValid) BOOL valid;

@end

@interface GPUInvestigatorReportItem : GPUTraceOutlineItem
{
    NSArray *_currentAutomaticItems;
    NSString *_reportUUID;
}

@property(readonly, nonatomic) NSString *reportUUID; // @synthesize reportUUID=_reportUUID;
@property(retain, nonatomic) NSArray *currentAutomaticItems; // @synthesize currentAutomaticItems=_currentAutomaticItems;
- (void).cxx_destruct;
- (id)archive;
- (unsigned long long)hash;
- (void)setParent:(id)arg1;
- (void)primitiveInvalidate;
- (id)initWithController:(id)arg1 parent:(id)arg2 label:(id)arg3;

@end

@interface GPUMessageTrace : NSObject
{
    NSObject<OS_dispatch_queue> *_queue;
    unsigned int _graphicsAPI;
    NSString *_productType;
    NSString *_version;
    struct GPUMessageTraceActivity _frameCapture;
    struct GPUMessageTraceActivity _shaderProfiler;
    BOOL _appResumed;
    BOOL _replayedExportedCapture;
    unsigned int _numShaderEdits;
    struct GPUMessageTraceActivity _navigationUpdate;
    unsigned int _numNavUpdates;
    double _navUpdateMax;
    double _navUpdateAverage;
    NSError *_firstErrorInSession;
}

+ (id)sharedTrace;
- (void).cxx_destruct;
- (void)_resetUsageStatistics;
- (void)reportUsageStatistics;
- (void)_updateFirstErrorInSession:(id)arg1;
- (void)recordError:(id)arg1;
- (void)recordNavigationUpdateEnd;
- (void)recordNavigationUpdateStart;
- (void)recordShaderEdit:(BOOL)arg1;
- (void)recordReplayedExportedCapture;
- (void)recordAppResumed;
- (void)recordShaderProfilerCompleted:(id)arg1;
- (void)recordShaderProfilerStarted;
- (void)recordCaptureCompleted:(id)arg1;
- (void)recordCaptureStarted;
- (void)recordGraphicsAPIUsage:(unsigned int)arg1 andDeviceInfo:(id)arg2;
- (id)init;

@end

@interface GPUPerformanceMetrics : NSObject
{
    DVTPerformanceMetric *_perceivedCaptureMetric;
    BOOL _enableImageRendererCheckpoints;
}

+ (id)defaultMetrics;
- (void).cxx_destruct;
- (void)imageRendererCompleted:(id)arg1;
- (void)imageRendererCheckpoint:(id)arg1 forResourceID:(id)arg2;
- (void)imageRendererStarted:(id)arg1 enableCheckpoints:(BOOL)arg2;
- (void)perceivedCaptureCompleted;
- (void)perceivedCaptureCheckpoint:(id)arg1;
- (void)perceivedCaptureStarted;

@end

@interface GPUReportDocumentLocation : IDEGaugeDocumentLocation
{
}

- (id)initWithReportDocumentURL:(id)arg1;

@end

@interface GPUStackFrame : DYStackFrame
{
    IDELaunchSession *_launchSession;
}

@property(retain, nonatomic) IDELaunchSession *launchSession; // @synthesize launchSession=_launchSession;
- (void).cxx_destruct;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (void)dealloc;
- (id)initWithLaunchSession:(id)arg1;

@end

@interface GPUTraceAPIItem : GPUTraceOutlineItem
{
    NSObject<OS_dispatch_queue> *_queue;
    NSArray *_boundResources;
    NSArray *_allResources;
    int _functionIndex;
    int _displayIndex;
    GPUTraceResources *_resourceGroups;
    NSMutableArray *_stackFrames;
    BOOL _loadingResourceTree;
    BOOL _hasResourceTree;
    BOOL _hasStateMirror;
    int _maxIssueSeverity;
    GPUTraceDisplayableItem *_previousDisplayableItem;
}

@property(retain) GPUTraceDisplayableItem *previousDisplayableItem; // @synthesize previousDisplayableItem=_previousDisplayableItem;
@property BOOL loadingResourceTree; // @synthesize loadingResourceTree=_loadingResourceTree;
@property BOOL hasResourceTree; // @synthesize hasResourceTree=_hasResourceTree;
@property(retain) NSMutableArray *stackFrames; // @synthesize stackFrames=_stackFrames;
@property(retain) GPUTraceResources *resourceGroups; // @synthesize resourceGroups=_resourceGroups;
@property(readonly) int displayIndex; // @synthesize displayIndex=_displayIndex;
@property(readonly) int functionIndex; // @synthesize functionIndex=_functionIndex;
@property(retain) NSArray *allResources; // @synthesize allResources=_allResources;
@property(retain) NSArray *boundResources; // @synthesize boundResources=_boundResources;
- (void).cxx_destruct;
- (id)generateLabel;
- (void)releaseRealizedResources;
- (void)_generateResources:(BOOL)arg1;
- (BOOL)generateResources;
- (BOOL)generateResourceTopLevelGroups;
- (id)stackFramesWithVisibleSource;
- (void)generateStackFrameItems;
- (id)description;
- (void)primitiveInvalidate;
- (id)UUIDSection;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initWithController:(id)arg1 parent:(id)arg2 functionIndex:(int)arg3 displayIndex:(int)arg4;

@end

@interface GPUTraceResourceItem : GPUTraceOutlineItem
{
    BOOL _generatesThumbnail;
    unsigned int _type;
    id <DYResource> _resourceObject;
    const void *_unrealizedResourceObject;
    id _displayAttributes;
    NSString *_thumbnailLabel;
    unsigned long long _objectID;
    unsigned long long _containerID;
    unsigned long long _sharegroupID;
    NSMutableDictionary *_properties;
}

@property(readonly, nonatomic) NSMutableDictionary *properties; // @synthesize properties=_properties;
@property(readonly, nonatomic) unsigned long long sharegroupID; // @synthesize sharegroupID=_sharegroupID;
@property(readonly, nonatomic) unsigned long long containerID; // @synthesize containerID=_containerID;
@property(readonly, nonatomic) unsigned long long objectID; // @synthesize objectID=_objectID;
@property(readonly, nonatomic) BOOL generatesThumbnail; // @synthesize generatesThumbnail=_generatesThumbnail;
@property(retain, nonatomic) NSString *thumbnailLabel; // @synthesize thumbnailLabel=_thumbnailLabel;
@property(retain, nonatomic) id displayAttributes; // @synthesize displayAttributes=_displayAttributes;
@property(readonly, nonatomic) const void *unrealizedResourceObject; // @synthesize unrealizedResourceObject=_unrealizedResourceObject;
@property(retain, nonatomic) id <DYResource> resourceObject; // @synthesize resourceObject=_resourceObject;
@property(readonly, nonatomic) unsigned int type; // @synthesize type=_type;
- (void).cxx_destruct;
- (void)releaseRealizedResources;
- (id)realizeResource;
- (void)establishChildren;
@property(readonly, nonatomic) unsigned int functionIndex;
@property(readonly, nonatomic) id stateMirror;
- (id)associatedDisplayableItem;
- (id)associatedTraceItem;
- (id)parentResourceGroup;
- (id)UUIDSection;
- (void)primitiveInvalidate;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initWithController:(id)arg1 parent:(id)arg2 objectID:(unsigned long long)arg3 unrealizedResourceObject:(const void *)arg4 containerID:(unsigned long long)arg5 sharegroupID:(unsigned long long)arg6 label:(id)arg7 type:(unsigned int)arg8;

@end

@interface GPUTraceBytesItem : GPUTraceResourceItem
{
    unsigned long long _bytesType;
    unsigned long long _bindingIndex;
}

@property(readonly, nonatomic) unsigned long long bindingIndex; // @synthesize bindingIndex=_bindingIndex;
@property(readonly, nonatomic) unsigned long long bytesType; // @synthesize bytesType=_bytesType;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initWithController:(id)arg1 parent:(id)arg2 encoderObject:(const void *)arg3 containerID:(unsigned long long)arg4 sharegroupID:(unsigned long long)arg5 label:(id)arg6 bindingIndex:(unsigned long long)arg7 bytesType:(unsigned long long)arg8;

@end

@interface GPUTraceDisplayableItem : GPUTraceAPIItem
{
    id <GPUTraceDisplaySet> _displaySet;
    int _displayableCallIndex;
}

@property int displayableCallIndex; // @synthesize displayableCallIndex=_displayableCallIndex;
@property(readonly) id <GPUTraceDisplaySet> displaySet; // @synthesize displaySet=_displaySet;
- (void).cxx_destruct;
@property(readonly, nonatomic) BOOL showAsAPIItem; // @dynamic showAsAPIItem;
- (void)_connectWireframeImageToDisplaySet:(id)arg1;
- (void)_connectElementResourceToDisplaySet:(unsigned long long)arg1 resourceObject:(id)arg2;
- (id)_startLoadingWireframeImage;
- (id)_startLoadingDisplaySetElement:(unsigned long long)arg1;
- (void)_displaySetLoadIsComplete:(id)arg1;
- (id)_startLoadingDisplaySet;
- (id)imageToExportToFile;
- (id)updateDisplaySet;
- (id)createRenderJobsForDisplaySet:(BOOL)arg1;
- (id)description;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)navigableItem_subtitle;

@end

@interface GPUTraceDocumentLocation : DVTDocumentLocation
{
    NSString *_outlineItemUUID;
}

+ (id)locationURLForOutlineItem:(id)arg1;
@property(readonly) NSString *outlineItemUUID; // @synthesize outlineItemUUID=_outlineItemUUID;
- (void).cxx_destruct;
- (void)logCreationBacktrace;
- (long long)compare:(id)arg1;
- (id)description;
- (void)encodeWithCoder:(id)arg1;
- (id)initWithCoder:(id)arg1;
- (id)initWithOutlineItem:(id)arg1;
@property(readonly) NSString *associatedProcessUUID; // @dynamic associatedProcessUUID;

@end

@interface GPUTraceGroupItem : GPUTraceOutlineItem
{
    NSString *_descText;
    unsigned int _groupType;
    int _functionIndex;
    int _displayableCallCount;
    int _apiCallCount;
    BOOL _isExpanded;
    int _maxIssueSeverity;
    BOOL _isHidden;
}

@property(nonatomic) BOOL isHidden; // @synthesize isHidden=_isHidden;
@property(nonatomic) BOOL isExpanded; // @synthesize isExpanded=_isExpanded;
@property(readonly, nonatomic) NSString *descText; // @synthesize descText=_descText;
@property(nonatomic) int apiCallCount; // @synthesize apiCallCount=_apiCallCount;
@property(nonatomic) int displayableCallCount; // @synthesize displayableCallCount=_displayableCallCount;
@property(readonly, nonatomic) unsigned int groupType; // @synthesize groupType=_groupType;
@property(readonly, nonatomic) int functionIndex; // @synthesize functionIndex=_functionIndex;
- (void).cxx_destruct;
- (id)UUIDSection;
@property(readonly, nonatomic) BOOL automaticallyExpand;
@property(readonly, nonatomic) BOOL showsDraws;
@property(readonly, nonatomic) BOOL isSimpleGroup;
- (id)initWithController:(id)arg1 parent:(id)arg2 label:(id)arg3 groupType:(unsigned int)arg4 functionIndex:(int)arg5 descText:(id)arg6;
- (id)navigableItem_subtitle;
- (struct DYShaderProfilerTiming)shaderTime;
- (BOOL)hasShaderTiming;

@end

@interface GPUTraceModelFactory : NSObject <DVTInvalidation>
{
    NSObject<OS_dispatch_queue> *_queue;
    NSMutableDictionary *_modelObjectDictionary;
    GPUDebuggerController *_controller;
    Class _variablesViewContentProviderClass;
    NSMapTable *_resourceTypeToViewClassMaptable;
    GPUTraceGroupItem *_domainProviderRootResourceGroup;
    GPUTraceProgramGroup *_domainProviderRootProgramGroup;
    NSMutableArray *_frames;
    id <IDEDebugTopNavigableModel> _rootProcessItem;
    NSArray *_allTraceItems;
    NSMutableArray *_allPrograms;
    NSMutableArray *_allDisplayableItems;
    GPUTraceDisplayableItem *_lastDisplayableItem;
    NSMutableArray *_allMarkerItems;
    NSMutableArray *_allAPIItems;
    GPUTraceSession *_traceSession;
}

+ (Class)imageResourceSettingBubbleClass;
+ (Class)textureInfoBubbleClass;
+ (Class)depthStencilInfoBubbleClass;
+ (Class)colorInfoBubbleClass;
+ (Class)captureSessionInfoClassWithAPI:(unsigned int)arg1;
+ (void)initialize;
@property(readonly, nonatomic) __weak GPUTraceSession *traceSession; // @synthesize traceSession=_traceSession;
@property(readonly, nonatomic) NSMutableArray *allAPIItems; // @synthesize allAPIItems=_allAPIItems;
@property(readonly, nonatomic) NSMutableArray *allMarkerItems; // @synthesize allMarkerItems=_allMarkerItems;
@property(readonly, nonatomic) __weak GPUTraceDisplayableItem *lastDisplayableItem; // @synthesize lastDisplayableItem=_lastDisplayableItem;
@property(readonly, nonatomic) NSMutableArray *allDisplayableItems; // @synthesize allDisplayableItems=_allDisplayableItems;
@property(readonly, nonatomic) NSMutableArray *allPrograms; // @synthesize allPrograms=_allPrograms;
@property(readonly, nonatomic) NSArray *allTraceItems; // @synthesize allTraceItems=_allTraceItems;
@property(readonly, nonatomic) id <IDEDebugTopNavigableModel> rootProcessItem; // @synthesize rootProcessItem=_rootProcessItem;
@property(readonly, nonatomic) NSMutableArray *frames; // @synthesize frames=_frames;
@property(readonly, nonatomic) GPUTraceProgramGroup *domainProviderRootProgramGroup; // @synthesize domainProviderRootProgramGroup=_domainProviderRootProgramGroup;
@property(readonly, nonatomic) GPUTraceGroupItem *domainProviderRootResourceGroup; // @synthesize domainProviderRootResourceGroup=_domainProviderRootResourceGroup;
@property(readonly, nonatomic) NSMapTable *resourceTypeToViewClassMaptable; // @synthesize resourceTypeToViewClassMaptable=_resourceTypeToViewClassMaptable;
@property(readonly, nonatomic) Class variablesViewContentProviderClass; // @synthesize variablesViewContentProviderClass=_variablesViewContentProviderClass;
@property(readonly, nonatomic) __weak GPUDebuggerController *controller; // @synthesize controller=_controller;
- (void).cxx_destruct;
- (id)createInfoBubbleForImageResource:(id)arg1 parentView:(id)arg2 owner:(id)arg3 renderingAttributes:(id)arg4;
- (id)resourceItemOfType:(unsigned int)arg1 resourceID:(unsigned int)arg2 forFunctionIndex:(unsigned int)arg3;
- (id)storedRenderingAttributesForResourceItem:(id)arg1;
- (id)resolveCurrentResourceItemWithPreviousItem:(id)arg1 currentMainEditorItem:(id)arg2 topLevelObjects:(id)arg3;
- (void)establishChildrenForProgramItem:(id)arg1;
- (id)programObjectFromProgramItem:(id)arg1 shaderType:(unsigned int)arg2;
- (id)realizeResourcesForResourceItem:(id)arg1;
- (void)generateResourcesForGroup:(id)arg1 apiItem:(id)arg2 boundOnly:(BOOL)arg3;
- (void)createParentResourceGroupsForAPIItem:(id)arg1;
- (id)apiItemForTrueFunctionIndex:(unsigned int)arg1;
- (id)apiItemFromFunctionIndex:(unsigned int)arg1;
- (id)apiItemFromDisplayIndex:(unsigned int)arg1;
- (id)locateDisplayableItemToDraw:(id)arg1 isAssociatedWithStateItem:(char *)arg2;
- (void)invalidateModel;
- (void)generateModelWithTraceSession:(id)arg1;
@property(readonly) unsigned long long totalDisplayableCount;
@property(readonly, nonatomic) __weak DYGLCaptureSessionInfo *captureSessionInfo;
- (id)itemForUUID:(id)arg1;
- (void)addModelItem:(id)arg1;
- (id)initWithController:(id)arg1 variablesViewContentProviderClass:(Class)arg2;
- (void)primitiveInvalidate;

// Remaining properties
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly) Class superclass;
@property(readonly, nonatomic, getter=isValid) BOOL valid;

@end

@interface GPUTraceOutline : DYInOrderInstructionFilesVisitor <DVTInvalidation>
{
    NSObject<OS_dispatch_queue> *_queue;
    DYFunctionTracer *_tracer;
    DYCaptureSessionInfo *_captureSessionInfo;
    GPUTraceSession *_traceSession;
    GPUTraceProgramGroup *_rootProgramGroup;
    GPUTraceGroupItem *_currentGroup;
    GPUTraceDisplayableItem *_currentDisplayableItem;
    struct shared_ptr<GPUTools::FD::TFunctionStream<GPUTools::FD::Function, void>> _captureStream;
    struct _Iterator<GPUTools::FD::Function> _captureStreamIter;
    struct vector<unsigned int, std::__1::allocator<unsigned int>> _functionIndexToDisplayIndexMap;
    IDELaunchSession *_launchSession;
    NSMutableDictionary *_threadNameDict;
    NSMutableDictionary *_editorsDict;
    NSMutableArray *_frames;
    NSMutableArray *_allMarkerItems;
    NSMutableArray *_allAPIItems;
    unsigned long long _currentThread;
    unsigned long long _currentQueue;
    unsigned int _currentFunctionIndex;
    unsigned int _currentDisplayFunctionIndex;
    unsigned int _currentFrameIndex;
    unsigned int _currentMarkerDepth;
    BOOL _processingTraceFiles;
    NSMutableArray *_allDisplayableItems;
    NSString *_contentDelegateUUID;
    GPUTraceGroupItem *_domainProviderRootResourceGroup;
}

+ (void)initialize;
@property(readonly) DYFunctionTracer *tracer; // @synthesize tracer=_tracer;
@property(readonly) GPUTraceProgramGroup *rootProgramGroup; // @synthesize rootProgramGroup=_rootProgramGroup;
@property(readonly) GPUTraceGroupItem *domainProviderRootResourceGroup; // @synthesize domainProviderRootResourceGroup=_domainProviderRootResourceGroup;
@property(readonly) NSString *contentDelegateUUID; // @synthesize contentDelegateUUID=_contentDelegateUUID;
@property(retain) NSMutableArray *allAPIItems; // @synthesize allAPIItems=_allAPIItems;
@property(retain) NSMutableArray *allMarkerItems; // @synthesize allMarkerItems=_allMarkerItems;
@property(retain) NSMutableArray *allDisplayableItems; // @synthesize allDisplayableItems=_allDisplayableItems;
@property(readonly) NSMutableDictionary *editorsDict; // @synthesize editorsDict=_editorsDict;
@property(retain) NSMutableArray *frames; // @synthesize frames=_frames;
@property(readonly) DYCaptureSessionInfo *captureSessionInfo; // @synthesize captureSessionInfo=_captureSessionInfo;
@property(retain) GPUTraceSession *traceSession; // @synthesize traceSession=_traceSession;
- (id).cxx_construct;
- (void).cxx_destruct;
- (id)resourceItemOfType:(unsigned int)arg1 resourceID:(unsigned long long)arg2 forFunctionIndex:(unsigned int)arg3;
- (id)apiItemForTrueFunctionIndex:(unsigned int)arg1;
- (id)apiItemFromFunctionIndex:(unsigned int)arg1;
- (id)apiItemFromDisplayIndex:(unsigned int)arg1;
@property(readonly) unsigned int totalfunctionIndexCount; // @dynamic totalfunctionIndexCount;
- (id)locateDisplayableItemToDraw:(id)arg1 isAssociatedWithStateItem:(char *)arg2;
- (void)addDisplayableItem:(id)arg1;
- (void)performPostCaptureVisitActions;
- (void)performPreCaptureVisitActions;
- (void)performPreVisitActions;
@property(readonly) __weak GPUTraceDisplayableItem *lastDisplayableItem; // @dynamic lastDisplayableItem;
@property(readonly) GPUTraceGroupItem *rootProcessItem; // @dynamic rootProcessItem;
@property(readonly) NSMutableArray *allPrograms; // @dynamic allPrograms;
@property(readonly) NSURL *captureArchiveURL; // @dynamic captureArchiveURL;
- (void)primitiveInvalidate;
- (id)initWithTraceSession:(id)arg1;

// Remaining properties
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly) Class superclass;
@property(readonly, nonatomic, getter=isValid) BOOL valid;

@end

@interface GPUTraceProcessItem : GPUTraceGroupItem <IDEDebugTopNavigableModel>
{
}

- (id)contentDelegateUIExtensionIdentifier;
@property(copy, nonatomic) NSString *name;
- (id)UUIDSection;
- (id)initWithController:(id)arg1 label:(id)arg2;

// Remaining properties
@property(readonly, copy) NSString *associatedProcessUUID;
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly) IDELaunchSession *launchSession;
@property(readonly, nonatomic) NSArray *loadedCodeModules;
@property(readonly, nonatomic) IDEDebugSession *parentDebugSession;
@property(readonly) NSString *subtitle;
@property(readonly) Class superclass;
@property(readonly, nonatomic, getter=isValid) BOOL valid;

@end

@interface GPUTraceProgramItem : GPUTraceResourceItem
{
    BOOL _pipeline;
    GPUTraceShaderItem *_defaultShaderItem;
}

@property(readonly, nonatomic, getter=isPipeline) BOOL pipeline; // @synthesize pipeline=_pipeline;
@property(nonatomic) GPUTraceShaderItem *defaultShaderItem; // @synthesize defaultShaderItem=_defaultShaderItem;
- (void)primitiveInvalidate;
- (id)initProgramWithController:(id)arg1 parent:(id)arg2 programID:(unsigned long long)arg3 isPipeline:(BOOL)arg4 unrealizedResourceObject:(const void *)arg5 containerID:(unsigned long long)arg6 sharegroupID:(unsigned long long)arg7 label:(id)arg8;
- (id)initComputePipelineStateWithController:(id)arg1 parent:(id)arg2 programID:(unsigned long long)arg3 unrealizedResourceObject:(const void *)arg4 containerID:(unsigned long long)arg5 label:(id)arg6;
- (id)initRenderPipelineStateWithController:(id)arg1 parent:(id)arg2 programID:(unsigned long long)arg3 unrealizedResourceObject:(const void *)arg4 containerID:(unsigned long long)arg5 label:(id)arg6;
- (id)_initWithController:(id)arg1 parent:(id)arg2 programID:(unsigned long long)arg3 unrealizedResourceObject:(const void *)arg4 containerID:(unsigned long long)arg5 sharegroupID:(unsigned long long)arg6 label:(id)arg7 type:(unsigned int)arg8;
- (void)establishChildren;

@end

@interface GPUTraceProgramGroup : GPUTraceProgramItem
{
    GPUTraceGroupItem *_relatedDisplayablesGroupItem;
}

@property(readonly, nonatomic) GPUTraceGroupItem *relatedDisplayablesGroupItem; // @synthesize relatedDisplayablesGroupItem=_relatedDisplayablesGroupItem;
- (void).cxx_destruct;
- (unsigned int)functionIndex;
- (id)associatedDisplayableItem;
- (void)primitiveInvalidate;
- (void)addNewDisplayableItem:(id)arg1;
- (id)relatedDisplayableItems;
- (id)navigableItem_subtitle;

@end

@interface GPUTraceReplayController : NSObject
{
    DYDevice *_device;
    BOOL _replayerReady;
    DYGuestAppSession *_replaySession;
    NSObject<OS_dispatch_queue> *_queue;
    GPUDebuggerController *_controller;
    DYContinuation *_invalidTerminationHandler;
    unsigned int _currentFunctionIndex;
    unsigned int _lastFunctionIndex;
}

@property(readonly) unsigned int currentFunctionIndex; // @synthesize currentFunctionIndex=_currentFunctionIndex;
@property(readonly) DYGuestAppSession *replaySession; // @synthesize replaySession=_replaySession;
@property BOOL replayerReady; // @synthesize replayerReady=_replayerReady;
@property(readonly) GPUDebuggerController *controller; // @synthesize controller=_controller;
- (void).cxx_destruct;
- (id)connectedDevices;
- (id)prepareCaptureArchive:(id)arg1 withDestinationName:(id)arg2;
- (id)replayerGuestApp;
- (void)removeCaptureArchivesFromReplayDevice:(CDUnknownBlockType)arg1;
- (void)replayWithExperiment:(id)arg1 baseCaptureArchivePath:(id)arg2 playbackMessageHandler:(CDUnknownBlockType)arg3;
- (void)setReplayDeviceBackgroundImage:(id)arg1;
- (id)initiateDebuggerReplaySession:(BOOL)arg1;
- (id)_deleteArchivesFromDeviceIfNeeded:(BOOL)arg1;
- (id)initiateReplaySession:(id)arg1;
- (id)_launchReplayer;
- (id)endDebuggerReplaySession;
- (id)endReplaySession;
- (void)sendDebugBeginMessage:(id)arg1;
- (void)toggleDeviceSideDrawPresenting:(BOOL)arg1 withFuture:(id)arg2;
- (void)setWireframeLineWidth:(float)arg1 withFuture:(id)arg2;
- (void)toggleDeviceSideWireframePresenting:(BOOL)arg1 withFuture:(id)arg2;
- (void)_postDeviceSettingChanged:(id)arg1;
- (void)_replayToFunctionIndex:(unsigned int)arg1 replyQueue:(id)arg2 withFutureResult:(id)arg3;
- (BOOL)_loopPlaybackFrom:(unsigned int)arg1 to:(unsigned int)arg2;
- (void)replayToFunctionIndex:(unsigned int)arg1 withFutureResult:(id)arg2;
- (void)invalidate;
- (id)setupDevice;
@property(readonly) DYDeviceInfo *playbackDeviceInfo; // @dynamic playbackDeviceInfo;
- (void)_handleGuestAppStatusChangeNotification:(id)arg1;
- (id)initWithController:(id)arg1 lastFunctionIndex:(unsigned int)arg2;

@end

@interface GPUTraceResources : GPUTraceOutlineItem
{
    NSString *_resourceCategory;
}

+ (id)resourceCategoryForType:(unsigned int)arg1;
+ (unsigned int)resourceTypeForCategory:(id)arg1;
@property(readonly, nonatomic) NSString *resourceCategory; // @synthesize resourceCategory=_resourceCategory;
- (void).cxx_destruct;
- (void)releaseRealizedResources;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)UUIDSection;
- (id)initWithController:(id)arg1 parent:(id)arg2 label:(id)arg3 category:(id)arg4;

@end

@interface GPUTraceSession : NSObject <IDEKeyDrivenNavigableItemRepresentedObject, DVTInvalidation>
{
    NSObject<OS_dispatch_queue> *_queue;
    BOOL _debugReplayActive;
    BOOL _presentDrawCallsOnDevice;
    BOOL _presentWireframeOnDevice;
    int _state;
    float _wireframeLineWidth;
    IDELaunchSession *_launchSession;
    GPUTraceReplayController *_replayController;
    DYSymbolicator *_symbolicator;
    NSDictionary *_updatedResourcesDict;
    GPUDebuggerController *_debuggerController;
    NSURL *_captureArchiveURL;
    GPUTraceGroupItem *_workspaceRootResourceGroup;
    GPUTraceProgramGroup *_workspaceRootProgramGroup;
}

+ (void)initialize;
@property(nonatomic) float wireframeLineWidth; // @synthesize wireframeLineWidth=_wireframeLineWidth;
@property(nonatomic) BOOL presentWireframeOnDevice; // @synthesize presentWireframeOnDevice=_presentWireframeOnDevice;
@property(nonatomic) BOOL presentDrawCallsOnDevice; // @synthesize presentDrawCallsOnDevice=_presentDrawCallsOnDevice;
@property(readonly, nonatomic) GPUTraceProgramGroup *workspaceRootProgramGroup; // @synthesize workspaceRootProgramGroup=_workspaceRootProgramGroup;
@property(readonly, nonatomic) GPUTraceGroupItem *workspaceRootResourceGroup; // @synthesize workspaceRootResourceGroup=_workspaceRootResourceGroup;
@property(nonatomic) int state; // @synthesize state=_state;
@property(readonly, nonatomic) NSURL *captureArchiveURL; // @synthesize captureArchiveURL=_captureArchiveURL;
@property(readonly, nonatomic) GPUDebuggerController *debuggerController; // @synthesize debuggerController=_debuggerController;
@property(retain, nonatomic) NSDictionary *updatedResourcesDict; // @synthesize updatedResourcesDict=_updatedResourcesDict;
@property(retain, nonatomic) DYSymbolicator *symbolicator; // @synthesize symbolicator=_symbolicator;
@property(nonatomic) BOOL debugReplayActive; // @synthesize debugReplayActive=_debugReplayActive;
@property(readonly, nonatomic) GPUTraceReplayController *replayController; // @synthesize replayController=_replayController;
@property(readonly, nonatomic) IDELaunchSession *launchSession; // @synthesize launchSession=_launchSession;
- (void).cxx_destruct;
@property(readonly) NSString *navigableItem_name;
- (id)resetEmbeddedReplaySession;
- (id)establishEmbeddedReplaySession;
- (BOOL)_loadReplayControllerWithError:(id *)arg1;
- (id)_setupReplaySession:(BOOL)arg1;
- (BOOL)_loadReplayControllerWithLastFunctionIndex:(unsigned int)arg1;
- (BOOL)isInActiveState;
- (void)primitiveInvalidate;
- (id)initWithLaunchSession:(id)arg1 debuggerController:(id)arg2 symbolicator:(id)arg3 rootResourceGroup:(id)arg4 rootProgramGroup:(id)arg5;

// Remaining properties
@property(retain) DVTStackBacktrace *creationBacktrace;
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) DVTStackBacktrace *invalidationBacktrace;
@property(readonly) DVTDocumentLocation *navigableItem_contentDocumentLocation;
@property(readonly) DVTFileDataType *navigableItem_documentType;
@property(readonly) IDEFileReference *navigableItem_fileReference;
@property(readonly) NSString *navigableItem_groupIdentifier;
@property(readonly) NSImage *navigableItem_image;
@property(readonly) BOOL navigableItem_isLeaf;
@property(readonly) BOOL navigableItem_isMajorGroup;
@property(readonly) NSString *navigableItem_toolTip;
@property(readonly) Class superclass;
@property(readonly, nonatomic, getter=isValid) BOOL valid;

@end

@interface GPUTraceShaderItem : GPUTraceResourceItem
{
    unsigned long long _shaderType;
    NSString *_infoLog;
    GPUFunctionInfo *_functionInfo;
}

@property(readonly, nonatomic) GPUFunctionInfo *functionInfo; // @synthesize functionInfo=_functionInfo;
@property(readonly, nonatomic) NSString *infoLog; // @synthesize infoLog=_infoLog;
@property(readonly, nonatomic) unsigned long long shaderType; // @synthesize shaderType=_shaderType;
- (void).cxx_destruct;
- (void)releaseRealizedResources;
- (id)program;
- (id)associatedTraceItem;
- (id)parentResourceGroup;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initFunctionWithParent:(id)arg1 shaderType:(unsigned long long)arg2 functionInfo:(id)arg3 label:(id)arg4 sharegroupID:(unsigned long long)arg5;
- (id)initShaderWithParent:(id)arg1 shaderType:(unsigned long long)arg2 infoLog:(const char *)arg3 label:(id)arg4 sharegroupID:(unsigned long long)arg5;
- (id)_initWithParent:(id)arg1 shaderType:(unsigned long long)arg2 infoLog:(const char *)arg3 functionInfo:(id)arg4 label:(id)arg5 type:(unsigned int)arg6 sharegroupID:(unsigned long long)arg7;
- (id)navigableItem_subtitle;

@end

@interface GPUTraceStateItem : GPUTraceAPIItem
{
    BOOL _isHidden;
}

@property(nonatomic) BOOL isHidden; // @synthesize isHidden=_isHidden;
- (BOOL)isGroupMarkerCall;

@end

__attribute__((visibility("hidden")))
@interface JobInfo : NSObject
{
    NSString *_jobId;
    DYContinuation *_job;
}

@property(readonly, nonatomic) DYContinuation *job; // @synthesize job=_job;
@property(readonly, nonatomic) NSString *jobId; // @synthesize jobId=_jobId;
- (void).cxx_destruct;
- (id)initWithId:(id)arg1 job:(id)arg2;
- (id)init;

@end

