[vulkan, android] Initial implementation of LSFG-VK (#4263)

Pretty much self explanatory, own implementation based on LSFG-VK available with some additional reverse engineer work for the actual use of shaders inside Lossless.dll, we don't store/ bundle any tools that bypass security and self ownership: to use this feature is required to own your own copy of Lossless Scaling and I encourage to support developers behind this work.

Special thanks:

1.- THS - Original developer behind Lossless Scaling
2.- PancakeTAS - Developer behind LSFG-VK
3.- The Big Smolio The Sleeper (@gidoly)

Co-authored-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4263
This commit is contained in:
CamilleLaVey
2026-08-17 00:30:19 +02:00
committed by crueter
parent dc95cd09ee
commit 2000fdfb7b
69 changed files with 4735 additions and 38 deletions
+9
View File
@@ -772,10 +772,19 @@ Builder::Builder(QWidget* parent_, bool runtime_lock_)
Builder::~Builder() = default;
static bool IsAndroidOnly(const Settings::BasicSetting& setting) {
const std::string& label = setting.GetLabel();
return label.starts_with("frame_gen") || label == "emulate_bgr565";
}
Widget* Builder::BuildWidget(Settings::BasicSetting* setting,
std::vector<std::function<void(bool)>>& apply_funcs,
RequestType request, bool managed, float multiplier,
Settings::BasicSetting* other_setting, const QString& suffix) const {
if (IsAndroidOnly(*setting)) {
return nullptr;
}
if (!Settings::IsConfiguringGlobal() && !setting->Switchable()) {
return nullptr;
}