2014-09-13 02:06:13 +02:00
|
|
|
// Copyright 2014 Citra Emulator Project
|
2014-12-17 06:38:14 +01:00
|
|
|
// Licensed under GPLv2 or any later version
|
2014-09-13 02:06:13 +02:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
2017-12-20 19:44:32 +01:00
|
|
|
#include "audio_core/dsp_interface.h"
|
|
|
|
#include "core/core.h"
|
2018-02-20 01:51:27 +01:00
|
|
|
#include "core/frontend/emu_window.h"
|
2016-04-11 14:38:42 +02:00
|
|
|
#include "core/gdbstub/gdbstub.h"
|
2017-01-20 21:46:39 +01:00
|
|
|
#include "core/hle/service/hid/hid.h"
|
2017-03-31 21:27:18 +02:00
|
|
|
#include "core/hle/service/ir/ir.h"
|
2017-05-28 01:31:42 +02:00
|
|
|
#include "core/settings.h"
|
2016-04-11 14:38:42 +02:00
|
|
|
#include "video_core/video_core.h"
|
|
|
|
|
2014-09-13 02:06:13 +02:00
|
|
|
namespace Settings {
|
|
|
|
|
|
|
|
Values values = {};
|
|
|
|
|
2016-04-11 14:38:42 +02:00
|
|
|
void Apply() {
|
|
|
|
|
2017-01-31 18:44:23 +01:00
|
|
|
GDBStub::SetServerPort(values.gdbstub_port);
|
2016-04-11 14:38:42 +02:00
|
|
|
GDBStub::ToggleServer(values.use_gdbstub);
|
|
|
|
|
|
|
|
VideoCore::g_hw_renderer_enabled = values.use_hw_renderer;
|
|
|
|
VideoCore::g_shader_jit_enabled = values.use_shader_jit;
|
2018-05-13 09:47:06 +02:00
|
|
|
VideoCore::g_hw_shader_enabled = values.use_hw_shader;
|
|
|
|
VideoCore::g_hw_shader_accurate_gs = values.shaders_accurate_gs;
|
|
|
|
VideoCore::g_hw_shader_accurate_mul = values.shaders_accurate_mul;
|
2016-04-27 14:53:23 +02:00
|
|
|
|
2016-05-03 08:07:17 +02:00
|
|
|
if (VideoCore::g_emu_window) {
|
|
|
|
auto layout = VideoCore::g_emu_window->GetFramebufferLayout();
|
|
|
|
VideoCore::g_emu_window->UpdateCurrentFramebufferLayout(layout.width, layout.height);
|
|
|
|
}
|
|
|
|
|
2017-12-20 19:44:32 +01:00
|
|
|
if (Core::System::GetInstance().IsPoweredOn()) {
|
2018-07-02 15:03:14 +02:00
|
|
|
Core::DSP().SetSink(values.sink_id, values.audio_device_id);
|
2017-12-20 19:44:32 +01:00
|
|
|
Core::DSP().EnableStretching(values.enable_audio_stretching);
|
|
|
|
}
|
2017-01-20 21:46:39 +01:00
|
|
|
|
|
|
|
Service::HID::ReloadInputDevices();
|
2017-02-25 20:21:52 +01:00
|
|
|
Service::IR::ReloadInputDevices();
|
2018-05-11 19:42:23 +02:00
|
|
|
Service::CAM::ReloadCameraDevices();
|
2014-09-13 02:06:13 +02:00
|
|
|
}
|
2016-04-11 14:38:42 +02:00
|
|
|
|
2017-08-25 23:53:07 +02:00
|
|
|
} // namespace Settings
|