2022-11-05 12:58:44 +00:00
|
|
|
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
namespace Core {
|
|
|
|
class System;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace ConfigurationShared {
|
|
|
|
enum class CheckState;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace Ui {
|
|
|
|
class ConfigureGraphicsAdvanced;
|
|
|
|
}
|
|
|
|
|
|
|
|
class ConfigureGraphicsAdvanced : public QWidget {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit ConfigureGraphicsAdvanced(const Core::System& system_, QWidget* parent = nullptr);
|
|
|
|
~ConfigureGraphicsAdvanced() override;
|
|
|
|
|
|
|
|
void ApplyConfiguration();
|
|
|
|
void SetConfiguration();
|
|
|
|
|
2023-05-07 22:52:13 +00:00
|
|
|
void ExposeComputeOption();
|
|
|
|
|
2022-11-05 12:58:44 +00:00
|
|
|
private:
|
|
|
|
void changeEvent(QEvent* event) override;
|
|
|
|
void RetranslateUI();
|
|
|
|
|
|
|
|
void SetupPerGameUI();
|
|
|
|
|
|
|
|
std::unique_ptr<Ui::ConfigureGraphicsAdvanced> ui;
|
|
|
|
|
2023-05-02 23:52:43 +00:00
|
|
|
ConfigurationShared::CheckState async_present;
|
2023-01-06 17:59:36 +00:00
|
|
|
ConfigurationShared::CheckState renderer_force_max_clock;
|
2022-11-05 12:58:44 +00:00
|
|
|
ConfigurationShared::CheckState use_vsync;
|
2023-02-24 11:03:44 +00:00
|
|
|
ConfigurationShared::CheckState async_astc;
|
2023-05-04 14:44:44 +00:00
|
|
|
ConfigurationShared::CheckState use_reactive_flushing;
|
2022-11-05 12:58:44 +00:00
|
|
|
ConfigurationShared::CheckState use_asynchronous_shaders;
|
|
|
|
ConfigurationShared::CheckState use_fast_gpu_time;
|
2023-01-05 22:14:41 +00:00
|
|
|
ConfigurationShared::CheckState use_vulkan_driver_pipeline_cache;
|
2023-05-07 22:52:13 +00:00
|
|
|
ConfigurationShared::CheckState enable_compute_pipelines;
|
2022-11-05 12:58:44 +00:00
|
|
|
|
|
|
|
const Core::System& system;
|
|
|
|
};
|