Blame gegl/buffer/gegl-buffer-cl-iterator.h
|
Packit |
bc1512 |
#ifndef __GEGL_BUFFER_CL_ITERATOR_H__
|
|
Packit |
bc1512 |
#define __GEGL_BUFFER_CL_ITERATOR_H__
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
#include "gegl-buffer.h"
|
|
Packit |
bc1512 |
#include "opencl/gegl-cl.h"
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
#define GEGL_CL_NTEX 16
|
|
Packit |
bc1512 |
#define GEGL_CL_BUFFER_MAX_ITERATORS 6
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
enum
|
|
Packit |
bc1512 |
{
|
|
Packit |
bc1512 |
GEGL_CL_BUFFER_READ = 1,
|
|
Packit |
bc1512 |
GEGL_CL_BUFFER_WRITE = 2,
|
|
Packit |
bc1512 |
GEGL_CL_BUFFER_AUX = 3
|
|
Packit |
bc1512 |
};
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
typedef struct GeglBufferClIterator
|
|
Packit |
bc1512 |
{
|
|
Packit |
bc1512 |
gint n;
|
|
Packit |
bc1512 |
size_t size [GEGL_CL_BUFFER_MAX_ITERATORS][GEGL_CL_NTEX]; /* length of current data in pixels */
|
|
Packit |
bc1512 |
cl_mem tex [GEGL_CL_BUFFER_MAX_ITERATORS][GEGL_CL_NTEX];
|
|
Packit |
bc1512 |
GeglRectangle roi [GEGL_CL_BUFFER_MAX_ITERATORS][GEGL_CL_NTEX];
|
|
Packit |
bc1512 |
} GeglBufferClIterator;
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
gint gegl_buffer_cl_iterator_add (GeglBufferClIterator *iterator,
|
|
Packit |
bc1512 |
GeglBuffer *buffer,
|
|
Packit |
bc1512 |
const GeglRectangle *roi,
|
|
Packit |
bc1512 |
const Babl *format,
|
|
Packit |
bc1512 |
guint flags,
|
|
Packit |
bc1512 |
GeglAbyssPolicy abyss_policy);
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
gint gegl_buffer_cl_iterator_add_2 (GeglBufferClIterator *iterator,
|
|
Packit |
bc1512 |
GeglBuffer *buffer,
|
|
Packit |
bc1512 |
const GeglRectangle *roi,
|
|
Packit |
bc1512 |
const Babl *format,
|
|
Packit |
bc1512 |
guint flags,
|
|
Packit |
bc1512 |
gint left,
|
|
Packit |
bc1512 |
gint right,
|
|
Packit |
bc1512 |
gint top,
|
|
Packit |
bc1512 |
gint bottom,
|
|
Packit |
bc1512 |
GeglAbyssPolicy abyss_policy);
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
gboolean gegl_buffer_cl_iterator_next (GeglBufferClIterator *iterator, gboolean *err);
|
|
Packit |
bc1512 |
|
|
Packit |
bc1512 |
GeglBufferClIterator *gegl_buffer_cl_iterator_new (GeglBuffer *buffer,
|
|
Packit |
bc1512 |
const GeglRectangle *roi,
|
|
Packit |
bc1512 |
const Babl *format,
|
|
Packit |
bc1512 |
guint flags,
|
|
Packit |
bc1512 |
GeglAbyssPolicy abyss_policy);
|
|
Packit |
bc1512 |
#endif
|