From ca1ac9773ba8bb6a21b317d55d75e5c7a8cb0e41 Mon Sep 17 00:00:00 2001 From: leejet Date: Mon, 22 Jun 2026 22:23:39 +0800 Subject: [PATCH] refactor: add Flux VAE version helper --- src/model.h | 7 +++++++ src/model/vae/auto_encoder_kl.hpp | 2 +- src/stable-diffusion.cpp | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/model.h b/src/model.h index 17272f7d6..d02ed65b8 100644 --- a/src/model.h +++ b/src/model.h @@ -186,6 +186,13 @@ static inline bool sd_version_is_ideogram4(SDVersion version) { return false; } +static inline bool sd_version_uses_flux_vae(SDVersion version) { + if (sd_version_is_flux(version) || sd_version_is_z_image(version) || sd_version_is_boogu_image(version) || sd_version_is_longcat(version)) { + return true; + } + return false; +} + static inline bool sd_version_uses_flux2_vae(SDVersion version) { if (sd_version_is_flux2(version) || sd_version_is_ernie_image(version) || sd_version_is_lens(version) || sd_version_is_ideogram4(version)) { return true; diff --git a/src/model/vae/auto_encoder_kl.hpp b/src/model/vae/auto_encoder_kl.hpp index 51e1feda7..e41f5fd46 100644 --- a/src/model/vae/auto_encoder_kl.hpp +++ b/src/model/vae/auto_encoder_kl.hpp @@ -682,7 +682,7 @@ struct AutoEncoderKL : public VAE { } else if (sd_version_is_sd3(version)) { scale_factor = 1.5305f; shift_factor = 0.0609f; - } else if (sd_version_is_flux(version) || sd_version_is_z_image(version) || sd_version_is_boogu_image(version) || sd_version_is_longcat(version)) { + } else if (sd_version_uses_flux_vae(version)) { scale_factor = 0.3611f; shift_factor = 0.1159f; } else if (sd_version_uses_flux2_vae(version)) { diff --git a/src/stable-diffusion.cpp b/src/stable-diffusion.cpp index cb1a3f6d9..96ab53bde 100644 --- a/src/stable-diffusion.cpp +++ b/src/stable-diffusion.cpp @@ -1709,7 +1709,7 @@ class StableDiffusionGGML { if (sd_version_is_sd3(version)) { latent_rgb_proj = sd3_latent_rgb_proj; latent_rgb_bias = sd3_latent_rgb_bias; - } else if (sd_version_is_flux(version) || sd_version_is_z_image(version) || sd_version_is_boogu_image(version) || sd_version_is_longcat(version)) { + } else if (sd_version_uses_flux_vae(version)) { latent_rgb_proj = flux_latent_rgb_proj; latent_rgb_bias = flux_latent_rgb_bias; } else if (sd_version_is_wan(version) || sd_version_is_qwen_image(version) || sd_version_is_anima(version)) {