mirror of
https://git.citron-emu.org/citron/emulator
synced 2025-12-19 18:53:32 +00:00
feat(graphics): add 0.25X quarter resolution downscaling
- Add Res1_4X resolution setup with down_shift=2 - Mark as EXPERIMENTAL in UI labels - Support on both Qt and Android frontends Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -616,6 +616,7 @@
|
|||||||
<string name="renderer_accuracy_extreme">Extreme (Slow)</string>
|
<string name="renderer_accuracy_extreme">Extreme (Slow)</string>
|
||||||
|
|
||||||
<!-- Resolutions -->
|
<!-- Resolutions -->
|
||||||
|
<string name="resolution_quarter">0.25X (180p/270p)</string>
|
||||||
<string name="resolution_half">0.5X (360p/540p)</string>
|
<string name="resolution_half">0.5X (360p/540p)</string>
|
||||||
<string name="resolution_three_quarter">0.75X (540p/810p)</string>
|
<string name="resolution_three_quarter">0.75X (540p/810p)</string>
|
||||||
<string name="resolution_one">1X (720p/1080p)</string>
|
<string name="resolution_one">1X (720p/1080p)</string>
|
||||||
|
|||||||
@@ -385,6 +385,7 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QWidget* parent) {
|
|||||||
translations->insert(
|
translations->insert(
|
||||||
{Settings::EnumMetadata<Settings::ResolutionSetup>::Index(),
|
{Settings::EnumMetadata<Settings::ResolutionSetup>::Index(),
|
||||||
{
|
{
|
||||||
|
PAIR(ResolutionSetup, Res1_4X, tr("0.25X (180p/270p) [EXPERIMENTAL]")),
|
||||||
PAIR(ResolutionSetup, Res1_2X, tr("0.5X (360p/540p) [EXPERIMENTAL]")),
|
PAIR(ResolutionSetup, Res1_2X, tr("0.5X (360p/540p) [EXPERIMENTAL]")),
|
||||||
PAIR(ResolutionSetup, Res3_4X, tr("0.75X (540p/810p) [EXPERIMENTAL]")),
|
PAIR(ResolutionSetup, Res3_4X, tr("0.75X (540p/810p) [EXPERIMENTAL]")),
|
||||||
PAIR(ResolutionSetup, Res1X, tr("1X (720p/1080p)")),
|
PAIR(ResolutionSetup, Res1X, tr("1X (720p/1080p)")),
|
||||||
|
|||||||
@@ -264,6 +264,11 @@ const char* TranslateCategory(Category category) {
|
|||||||
void TranslateResolutionInfo(ResolutionSetup setup, ResolutionScalingInfo& info) {
|
void TranslateResolutionInfo(ResolutionSetup setup, ResolutionScalingInfo& info) {
|
||||||
info.downscale = false;
|
info.downscale = false;
|
||||||
switch (setup) {
|
switch (setup) {
|
||||||
|
case ResolutionSetup::Res1_4X:
|
||||||
|
info.up_scale = 1;
|
||||||
|
info.down_shift = 2;
|
||||||
|
info.downscale = true;
|
||||||
|
break;
|
||||||
case ResolutionSetup::Res1_2X:
|
case ResolutionSetup::Res1_2X:
|
||||||
info.up_scale = 1;
|
info.up_scale = 1;
|
||||||
info.down_shift = 1;
|
info.down_shift = 1;
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ ENUM(FullscreenMode, Borderless, Exclusive);
|
|||||||
|
|
||||||
ENUM(NvdecEmulation, Off, Cpu, Gpu);
|
ENUM(NvdecEmulation, Off, Cpu, Gpu);
|
||||||
|
|
||||||
ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X,
|
ENUM(ResolutionSetup, Res1_4X, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X,
|
||||||
Res8X);
|
Res8X);
|
||||||
|
|
||||||
ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Lanczos, Fsr, Fsr2, MaxEnum);
|
ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Lanczos, Fsr, Fsr2, MaxEnum);
|
||||||
|
|||||||
Reference in New Issue
Block a user