summaryrefslogtreecommitdiffstats
path: root/src/core/hw/gpu.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-04-28 04:03:35 +0200
committerbunnei <bunneidev@gmail.com>2015-05-02 00:27:02 +0200
commit57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7 (patch)
tree851fb394c4fe279ca90cae70112d33aa9c4e7d6b /src/core/hw/gpu.cpp
parentServices: Initialize all state variables at bootup. (diff)
downloadyuzu-57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7.tar
yuzu-57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7.tar.gz
yuzu-57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7.tar.bz2
yuzu-57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7.tar.lz
yuzu-57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7.tar.xz
yuzu-57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7.tar.zst
yuzu-57aaaf92dbbdb4c1d43f6b564c7e8f83ab0811e7.zip
Diffstat (limited to 'src/core/hw/gpu.cpp')
-rw-r--r--src/core/hw/gpu.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp
index 308ea2035..0ad7e2963 100644
--- a/src/core/hw/gpu.cpp
+++ b/src/core/hw/gpu.cpp
@@ -29,8 +29,7 @@ namespace GPU {
Regs g_regs;
/// True if the current frame was skipped
-bool g_skip_frame = false;
-
+bool g_skip_frame;
/// 268MHz / gpu_refresh_rate frames per second
static u64 frame_ticks;
/// Event id for CoreTiming
@@ -38,7 +37,7 @@ static int vblank_event;
/// Total number of frames drawn
static u64 frame_count;
/// True if the last frame was skipped
-static bool last_skip_frame = false;
+static bool last_skip_frame;
template <typename T>
inline void Read(T &var, const u32 raw_addr) {
@@ -320,6 +319,8 @@ static void VBlankCallback(u64 userdata, int cycles_late) {
/// Initialize hardware
void Init() {
+ memset(&g_regs, 0, sizeof(g_regs));
+
auto& framebuffer_top = g_regs.framebuffer_config[0];
auto& framebuffer_sub = g_regs.framebuffer_config[1];
@@ -349,6 +350,7 @@ void Init() {
frame_ticks = 268123480 / Settings::values.gpu_refresh_rate;
last_skip_frame = false;
g_skip_frame = false;
+ frame_count = 0;
vblank_event = CoreTiming::RegisterEvent("GPU::VBlankCallback", VBlankCallback);
CoreTiming::ScheduleEvent(frame_ticks, vblank_event);