Skip to content

Commit 81b0240

Browse files
committed
fix build and update abi interface
1 parent 1303869 commit 81b0240

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

.idea/vcs.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CMakeLists.txt

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,22 @@ endif()
8888
include(sd)
8989
include_directories(${sd_SOURCE_DIR})
9090

91+
if (APPLE AND NOT GGML_NO_ACCELERATE)
92+
find_library(ACCELERATE_FRAMEWORK Accelerate)
93+
if (ACCELERATE_FRAMEWORK)
94+
message(STATUS "Accelerate framework found")
95+
96+
set(SD_EXTRA_LIBS ${SD_EXTRA_LIBS} ${ACCELERATE_FRAMEWORK})
97+
set(SD_EXTRA_LIBS ${SD_EXTRA_LIBS} -DGGML_USE_ACCELERATE)
98+
else()
99+
message(WARNING "Accelerate framework not found")
100+
endif()
101+
endif()
102+
91103
set(SD_ABI sd-abi)
92-
set(SD_EXTRA_LIBS "")
93104
add_library(${SD_ABI} SHARED stable-diffusion-abi.cpp stable-diffusion-abi.h)
94105
set_target_properties(${SD_ABI} PROPERTIES POSITION_INDEPENDENT_CODE ON)
95106
target_compile_definitions(${SD_ABI} PRIVATE STABLE_DIFFUSION_SHARED STABLE_DIFFUSION_BUILD)
96-
target_link_libraries(${SD_ABI} PRIVATE $<TARGET_OBJECTS:ggml> $<TARGET_OBJECTS:stable-diffusion> ${SD_EXTRA_LIBS} ${CMAKE_THREAD_LIBS_INIT})
107+
target_link_libraries(${SD_ABI} PUBLIC $<TARGET_OBJECTS:ggml> $<TARGET_OBJECTS:stable-diffusion> ${SD_EXTRA_LIBS} ${CMAKE_THREAD_LIBS_INIT})
97108
target_include_directories(${SD_ABI} PUBLIC .)
98109

stable-diffusion-abi.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "stable-diffusion-abi.h"
22

3+
#include "stable-diffusion.h"
34
#include <string>
45
#include <cstring>
56
#include <map>
@@ -149,13 +150,13 @@ void set_img2img_seed(sd_img2img_options* opt, int64_t seed) {
149150
opt->seed = seed;
150151
}
151152

152-
void* create_stable_diffusion(int n_threads, bool vae_decode_only, bool free_params_immediately, const char* rng_type) {
153+
void* create_stable_diffusion(int n_threads, bool vae_decode_only, bool free_params_immediately,const char* lora_model_dir, const char* rng_type) {
153154
auto s = std::string(rng_type);
154155
auto it = RNGTypeMap.find(s);
155156
if (it != RNGTypeMap.end()) {
156-
return new StableDiffusion(n_threads, vae_decode_only, free_params_immediately, it->second);
157+
return new StableDiffusion(n_threads, vae_decode_only, free_params_immediately,std::string(lora_model_dir), it->second);
157158
}
158-
return NULL;
159+
return nullptr;
159160
};
160161

161162
void destroy_stable_diffusion(void* sd) {
@@ -192,7 +193,7 @@ uint8_t* txt2img(void* sd, sd_txt2img_options* opt, int64_t* output_size) {
192193
delete opt;
193194
return result.data();
194195
}
195-
return NULL;
196+
return nullptr;
196197
};
197198

198199
uint8_t* img2img(void* sd, sd_img2img_options* opt, int64_t* output_size) {
@@ -218,7 +219,7 @@ uint8_t* img2img(void* sd, sd_img2img_options* opt, int64_t* output_size) {
218219
delete opt;
219220
return result.data();
220221
}
221-
return NULL;
222+
return nullptr;
222223
};
223224

224225
void set_stable_diffusion_log_level(const char* level) {

stable-diffusion-abi.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
#include <stdint.h>
66
#include <string.h>
77

8-
#include "stable-diffusion.h"
9-
108
#ifdef STABLE_DIFFUSION_SHARED
119
#if defined(_WIN32) && !defined(__MINGW32__)
1210
#ifdef STABLE_DIFFUSION_BUILD
@@ -72,9 +70,11 @@ extern "C"
7270
STABLE_DIFFUSION_API void set_img2img_seed(sd_img2img_options* opt, int64_t seed);
7371
//================================================================================
7472

75-
STABLE_DIFFUSION_API void* create_stable_diffusion(int n_threads,
73+
STABLE_DIFFUSION_API void* create_stable_diffusion(
74+
int n_threads,
7675
bool vae_decode_only,
7776
bool free_params_immediately,
77+
const char* lora_model_dir,
7878
const char* rng_type);
7979

8080
STABLE_DIFFUSION_API void destroy_stable_diffusion(void* sd);

0 commit comments

Comments
 (0)