feat: add taeh3 support
fix: prevent gallocr hash overflow in tiny graph-cut segments
fix: re-clamp streaming VRAM budget to currently free memory
fix: mark graph cuts with both a prefix and a suffix
fix: make max_order of lms sampler configurable
fix: guard against missing sampler/scheduler names
chore: format code
The initial noisy preview is reported before denoising, so it shows the
ongoing step number; but we immediately switch to denoised previews or
progress callback info, which instead show concluded steps. So we
currently report step '1' during the first two inference steps.
* refactor: add new module for backend-specific code
* replace ifdefs on rwkv_v3
* replace ifdefs on llama_v2
* replace ifdefs on llama_v3
* replace ifdefs on gpt2_v3
* replace ifdefs on gptj_v3
* replace ifdefs on mpt_v3
* replace ifdefs on neox_v3
* replace ifdefs on whisper
* adjust build for kcpp_backend
Mostly a:
sed 's/ gpttype_adapter\([^ ]*\)\.o / gpttype_adapter_default.o kcpp_backend\1.o /g' Makefile
and include variant objects for kcpp_backend.
* sd: generation progress fixes
The preview callback is not called if preview images are not enabled,
so when a preview image wasn't requested, the step count wouldn't be
updated. So move the update to the progress callback. Additionally,
adjust the total step count when the progress call reports a lower
total (e.g. for img2img).
Also remove the preview reset from inside the callback, since it
often caused a preview miss, depending on when the next preview
request arrived.
* sd: fix image preview behavior for VAE encoding / tiling
The progress callback is also called for VAE encoding and decoding,
receiving the number of tiles as step count, so there is no simple
way to detect the diffusion beginning. So we set up the first preview
callback to detect it, and transition to the decoding phase when
we reach the last step.
* sd: sync with master-801-9cfe2af
* sd: sync with master-802-e92e86f
* sd: sync with master-805-e31a86c
* sd: sync with master-810-db99efd
* sd: sync with master-812-ea7f0c8
* sd: minimax-h3 support
* sd: sync with master-782-b290693
* sd: sync with master-788-8a51eb9
* sd: sync with master-789-5114672
* sd: sync with master-795-87a0177
* sd: expose ref_image_args and make it trigger edit mode
* sd: minor API path handling cleanup
* sd: sync with master-749-b11c95a
* sd: use original API parameters at the internal C++ API
* sd: split_mode and auto_fit backend support
* sd: sync with master-758-c674225
* sd: sync with master-765-bb84971
* sd: sync with master-767-885f01a
* sd: sync with master-714-b12098f
* sd: support for boogu and longcat edit
* sd: remove SD_TYPE_COUNT == GGML_TYPE_COUNT assertion
The current code should be able to deal with an out-of-sync ggml.
* sd: generalize edit mode support
* sd: sync with master-719-f440ad9
* sd: sync with master-721-8caa3f9