2014-09-12 17:06:13 -07:00
|
|
|
// Copyright 2014 Citra Emulator Project
|
2014-12-16 21:38:14 -08:00
|
|
|
// Licensed under GPLv2 or any later version
|
2014-09-12 17:06:13 -07:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
2017-12-20 18:44:32 +00:00
|
|
|
#include "audio_core/dsp_interface.h"
|
|
|
|
#include "core/core.h"
|
2018-02-19 17:51:27 -07:00
|
|
|
#include "core/frontend/emu_window.h"
|
2016-04-11 14:38:42 +02:00
|
|
|
#include "core/gdbstub/gdbstub.h"
|
2017-01-20 22:46:39 +02:00
|
|
|
#include "core/hle/service/hid/hid.h"
|
2017-03-31 22:27:18 +03:00
|
|
|
#include "core/hle/service/ir/ir.h"
|
2017-05-27 16:31:42 -07:00
|
|
|
#include "core/settings.h"
|
2016-04-11 14:38:42 +02:00
|
|
|
#include "video_core/video_core.h"
|
|
|
|
|
2014-09-12 17:06:13 -07:00
|
|
|
namespace Settings {
|
|
|
|
|
|
|
|
Values values = {};
|
|
|
|
|
2016-04-11 14:38:42 +02:00
|
|
|
void Apply() {
|
|
|
|
|
2017-01-31 11:44:23 -06: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 10:47:06 +03: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 13:53:23 +01:00
|
|
|
|
2016-05-03 00:07:17 -06: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 18:44:32 +00:00
|
|
|
if (Core::System::GetInstance().IsPoweredOn()) {
|
2018-07-02 14:03:14 +01:00
|
|
|
Core::DSP().SetSink(values.sink_id, values.audio_device_id);
|
2017-12-20 18:44:32 +00:00
|
|
|
Core::DSP().EnableStretching(values.enable_audio_stretching);
|
|
|
|
}
|
2017-01-20 22:46:39 +02:00
|
|
|
|
|
|
|
Service::HID::ReloadInputDevices();
|
2017-02-25 21:21:52 +02:00
|
|
|
Service::IR::ReloadInputDevices();
|
2018-05-12 01:42:23 +08:00
|
|
|
Service::CAM::ReloadCameraDevices();
|
2014-09-12 17:06:13 -07:00
|
|
|
}
|
2016-04-11 14:38:42 +02:00
|
|
|
|
2017-08-25 23:53:07 +02:00
|
|
|
} // namespace Settings
|