mirror of
https://git.citron-emu.org/citron/emulator
synced 2025-12-26 13:33:34 +00:00
feat: Add frame generation and enhance UE4 game compatibility
- Add frame generation settings (enabled/disabled, interpolation/extrapolation modes) - Add frame skipping settings (enabled/disabled, adaptive/fixed modes) - Implement frame skipping logic with adaptive and fixed modes - Enhance UE4 crash handling with recovery mechanisms - Add support for signed and float 32-bit image formats across shader backends - Update Vulkan Validation Layers to v1.4.321.0 - Fix duplicate frame skipping options in Qt UI - Improve memory handling for UE4 games (Hogwarts Legacy compatibility) - Add enhanced bindless texture handling with fallback approach - Update Android build configuration and dependencies Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -349,14 +349,54 @@ struct Values {
|
||||
true};
|
||||
|
||||
SwitchableSetting<FSR2QualityMode, true> fsr2_quality_mode{linkage,
|
||||
FSR2QualityMode::Performance, // Performance by default
|
||||
FSR2QualityMode::Quality,
|
||||
FSR2QualityMode::UltraPerformance,
|
||||
"fsr2_quality_mode",
|
||||
Category::Renderer,
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
FSR2QualityMode::Quality, // Quality by default
|
||||
FSR2QualityMode::Quality, // Min value
|
||||
FSR2QualityMode::UltraPerformance, // Max value
|
||||
"fsr2_quality_mode",
|
||||
Category::Renderer,
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
|
||||
SwitchableSetting<FrameGeneration, true> frame_generation{linkage,
|
||||
FrameGeneration::Disabled, // Disabled by default
|
||||
FrameGeneration::Disabled,
|
||||
FrameGeneration::Enabled,
|
||||
"frame_generation",
|
||||
Category::Renderer,
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
|
||||
SwitchableSetting<FrameGenerationMode, true> frame_generation_mode{linkage,
|
||||
FrameGenerationMode::Interpolation, // Interpolation by default
|
||||
FrameGenerationMode::Interpolation,
|
||||
FrameGenerationMode::Extrapolation,
|
||||
"frame_generation_mode",
|
||||
Category::Renderer,
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
|
||||
SwitchableSetting<FrameSkipping, true> frame_skipping{linkage,
|
||||
FrameSkipping::Disabled, // Disabled by default
|
||||
FrameSkipping::Disabled,
|
||||
FrameSkipping::Enabled,
|
||||
"frame_skipping",
|
||||
Category::Renderer,
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
|
||||
SwitchableSetting<FrameSkippingMode, true> frame_skipping_mode{linkage,
|
||||
FrameSkippingMode::Adaptive, // Adaptive by default
|
||||
FrameSkippingMode::Adaptive,
|
||||
FrameSkippingMode::Fixed,
|
||||
"frame_skipping_mode",
|
||||
Category::Renderer,
|
||||
Specialization::Default,
|
||||
true,
|
||||
true};
|
||||
|
||||
SwitchableSetting<u8, false> bg_red{
|
||||
linkage, 0, "bg_red", Category::Renderer, Specialization::Default, true, true};
|
||||
|
||||
@@ -153,6 +153,14 @@ ENUM(AntiAliasing, None, Fxaa, Smaa, MaxEnum);
|
||||
|
||||
ENUM(FSR2QualityMode, Quality, Balanced, Performance, UltraPerformance);
|
||||
|
||||
ENUM(FrameGeneration, Disabled, Enabled, MaxEnum);
|
||||
|
||||
ENUM(FrameGenerationMode, Interpolation, Extrapolation, MaxEnum);
|
||||
|
||||
ENUM(FrameSkipping, Disabled, Enabled, MaxEnum);
|
||||
|
||||
ENUM(FrameSkippingMode, Adaptive, Fixed, MaxEnum);
|
||||
|
||||
ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, R32_9, Stretch);
|
||||
|
||||
ENUM(ConsoleMode, Handheld, Docked);
|
||||
|
||||
Reference in New Issue
Block a user