[gegl] make all uses of gegl_buffer_set refer to 0 level



commit 26f7cae4dc3d1a409614513c9787792973f6fac6
Author: Øyvind Kolås <pippin gimp org>
Date:   Tue Jul 1 09:01:24 2014 +0200

    make all uses of gegl_buffer_set refer to 0 level
    
    The ones are there for the API symmetry with gegl_buffer_get's scale,
    using discrete levels is probably better than the scale equivalent in
    all cases.

 gegl/buffer/gegl-buffer-access.c            |    6 ++--
 operations/common/antialias.c               |    2 +-
 operations/common/apply-lens.c              |    2 +-
 operations/common/mosaic.c                  |    2 +-
 operations/common/motion-blur-circular.c    |    2 +-
 operations/common/motion-blur-zoom.c        |    2 +-
 operations/common/pixelize.c                |    2 +-
 operations/external/webp-load.c             |    2 +-
 tests/buffer/tests/get_abyss_black.c        |    2 +-
 tests/buffer/tests/get_abyss_clamp.c        |    2 +-
 tests/buffer/tests/get_abyss_empty_buffer.c |    2 +-
 tests/buffer/tests/get_abyss_loop.c         |    2 +-
 tests/buffer/tests/get_abyss_none.c         |    2 +-
 tests/buffer/tests/get_abyss_white.c        |    2 +-
 tests/buffer/tests/test_mipmap.c            |   38 +++++++++++++++++++++++++++
 tests/simple/test-buffer-changes.c          |    2 +-
 tests/simple/test-image-compare.c           |    4 +-
 17 files changed, 57 insertions(+), 19 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-access.c b/gegl/buffer/gegl-buffer-access.c
index 5a78d12..b14b50a 100644
--- a/gegl/buffer/gegl-buffer-access.c
+++ b/gegl/buffer/gegl-buffer-access.c
@@ -481,7 +481,7 @@ gegl_buffer_set_internal (GeglBuffer          *buffer,
       gegl_buffer_cl_cache_flush (buffer, rect);
     }
 
