Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
perf.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_PERF_H_
2#define _DOLPHIN_PERF_H_
3
4#include <dolphin/gx.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10typedef u8 PERFId;
11
17
18typedef struct PerfSample {
19 /* 0x00 */ u8 id;
21 /* 0x08 */ u32 cpuTimeStampEnd;
23 /* 0x10 */ u32 gpTimeStampEnd;
24 /* 0x14 */ int interrupted;
25 /* 0x18 */ u32 origcpuStart;
26 /* 0x1C */ u32 origgpStart;
27 /* 0x20 */ u32 cacheMisses[4];
28 /* 0x30 */ u32 instructions[4];
29 /* 0x40 */ u32 cpReq[2];
30 /* 0x48 */ u32 tcReq[2];
31 /* 0x50 */ u32 cpuRdReq[2];
32 /* 0x58 */ u32 cpuWrReq[2];
33 /* 0x60 */ u32 dspReq[2];
34 /* 0x68 */ u32 ioReq[2];
35 /* 0x70 */ u32 viReq[2];
36 /* 0x78 */ u32 peReq[2];
37 /* 0x80 */ u32 rfReq[2];
38 /* 0x88 */ u32 fiReq[2];
39 /* 0x90 */ u32 xfWaitIn[2];
40 /* 0x98 */ u32 xfWaitOut[2];
41 /* 0xA0 */ u32 rasBusy[2];
42 /* 0xA8 */ u32 rasClocks[2];
44
51
58
59typedef void* (*PERFAllocator)(u32 size);
60typedef void (*PERFDeallocator)(void* block);
61typedef void (*PERFDrawCallback)(void);
62
63extern void (*GameDrawInit)();
64
65u32 PERFInit(u32 numSamples, u32 numFramesHistory, u32 numTypes, PERFAllocator allocator, PERFDeallocator deallocator, PERFDrawCallback initDraw);
66void PERFEventStart(PERFId id);
67void PERFEventEnd(PERFId id);
68void PERFSetEvent(PERFId id, char* name, PerfType type);
69void PERFStartFrame(void);
70void PERFEndFrame(void);
71void PERFStartAutoSampling(f32 msInterval);
72void PERFStopAutoSampling(void);
73
74void PERFPreDraw(void);
75void PERFDumpScreen(void);
76void PERFPostDraw(void);
78void PERFSetDrawBWBar(BOOL tf);
79void PERFSetDrawCPUBar(BOOL tf);
80void PERFSetDrawXFBars(BOOL tf);
81void PERFSetDrawRASBar(BOOL tf);
82void PERFToggleDrawBWBarKey(void);
83void PERFToggleDrawBWBar(void);
84void PERFToggleDrawCPUBar(void);
85void PERFToggleDrawXFBars(void);
86void PERFToggleDrawRASBar(void);
87void PERFShutDown(void);
88void PERFSetDrawFrames(u32 frames);
89
90extern Frame* PERFFrames;
91extern u32 PERFCurrFrame;
92extern PerfEvent* PERFEvents;
93extern u32 PERFNumEvents;
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif
unsigned int size
Definition __os.h:106
s16 name
Definition d_a_e_pz.cpp:1764
void PERFToggleDrawXFBars(void)
Definition perfdraw.c:680
Frame * PERFFrames
Definition perf.c:29
u32 PERFNumEvents
Definition perf.c:27
struct PerfSample PerfSample
void PERFDumpScreen(void)
Definition perfdraw.c:398
void PERFEventStart(PERFId id)
Definition perf.c:288
u8 PERFId
Definition perf.h:10
void PERFStopAutoSampling(void)
Definition perf.c:439
void PERFSetDrawCPUBar(BOOL tf)
Definition perfdraw.c:656
void(* GameDrawInit)()
Definition perfdraw.c:107
void PERFSetDrawBWBarKey(BOOL tf)
Definition perfdraw.c:648
PerfType
Definition perf.h:12
@ PERF_CPU_EVENT
Definition perf.h:13
@ PERF_CPU_GP_EVENT
Definition perf.h:14
@ PERF_GP_EVENT
Definition perf.h:15
u32 PERFInit(u32 numSamples, u32 numFramesHistory, u32 numTypes, PERFAllocator allocator, PERFDeallocator deallocator, PERFDrawCallback initDraw)
Definition perf.c:194
void PERFToggleDrawRASBar(void)
Definition perfdraw.c:684
void PERFSetDrawBWBar(BOOL tf)
Definition perfdraw.c:652
void PERFSetDrawRASBar(BOOL tf)
Definition perfdraw.c:664
u32 PERFCurrFrame
Definition perf.c:31
void PERFStartAutoSampling(f32 msInterval)
Definition perf.c:435
void PERFPreDraw(void)
Definition perfdraw.c:135
void(* PERFDrawCallback)(void)
Definition perf.h:61
void PERFSetDrawFrames(u32 frames)
Definition perfdraw.c:688
void PERFPostDraw(void)
Definition perfdraw.c:627
void PERFStartFrame(void)
Definition perf.c:243
void PERFToggleDrawCPUBar(void)
Definition perfdraw.c:676
void PERFShutDown(void)
Definition perf.c:451
void PERFToggleDrawBWBar(void)
Definition perfdraw.c:672
void *(* PERFAllocator)(u32 size)
Definition perf.h:59
void PERFEndFrame(void)
Definition perf.c:262
void PERFToggleDrawBWBarKey(void)
Definition perfdraw.c:668
void PERFEventEnd(PERFId id)
Definition perf.c:343
void PERFSetEvent(PERFId id, char *name, PerfType type)
Definition perf.c:230
PerfEvent * PERFEvents
Definition perf.c:30
void(* PERFDeallocator)(void *block)
Definition perf.h:60
void PERFSetDrawXFBars(BOOL tf)
Definition perfdraw.c:660
Definition perf.h:45
u32 end
Definition perf.h:48
PerfSample * samples
Definition perf.h:46
u32 cachemisscycles
Definition perf.h:49
s32 lastSample
Definition perf.h:47
Definition perf.h:52
GXColor color
Definition perf.h:56
s32 currSample
Definition perf.h:55
PerfType type
Definition perf.h:54
char * name
Definition perf.h:53
Definition perf.h:18
u32 rasBusy[2]
Definition perf.h:41
u32 tcReq[2]
Definition perf.h:30
u32 viReq[2]
Definition perf.h:35
u32 xfWaitOut[2]
Definition perf.h:40
u32 origgpStart
Definition perf.h:26
u32 rasClocks[2]
Definition perf.h:42
u32 cpuTimeStampStart
Definition perf.h:20
u32 rfReq[2]
Definition perf.h:37
u32 dspReq[2]
Definition perf.h:33
u32 cpuTimeStampEnd
Definition perf.h:21
u32 xfWaitIn[2]
Definition perf.h:39
u32 cpuRdReq[2]
Definition perf.h:31
u32 peReq[2]
Definition perf.h:36
u32 gpTimeStampEnd
Definition perf.h:23
u32 fiReq[2]
Definition perf.h:38
u32 gpTimeStampStart
Definition perf.h:22
u32 cpuWrReq[2]
Definition perf.h:32
u32 ioReq[2]
Definition perf.h:34
u8 id
Definition perf.h:19
u32 instructions[4]
Definition perf.h:28
u32 cpReq[2]
Definition perf.h:29
int interrupted
Definition perf.h:24
u32 cacheMisses[4]
Definition perf.h:27
u32 origcpuStart
Definition perf.h:25
Definition d_menu_dmap_map.cpp:90
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
float f32
Definition types.h:22
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5