summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/audio/audout_u.cpp2
-rw-r--r--src/core/hle/service/nvdrv/interface.cpp36
-rw-r--r--src/core/hle/service/vi/vi.cpp4
-rw-r--r--src/video_core/gpu.cpp2
-rw-r--r--src/yuzu/bootmanager.cpp2
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp76
-rw-r--r--src/yuzu/configuration/configure_mouse_advanced.cpp39
-rw-r--r--src/yuzu/configuration/configure_ui.cpp4
-rw-r--r--src/yuzu/main.cpp4
9 files changed, 88 insertions, 81 deletions
diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp
index 106e89743..dd80dd1dc 100644
--- a/src/core/hle/service/audio/audout_u.cpp
+++ b/src/core/hle/service/audio/audout_u.cpp
@@ -71,7 +71,7 @@ public:
71 71
72 stream = audio_core.OpenStream(system.CoreTiming(), audio_params.sample_rate, 72 stream = audio_core.OpenStream(system.CoreTiming(), audio_params.sample_rate,
73 audio_params.channel_count, std::move(unique_name), 73 audio_params.channel_count, std::move(unique_name),
74 [=]() { buffer_event.writable->Signal(); }); 74 [this] { buffer_event.writable->Signal(); });
75 } 75 }
76 76
77private: 77private:
diff --git a/src/core/hle/service/nvdrv/interface.cpp b/src/core/hle/service/nvdrv/interface.cpp
index deaf0808b..88fbfa9b0 100644
--- a/src/core/hle/service/nvdrv/interface.cpp
+++ b/src/core/hle/service/nvdrv/interface.cpp
@@ -60,24 +60,24 @@ void NVDRV::IoctlBase(Kernel::HLERequestContext& ctx, IoctlVersion version) {
60 60
61 if (ctrl.must_delay) { 61 if (ctrl.must_delay) {
62 ctrl.fresh_call = false; 62 ctrl.fresh_call = false;
63 ctx.SleepClientThread("NVServices::DelayedResponse", ctrl.timeout, 63 ctx.SleepClientThread(
64 [=](std::shared_ptr<Kernel::Thread> thread, 64 "NVServices::DelayedResponse", ctrl.timeout,
65 Kernel::HLERequestContext& ctx, 65 [=, this](std::shared_ptr<Kernel::Thread> thread, Kernel::HLERequestContext& ctx_,
66 Kernel::ThreadWakeupReason reason) { 66 Kernel::ThreadWakeupReason reason) {
67 IoctlCtrl ctrl2{ctrl}; 67 IoctlCtrl ctrl2{ctrl};
68 std::vector<u8> tmp_output = output; 68 std::vector<u8> tmp_output = output;
69 std::vector<u8> tmp_output2 = output2; 69 std::vector<u8> tmp_output2 = output2;
70 u32 result = nvdrv->Ioctl(fd, command, input, input2, tmp_output, 70 const u32 ioctl_result = nvdrv->Ioctl(fd, command, input, input2, tmp_output,
71 tmp_output2, ctrl2, version); 71 tmp_output2, ctrl2, version);
72 ctx.WriteBuffer(tmp_output, 0); 72 ctx_.WriteBuffer(tmp_output, 0);
73 if (version == IoctlVersion::Version3) { 73 if (version == IoctlVersion::Version3) {
74 ctx.WriteBuffer(tmp_output2, 1); 74 ctx_.WriteBuffer(tmp_output2, 1);
75 } 75 }
76 IPC::ResponseBuilder rb{ctx, 3}; 76 IPC::ResponseBuilder rb{ctx_, 3};
77 rb.Push(RESULT_SUCCESS); 77 rb.Push(RESULT_SUCCESS);
78 rb.Push(result); 78 rb.Push(ioctl_result);
79 }, 79 },
80 nvdrv->GetEventWriteable(ctrl.event_id)); 80 nvdrv->GetEventWriteable(ctrl.event_id));
81 } else { 81 } else {
82 ctx.WriteBuffer(output); 82 ctx.WriteBuffer(output);
83 if (version == IoctlVersion::Version3) { 83 if (version == IoctlVersion::Version3) {
diff --git a/src/core/hle/service/vi/vi.cpp b/src/core/hle/service/vi/vi.cpp
index 825d11a3f..988d253f9 100644
--- a/src/core/hle/service/vi/vi.cpp
+++ b/src/core/hle/service/vi/vi.cpp
@@ -548,8 +548,8 @@ private:
548 // Wait the current thread until a buffer becomes available 548 // Wait the current thread until a buffer becomes available
549 ctx.SleepClientThread( 549 ctx.SleepClientThread(
550 "IHOSBinderDriver::DequeueBuffer", UINT64_MAX, 550 "IHOSBinderDriver::DequeueBuffer", UINT64_MAX,
551 [=](std::shared_ptr<Kernel::Thread> thread, Kernel::HLERequestContext& ctx, 551 [=, this](std::shared_ptr<Kernel::Thread> thread,
552 Kernel::ThreadWakeupReason reason) { 552 Kernel::HLERequestContext& ctx, Kernel::ThreadWakeupReason reason) {
553 // Repeat TransactParcel DequeueBuffer when a buffer is available 553 // Repeat TransactParcel DequeueBuffer when a buffer is available
554 const auto guard = nv_flinger->Lock(); 554 const auto guard = nv_flinger->Lock();
555 auto& buffer_queue = nv_flinger->FindBufferQueue(id); 555 auto& buffer_queue = nv_flinger->FindBufferQueue(id);
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp
index 8e19c3373..512578c8b 100644
--- a/src/video_core/gpu.cpp
+++ b/src/video_core/gpu.cpp
@@ -81,7 +81,7 @@ void GPU::WaitFence(u32 syncpoint_id, u32 value) {
81 } 81 }
82 MICROPROFILE_SCOPE(GPU_wait); 82 MICROPROFILE_SCOPE(GPU_wait);
83 std::unique_lock lock{sync_mutex}; 83 std::unique_lock lock{sync_mutex};
84 sync_cv.wait(lock, [=]() { return syncpoints[syncpoint_id].load() >= value; }); 84 sync_cv.wait(lock, [=, this] { return syncpoints[syncpoint_id].load() >= value; });
85} 85}
86 86
87void GPU::IncrementSyncPoint(const u32 syncpoint_id) { 87void GPU::IncrementSyncPoint(const u32 syncpoint_id) {
diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp
index 5738787ac..8fc322b30 100644
--- a/src/yuzu/bootmanager.cpp
+++ b/src/yuzu/bootmanager.cpp
@@ -567,7 +567,7 @@ void GRenderWindow::CaptureScreenshot(u32 res_scale, const QString& screenshot_p
567 screenshot_image = QImage(QSize(layout.width, layout.height), QImage::Format_RGB32); 567 screenshot_image = QImage(QSize(layout.width, layout.height), QImage::Format_RGB32);
568 renderer.RequestScreenshot( 568 renderer.RequestScreenshot(
569 screenshot_image.bits(), 569 screenshot_image.bits(),
570 [=] { 570 [=, this] {
571 const std::string std_screenshot_path = screenshot_path.toStdString(); 571 const std::string std_screenshot_path = screenshot_path.toStdString();
572 if (screenshot_image.mirrored(false, true).save(screenshot_path)) { 572 if (screenshot_image.mirrored(false, true).save(screenshot_path)) {
573 LOG_INFO(Frontend, "Screenshot saved to \"{}\"", std_screenshot_path); 573 LOG_INFO(Frontend, "Screenshot saved to \"{}\"", std_screenshot_path);
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index 00433926d..b1850bc95 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -280,9 +280,9 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
280 } 280 }
281 281
282 button->setContextMenuPolicy(Qt::CustomContextMenu); 282 button->setContextMenuPolicy(Qt::CustomContextMenu);
283 connect(button, &QPushButton::clicked, [=] { 283 connect(button, &QPushButton::clicked, [=, this] {
284 HandleClick(button_map[button_id], 284 HandleClick(button_map[button_id],
285 [=](Common::ParamPackage params) { 285 [=, this](Common::ParamPackage params) {
286 // Workaround for ZL & ZR for analog triggers like on XBOX controllors. 286 // Workaround for ZL & ZR for analog triggers like on XBOX controllors.
287 // Analog triggers (from controllers like the XBOX controller) would not 287 // Analog triggers (from controllers like the XBOX controller) would not
288 // work due to a different range of their signals (from 0 to 255 on 288 // work due to a different range of their signals (from 0 to 255 on
@@ -300,19 +300,20 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
300 }, 300 },
301 InputCommon::Polling::DeviceType::Button); 301 InputCommon::Polling::DeviceType::Button);
302 }); 302 });
303 connect(button, &QPushButton::customContextMenuRequested, [=](const QPoint& menu_location) { 303 connect(button, &QPushButton::customContextMenuRequested,
304 QMenu context_menu; 304 [=, this](const QPoint& menu_location) {
305 context_menu.addAction(tr("Clear"), [&] { 305 QMenu context_menu;
306 buttons_param[button_id].Clear(); 306 context_menu.addAction(tr("Clear"), [&] {
307 button_map[button_id]->setText(tr("[not set]")); 307 buttons_param[button_id].Clear();
308 }); 308 button_map[button_id]->setText(tr("[not set]"));
309 context_menu.addAction(tr("Restore Default"), [&] { 309 });
310 buttons_param[button_id] = Common::ParamPackage{ 310 context_menu.addAction(tr("Restore Default"), [&] {
311 InputCommon::GenerateKeyboardParam(Config::default_buttons[button_id])}; 311 buttons_param[button_id] = Common::ParamPackage{
312 button_map[button_id]->setText(ButtonToText(buttons_param[button_id])); 312 InputCommon::GenerateKeyboardParam(Config::default_buttons[button_id])};
313 }); 313 button_map[button_id]->setText(ButtonToText(buttons_param[button_id]));
314 context_menu.exec(button_map[button_id]->mapToGlobal(menu_location)); 314 });
315 }); 315 context_menu.exec(button_map[button_id]->mapToGlobal(menu_location));
316 });
316 } 317 }
317 318
318 for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; analog_id++) { 319 for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; analog_id++) {
@@ -323,16 +324,16 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
323 } 324 }
324 325
325 analog_button->setContextMenuPolicy(Qt::CustomContextMenu); 326 analog_button->setContextMenuPolicy(Qt::CustomContextMenu);
326 connect(analog_button, &QPushButton::clicked, [=]() { 327 connect(analog_button, &QPushButton::clicked, [=, this] {
327 HandleClick(analog_map_buttons[analog_id][sub_button_id], 328 HandleClick(analog_map_buttons[analog_id][sub_button_id],
328 [=](const Common::ParamPackage& params) { 329 [=, this](const Common::ParamPackage& params) {
329 SetAnalogButton(params, analogs_param[analog_id], 330 SetAnalogButton(params, analogs_param[analog_id],
330 analog_sub_buttons[sub_button_id]); 331 analog_sub_buttons[sub_button_id]);
331 }, 332 },
332 InputCommon::Polling::DeviceType::Button); 333 InputCommon::Polling::DeviceType::Button);
333 }); 334 });
334 connect(analog_button, &QPushButton::customContextMenuRequested, 335 connect(analog_button, &QPushButton::customContextMenuRequested,
335 [=](const QPoint& menu_location) { 336 [=, this](const QPoint& menu_location) {
336 QMenu context_menu; 337 QMenu context_menu;
337 context_menu.addAction(tr("Clear"), [&] { 338 context_menu.addAction(tr("Clear"), [&] {
338 analogs_param[analog_id].Erase(analog_sub_buttons[sub_button_id]); 339 analogs_param[analog_id].Erase(analog_sub_buttons[sub_button_id]);
@@ -350,32 +351,35 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
350 menu_location)); 351 menu_location));
351 }); 352 });
352 } 353 }
353 connect(analog_map_stick[analog_id], &QPushButton::clicked, [=] { 354 connect(analog_map_stick[analog_id], &QPushButton::clicked, [=, this] {
354 if (QMessageBox::information( 355 if (QMessageBox::information(
355 this, tr("Information"), 356 this, tr("Information"),
356 tr("After pressing OK, first move your joystick horizontally, " 357 tr("After pressing OK, first move your joystick horizontally, "
357 "and then vertically."), 358 "and then vertically."),
358 QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok) { 359 QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok) {
359 HandleClick( 360 HandleClick(analog_map_stick[analog_id],
360 analog_map_stick[analog_id], 361 [=, this](const Common::ParamPackage& params) {
361 [=](const Common::ParamPackage& params) { analogs_param[analog_id] = params; }, 362 analogs_param[analog_id] = params;
362 InputCommon::Polling::DeviceType::Analog); 363 },
364 InputCommon::Polling::DeviceType::Analog);
363 } 365 }
364 }); 366 });
365 367
366 connect(analog_map_deadzone_and_modifier_slider[analog_id], &QSlider::valueChanged, [=] { 368 connect(analog_map_deadzone_and_modifier_slider[analog_id], &QSlider::valueChanged,
367 const float slider_value = analog_map_deadzone_and_modifier_slider[analog_id]->value(); 369 [=, this] {
368 if (analogs_param[analog_id].Get("engine", "") == "sdl" || 370 const float slider_value =
369 analogs_param[analog_id].Get("engine", "") == "gcpad") { 371 analog_map_deadzone_and_modifier_slider[analog_id]->value();
370 analog_map_deadzone_and_modifier_slider_label[analog_id]->setText( 372 if (analogs_param[analog_id].Get("engine", "") == "sdl" ||
371 tr("Deadzone: %1%").arg(slider_value)); 373 analogs_param[analog_id].Get("engine", "") == "gcpad") {
372 analogs_param[analog_id].Set("deadzone", slider_value / 100.0f); 374 analog_map_deadzone_and_modifier_slider_label[analog_id]->setText(
373 } else { 375 tr("Deadzone: %1%").arg(slider_value));
374 analog_map_deadzone_and_modifier_slider_label[analog_id]->setText( 376 analogs_param[analog_id].Set("deadzone", slider_value / 100.0f);
375 tr("Modifier Scale: %1%").arg(slider_value)); 377 } else {
376 analogs_param[analog_id].Set("modifier_scale", slider_value / 100.0f); 378 analog_map_deadzone_and_modifier_slider_label[analog_id]->setText(
377 } 379 tr("Modifier Scale: %1%").arg(slider_value));
378 }); 380 analogs_param[analog_id].Set("modifier_scale", slider_value / 100.0f);
381 }
382 });
379 } 383 }
380 384
381 connect(ui->buttonClearAll, &QPushButton::clicked, [this] { ClearAll(); }); 385 connect(ui->buttonClearAll, &QPushButton::clicked, [this] { ClearAll(); });
diff --git a/src/yuzu/configuration/configure_mouse_advanced.cpp b/src/yuzu/configuration/configure_mouse_advanced.cpp
index e0647ea5b..ea2549363 100644
--- a/src/yuzu/configuration/configure_mouse_advanced.cpp
+++ b/src/yuzu/configuration/configure_mouse_advanced.cpp
@@ -83,25 +83,28 @@ ConfigureMouseAdvanced::ConfigureMouseAdvanced(QWidget* parent)
83 } 83 }
84 84
85 button->setContextMenuPolicy(Qt::CustomContextMenu); 85 button->setContextMenuPolicy(Qt::CustomContextMenu);
86 connect(button, &QPushButton::clicked, [=] { 86 connect(button, &QPushButton::clicked, [=, this] {
87 HandleClick( 87 HandleClick(button_map[button_id],
88 button_map[button_id], 88 [=, this](const Common::ParamPackage& params) {
89 [=](const Common::ParamPackage& params) { buttons_param[button_id] = params; }, 89 buttons_param[button_id] = params;
90 InputCommon::Polling::DeviceType::Button); 90 },
91 }); 91 InputCommon::Polling::DeviceType::Button);
92 connect(button, &QPushButton::customContextMenuRequested, [=](const QPoint& menu_location) {
93 QMenu context_menu;
94 context_menu.addAction(tr("Clear"), [&] {
95 buttons_param[button_id].Clear();
96 button_map[button_id]->setText(tr("[not set]"));
97 });
98 context_menu.addAction(tr("Restore Default"), [&] {
99 buttons_param[button_id] = Common::ParamPackage{
100 InputCommon::GenerateKeyboardParam(Config::default_mouse_buttons[button_id])};
101 button_map[button_id]->setText(ButtonToText(buttons_param[button_id]));
102 });
103 context_menu.exec(button_map[button_id]->mapToGlobal(menu_location));
104 }); 92 });
93 connect(button, &QPushButton::customContextMenuRequested,
94 [=, this](const QPoint& menu_location) {
95 QMenu context_menu;
96 context_menu.addAction(tr("Clear"), [&] {
97 buttons_param[button_id].Clear();
98 button_map[button_id]->setText(tr("[not set]"));
99 });
100 context_menu.addAction(tr("Restore Default"), [&] {
101 buttons_param[button_id] =
102 Common::ParamPackage{InputCommon::GenerateKeyboardParam(
103 Config::default_mouse_buttons[button_id])};
104 button_map[button_id]->setText(ButtonToText(buttons_param[button_id]));
105 });
106 context_menu.exec(button_map[button_id]->mapToGlobal(menu_location));
107 });
105 } 108 }
106 109
107 connect(ui->buttonClearAll, &QPushButton::clicked, [this] { ClearAll(); }); 110 connect(ui->buttonClearAll, &QPushButton::clicked, [this] { ClearAll(); });
diff --git a/src/yuzu/configuration/configure_ui.cpp b/src/yuzu/configuration/configure_ui.cpp
index 91c21c572..2c20b68d0 100644
--- a/src/yuzu/configuration/configure_ui.cpp
+++ b/src/yuzu/configuration/configure_ui.cpp
@@ -54,9 +54,9 @@ ConfigureUi::ConfigureUi(QWidget* parent) : QWidget(parent), ui(new Ui::Configur
54 54
55 // Update text ComboBoxes after user interaction. 55 // Update text ComboBoxes after user interaction.
56 connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::activated), 56 connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::activated),
57 [=]() { ConfigureUi::UpdateSecondRowComboBox(); }); 57 [this] { ConfigureUi::UpdateSecondRowComboBox(); });
58 connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::activated), 58 connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::activated),
59 [=]() { ConfigureUi::UpdateFirstRowComboBox(); }); 59 [this] { ConfigureUi::UpdateFirstRowComboBox(); });
60 60
61 // Set screenshot path to user specification. 61 // Set screenshot path to user specification.
62 connect(ui->screenshot_path_button, &QToolButton::pressed, this, [this] { 62 connect(ui->screenshot_path_button, &QToolButton::pressed, this, [this] {
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index e26cec78c..592993c36 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -583,7 +583,7 @@ void GMainWindow::InitializeWidgets() {
583 renderer_status_button->setObjectName(QStringLiteral("RendererStatusBarButton")); 583 renderer_status_button->setObjectName(QStringLiteral("RendererStatusBarButton"));
584 renderer_status_button->setCheckable(true); 584 renderer_status_button->setCheckable(true);
585 renderer_status_button->setFocusPolicy(Qt::NoFocus); 585 renderer_status_button->setFocusPolicy(Qt::NoFocus);
586 connect(renderer_status_button, &QPushButton::toggled, [=](bool checked) { 586 connect(renderer_status_button, &QPushButton::toggled, [this](bool checked) {
587 renderer_status_button->setText(checked ? tr("VULKAN") : tr("OPENGL")); 587 renderer_status_button->setText(checked ? tr("VULKAN") : tr("OPENGL"));
588 }); 588 });
589 renderer_status_button->toggle(); 589 renderer_status_button->toggle();
@@ -595,7 +595,7 @@ void GMainWindow::InitializeWidgets() {
595#else 595#else
596 renderer_status_button->setChecked(Settings::values.renderer_backend.GetValue() == 596 renderer_status_button->setChecked(Settings::values.renderer_backend.GetValue() ==
597 Settings::RendererBackend::Vulkan); 597 Settings::RendererBackend::Vulkan);
598 connect(renderer_status_button, &QPushButton::clicked, [=] { 598 connect(renderer_status_button, &QPushButton::clicked, [this] {
599 if (emulation_running) { 599 if (emulation_running) {
600 return; 600 return;
601 } 601 }