From 479aa9136832796396681e64617439a206356072 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Thu, 12 Oct 2017 22:07:29 +0300 Subject: [PATCH] rsx: Add a debug option to force full software emulation of blit engine --- rpcs3/Emu/RSX/rsx_methods.cpp | 2 +- rpcs3/Emu/System.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/RSX/rsx_methods.cpp b/rpcs3/Emu/RSX/rsx_methods.cpp index c65a8056d8..9de434953f 100644 --- a/rpcs3/Emu/RSX/rsx_methods.cpp +++ b/rpcs3/Emu/RSX/rsx_methods.cpp @@ -665,7 +665,7 @@ namespace rsx dst_info.max_tile_h = static_cast((dst_region.tile->size - dst_region.base) / out_pitch); } - if (dst_dma == CELL_GCM_CONTEXT_DMA_MEMORY_FRAME_BUFFER) + if (!g_cfg.video.force_cpu_blit_processing && dst_dma == CELL_GCM_CONTEXT_DMA_MEMORY_FRAME_BUFFER) { //For now, only use this for actual scaled images, there are use cases that should not go through 3d engine, e.g program ucode transfer //TODO: Figure out more instances where we can use this without problems diff --git a/rpcs3/Emu/System.h b/rpcs3/Emu/System.h index 3a7ba3c2ac..d930e51211 100644 --- a/rpcs3/Emu/System.h +++ b/rpcs3/Emu/System.h @@ -328,7 +328,8 @@ struct cfg_root : cfg::node cfg::_bool strict_rendering_mode{this, "Strict Rendering Mode"}; cfg::_bool disable_zcull_queries{this, "Disable ZCull Occlusion Queries", false}; cfg::_bool disable_vertex_cache{this, "Disable Vertex Cache", false}; - cfg::_bool frame_skip_enabled{this, "Enable Frame Skip"}; + cfg::_bool frame_skip_enabled{this, "Enable Frame Skip", false}; + cfg::_bool force_cpu_blit_processing{this, "Force CPU Blit", false}; //Debugging option cfg::_int<1, 8> consequtive_frames_to_draw{this, "Consecutive Frames To Draw", 1}; cfg::_int<1, 8> consequtive_frames_to_skip{this, "Consecutive Frames To Skip", 1}; cfg::_int<50, 800> resolution_scale_percent{this, "Resolution Scale", 100};