NW4F G3d
Loading...
Searching...
No Matches
g3d_GfxManage.h
Go to the documentation of this file.
1#ifndef NW_G3D_FND_GFXCONTEXT_H_
2#define NW_G3D_FND_GFXCONTEXT_H_
3
4#include <nw/g3d/g3d_config.h>
5
6#include <cafe/gx2/gx2Enum.h>
7
8namespace nw { namespace g3d { namespace fnd {
9
11{
12public:
13 /*
14 static void Flush(const void* addr, size_t size);
15 static void Store(const void* addr, size_t size);
16 static void Invalidate(void* addr, size_t size);
17 static void Sync();
18 */
19 static bool IsValid(const void* addr, size_t size);
20 static void FillZero(void* addr, size_t size);
21};
22
24{
25public:
26 typedef s64 Tick;
27
29 {
30 }
31
32 /*
33 void Setup();
34 void Cleanup();
35 void Query();
36 bool IsReady() const;
37 Tick GetTimeStamp() const;
38 static Tick Now();
39 */
40 static Tick GetFreq() { return s_Freq; }
41
42 static float ToSeconds(Tick ticks) { return static_cast<float>(ticks) / s_Freq; }
43 static float ToMilliSecs(Tick ticks) { return ToSeconds(ticks) * 1000; }
44 static float ToMicroSecs(Tick ticks) { return ToSeconds(ticks) * (1000 * 1000); }
45 static float ToPercents(Tick ticks) { return ToSeconds(ticks) * (60 * 100); }
46
47 union
48 {
51 };
52
53private:
54 static Tick s_Freq;
55
57};
58
60{
61public:
62 typedef s64 Tick;
63
64 // static Tick Now();
65 static Tick GetFreq() { return s_Freq.Get(); }
66
67 static float ToSeconds(Tick ticks) { return static_cast<float>(ticks) / s_Freq.Get(); }
68 static float ToMilliSecs(Tick ticks) { return ToSeconds(ticks) * 1000; }
69 static float ToMicroSecs(Tick ticks) { return ToSeconds(ticks) * (1000 * 1000); }
70 static float ToPercents(Tick ticks) { return ToSeconds(ticks) * (60 * 100); }
71
72private:
73 class Freq
74 {
75 public:
76 Freq() { Init(); }
77
78 void Init();
79 Tick Get() const { return m_Value; }
80
81 private:
83 };
84 static Freq s_Freq;
85
87};
88
89} } } // namespace nw::g3d::fnd
90
91#endif // NW_G3D_FND_GFXCONTEXT_H_
Definition g3d_GfxManage.h:11
static bool IsValid(const void *addr, size_t size)
Definition g3d_GfxManage.cpp:21
static void FillZero(void *addr, size_t size)
Definition g3d_GfxManage.cpp:27
Definition g3d_GfxManage.h:74
Tick Get() const
Definition g3d_GfxManage.h:79
Tick m_Value
Definition g3d_GfxManage.h:82
Freq()
Definition g3d_GfxManage.h:76
void Init()
Definition g3d_GfxManage.cpp:16
Definition g3d_GfxManage.h:60
static float ToMicroSecs(Tick ticks)
Definition g3d_GfxManage.h:69
static Freq s_Freq
Definition g3d_GfxManage.h:84
static float ToMilliSecs(Tick ticks)
Definition g3d_GfxManage.h:68
static float ToPercents(Tick ticks)
Definition g3d_GfxManage.h:70
s64 Tick
Definition g3d_GfxManage.h:62
static Tick GetFreq()
Definition g3d_GfxManage.h:65
static float ToSeconds(Tick ticks)
Definition g3d_GfxManage.h:67
Definition g3d_GfxManage.h:24
static Tick s_Freq
Definition g3d_GfxManage.h:54
static float ToPercents(Tick ticks)
Definition g3d_GfxManage.h:45
static float ToMilliSecs(Tick ticks)
Definition g3d_GfxManage.h:43
u32 handle
Definition g3d_GfxManage.h:50
static Tick GetFreq()
Definition g3d_GfxManage.h:40
GPUClock()
Definition g3d_GfxManage.h:28
u64 timestamp
Definition g3d_GfxManage.h:49
static float ToMicroSecs(Tick ticks)
Definition g3d_GfxManage.h:44
static float ToSeconds(Tick ticks)
Definition g3d_GfxManage.h:42
s64 Tick
Definition g3d_GfxManage.h:26
#define NW_G3D_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition g3d_defs.h:81
Definition g3d_GfxManage.cpp:10
Definition g3d_GfxManage.cpp:10