citra-emu
/
citra
Archived
1
0
Fork 0

Merge pull request #4879 from tywald/accurate-gs-on

Remove 'Accurate Geometry Shader' setting
This commit is contained in:
Weiyi Wang 2019-08-18 15:52:45 -04:00 committed by GitHub
commit b4d45b57c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 1 additions and 30 deletions

View File

@ -115,8 +115,6 @@ void Config::ReadValues() {
#else #else
Settings::values.use_hw_shader = sdl2_config->GetBoolean("Renderer", "use_hw_shader", true); Settings::values.use_hw_shader = sdl2_config->GetBoolean("Renderer", "use_hw_shader", true);
#endif #endif
Settings::values.shaders_accurate_gs =
sdl2_config->GetBoolean("Renderer", "shaders_accurate_gs", true);
Settings::values.shaders_accurate_mul = Settings::values.shaders_accurate_mul =
sdl2_config->GetBoolean("Renderer", "shaders_accurate_mul", false); sdl2_config->GetBoolean("Renderer", "shaders_accurate_mul", false);
Settings::values.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true); Settings::values.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true);

View File

@ -108,10 +108,6 @@ use_hw_shader =
# 0: Off (Default. Faster, but causes issues in some games) 1: On (Slower, but correct) # 0: Off (Default. Faster, but causes issues in some games) 1: On (Slower, but correct)
shaders_accurate_mul = shaders_accurate_mul =
# Whether to fallback to software for geometry shaders
# 0: Off (Faster, but causes issues in some games) 1: On (Default. Slower, but correct)
shaders_accurate_gs =
# Whether to use the Just-In-Time (JIT) compiler for shader emulation # Whether to use the Just-In-Time (JIT) compiler for shader emulation
# 0: Interpreter (slow), 1 (default): JIT (fast) # 0: Interpreter (slow), 1 (default): JIT (fast)
use_shader_jit = use_shader_jit =

View File

