mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-21 09:40:01 +00:00
rsx: Improve Null Renderer
This commit is contained in:
parent
2512e958fa
commit
264253757c
@ -3270,6 +3270,7 @@ namespace rsx
|
||||
current_display_buffer = buffer;
|
||||
m_queued_flip.emu_flip = true;
|
||||
m_queued_flip.in_progress = true;
|
||||
m_queued_flip.skip_frame |= g_cfg.video.disable_video_output && !g_cfg.video.perf_overlay.perf_overlay_enabled;
|
||||
|
||||
flip(m_queued_flip);
|
||||
|
||||
|
@ -640,6 +640,14 @@ namespace rsx
|
||||
}
|
||||
|
||||
rsx::method_registers.current_draw_clause.compile();
|
||||
|
||||
if (g_cfg.video.disable_video_output)
|
||||
{
|
||||
rsxthr->execute_nop_draw();
|
||||
rsxthr->rsx::thread::end();
|
||||
return;
|
||||
}
|
||||
|
||||
rsxthr->end();
|
||||
}
|
||||
else
|
||||
|
@ -141,6 +141,7 @@ struct cfg_root : cfg::node
|
||||
cfg::_bool force_high_precision_z_buffer{ this, "Force High Precision Z buffer" };
|
||||
cfg::_bool strict_rendering_mode{ this, "Strict Rendering Mode" };
|
||||
cfg::_bool disable_zcull_queries{ this, "Disable ZCull Occlusion Queries", false, true };
|
||||
cfg::_bool disable_video_output{ this, "Disable Video Output", false, true };
|
||||
cfg::_bool disable_vertex_cache{ this, "Disable Vertex Cache", false };
|
||||
cfg::_bool disable_FIFO_reordering{ this, "Disable FIFO Reordering", false };
|
||||
cfg::_bool frame_skip_enabled{ this, "Enable Frame Skip", false, true };
|
||||
|
@ -70,6 +70,7 @@ enum class emu_settings_type
|
||||
StrictRenderingMode,
|
||||
DisableVertexCache,
|
||||
DisableOcclusionQueries,
|
||||
DisableVideoOutput,
|
||||
DisableFIFOReordering,
|
||||
StrictTextureFlushing,
|
||||
DisableNativefloat16,
|
||||
@ -239,6 +240,7 @@ inline static const QMap<emu_settings_type, cfg_location> settings_location =
|
||||
{ emu_settings_type::StrictRenderingMode, { "Video", "Strict Rendering Mode"}},
|
||||
{ emu_settings_type::DisableVertexCache, { "Video", "Disable Vertex Cache"}},
|
||||
{ emu_settings_type::DisableOcclusionQueries, { "Video", "Disable ZCull Occlusion Queries"}},
|
||||
{ emu_settings_type::DisableVideoOutput, { "Video", "Disable Video Output"}},
|
||||
{ emu_settings_type::DisableFIFOReordering, { "Video", "Disable FIFO Reordering"}},
|
||||
{ emu_settings_type::DisableNativefloat16, { "Video", "Disable native float16 support"}},
|
||||
{ emu_settings_type::Enable3D, { "Video", "Enable 3D"}},
|
||||
|
@ -2049,6 +2049,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
m_emu_settings->EnhanceCheckBox(ui->disableHwOcclusionQueries, emu_settings_type::DisableOcclusionQueries);
|
||||
SubscribeTooltip(ui->disableHwOcclusionQueries, tooltips.settings.disable_occlusion_queries);
|
||||
|
||||
m_emu_settings->EnhanceCheckBox(ui->disableVideoOutput, emu_settings_type::DisableVideoOutput);
|
||||
SubscribeTooltip(ui->disableVideoOutput, tooltips.settings.disable_video_output);
|
||||
|
||||
m_emu_settings->EnhanceCheckBox(ui->forceCpuBlitEmulation, emu_settings_type::ForceCPUBlitEmulation);
|
||||
SubscribeTooltip(ui->forceCpuBlitEmulation, tooltips.settings.force_cpu_blit_emulation);
|
||||
|
||||
|
@ -3855,6 +3855,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableVideoOutput">
|
||||
<property name="text">
|
||||
<string>Disable Video Output</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="forceCpuBlitEmulation">
|
||||
<property name="text">
|
||||
|
@ -103,6 +103,7 @@ public:
|
||||
const QString debug_overlay = tr("Provides a graphical overlay of various debugging information.\nIf unsure, don't use this option.");
|
||||
const QString log_shader_programs = tr("Dump game shaders to file. Only useful to developers.\nIf unsure, don't use this option.");
|
||||
const QString disable_occlusion_queries = tr("Disables running occlusion queries. Minor to moderate performance boost.\nMight introduce issues with broken occlusion e.g missing geometry and extreme pop-in.");
|
||||
const QString disable_video_output = tr("Disables all video output and PS3 graphical rendering.\nIts only use case is to evaluate performance on CELL for development.");
|
||||
const QString force_cpu_blit_emulation = tr("Forces emulation of all blit and image manipulation operations on the CPU.\nRequires 'Write Color Buffers' option to also be enabled in most cases to avoid missing graphics.\nSignificantly degrades performance but is more accurate in some cases.\nThis setting overrides the 'GPU texture scaling' option.");
|
||||
const QString disable_vulkan_mem_allocator = tr("Disables the custom Vulkan memory allocator and reverts to direct calls to VkAllocateMemory/VkFreeMemory.");
|
||||
const QString disable_fifo_reordering = tr("Disables RSX FIFO optimizations completely. Draws are processed as they are received by the DMA puller.");
|
||||
|
Loading…
x
Reference in New Issue
Block a user