Skip to content

Commit 65c99c5

Browse files
MikhailGorobetsTheMostDiligent
authored andcommitted
SuperResolution: Adjust default scale factor for maximum performance mode
1 parent ffb3707 commit 65c99c5

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Graphics/SuperResolution/include/SuperResolutionProvider.hpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,18 @@ class SuperResolutionProvider
5151

5252
ValidateSourceSettingsAttribs(Attribs);
5353

54-
float ScaleFactor = 1.0f;
55-
switch (Attribs.OptimizationType)
56-
{
57-
// clang-format off
58-
case SUPER_RESOLUTION_OPTIMIZATION_TYPE_MAX_QUALITY: ScaleFactor = 12.f / 16.f; break;
59-
case SUPER_RESOLUTION_OPTIMIZATION_TYPE_HIGH_QUALITY: ScaleFactor = 11.f / 16.f; break;
60-
case SUPER_RESOLUTION_OPTIMIZATION_TYPE_BALANCED: ScaleFactor = 9.f / 16.f; break;
61-
case SUPER_RESOLUTION_OPTIMIZATION_TYPE_HIGH_PERFORMANCE: ScaleFactor = 8.f / 16.f; break;
62-
case SUPER_RESOLUTION_OPTIMIZATION_TYPE_MAX_PERFORMANCE: ScaleFactor = 5.f / 16.f; break;
63-
default: ScaleFactor = 9.f / 16.f; break;
64-
// clang-format on
65-
}
54+
static constexpr float ScaleFactors[] = {
55+
24.f / 32.f, // MAX_QUALITY (75%)
56+
22.f / 32.f, // HIGH_QUALITY (69%)
57+
18.f / 32.f, // BALANCED (56%)
58+
16.f / 32.f, // HIGH_PERFORMANCE (50%)
59+
11.f / 32.f, // MAX_PERFORMANCE (34%)
60+
};
61+
62+
static_assert(_countof(ScaleFactors) == SUPER_RESOLUTION_OPTIMIZATION_TYPE_COUNT,
63+
"Scale factor table must match SUPER_RESOLUTION_OPTIMIZATION_TYPE_COUNT");
64+
65+
const float ScaleFactor = Attribs.OptimizationType < SUPER_RESOLUTION_OPTIMIZATION_TYPE_COUNT ? ScaleFactors[Attribs.OptimizationType] : ScaleFactors[SUPER_RESOLUTION_OPTIMIZATION_TYPE_BALANCED];
6666

6767
Settings.OptimalInputWidth = std::max(1u, static_cast<Uint32>(Attribs.OutputWidth * ScaleFactor));
6868
Settings.OptimalInputHeight = std::max(1u, static_cast<Uint32>(Attribs.OutputHeight * ScaleFactor));

0 commit comments

Comments
 (0)