summaryrefslogtreecommitdiff
path: root/src/core/hw
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hw')
-rw-r--r--src/core/hw/gpu.cpp7
-rw-r--r--src/core/hw/gpu.h3
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp
index 33a0e0fe7..76dbe3fdc 100644
--- a/src/core/hw/gpu.cpp
+++ b/src/core/hw/gpu.cpp
@@ -4,6 +4,7 @@
4 4
5#include "common/common_types.h" 5#include "common/common_types.h"
6 6
7#include "core/settings.h"
7#include "core/core.h" 8#include "core/core.h"
8#include "core/mem_map.h" 9#include "core/mem_map.h"
9 10
@@ -24,6 +25,9 @@ u32 g_cur_line = 0; ///< Current vertical screen line
24u64 g_last_line_ticks = 0; ///< CPU tick count from last vertical screen line 25u64 g_last_line_ticks = 0; ///< CPU tick count from last vertical screen line
25u64 g_last_frame_ticks = 0; ///< CPU tick count from last frame 26u64 g_last_frame_ticks = 0; ///< CPU tick count from last frame
26 27
28static u32 kFrameCycles = 0; ///< 268MHz / 60 frames per second
29static u32 kFrameTicks = 0; ///< Approximate number of instructions/frame
30
27template <typename T> 31template <typename T>
28inline void Read(T &var, const u32 raw_addr) { 32inline void Read(T &var, const u32 raw_addr) {
29 u32 addr = raw_addr - 0x1EF00000; 33 u32 addr = raw_addr - 0x1EF00000;
@@ -214,6 +218,9 @@ void Update() {
214 218
215/// Initialize hardware 219/// Initialize hardware
216void Init() { 220void Init() {
221 kFrameCycles = 268123480 / Settings::values.gpu_refresh_rate;
222 kFrameTicks = kFrameCycles / 3;
223
217 g_cur_line = 0; 224 g_cur_line = 0;
218 g_last_frame_ticks = g_last_line_ticks = Core::g_app_core->GetTicks(); 225 g_last_frame_ticks = g_last_line_ticks = Core::g_app_core->GetTicks();
219 226
diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h
index 92097d182..3fa7b9ccf 100644
--- a/src/core/hw/gpu.h
+++ b/src/core/hw/gpu.h
@@ -11,9 +11,6 @@
11 11
12namespace GPU { 12namespace GPU {
13 13
14static const u32 kFrameCycles = 268123480 / 60; ///< 268MHz / 60 frames per second
15static const u32 kFrameTicks = kFrameCycles / 3; ///< Approximate number of instructions/frame
16
17// Returns index corresponding to the Regs member labeled by field_name 14// Returns index corresponding to the Regs member labeled by field_name
18// TODO: Due to Visual studio bug 209229, offsetof does not return constant expressions 15// TODO: Due to Visual studio bug 209229, offsetof does not return constant expressions
19// when used with array elements (e.g. GPU_REG_INDEX(memory_fill_config[0])). 16// when used with array elements (e.g. GPU_REG_INDEX(memory_fill_config[0])).