-  gegl_buffer_iterate_write (buffer, rect, (void *) src, rowstride, format, 0);
+  gegl_buffer_iterate_write (buffer, rect, (void *) src, rowstride, format, level);
 
   if (gegl_buffer_is_shared (buffer))
     {
@@ -1389,7 +1389,7 @@ _gegl_buffer_get_unlocked (GeglBuffer          *buffer,
       gegl_buffer_cl_cache_flush (buffer, rect);
     }
 
-  if (!rect && scale == 1.0)
+  if (!rect && GEGL_FLOAT_EQUAL (scale, 1.0))
     {
       gegl_buffer_iterate_read_dispatch (buffer, &buffer->extent, dest_buf,
                                          rowstride, format, 0, repeat_mode);
@@ -1978,7 +1978,7 @@ gegl_buffer_set_pattern (GeglBuffer          *buffer,
 
         gegl_rectangle_intersect (&dest_rect, &dest_rect, &roi);
 
-        gegl_buffer_set (buffer, &dest_rect, 1, buffer_format,
+        gegl_buffer_set (buffer, &dest_rect, 0, buffer_format,
                          pattern_data, rowstride);
       }
 
diff --git a/operations/common/antialias.c b/operations/common/antialias.c
index d32f6cc..f06485d 100644
--- a/operations/common/antialias.c
+++ b/operations/common/antialias.c
@@ -235,7 +235,7 @@ process (GeglOperation       *operation,
 #undef USE_IF_ALPHA
 
       /* write result row to dest */
-      gegl_buffer_set (output, &rowrect, 1, format, &dest[0], GEGL_AUTO_ROWSTRIDE);
+      gegl_buffer_set (output, &rowrect, 0, format, &dest[0], GEGL_AUTO_ROWSTRIDE);
 
       /* rotate pointers */
       tmp       = rowbefore;
diff --git a/operations/common/apply-lens.c b/operations/common/apply-lens.c
index 5306a9f..8bd380c 100644
--- a/operations/common/apply-lens.c
+++ b/operations/common/apply-lens.c
@@ -257,7 +257,7 @@ process (GeglOperation       *operation,
         }
   }
 
-  gegl_buffer_set (output, result, 1.0, gegl_buffer_get_format (output), dst_buf,
+  gegl_buffer_set (output, result, 0, gegl_buffer_get_format (output), dst_buf,
                    GEGL_AUTO_ROWSTRIDE);
 
   gegl_free (dst_buf);
diff --git a/operations/common/mosaic.c b/operations/common/mosaic.c
index bfc5b38..9944dd0 100644
--- a/operations/common/mosaic.c
+++ b/operations/common/mosaic.c
@@ -2426,7 +2426,7 @@ process (GeglOperation       *operation,
   offset += (result->x - working_region.x);
   offset *= 4;
 
-  gegl_buffer_set (output, result, 1.0, babl_format ("R'G'B'A float"),
+  gegl_buffer_set (output, result, 0, babl_format ("R'G'B'A float"),
                    res + offset, rowstride);
 
   g_free (res);
diff --git a/operations/common/motion-blur-circular.c b/operations/common/motion-blur-circular.c
index 6cb191c..d420d3d 100644
--- a/operations/common/motion-blur-circular.c
+++ b/operations/common/motion-blur-circular.c
@@ -270,7 +270,7 @@ process (GeglOperation       *operation,
         }
     }
 
-  gegl_buffer_set (output, roi, 1.0, babl_format ("RaGaBaA float"),
+  gegl_buffer_set (output, roi, 0, babl_format ("RaGaBaA float"),
                    out_buf, GEGL_AUTO_ROWSTRIDE);
 
   g_free (in_buf);
diff --git a/operations/common/motion-blur-zoom.c b/operations/common/motion-blur-zoom.c
index 985b21c..cb588f4 100644
--- a/operations/common/motion-blur-zoom.c
+++ b/operations/common/motion-blur-zoom.c
@@ -215,7 +215,7 @@ process (GeglOperation       *operation,
         }
     }
 
-  gegl_buffer_set (output, roi, 1.0, babl_format ("RaGaBaA float"),
+  gegl_buffer_set (output, roi, 0, babl_format ("RaGaBaA float"),
                    out_buf, GEGL_AUTO_ROWSTRIDE);
 
   g_free (in_buf);
diff --git a/operations/common/pixelize.c b/operations/common/pixelize.c
index d29a10d..f28f697 100644
--- a/operations/common/pixelize.c
+++ b/operations/common/pixelize.c
@@ -615,7 +615,7 @@ process (GeglOperation       *operation,
             pixelize (input_buf, output_buf, &chunked_result, &src_rect,
                       whole_region, o);
 
-            gegl_buffer_set (output, &chunked_result, 1.0,
+            gegl_buffer_set (output, &chunked_result, 0,
                              babl_format ("RaGaBaA float"),
                              output_buf, GEGL_AUTO_ROWSTRIDE);
           }
diff --git a/operations/external/webp-load.c b/operations/external/webp-load.c
index 337b0a9..323c15d 100644
--- a/operations/external/webp-load.c
+++ b/operations/external/webp-load.c
@@ -75,7 +75,7 @@ read_webp (const gchar *path, GeglBuffer *buf, GeglRectangle *bounds_out, const
           return FALSE;
         }
 
-      gegl_buffer_set (buf, &bounds, 1, format, config.output.u.RGBA.rgba,
+      gegl_buffer_set (buf, &bounds, 0, format, config.output.u.RGBA.rgba,
                        config.output.u.RGBA.stride);
 
       WebPFreeDecBuffer (&config.output);
diff --git a/tests/buffer/tests/get_abyss_black.c b/tests/buffer/tests/get_abyss_black.c
index da8da6a..3efd028 100644
--- a/tests/buffer/tests/get_abyss_black.c
+++ b/tests/buffer/tests/get_abyss_black.c
@@ -36,7 +36,7 @@ TEST ()
       print (("%d,%d %dx%d\n", cur_query_rect.x, cur_query_rect.y, cur_query_rect.width, 
cur_query_rect.height));
 
       gegl_buffer_get (buffer, &cur_query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE, abyss_type);
-      gegl_buffer_set (buffer2, &query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE);
+      gegl_buffer_set (buffer2, &query_rect, 0, format, buf, GEGL_AUTO_ROWSTRIDE);
 
       print_buffer (buffer2);
     }
diff --git a/tests/buffer/tests/get_abyss_clamp.c b/tests/buffer/tests/get_abyss_clamp.c
index 382e5b9..961dfe6 100644
--- a/tests/buffer/tests/get_abyss_clamp.c
+++ b/tests/buffer/tests/get_abyss_clamp.c
@@ -36,7 +36,7 @@ TEST ()
       print (("%d,%d %dx%d\n", cur_query_rect.x, cur_query_rect.y, cur_query_rect.width, 
cur_query_rect.height));
 
       gegl_buffer_get (buffer, &cur_query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE, abyss_type);
-      gegl_buffer_set (buffer2, &query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE);
+      gegl_buffer_set (buffer2, &query_rect, 0, format, buf, GEGL_AUTO_ROWSTRIDE);
 
       print_buffer (buffer2);
     }
diff --git a/tests/buffer/tests/get_abyss_empty_buffer.c b/tests/buffer/tests/get_abyss_empty_buffer.c
index b7128a3..84c10ac 100644
--- a/tests/buffer/tests/get_abyss_empty_buffer.c
+++ b/tests/buffer/tests/get_abyss_empty_buffer.c
@@ -26,7 +26,7 @@ TEST ()
       print (("%s\n", abyss_names[i]));
 
       gegl_buffer_get (buffer, &query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE, abyss_types[i]);
-      gegl_buffer_set (buffer2, &query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE);
+      gegl_buffer_set (buffer2, &query_rect, 0, format, buf, GEGL_AUTO_ROWSTRIDE);
 
       print_buffer (buffer2);
     }
diff --git a/tests/buffer/tests/get_abyss_loop.c b/tests/buffer/tests/get_abyss_loop.c
index 02b60f3..fb25d7f 100644
--- a/tests/buffer/tests/get_abyss_loop.c
+++ b/tests/buffer/tests/get_abyss_loop.c
@@ -36,7 +36,7 @@ TEST ()
       print (("%d,%d %dx%d\n", cur_query_rect.x, cur_query_rect.y, cur_query_rect.width, 
cur_query_rect.height));
 
       gegl_buffer_get (buffer, &cur_query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE, abyss_type);
-      gegl_buffer_set (buffer2, &query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE);
+      gegl_buffer_set (buffer2, &query_rect, 0, format, buf, GEGL_AUTO_ROWSTRIDE);
 
       print_buffer (buffer2);
     }
diff --git a/tests/buffer/tests/get_abyss_none.c b/tests/buffer/tests/get_abyss_none.c
index 5183951..271601c 100644
--- a/tests/buffer/tests/get_abyss_none.c
+++ b/tests/buffer/tests/get_abyss_none.c
@@ -36,7 +36,7 @@ TEST ()
       print (("%d,%d %dx%d\n", cur_query_rect.x, cur_query_rect.y, cur_query_rect.width, 
cur_query_rect.height));
 
       gegl_buffer_get (buffer, &cur_query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE, abyss_type);
-      gegl_buffer_set (buffer2, &query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE);
+      gegl_buffer_set (buffer2, &query_rect, 0, format, buf, GEGL_AUTO_ROWSTRIDE);
 
       print_buffer (buffer2);
     }
diff --git a/tests/buffer/tests/get_abyss_white.c b/tests/buffer/tests/get_abyss_white.c
index 2d44517..23dc401 100644
--- a/tests/buffer/tests/get_abyss_white.c
+++ b/tests/buffer/tests/get_abyss_white.c
@@ -36,7 +36,7 @@ TEST ()
       print (("%d,%d %dx%d\n", cur_query_rect.x, cur_query_rect.y, cur_query_rect.width, 
cur_query_rect.height));
 
       gegl_buffer_get (buffer, &cur_query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE, abyss_type);
-      gegl_buffer_set (buffer2, &query_rect, 1.0, format, buf, GEGL_AUTO_ROWSTRIDE);
+      gegl_buffer_set (buffer2, &query_rect, 0, format, buf, GEGL_AUTO_ROWSTRIDE);
 
       print_buffer (buffer2);
     }
diff --git a/tests/buffer/tests/test_mipmap.c b/tests/buffer/tests/test_mipmap.c
new file mode 100644
index 0000000..48750f0
--- /dev/null
+++ b/tests/buffer/tests/test_mipmap.c
@@ -0,0 +1,38 @@
+TEST ()
+{
+  GeglBuffer    *buffer, *buffer2;
+  GeglRectangle  bound = {0, 0, 20, 20};
+  GeglRectangle  source = {2, 2, 5, 5};
+  GeglRectangle  dest = {10, 10, 5, 5};
+  const gchar *blank = g_malloc0 (100000);
+  test_start ();
+
+  buffer = gegl_buffer_new (&bound, babl_format ("Y float"));
+  buffer2 = gegl_buffer_new (&bound, babl_format ("Y float"));
+
+  vgrad (buffer2);
+
+  gegl_buffer_set (buffer2, &dest, 0, babl_format ("Y float"), blank, GEGL_AUTO_ROWSTRIDE);
+
+  print_buffer (buffer2);
+  vgrad (buffer2);
+
+  gegl_buffer_set (buffer2, &dest, 1, babl_format ("Y float"), blank, GEGL_AUTO_ROWSTRIDE);
+
+  print_buffer (buffer2);
+
+  g_object_unref (buffer);
+  g_object_unref (buffer2);
+  test_end ();
+
+
+  /* test writing to only higher mipmap levels,.   what happens to reads there
+   * and above?
+   *
+   *   below - perhaps synthesising these - bypassing cache would not be
+   *   half-bad? if the result is not for a 1:1 render?
+   *
+   */
+
+
+}
diff --git a/tests/simple/test-buffer-changes.c b/tests/simple/test-buffer-changes.c
index 1aae041..2684f12 100644
--- a/tests/simple/test-buffer-changes.c
+++ b/tests/simple/test-buffer-changes.c
@@ -84,7 +84,7 @@ test_buffer_change_signal_on_set(void)
     
     gegl_buffer_signal_connect(test_case->buffer, "changed", (GCallback)handle_buffer_changed, test_case);
     
-    gegl_buffer_set(test_case->buffer, &rect, 1, test_case->buffer_format, tmp, GEGL_AUTO_ROWSTRIDE);
+    gegl_buffer_set(test_case->buffer, &rect, 0, test_case->buffer_format, tmp, GEGL_AUTO_ROWSTRIDE);
     
     g_assert_cmpint(test_case->buffer_changed_called, ==, 1);
     g_assert(test_gegl_rectangle_equal(&(test_case->buffer_changed_rect), &rect));
diff --git a/tests/simple/test-image-compare.c b/tests/simple/test-image-compare.c
index fa2c09e..9d555a5 100644
--- a/tests/simple/test-image-compare.c
+++ b/tests/simple/test-image-compare.c
@@ -160,9 +160,9 @@ test_comparison (const gfloat        *reference,
   src_ref_buffer = gegl_buffer_new (&extent, input_format);
   src_aux_buffer = gegl_buffer_new (&extent, input_format);
 
-  gegl_buffer_set (src_ref_buffer, &extent, 1, input_format,
+  gegl_buffer_set (src_ref_buffer, &extent, 0, input_format,
                    reference, GEGL_AUTO_ROWSTRIDE);
-  gegl_buffer_set (src_aux_buffer, &extent, 1, input_format,
+  gegl_buffer_set (src_aux_buffer, &extent, 0, input_format,
                    test_case, GEGL_AUTO_ROWSTRIDE);
 
   /* Build the test graph */


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