diff --git a/sexp_effects/primitive_libs/streaming_gpu.py b/sexp_effects/primitive_libs/streaming_gpu.py index d9ee129..d0d80b4 100644 --- a/sexp_effects/primitive_libs/streaming_gpu.py +++ b/sexp_effects/primitive_libs/streaming_gpu.py @@ -929,6 +929,9 @@ def prim_fused_pipeline(img, effects_list, **dynamic_params): result = gpu_contrast(result, factor, 0) elif op == 'invert': result = gpu_invert(result) + # Return raw array, not GPUFrame (downstream expects arrays with .flags attribute) + if isinstance(result, GPUFrame): + return result.gpu if result.is_on_gpu else result.cpu return result # Get image dimensions