mirror of
https://github.com/mandarine3ds/mandarine.git
synced 2024-11-27 00:10:23 +00:00
Implement bloom simulation hack
This commit is contained in:
parent
616b4c7be7
commit
f467bdbf92
@ -540,6 +540,7 @@ struct Values {
|
||||
SwitchableSetting<bool> disable_flush_cpu_write{false, "disable_flush_cpu_write"};
|
||||
SwitchableSetting<bool> priority_boost_starved_threads{true, "priority_boost_starved_threads"};
|
||||
SwitchableSetting<bool> reduce_downcount_slice{false, "reduce_downcount_slice"};
|
||||
SwitchableSetting<bool> simulate_bloom{false, "simulate_bloom"};
|
||||
// Reimplementation of old (and fixed) citra frameskip
|
||||
// See https://github.com/CitraEnhanced/citra/commit/e279a6955edf644cf832dd329ac72931aea8add7
|
||||
SwitchableSetting<u64> frame_skip{0, "frame_skip"};
|
||||
|
@ -220,7 +220,16 @@ bool RasterizerCache<T>::AccelerateTextureCopy(const Pica::DisplayTransferConfig
|
||||
dst_params.stride =
|
||||
dst_params.width + src_info.PixelsInBytes(src_info.is_tiled ? output_gap / 8 : output_gap);
|
||||
dst_params.height = src_rect.GetHeight() / src_info.res_scale;
|
||||
dst_params.res_scale = src_info.res_scale;
|
||||
|
||||
// Some games (e.g., FE: Awakening) `TexturCopy` at a resolution lower than the native 3DS
|
||||
// resolution to simulate bloom, rendering these at an upscaled resolution creates ghosting
|
||||
// artifacts.
|
||||
if (Settings::values.simulate_bloom && src_info.res_scale > 1 &&
|
||||
(dst_params.height < 400 || dst_params.width < 240)) {
|
||||
dst_params.res_scale = 1;
|
||||
} else {
|
||||
dst_params.res_scale = src_info.res_scale;
|
||||
}
|
||||
dst_params.UpdateParams();
|
||||
|
||||
// Since we are going to invalidate the gap if there is one, we will have to load it first
|
||||
|
Loading…
Reference in New Issue
Block a user