Fix Disk shader cache when accurate multiplication is off (#5711)

* renderer_opengl.cpp: fix sanitize_mul check for disk shader cache

* Partially revert "Band-aid solution for 'Disk Shader Cache' (#5188)"

This reverts commit 2e0ce86c9e.

* Disable `disk_shader_cache` checkbox when `hw_renderer` is off
This commit is contained in:
SachinVin 2021-05-16 14:15:02 +05:30 committed by GitHub
parent 82aedb9900
commit 842031a2eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 17 deletions

View file

@ -23,25 +23,19 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
connect(ui->toggle_hw_renderer, &QCheckBox::toggled, this, [this] {
auto checked = ui->toggle_hw_renderer->isChecked();
ui->hw_renderer_group->setEnabled(checked);
ui->toggle_disk_shader_cache->setEnabled(checked && ui->toggle_hw_shader->isChecked());
});
ui->hw_shader_group->setEnabled(ui->toggle_hw_shader->isChecked());
connect(ui->toggle_hw_shader, &QCheckBox::toggled, ui->hw_shader_group, &QWidget::setEnabled);
ui->toggle_disk_shader_cache->setEnabled(ui->toggle_hw_renderer->isChecked() &&
ui->toggle_hw_shader->isChecked());
ui->toggle_disk_shader_cache->setEnabled(ui->toggle_hw_shader->isChecked() &&
ui->toggle_accurate_mul->isChecked());
connect(ui->toggle_hw_shader, &QCheckBox::toggled, this, [this] {
ui->toggle_disk_shader_cache->setEnabled(ui->toggle_hw_shader->isChecked() &&
ui->toggle_accurate_mul->isChecked());
if (!ui->toggle_disk_shader_cache->isEnabled())
ui->toggle_disk_shader_cache->setChecked(false);
auto checked = ui->toggle_hw_shader->isChecked();
ui->hw_shader_group->setEnabled(checked);
ui->toggle_disk_shader_cache->setEnabled(checked);
});
connect(ui->toggle_accurate_mul, &QCheckBox::toggled, this, [this] {
ui->toggle_disk_shader_cache->setEnabled(ui->toggle_accurate_mul->isChecked());
if (!ui->toggle_disk_shader_cache->isEnabled())
ui->toggle_disk_shader_cache->setChecked(false);
});
#ifdef __APPLE__
connect(ui->toggle_hw_shader, &QCheckBox::stateChanged, this, [this](int state) {
if (state == Qt::Checked) {