[gegl] issue #150 - High pass filter on GIMP 2.10.10 behaves differently than in Gimp 2.10.8



commit 718298f3f7891de3caf78f2245fcdad4d873ac6b
Author: Massimo Valentini <mvalentini335 gmail com>
Date:   Sun Apr 14 21:33:27 2019 +0200

    issue #150 - High pass filter on GIMP 2.10.10 behaves differently than in Gimp 2.10.8
    
    OpenCL version only processes 3+1 components and chooses
    un/premultiplied using GEGL_PROPERTIES()->user_data !=/== NULL

 operations/common/opacity.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
---
diff --git a/operations/common/opacity.c b/operations/common/opacity.c
index b62aef056..5af58ba9e 100644
--- a/operations/common/opacity.c
+++ b/operations/common/opacity.c
@@ -45,8 +45,19 @@ prepare (GeglOperation *self)
 {
   const Babl *space = gegl_operation_get_source_space (self, "input");
   const Babl *fmt = gegl_operation_get_source_format (self, "input");
-  //GeglProperties *o = GEGL_PROPERTIES (self);
+  GeglProperties *o = GEGL_PROPERTIES (self);
 
+  if (gegl_operation_use_opencl (self))
+    {
+      if (babl_get_model_flags (fmt) & BABL_MODEL_FLAG_PREMULTIPLIED)
+        fmt = babl_format_with_space ("RaGaBaA float", space);
+      else
+        {
+          fmt = babl_format_with_space ("RGBA float", space);
+          o->user_data = o;
+        }
+    }
+  else
   fmt = gegl_babl_variant (fmt, GEGL_BABL_VARIANT_ALPHA);
 
   gegl_operation_set_format (self, "input", fmt);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]