Fix GPUFrame wrapping in fused-pipeline fallback
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:
@@ -899,7 +899,12 @@ def prim_fused_pipeline(img, effects_list, **dynamic_params):
|
||||
|
||||
if not _FUSED_KERNELS_AVAILABLE:
|
||||
# Fallback: apply effects one by one
|
||||
result = img
|
||||
# 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':
|
||||
|
||||
Reference in New Issue
Block a user