WIP: update stable-diffusion.cpp to 5900ef6605c6 (new API) (#1669)

* Update stable-diffusion.cpp to 5900ef6605c6 (new API)

* Clean up pending LoRA code and simplify LoRA changes to upstream

* Move VAE tiling disabling for TAESD to sdtype_adapter.cpp

* Move auxiliary ctx functions to sdtype_adapter.cpp

* Use ref_images parameter for Kontext images

* Drop clip skip workaround (fixed upstream)

* Workaround for flash attention with img2img

leejet/stable-diffusion.cpp#756

* Workaround for Chroma with flash attention, debug prints

* Disable forcing CLIP weights to F32 for reduced memory usage
This commit is contained in:
Wagner Bruna
2025-08-12 12:25:02 -03:00
committed by GitHub
parent 7b5cf7143f
commit 5de7ed3d56
26 changed files with 2255 additions and 1870 deletions
+18 -9
View File
@@ -102,19 +102,32 @@ std::vector<std::string> get_files_from_dir(const std::string& dir) {
sprintf(directoryPath, "%s\\%s\\*", currentDirectory, dir.c_str());
// Find the first file in the directory
hFind = FindFirstFile(directoryPath, &findFileData);
hFind = FindFirstFile(directoryPath, &findFileData);
bool isAbsolutePath = false;
// Check if the directory was found
if (hFind == INVALID_HANDLE_VALUE) {
printf("Unable to find directory.\n");
return files;
printf("Unable to find directory. Try with original path \n");
char directoryPathAbsolute[MAX_PATH];
sprintf(directoryPathAbsolute, "%s*", dir.c_str());
hFind = FindFirstFile(directoryPathAbsolute, &findFileData);
isAbsolutePath = true;
if (hFind == INVALID_HANDLE_VALUE) {
printf("Absolute path was also wrong.\n");
return files;
}
}
// Loop through all files in the directory
do {
// Check if the found file is a regular file (not a directory)
if (!(findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
files.push_back(std::string(currentDirectory) + "\\" + dir + "\\" + std::string(findFileData.cFileName));
if (isAbsolutePath) {
files.push_back(dir + "\\" + std::string(findFileData.cFileName));
} else {
files.push_back(std::string(currentDirectory) + "\\" + dir + "\\" + std::string(findFileData.cFileName));
}
}
} while (FindNextFile(hFind, &findFileData) != 0);
@@ -447,10 +460,6 @@ const char* sd_get_system_info() {
return buffer;
}
const char* sd_type_name(enum sd_type_t type) {
return ggml_type_name((ggml_type)type);
}
sd_image_f32_t sd_image_t_to_sd_image_f32_t(sd_image_t image) {
sd_image_f32_t converted_image;
converted_image.width = image.width;