Add flag to disable seperable shaders for osx Intel GPUs. Default is false
This commit is contained in:
parent
79a0cbbba8
commit
1e54f27cde
10 changed files with 49 additions and 12 deletions
|
@ -29,15 +29,23 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
|
|||
connect(ui->toggle_hw_shader, &QCheckBox::toggled, ui->hw_shader_group, &QWidget::setEnabled);
|
||||
#ifdef __APPLE__
|
||||
connect(ui->toggle_hw_shader, &QCheckBox::stateChanged, this, [this](int state) {
|
||||
if (state == Qt::Checked) {
|
||||
ui->toggle_seperable_shader->setEnabled(true);
|
||||
}
|
||||
});
|
||||
connect(ui->toggle_seperable_shader, &QCheckBox::stateChanged, this, [this](int state) {
|
||||
if (state == Qt::Checked) {
|
||||
QMessageBox::warning(
|
||||
this, tr("Hardware Shader Warning"),
|
||||
tr("Hardware Shader support is broken on macOS, and will cause graphical issues "
|
||||
tr("Seperable Shader support is broken on macOS with Intel GPUs, and will cause graphical issues "
|
||||
"like showing a black screen.<br><br>The option is only there for "
|
||||
"test/development purposes. If you experience graphical issues with Hardware "
|
||||
"Shader, please turn it off."));
|
||||
}
|
||||
});
|
||||
#else
|
||||
// TODO(B3N30): Hide this for macs with none Intel GPUs, too.
|
||||
ui->toggle_seperable_shader->visible(false);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -46,6 +54,7 @@ ConfigureGraphics::~ConfigureGraphics() = default;
|
|||
void ConfigureGraphics::SetConfiguration() {
|
||||
ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer);
|
||||
ui->toggle_hw_shader->setChecked(Settings::values.use_hw_shader);
|
||||
ui->toggle_seperable_shader->setChecked(Settings::values.seperable_shader);
|
||||
ui->toggle_accurate_mul->setChecked(Settings::values.shaders_accurate_mul);
|
||||
ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit);
|
||||
ui->toggle_vsync_new->setChecked(Settings::values.use_vsync_new);
|
||||
|
@ -54,6 +63,7 @@ void ConfigureGraphics::SetConfiguration() {
|
|||
void ConfigureGraphics::ApplyConfiguration() {
|
||||
Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked();
|
||||
Settings::values.use_hw_shader = ui->toggle_hw_shader->isChecked();
|
||||
Settings::values.seperable_shader = ui->toggle_seperable_shader->isChecked();
|
||||
Settings::values.shaders_accurate_mul = ui->toggle_accurate_mul->isChecked();
|
||||
Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked();
|
||||
Settings::values.use_vsync_new = ui->toggle_vsync_new->isChecked();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue