aboutsummaryrefslogtreecommitdiffstats
path: root/modules/generation_parameters_copypaste.py
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2023-01-09 11:57:47 +0000
committerAUTOMATIC <16777216c@gmail.com>2023-01-09 11:57:47 +0000
commitd4fd2418efb0986a8226add0b800fb5c73ffb58c (patch)
treefb9e9f66ce779f87e0d783e8e00a7f1fbbdc60e1 /modules/generation_parameters_copypaste.py
parent8850fc23b6e8a8e210bdfe4aade81516fb5770f3 (diff)
downloadstable-diffusion-webui-gfx803-d4fd2418efb0986a8226add0b800fb5c73ffb58c.tar.gz
stable-diffusion-webui-gfx803-d4fd2418efb0986a8226add0b800fb5c73ffb58c.tar.bz2
stable-diffusion-webui-gfx803-d4fd2418efb0986a8226add0b800fb5c73ffb58c.zip
add an option to use old hiresfix width/height behavior
add a visual effect to inactive hires fix elements
Diffstat (limited to 'modules/generation_parameters_copypaste.py')
-rw-r--r--modules/generation_parameters_copypaste.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/modules/generation_parameters_copypaste.py b/modules/generation_parameters_copypaste.py
index 12a9de3d..f7f68b67 100644
--- a/modules/generation_parameters_copypaste.py
+++ b/modules/generation_parameters_copypaste.py
@@ -197,6 +197,15 @@ def restore_old_hires_fix_params(res):
firstpass_width = res.get('First pass size-1', None)
firstpass_height = res.get('First pass size-2', None)
+ if shared.opts.use_old_hires_fix_width_height:
+ hires_width = int(res.get("Hires resize-1", None))
+ hires_height = int(res.get("Hires resize-2", None))
+
+ if hires_width is not None and hires_height is not None:
+ res['Size-1'] = hires_width
+ res['Size-2'] = hires_height
+ return
+
if firstpass_width is None or firstpass_height is None:
return
@@ -205,12 +214,8 @@ def restore_old_hires_fix_params(res):
height = int(res.get("Size-2", 512))
if firstpass_width == 0 or firstpass_height == 0:
- # old algorithm for auto-calculating first pass size
- desired_pixel_count = 512 * 512
- actual_pixel_count = width * height
- scale = math.sqrt(desired_pixel_count / actual_pixel_count)
- firstpass_width = math.ceil(scale * width / 64) * 64
- firstpass_height = math.ceil(scale * height / 64) * 64
+ from modules import processing
+ firstpass_width, firstpass_height = processing.old_hires_fix_first_pass_dimensions(width, height)
res['Size-1'] = firstpass_width
res['Size-2'] = firstpass_height