Fix GPUFrame wrapping in fused-pipeline fallback
Some checks are pending
GPU Worker CI/CD / test (push) Waiting to run
GPU Worker CI/CD / deploy (push) Blocked by required conditions

The fallback path was passing raw numpy/cupy arrays to GPU functions
that expect GPUFrame objects with .cpu property.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
giles
2026-02-04 11:39:34 +00:00
parent ed617fcdd6
commit 6ee8d72d24

View File

@@ -899,7 +899,12 @@ def prim_fused_pipeline(img, effects_list, **dynamic_params):
if not _FUSED_KERNELS_AVAILABLE:
# Fallback: apply effects one by one
# Wrap in GPUFrame if needed (GPU functions expect GPUFrame objects)
if isinstance(img, GPUFrame):
result = img
else:
on_gpu = hasattr(img, '__cuda_array_interface__')
result = GPUFrame(img, on_gpu=on_gpu)
for effect in effects_list:
op = effect['op']
if op == 'rotate':