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:
|
if not _FUSED_KERNELS_AVAILABLE:
|
||||||
# Fallback: apply effects one by one
|
# 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:
|
for effect in effects_list:
|
||||||
op = effect['op']
|
op = effect['op']
|
||||||
if op == 'rotate':
|
if op == 'rotate':
|
||||||
|
|||||||
Reference in New Issue
Block a user