Settings: Add missing GPU feature disables
This commit is contained in:
parent
6d080c1a3f
commit
5c4d95fd51
|
@ -374,6 +374,10 @@ bool Host::CreateGPUDevice(RenderAPI api, bool fullscreen, Error* error)
|
||||||
disabled_features |= GPUDevice::FEATURE_MASK_MEMORY_IMPORT;
|
disabled_features |= GPUDevice::FEATURE_MASK_MEMORY_IMPORT;
|
||||||
if (g_settings.gpu_disable_raster_order_views)
|
if (g_settings.gpu_disable_raster_order_views)
|
||||||
disabled_features |= GPUDevice::FEATURE_MASK_RASTER_ORDER_VIEWS;
|
disabled_features |= GPUDevice::FEATURE_MASK_RASTER_ORDER_VIEWS;
|
||||||
|
if (g_settings.gpu_disable_compute_shaders)
|
||||||
|
disabled_features |= GPUDevice::FEATURE_MASK_COMPUTE_SHADERS;
|
||||||
|
if (g_settings.gpu_disable_compressed_textures)
|
||||||
|
disabled_features |= GPUDevice::FEATURE_MASK_COMPRESSED_TEXTURES;
|
||||||
|
|
||||||
// Don't dump shaders on debug builds for Android, users will complain about storage...
|
// Don't dump shaders on debug builds for Android, users will complain about storage...
|
||||||
#if !defined(__ANDROID__) || defined(_DEBUG)
|
#if !defined(__ANDROID__) || defined(_DEBUG)
|
||||||
|
|
|
@ -202,6 +202,8 @@ void Settings::Load(const SettingsInterface& si, const SettingsInterface& contro
|
||||||
gpu_disable_texture_copy_to_self = si.GetBoolValue("GPU", "DisableTextureCopyToSelf", false);
|
gpu_disable_texture_copy_to_self = si.GetBoolValue("GPU", "DisableTextureCopyToSelf", false);
|
||||||
gpu_disable_memory_import = si.GetBoolValue("GPU", "DisableMemoryImport", false);
|
gpu_disable_memory_import = si.GetBoolValue("GPU", "DisableMemoryImport", false);
|
||||||
gpu_disable_raster_order_views = si.GetBoolValue("GPU", "DisableRasterOrderViews", false);
|
gpu_disable_raster_order_views = si.GetBoolValue("GPU", "DisableRasterOrderViews", false);
|
||||||
|
gpu_disable_compute_shaders = si.GetBoolValue("GPU", "DisableComputeShaders", false);
|
||||||
|
gpu_disable_compressed_textures = si.GetBoolValue("GPU", "DisableCompressedTextures", false);
|
||||||
gpu_per_sample_shading = si.GetBoolValue("GPU", "PerSampleShading", false);
|
gpu_per_sample_shading = si.GetBoolValue("GPU", "PerSampleShading", false);
|
||||||
gpu_use_thread = si.GetBoolValue("GPU", "UseThread", true);
|
gpu_use_thread = si.GetBoolValue("GPU", "UseThread", true);
|
||||||
gpu_use_software_renderer_for_readbacks = si.GetBoolValue("GPU", "UseSoftwareRendererForReadbacks", false);
|
gpu_use_software_renderer_for_readbacks = si.GetBoolValue("GPU", "UseSoftwareRendererForReadbacks", false);
|
||||||
|
@ -539,6 +541,8 @@ void Settings::Save(SettingsInterface& si, bool ignore_base) const
|
||||||
si.SetBoolValue("GPU", "DisableTextureCopyToSelf", gpu_disable_texture_copy_to_self);
|
si.SetBoolValue("GPU", "DisableTextureCopyToSelf", gpu_disable_texture_copy_to_self);
|
||||||
si.SetBoolValue("GPU", "DisableMemoryImport", gpu_disable_memory_import);
|
si.SetBoolValue("GPU", "DisableMemoryImport", gpu_disable_memory_import);
|
||||||
si.SetBoolValue("GPU", "DisableRasterOrderViews", gpu_disable_raster_order_views);
|
si.SetBoolValue("GPU", "DisableRasterOrderViews", gpu_disable_raster_order_views);
|
||||||
|
si.SetBoolValue("GPU", "DisableComputeShaders", gpu_disable_compute_shaders);
|
||||||
|
si.SetBoolValue("GPU", "DisableCompressedTextures", gpu_disable_compressed_textures);
|
||||||
}
|
}
|
||||||
|
|
||||||
si.SetBoolValue("GPU", "PerSampleShading", gpu_per_sample_shading);
|
si.SetBoolValue("GPU", "PerSampleShading", gpu_per_sample_shading);
|
||||||
|
|
|
@ -108,6 +108,8 @@ struct Settings
|
||||||
bool gpu_disable_texture_copy_to_self : 1 = false;
|
bool gpu_disable_texture_copy_to_self : 1 = false;
|
||||||
bool gpu_disable_memory_import : 1 = false;
|
bool gpu_disable_memory_import : 1 = false;
|
||||||
bool gpu_disable_raster_order_views : 1 = false;
|
bool gpu_disable_raster_order_views : 1 = false;
|
||||||
|
bool gpu_disable_compute_shaders : 1 = false;
|
||||||
|
bool gpu_disable_compressed_textures : 1 = false;
|
||||||
bool gpu_per_sample_shading : 1 = false;
|
bool gpu_per_sample_shading : 1 = false;
|
||||||
bool gpu_true_color : 1 = true;
|
bool gpu_true_color : 1 = true;
|
||||||
bool gpu_scaled_dithering : 1 = true;
|
bool gpu_scaled_dithering : 1 = true;
|
||||||
|
|
|
@ -4244,6 +4244,8 @@ void System::CheckForSettingsChanges(const Settings& old_settings)
|
||||||
g_settings.gpu_disable_texture_copy_to_self != old_settings.gpu_disable_texture_copy_to_self ||
|
g_settings.gpu_disable_texture_copy_to_self != old_settings.gpu_disable_texture_copy_to_self ||
|
||||||
g_settings.gpu_disable_memory_import != old_settings.gpu_disable_memory_import ||
|
g_settings.gpu_disable_memory_import != old_settings.gpu_disable_memory_import ||
|
||||||
g_settings.gpu_disable_raster_order_views != old_settings.gpu_disable_raster_order_views ||
|
g_settings.gpu_disable_raster_order_views != old_settings.gpu_disable_raster_order_views ||
|
||||||
|
g_settings.gpu_disable_compute_shaders != old_settings.gpu_disable_compute_shaders ||
|
||||||
|
g_settings.gpu_disable_compressed_textures != old_settings.gpu_disable_compressed_textures ||
|
||||||
g_settings.display_exclusive_fullscreen_control != old_settings.display_exclusive_fullscreen_control))
|
g_settings.display_exclusive_fullscreen_control != old_settings.display_exclusive_fullscreen_control))
|
||||||
{
|
{
|
||||||
// if debug device/threaded presentation change, we need to recreate the whole display
|
// if debug device/threaded presentation change, we need to recreate the whole display
|
||||||
|
@ -4256,6 +4258,8 @@ void System::CheckForSettingsChanges(const Settings& old_settings)
|
||||||
g_settings.gpu_disable_texture_copy_to_self != old_settings.gpu_disable_texture_copy_to_self ||
|
g_settings.gpu_disable_texture_copy_to_self != old_settings.gpu_disable_texture_copy_to_self ||
|
||||||
g_settings.gpu_disable_memory_import != old_settings.gpu_disable_memory_import ||
|
g_settings.gpu_disable_memory_import != old_settings.gpu_disable_memory_import ||
|
||||||
g_settings.gpu_disable_raster_order_views != old_settings.gpu_disable_raster_order_views ||
|
g_settings.gpu_disable_raster_order_views != old_settings.gpu_disable_raster_order_views ||
|
||||||
|
g_settings.gpu_disable_compute_shaders != old_settings.gpu_disable_compute_shaders ||
|
||||||
|
g_settings.gpu_disable_compressed_textures != old_settings.gpu_disable_compressed_textures ||
|
||||||
g_settings.display_exclusive_fullscreen_control != old_settings.display_exclusive_fullscreen_control);
|
g_settings.display_exclusive_fullscreen_control != old_settings.display_exclusive_fullscreen_control);
|
||||||
|
|
||||||
Host::AddIconOSDMessage("RendererSwitch", ICON_FA_PAINT_ROLLER,
|
Host::AddIconOSDMessage("RendererSwitch", ICON_FA_PAINT_ROLLER,
|
||||||
|
|
|
@ -308,6 +308,12 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
|
||||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableTextureBuffers, "GPU", "DisableTextureBuffers", false);
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableTextureBuffers, "GPU", "DisableTextureBuffers", false);
|
||||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableTextureCopyToSelf, "GPU", "DisableTextureCopyToSelf",
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableTextureCopyToSelf, "GPU", "DisableTextureCopyToSelf",
|
||||||
false);
|
false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableMemoryImport, "GPU", "DisableMemoryImport", false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableRasterOrderViews, "GPU", "DisableRasterOrderViews",
|
||||||
|
false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableComputeShaders, "GPU", "DisableComputeShaders", false);
|
||||||
|
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableCompressedTextures, "GPU", "DisableCompressedTextures",
|
||||||
|
false);
|
||||||
|
|
||||||
// Init all dependent options.
|
// Init all dependent options.
|
||||||
updateRendererDependentOptions();
|
updateRendererDependentOptions();
|
||||||
|
@ -632,6 +638,12 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget*
|
||||||
dialog->registerWidgetHelp(m_ui.disableRasterOrderViews, tr("Disable Rasterizer Order Views"), tr("Unchecked"),
|
dialog->registerWidgetHelp(m_ui.disableRasterOrderViews, tr("Disable Rasterizer Order Views"), tr("Unchecked"),
|
||||||
tr("Disables the use of rasterizer order views. Useful for testing broken graphics "
|
tr("Disables the use of rasterizer order views. Useful for testing broken graphics "
|
||||||
"drivers. <strong>Only for developer use.</strong>"));
|
"drivers. <strong>Only for developer use.</strong>"));
|
||||||
|
dialog->registerWidgetHelp(m_ui.disableComputeShaders, tr("Disable Compute Shaders"), tr("Unchecked"),
|
||||||
|
tr("Disables the use of compute shaders. Useful for testing broken graphics drivers. "
|
||||||
|
"<strong>Only for developer use.</strong>"));
|
||||||
|
dialog->registerWidgetHelp(m_ui.disableCompressedTextures, tr("Disable Compressed Textures"), tr("Unchecked"),
|
||||||
|
tr("Disables the use of compressed textures. Useful for testing broken graphics drivers. "
|
||||||
|
"<strong>Only for developer use.</strong>"));
|
||||||
}
|
}
|
||||||
|
|
||||||
GraphicsSettingsWidget::~GraphicsSettingsWidget() = default;
|
GraphicsSettingsWidget::~GraphicsSettingsWidget() = default;
|
||||||
|
|
|
@ -1331,13 +1331,6 @@
|
||||||
<layout class="QFormLayout" name="formLayout_10">
|
<layout class="QFormLayout" name="formLayout_10">
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0" colspan="2">
|
||||||
<layout class="QGridLayout" name="gridLayout_8">
|
<layout class="QGridLayout" name="gridLayout_8">
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QCheckBox" name="disableTextureCopyToSelf">
|
|
||||||
<property name="text">
|
|
||||||
<string>Disable Texture Copy To Self</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QCheckBox" name="useDebugDevice">
|
<widget class="QCheckBox" name="useDebugDevice">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -1345,20 +1338,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QCheckBox" name="disableDualSource">
|
|
||||||
<property name="text">
|
|
||||||
<string>Disable Dual-Source Blending</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QCheckBox" name="disableFramebufferFetch">
|
|
||||||
<property name="text">
|
|
||||||
<string>Disable Framebuffer Fetch</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QCheckBox" name="disableTextureBuffers">
|
<widget class="QCheckBox" name="disableTextureBuffers">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -1366,6 +1345,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QCheckBox" name="disableDualSource">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable Dual-Source Blending</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QCheckBox" name="disableShaderCache">
|
<widget class="QCheckBox" name="disableShaderCache">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -1373,6 +1359,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QCheckBox" name="disableFramebufferFetch">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable Framebuffer Fetch</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QCheckBox" name="disableTextureCopyToSelf">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable Texture Copy To Self</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QCheckBox" name="disableMemoryImport">
|
<widget class="QCheckBox" name="disableMemoryImport">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -1387,6 +1387,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QCheckBox" name="disableComputeShaders">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable Compute Shaders</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QCheckBox" name="disableCompressedTextures">
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable Compressed Textures</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|
Loading…
Reference in New Issue