aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_samplers_common.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-08-30 15:22:50 +0000
committerAUTOMATIC1111 <16777216c@gmail.com>2023-08-30 15:22:50 +0000
commitae0b2cc1964486ba847290ad752d9a284b6d63ba (patch)
treeb33b2d49646b0565b0812985d48d23fc0a2ab71d /modules/sd_samplers_common.py
parent0ff8b8fb54ef5ef3994f1244efef0a50a4490628 (diff)
downloadstable-diffusion-webui-gfx803-ae0b2cc1964486ba847290ad752d9a284b6d63ba.tar.gz
stable-diffusion-webui-gfx803-ae0b2cc1964486ba847290ad752d9a284b6d63ba.tar.bz2
stable-diffusion-webui-gfx803-ae0b2cc1964486ba847290ad752d9a284b6d63ba.zip
add an option to choose how to combine hires fix and refiner
Diffstat (limited to 'modules/sd_samplers_common.py')
-rw-r--r--modules/sd_samplers_common.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/modules/sd_samplers_common.py b/modules/sd_samplers_common.py
index 60fa161c..6c935a38 100644
--- a/modules/sd_samplers_common.py
+++ b/modules/sd_samplers_common.py
@@ -164,8 +164,17 @@ def apply_refiner(cfg_denoiser):
if refiner_checkpoint_info is None or shared.sd_model.sd_checkpoint_info == refiner_checkpoint_info:
return False
- if getattr(cfg_denoiser.p, "enable_hr", False) and not cfg_denoiser.p.is_hr_pass:
- return False
+ if getattr(cfg_denoiser.p, "enable_hr", False):
+ is_second_pass = cfg_denoiser.p.is_hr_pass
+
+ if opts.hires_fix_refiner_pass == "first pass" and is_second_pass:
+ return False
+
+ if opts.hires_fix_refiner_pass == "second pass" and not is_second_pass:
+ return False
+
+ if opts.hires_fix_refiner_pass != "second pass":
+ cfg_denoiser.p.extra_generation_params['Hires refiner'] = opts.hires_fix_refiner_pass
cfg_denoiser.p.extra_generation_params['Refiner'] = refiner_checkpoint_info.short_title
cfg_denoiser.p.extra_generation_params['Refiner switch at'] = refiner_switch_at