Refactoring settings/support changing GPU renderer at runtime

This commit is contained in:
Connor McLaughlin
2019-10-26 12:55:56 +10:00
parent ca48b21ffc
commit 9b56499afa
20 changed files with 281 additions and 189 deletions

View File

@ -1,20 +1,33 @@
#pragma once
#include "types.h"
enum class GPUBackend
enum class GPURenderer
{
OpenGL
HardwareOpenGL
};
struct Settings
{
Settings();
GPUBackend gpu_backend = GPUBackend::OpenGL;
GPURenderer gpu_renderer = GPURenderer::HardwareOpenGL;
u32 gpu_resolution_scale = 1;
u32 max_gpu_resolution_scale = 1;
bool gpu_vsync = true;
struct DebugSettings
{
bool show_gpu_state = false;
bool show_gpu_renderer_stats = false;
bool show_vram = false;
bool dump_cpu_to_vram_copies = false;
bool dump_vram_to_cpu_copies = false;
bool show_cdrom_state = false;
bool show_spu_state = false;
bool show_timers_state = false;
bool show_mdec_state = false;
} debugging;
// TODO: Controllers, memory cards, etc.
};