[video_core] Fix 1x graphics bugs without performance loss (#3385)
This fixes weird lines at 1x resolution without impacting performance in some titles. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3385 Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: MaranBr <maranbr@outlook.com> Co-committed-by: MaranBr <maranbr@outlook.com>
This commit is contained in:
parent
7396149ab1
commit
4f6195881c
|
|
@ -347,11 +347,7 @@ void TranslateResolutionInfo(ResolutionSetup setup, ResolutionScalingInfo& info)
|
|||
}
|
||||
info.up_factor = static_cast<f32>(info.up_scale) / (1U << info.down_shift);
|
||||
info.down_factor = static_cast<f32>(1U << info.down_shift) / info.up_scale;
|
||||
#ifdef __ANDROID__
|
||||
info.active = info.up_scale != 1 || info.down_shift != 0;
|
||||
#else
|
||||
info.active = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void UpdateRescalingInfo() {
|
||||
|
|
|
|||
|
|
@ -304,9 +304,17 @@ IR::Program TranslateProgram(ObjectPool<IR::Inst>& inst_pool, ObjectPool<IR::Blo
|
|||
Optimization::GlobalMemoryToStorageBufferPass(program, host_info);
|
||||
Optimization::TexturePass(env, program, host_info);
|
||||
|
||||
if (Settings::values.resolution_info.active) {
|
||||
bool should_rescale =
|
||||
#ifdef __ANDROID__
|
||||
Settings::values.resolution_info.active;
|
||||
#else
|
||||
true;
|
||||
#endif
|
||||
|
||||
if (should_rescale) {
|
||||
Optimization::RescalingPass(program);
|
||||
}
|
||||
|
||||
Optimization::DeadCodeEliminationPass(program);
|
||||
if (Settings::values.renderer_debug) {
|
||||
Optimization::VerificationPass(program);
|
||||
|
|
|
|||
Loading…
Reference in New Issue