Renderer: Implement Bicubic and ScaleForce filters.
This commit is contained in:
parent
c5bbbf3902
commit
a6b88e85bf
15 changed files with 624 additions and 38 deletions
|
@ -48,6 +48,7 @@ void LogSettings() {
|
|||
log_setting("Core_UseMultiCore", values.use_multi_core.GetValue());
|
||||
log_setting("CPU_Accuracy", values.cpu_accuracy.GetValue());
|
||||
log_setting("Renderer_UseResolutionScaling", values.resolution_setup.GetValue());
|
||||
log_setting("Renderer_ScalingFilter", values.scaling_filter.GetValue());
|
||||
log_setting("Renderer_UseSpeedLimit", values.use_speed_limit.GetValue());
|
||||
log_setting("Renderer_SpeedLimit", values.speed_limit.GetValue());
|
||||
log_setting("Renderer_UseDiskShaderCache", values.use_disk_shader_cache.GetValue());
|
||||
|
@ -113,19 +114,10 @@ void UpdateRescalingInfo() {
|
|||
info.up_scale = 1;
|
||||
info.down_shift = 1;
|
||||
break;
|
||||
case ResolutionSetup::Res3_4X:
|
||||
info.up_scale = 3;
|
||||
info.down_shift = 2;
|
||||
break;
|
||||
case ResolutionSetup::Res1X:
|
||||
info.up_scale = 1;
|
||||
info.down_shift = 0;
|
||||
break;
|
||||
case ResolutionSetup::Res3_2X: {
|
||||
info.up_scale = 3;
|
||||
info.down_shift = 1;
|
||||
break;
|
||||
}
|
||||
case ResolutionSetup::Res2X:
|
||||
info.up_scale = 2;
|
||||
info.down_shift = 0;
|
||||
|
|
|
@ -54,12 +54,16 @@ enum class NvdecEmulation : u32 {
|
|||
|
||||
enum class ResolutionSetup : u32 {
|
||||
Res1_2X = 0,
|
||||
Res3_4X = 1,
|
||||
Res1X = 2,
|
||||
Res3_2X = 3,
|
||||
Res2X = 4,
|
||||
Res3X = 5,
|
||||
Res4X = 6,
|
||||
Res1X = 1,
|
||||
Res2X = 2,
|
||||
Res3X = 3,
|
||||
Res4X = 4,
|
||||
};
|
||||
|
||||
enum class ScalingFilter : u32 {
|
||||
Bilinear = 0,
|
||||
Bicubic = 1,
|
||||
ScaleForce = 2,
|
||||
};
|
||||
|
||||
struct ResolutionScalingInfo {
|
||||
|
@ -471,6 +475,7 @@ struct Values {
|
|||
|
||||
ResolutionScalingInfo resolution_info{};
|
||||
Setting<ResolutionSetup> resolution_setup{ResolutionSetup::Res1X, "resolution_setup"};
|
||||
Setting<ScalingFilter> scaling_filter{ScalingFilter::Bilinear, "scaling_filter"};
|
||||
// *nix platforms may have issues with the borderless windowed fullscreen mode.
|
||||
// Default to exclusive fullscreen on these platforms for now.
|
||||
RangedSetting<FullscreenMode> fullscreen_mode{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue