gegl r2713 - in trunk: . gegl gegl/operation gegl/property-types operations/external



Author: ok
Date: Sun Nov  9 19:04:37 2008
New Revision: 2713
URL: http://svn.gnome.org/viewvc/gegl?rev=2713&view=rev

Log:
* gegl/gegl-config.c: (gegl_config_init): changed tile size to 64x128
* gegl/operation/gegl-operation-point-filter.c: 
(gegl_operation_point_filter_class_init): do not cache results of
point filters.
* gegl/property-types/gegl-path.c: (gegl_param_vector_init),
(gegl_path_stroke): clear only the region bein rerendered.
* operations/external/fill.c: (gegl_chant_class_init): do not cache
fills, as they are cheap to redo.


Modified:
   trunk/ChangeLog
   trunk/gegl/gegl-config.c
   trunk/gegl/operation/gegl-operation-point-filter.c
   trunk/gegl/property-types/gegl-path.c
   trunk/operations/external/fill.c

Modified: trunk/gegl/gegl-config.c
==============================================================================
--- trunk/gegl/gegl-config.c	(original)
+++ trunk/gegl/gegl-config.c	Sun Nov  9 19:04:37 2008
@@ -195,7 +195,7 @@
   self->swap        = NULL;
   self->quality     = 1.0;
   self->cache_size  = 256 * 1024 * 1024;
-  self->chunk_size  = 1024 * 1024;
-  self->tile_width  = 128;
-  self->tile_height = 64;
+  self->chunk_size  = 512 * 512;
+  self->tile_width  = 64;
+  self->tile_height = 128;
 }

Modified: trunk/gegl/operation/gegl-operation-point-filter.c
==============================================================================
--- trunk/gegl/operation/gegl-operation-point-filter.c	(original)
+++ trunk/gegl/operation/gegl-operation-point-filter.c	Sun Nov  9 19:04:37 2008
@@ -53,6 +53,7 @@
 
   filter_class->process = gegl_operation_point_filter_process;
   operation_class->prepare = prepare;
+  operation_class->no_cache = TRUE;
 }
 
 static void

Modified: trunk/gegl/property-types/gegl-path.c
==============================================================================
--- trunk/gegl/property-types/gegl-path.c	(original)
+++ trunk/gegl/property-types/gegl-path.c	Sun Nov  9 19:04:37 2008
@@ -873,7 +873,7 @@
 static void
 gegl_param_vector_init (GParamSpec *self)
 {
-  GEGL_PARAM_PATH (self)->default_vector = NULL;
+  GEGL_PARAM_PATH (self)->default_vector = gegl_path_new ();
 }
 
 static void
@@ -1933,7 +1933,6 @@
                        gdouble     opacity)
 {
   GeglPathPrivate *priv = GEGL_PATH_GET_PRIVATE (vector);
-  GeglRectangle bufext;
   gfloat traveled_length = 0;
   gfloat need_to_travel = 0;
   gfloat x = 0,y = 0;
@@ -1959,13 +1958,13 @@
   extent.width = ceil (xmax) - extent.x;
   extent.height = ceil (ymax) - extent.y;
 
-  bufext = *gegl_buffer_get_extent (buffer);
-
+  if (!gegl_rectangle_intersect (&extent, &extent, clip_rect))
+   {
+     return;
+   }
   if (gegl_buffer_is_shared (buffer))
-  while (!gegl_buffer_try_lock (buffer));
+    while (!gegl_buffer_try_lock (buffer));
 
-  if (!gegl_rectangle_intersect (&extent, &bufext, &bufext))
-    return;
   gegl_buffer_clear (buffer, &extent);
 
   while (iter)

Modified: trunk/operations/external/fill.c
==============================================================================
--- trunk/operations/external/fill.c	(original)
+++ trunk/operations/external/fill.c	Sun Nov  9 19:04:37 2008
@@ -173,6 +173,7 @@
   operation_class->prepare = prepare;
   operation_class->detect = detect;
 
+  operation_class->no_cache = TRUE;
   operation_class->name        = "gegl:fill";
   operation_class->categories  = "render";
   operation_class->description = _("Renders a fill of the provided GeglPath in a given color");



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