citra_qt: Forbid renderer change during runtime
* It's an endless source of problems and isn't usefull
This commit is contained in:
@ -10,7 +10,6 @@
|
|||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
#include "ui_configure_graphics.h"
|
#include "ui_configure_graphics.h"
|
||||||
#include "video_core/renderer_opengl/post_processing_opengl.h"
|
|
||||||
|
|
||||||
ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
||||||
: QWidget(parent), ui(std::make_unique<Ui::ConfigureGraphics>()) {
|
: QWidget(parent), ui(std::make_unique<Ui::ConfigureGraphics>()) {
|
||||||
@ -18,9 +17,13 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
|||||||
SetConfiguration();
|
SetConfiguration();
|
||||||
|
|
||||||
const bool not_running = !Core::System::GetInstance().IsPoweredOn();
|
const bool not_running = !Core::System::GetInstance().IsPoweredOn();
|
||||||
ui->hw_renderer_group->setEnabled(ui->toggle_hw_renderer->isChecked());
|
const bool hw_renderer_enabled = ui->toggle_hw_renderer->isChecked();
|
||||||
|
ui->toggle_hw_renderer->setEnabled(not_running);
|
||||||
|
ui->hw_renderer_group->setEnabled(hw_renderer_enabled && not_running);
|
||||||
ui->toggle_vsync_new->setEnabled(not_running);
|
ui->toggle_vsync_new->setEnabled(not_running);
|
||||||
ui->graphics_api_combo->setEnabled(not_running);
|
ui->graphics_api_combo->setEnabled(not_running);
|
||||||
|
ui->toggle_shader_jit->setEnabled(not_running);
|
||||||
|
ui->toggle_disk_shader_cache->setEnabled(hw_renderer_enabled && not_running);
|
||||||
|
|
||||||
connect(ui->toggle_hw_renderer, &QCheckBox::toggled, this, [this] {
|
connect(ui->toggle_hw_renderer, &QCheckBox::toggled, this, [this] {
|
||||||
auto checked = ui->toggle_hw_renderer->isChecked();
|
auto checked = ui->toggle_hw_renderer->isChecked();
|
||||||
@ -33,7 +36,7 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
|||||||
ui->toggle_hw_shader->isChecked());
|
ui->toggle_hw_shader->isChecked());
|
||||||
|
|
||||||
connect(ui->toggle_hw_shader, &QCheckBox::toggled, this, [this] {
|
connect(ui->toggle_hw_shader, &QCheckBox::toggled, this, [this] {
|
||||||
auto checked = ui->toggle_hw_shader->isChecked();
|
const bool checked = ui->toggle_hw_shader->isChecked();
|
||||||
ui->hw_shader_group->setEnabled(checked);
|
ui->hw_shader_group->setEnabled(checked);
|
||||||
ui->toggle_disk_shader_cache->setEnabled(checked);
|
ui->toggle_disk_shader_cache->setEnabled(checked);
|
||||||
});
|
});
|
||||||
|
@ -197,12 +197,7 @@ RasterizerCache::RasterizerCache(VideoCore::RasterizerAccelerated& rasterizer)
|
|||||||
texture_downloader_es = std::make_unique<TextureDownloaderES>(false);
|
texture_downloader_es = std::make_unique<TextureDownloaderES>(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
RasterizerCache::~RasterizerCache() {
|
RasterizerCache::~RasterizerCache() = default;
|
||||||
#ifndef ANDROID
|
|
||||||
// This is for switching renderers, which is unsupported on Android, and costly on shutdown
|
|
||||||
ClearAll(false);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
MICROPROFILE_DEFINE(OpenGL_BlitSurface, "OpenGL", "BlitSurface", MP_RGB(128, 192, 64));
|
MICROPROFILE_DEFINE(OpenGL_BlitSurface, "OpenGL", "BlitSurface", MP_RGB(128, 192, 64));
|
||||||
bool RasterizerCache::BlitSurfaces(const Surface& src_surface,
|
bool RasterizerCache::BlitSurfaces(const Surface& src_surface,
|
||||||
|
Reference in New Issue
Block a user