From ffa92df228869cf0f3cc200e6888ea09ce2fafec Mon Sep 17 00:00:00 2001 From: IrradiatedHaggis Date: Sun, 6 Sep 2026 16:09:42 -0700 Subject: [PATCH] fix(freescale): cast to float32 for antialiased bicubic upsample (FP16 crash) Fixes NotImplementedError: compute_index_ranges_weights not implemented for 'Half' when running FreeScale on FP16/BF16 models. Same pattern as the PixelRush float16 fix from v2.8.2. --- src/freescale_node.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/freescale_node.py b/src/freescale_node.py index e78427a..6886afc 100644 --- a/src/freescale_node.py +++ b/src/freescale_node.py @@ -417,10 +417,14 @@ class FreeScaleNode(io.ComfyNode): # 1. VAE decode → bicubic upscale → VAE encode image = vae_decode(z) + orig_dtype = image.dtype image_up = F.interpolate( - image, size=(res_h, res_w), - mode="bicubic", align_corners=False, antialias=True, - ) + image.float(), # cast to float32 + size=(res_h, res_w), + mode="bicubic", + align_corners=False, + antialias=True, + ).to(orig_dtype) # restore original dtype z_up = vae_encode(image_up) # 2. Noise level at timestep K. The actual noising is performed