Skip to content

Commit eb915a3

Browse files
committed
fix(stablediffusion-ggml): adapt to new generate_image() out-param signature
leejet/stable-diffusion.cpp@484baa4 changed generate_image() from returning sd_image_t* to returning bool with images_out/num_images_out out-parameters (same pattern already used by generate_video()). Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
1 parent 7a7b826 commit eb915a3

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

  • backend/go/stablediffusion-ggml/cpp

backend/go/stablediffusion-ggml/cpp/gosd.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -798,6 +798,7 @@ void sd_img_gen_params_set_seed(sd_img_gen_params_t *params, int64_t seed) {
798798
int gen_image(sd_img_gen_params_t *p, int steps, char *dst, float cfg_scale, char *src_image, float strength, char *mask_image, char* ref_images[], int ref_images_count) {
799799

800800
sd_image_t* results;
801+
int num_results_out = 0;
801802

802803
std::vector<int> skip_layers = {7, 8, 9};
803804

@@ -994,10 +995,14 @@ int gen_image(sd_img_gen_params_t *p, int steps, char *dst, float cfg_scale, cha
994995
sd_ctx_params_to_str(&ctx_params),
995996
sd_img_gen_params_to_str(p));
996997

997-
results = generate_image(sd_c, p);
998+
bool gen_ok = generate_image(sd_c, p, &results, &num_results_out);
998999

9991000
std::free(p);
10001001

1002+
if (!gen_ok || num_results_out == 0) {
1003+
results = NULL;
1004+
}
1005+
10011006
if (results == NULL) {
10021007
fprintf (stderr, "NO results\n");
10031008
if (input_image_buffer) free(input_image_buffer);

0 commit comments

Comments
 (0)