citra_qt: Forbid renderer change during runtime

* It's an endless source of problems and isn't usefull
This commit is contained in:
emufan4568
2022-09-06 22:49:24 +03:00
committed by GPUCode
parent 623293d272
commit 9787efc7ee
2 changed files with 7 additions and 9 deletions

View File

@ -10,7 +10,6 @@
#include "core/core.h"
#include "core/settings.h"
#include "ui_configure_graphics.h"
#include "video_core/renderer_opengl/post_processing_opengl.h"
ConfigureGraphics::ConfigureGraphics(QWidget* parent)
: QWidget(parent), ui(std::make_unique<Ui::ConfigureGraphics>()) {
@ -18,9 +17,13 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
SetConfiguration();
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->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] {
auto checked = ui->toggle_hw_renderer->isChecked();
@ -33,7 +36,7 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
ui->toggle_hw_shader->isChecked());
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->toggle_disk_shader_cache->setEnabled(checked);
});

View File

@ -197,12 +197,7 @@ RasterizerCache::RasterizerCache(VideoCore::RasterizerAccelerated& rasterizer)
texture_downloader_es = std::make_unique<TextureDownloaderES>(false);
}
RasterizerCache::~RasterizerCache() {
#ifndef ANDROID
// This is for switching renderers, which is unsupported on Android, and costly on shutdown
ClearAll(false);
#endif
}
RasterizerCache::~RasterizerCache() = default;
MICROPROFILE_DEFINE(OpenGL_BlitSurface, "OpenGL", "BlitSurface", MP_RGB(128, 192, 64));
bool RasterizerCache::BlitSurfaces(const Surface& src_surface,