@ -160,7 +160,6 @@ void Config::ReadValues() {
#else #else
Settings::values.use_hw_shader = ReadSetting("use_hw_shader", true).toBool(); Settings::values.use_hw_shader = ReadSetting("use_hw_shader", true).toBool();
#endif #endif
Settings::values.shaders_accurate_gs = ReadSetting("shaders_accurate_gs", true).toBool();
Settings::values.shaders_accurate_mul = ReadSetting("shaders_accurate_mul", false).toBool(); Settings::values.shaders_accurate_mul = ReadSetting("shaders_accurate_mul", false).toBool();
Settings::values.use_shader_jit = ReadSetting("use_shader_jit", true).toBool(); Settings::values.use_shader_jit = ReadSetting("use_shader_jit", true).toBool();
Settings::values.resolution_factor = Settings::values.resolution_factor =
@ -462,7 +461,6 @@ void Config::SaveValues() {
qt_config->beginGroup("Renderer"); qt_config->beginGroup("Renderer");
WriteSetting("use_hw_renderer", Settings::values.use_hw_renderer, true); WriteSetting("use_hw_renderer", Settings::values.use_hw_renderer, true);
WriteSetting("use_hw_shader", Settings::values.use_hw_shader, true); WriteSetting("use_hw_shader", Settings::values.use_hw_shader, true);
WriteSetting("shaders_accurate_gs", Settings::values.shaders_accurate_gs, true);
WriteSetting("shaders_accurate_mul", Settings::values.shaders_accurate_mul, false); WriteSetting("shaders_accurate_mul", Settings::values.shaders_accurate_mul, false);
WriteSetting("use_shader_jit", Settings::values.use_shader_jit, true); WriteSetting("use_shader_jit", Settings::values.use_shader_jit, true);
WriteSetting("resolution_factor", Settings::values.resolution_factor, 1); WriteSetting("resolution_factor", Settings::values.resolution_factor, 1);

View File

@ -62,7 +62,6 @@ ConfigureGraphics::~ConfigureGraphics() = default;
void ConfigureGraphics::SetConfiguration() { void ConfigureGraphics::SetConfiguration() {
ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer); ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer);
ui->toggle_hw_shader->setChecked(Settings::values.use_hw_shader); ui->toggle_hw_shader->setChecked(Settings::values.use_hw_shader);
ui->toggle_accurate_gs->setChecked(Settings::values.shaders_accurate_gs);
ui->toggle_accurate_mul->setChecked(Settings::values.shaders_accurate_mul); ui->toggle_accurate_mul->setChecked(Settings::values.shaders_accurate_mul);
ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit); ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit);
ui->resolution_factor_combobox->setCurrentIndex(Settings::values.resolution_factor); ui->resolution_factor_combobox->setCurrentIndex(Settings::values.resolution_factor);
@ -83,7 +82,6 @@ void ConfigureGraphics::SetConfiguration() {
void ConfigureGraphics::ApplyConfiguration() { void ConfigureGraphics::ApplyConfiguration() {
Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked(); Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked();
Settings::values.use_hw_shader = ui->toggle_hw_shader->isChecked(); Settings::values.use_hw_shader = ui->toggle_hw_shader->isChecked();
Settings::values.shaders_accurate_gs = ui->toggle_accurate_gs->isChecked();
Settings::values.shaders_accurate_mul = ui->toggle_accurate_mul->isChecked(); Settings::values.shaders_accurate_mul = ui->toggle_accurate_mul->isChecked();
Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked();
Settings::values.resolution_factor = Settings::values.resolution_factor =

View File

@ -150,16 +150,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="toggle_accurate_gs">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Force to fall back to software shader emulation when geometry shaders are used. &lt;/p&gt;&lt;p&gt;Some games require this to be enabled for the hardware shader to render properly.&lt;/p&gt;&lt;p&gt;However this might reduce performance in some games&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Accurate Geometry Shader</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View File

@ -27,7 +27,6 @@ void Apply() {
VideoCore::g_hw_renderer_enabled = values.use_hw_renderer; VideoCore::g_hw_renderer_enabled = values.use_hw_renderer;
VideoCore::g_shader_jit_enabled = values.use_shader_jit; VideoCore::g_shader_jit_enabled = values.use_shader_jit;
VideoCore::g_hw_shader_enabled = values.use_hw_shader; VideoCore::g_hw_shader_enabled = values.use_hw_shader;
VideoCore::g_hw_shader_accurate_gs = values.shaders_accurate_gs;
VideoCore::g_hw_shader_accurate_mul = values.shaders_accurate_mul; VideoCore::g_hw_shader_accurate_mul = values.shaders_accurate_mul;
if (VideoCore::g_renderer) { if (VideoCore::g_renderer) {
@ -76,7 +75,6 @@ void LogSettings() {
LogSetting("Renderer_UseGLES", Settings::values.use_gles); LogSetting("Renderer_UseGLES", Settings::values.use_gles);
LogSetting("Renderer_UseHwRenderer", Settings::values.use_hw_renderer); LogSetting("Renderer_UseHwRenderer", Settings::values.use_hw_renderer);
LogSetting("Renderer_UseHwShader", Settings::values.use_hw_shader); LogSetting("Renderer_UseHwShader", Settings::values.use_hw_shader);
LogSetting("Renderer_ShadersAccurateGs", Settings::values.shaders_accurate_gs);
LogSetting("Renderer_ShadersAccurateMul", Settings::values.shaders_accurate_mul); LogSetting("Renderer_ShadersAccurateMul", Settings::values.shaders_accurate_mul);
LogSetting("Renderer_UseShaderJit", Settings::values.use_shader_jit); LogSetting("Renderer_UseShaderJit", Settings::values.use_shader_jit);
LogSetting("Renderer_UseResolutionFactor", Settings::values.resolution_factor); LogSetting("Renderer_UseResolutionFactor", Settings::values.resolution_factor);

View File

@ -141,7 +141,6 @@ struct Values {
bool use_gles; bool use_gles;
bool use_hw_renderer; bool use_hw_renderer;
bool use_hw_shader; bool use_hw_shader;
bool shaders_accurate_gs;
bool shaders_accurate_mul; bool shaders_accurate_mul;
bool use_shader_jit; bool use_shader_jit;
u16 resolution_factor; u16 resolution_factor;

View File

@ -188,8 +188,6 @@ void TelemetrySession::AddInitialInfo(Loader::AppLoader& app_loader) {
Settings::values.use_hw_renderer); Settings::values.use_hw_renderer);
AddField(Telemetry::FieldType::UserConfig, "Renderer_UseHwShader", AddField(Telemetry::FieldType::UserConfig, "Renderer_UseHwShader",
Settings::values.use_hw_shader); Settings::values.use_hw_shader);
AddField(Telemetry::FieldType::UserConfig, "Renderer_ShadersAccurateGs",
Settings::values.shaders_accurate_gs);
AddField(Telemetry::FieldType::UserConfig, "Renderer_ShadersAccurateMul", AddField(Telemetry::FieldType::UserConfig, "Renderer_ShadersAccurateMul",
Settings::values.shaders_accurate_mul); Settings::values.shaders_accurate_mul);
AddField(Telemetry::FieldType::UserConfig, "Renderer_UseShaderJit", AddField(Telemetry::FieldType::UserConfig, "Renderer_UseShaderJit",

View File

@ -293,10 +293,8 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
// this, so this is left unimplemented for now. Revisit this when an issue is found in // this, so this is left unimplemented for now. Revisit this when an issue is found in
// games. // games.
} else { } else {
if (VideoCore::g_hw_shader_accurate_gs) {
accelerate_draw = false; accelerate_draw = false;
} }
}
bool is_indexed = (id == PICA_REG_INDEX(pipeline.trigger_draw_indexed)); bool is_indexed = (id == PICA_REG_INDEX(pipeline.trigger_draw_indexed));

View File

@ -21,7 +21,6 @@ std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin
std::atomic<bool> g_hw_renderer_enabled; std::atomic<bool> g_hw_renderer_enabled;
std::atomic<bool> g_shader_jit_enabled; std::atomic<bool> g_shader_jit_enabled;
std::atomic<bool> g_hw_shader_enabled; std::atomic<bool> g_hw_shader_enabled;
std::atomic<bool> g_hw_shader_accurate_gs;
std::atomic<bool> g_hw_shader_accurate_mul; std::atomic<bool> g_hw_shader_accurate_mul;
std::atomic<bool> g_renderer_bg_color_update_requested; std::atomic<bool> g_renderer_bg_color_update_requested;
std::atomic<bool> g_renderer_sampler_update_requested; std::atomic<bool> g_renderer_sampler_update_requested;

View File

@ -31,7 +31,6 @@ extern std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin
extern std::atomic<bool> g_hw_renderer_enabled; extern std::atomic<bool> g_hw_renderer_enabled;
extern std::atomic<bool> g_shader_jit_enabled; extern std::atomic<bool> g_shader_jit_enabled;
extern std::atomic<bool> g_hw_shader_enabled; extern std::atomic<bool> g_hw_shader_enabled;
extern std::atomic<bool> g_hw_shader_accurate_gs;
extern std::atomic<bool> g_hw_shader_accurate_mul; extern std::atomic<bool> g_hw_shader_accurate_mul;
extern std::atomic<bool> g_renderer_bg_color_update_requested; extern std::atomic<bool> g_renderer_bg_color_update_requested;
extern std::atomic<bool> g_renderer_sampler_update_requested; extern std::atomic<bool> g_renderer_sampler_update_requested;