[gegl/soc-2013-opecl-ops] buffer: gegl-buffer-iterator doesn't ignore the abyss policy anymore
- From: Carlos Zubieta <czubieta src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl/soc-2013-opecl-ops] buffer: gegl-buffer-iterator doesn't ignore the abyss policy anymore
- Date: Wed, 31 Jul 2013 16:48:43 +0000 (UTC)
commit 40f161b4e3b0ffccef0ada80650ae59dbe014eab
Author: Téo Mazars <teo mazars ensimag fr>
Date: Sat Jul 27 21:15:47 2013 +0200
buffer: gegl-buffer-iterator doesn't ignore the abyss policy anymore
gegl/buffer/gegl-buffer-iterator.c | 25 ++++++++++++++-----------
gegl/buffer/gegl-buffer-iterator.h | 3 ---
2 files changed, 14 insertions(+), 14 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-iterator.c b/gegl/buffer/gegl-buffer-iterator.c
index 7540293..4874934 100644
--- a/gegl/buffer/gegl-buffer-iterator.c
+++ b/gegl/buffer/gegl-buffer-iterator.c
@@ -72,16 +72,17 @@ typedef struct GeglBufferIterators
GeglRectangle roi[GEGL_BUFFER_MAX_ITERATORS]; /* roi of the current data */
/* the following is private: */
- gint iterators;
- gint iteration_no;
- gboolean is_finished;
- GeglRectangle rect [GEGL_BUFFER_MAX_ITERATORS]; /* the region we iterate on. They can be different
from
+ gint iterators;
+ gint iteration_no;
+ gboolean is_finished;
+ GeglRectangle rect [GEGL_BUFFER_MAX_ITERATORS]; /* the region we iterate on. They can be
different from
each other, but width and height are the same */
- const Babl *format [GEGL_BUFFER_MAX_ITERATORS]; /* The format required for the data */
- GeglBuffer *buffer [GEGL_BUFFER_MAX_ITERATORS]; /* currently a subbuffer of the original, need to
go away */
- guint flags [GEGL_BUFFER_MAX_ITERATORS];
- gpointer buf [GEGL_BUFFER_MAX_ITERATORS]; /* no idea */
- GeglBufferTileIterator i[GEGL_BUFFER_MAX_ITERATORS];
+ const Babl *format [GEGL_BUFFER_MAX_ITERATORS]; /* The format required for the data */
+ GeglBuffer *buffer [GEGL_BUFFER_MAX_ITERATORS]; /* currently a subbuffer of the original, need
to go away */
+ guint flags [GEGL_BUFFER_MAX_ITERATORS];
+ gpointer buf [GEGL_BUFFER_MAX_ITERATORS]; /* no idea */
+ GeglAbyssPolicy abyss_policy [GEGL_BUFFER_MAX_ITERATORS];
+ GeglBufferTileIterator i [GEGL_BUFFER_MAX_ITERATORS];
} GeglBufferIterators;
@@ -295,6 +296,8 @@ gegl_buffer_iterator_add (GeglBufferIterator *iterator,
i->format[self]=buffer->soft_format;
i->flags[self]=flags;
+ i->abyss_policy[self] = abyss_policy;
+
if (self==0) /* The first buffer which is always scan aligned */
{
i->flags[self] |= GEGL_BUFFER_SCAN_COMPATIBLE;
@@ -543,7 +546,7 @@ gegl_buffer_iterator_next (GeglBufferIterator *iterator)
if (i->flags[no] & GEGL_BUFFER_READ)
{
gegl_buffer_get_unlocked (i->buffer[no], 1.0, &(i->roi[no]), i->format[no], i->buf[no],
- GEGL_AUTO_ROWSTRIDE, GEGL_ABYSS_NONE);
+ GEGL_AUTO_ROWSTRIDE, i->abyss_policy[no]);
}
i->data[no]=i->buf[no];
@@ -564,7 +567,7 @@ gegl_buffer_iterator_next (GeglBufferIterator *iterator)
if (i->flags[no] & GEGL_BUFFER_READ)
{
gegl_buffer_get_unlocked (i->buffer[no], 1.0, &(i->roi[no]), i->format[no], i->buf[no],
- GEGL_AUTO_ROWSTRIDE, GEGL_ABYSS_NONE);
+ GEGL_AUTO_ROWSTRIDE, i->abyss_policy[no]);
}
i->data[no]=i->buf[no];
diff --git a/gegl/buffer/gegl-buffer-iterator.h b/gegl/buffer/gegl-buffer-iterator.h
index 1631634..7a671f8 100644
--- a/gegl/buffer/gegl-buffer-iterator.h
+++ b/gegl/buffer/gegl-buffer-iterator.h
@@ -52,8 +52,6 @@ typedef struct GeglBufferIterator
* @format: the format we want to process this buffers data in, pass 0 to use the buffers format.
* @flags: whether we need reading or writing to this buffer one of GEGL_BUFFER_READ, GEGL_BUFFER_WRITE and
GEGL_BUFFER_READWRITE.
* @repeat_mode: how request outside the buffer extent are handled.
- * Valid values: GEGL_ABYSS_NONE
-
*
* Create a new buffer iterator, this buffer will be iterated through
* in linear chunks, some chunks might be full tiles the coordinates, see
@@ -81,7 +79,6 @@ GeglBufferIterator * gegl_buffer_iterator_new (GeglBuffer *buffer,
* @format: the format we want to process this buffers data in, pass 0 to use the buffers format.
* @flags: whether we need reading or writing to this buffer.
* @repeat_mode: how request outside the buffer extent are handled.
- * Valid values: GEGL_ABYSS_NONE
*
* Adds an additional buffer iterator that will be processed in sync with
* the original one, if the buffer doesn't align with the other for tile access
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]