[gegl] make all uses of gegl_buffer_set refer to 0 level
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] make all uses of gegl_buffer_set refer to 0 level
- Date: Tue, 1 Jul 2014 08:42:30 +0000 (UTC)
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]