[gegl/threaded-base-classes: 5/13] XXX: do not commit, buffer: do not use hot tile
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl/threaded-base-classes: 5/13] XXX: do not commit, buffer: do not use hot tile
- Date: Thu, 26 Jun 2014 22:45:26 +0000 (UTC)
commit 8b9fd70dc476df5d762e781662d6dcdbedcb33c4
Author: Øyvind Kolås <pippin gimp org>
Date: Tue Jun 24 07:32:50 2014 +0200
XXX: do not commit, buffer: do not use hot tile
probably makes some fast paths slower; determining better ways needs
profiling.
gegl/buffer/gegl-buffer-access.c | 8 ++++----
gegl/buffer/gegl-sampler-nearest.c | 14 ++++++++++----
2 files changed, 14 insertions(+), 8 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-access.c b/gegl/buffer/gegl-buffer-access.c
index c2cf098..8422dde 100644
--- a/gegl/buffer/gegl-buffer-access.c
+++ b/gegl/buffer/gegl-buffer-access.c
@@ -1312,10 +1312,10 @@ gegl_buffer_set (GeglBuffer *buffer,
if (format == NULL)
format = buffer->soft_format;
- if (rect && (rect->width == 1 && rect->height == 1))
+ /*if (rect && (rect->width == 1 && rect->height == 1))
_gegl_buffer_set_pixel (buffer, rect->x, rect->y, format, src,
GEGL_BUFFER_SET_FLAG_LOCK|GEGL_BUFFER_SET_FLAG_NOTIFY);
- else
+ else*/
_gegl_buffer_set_with_flags (buffer, rect, level, format, src, rowstride,
GEGL_BUFFER_SET_FLAG_LOCK|
GEGL_BUFFER_SET_FLAG_NOTIFY);
@@ -1370,7 +1370,7 @@ _gegl_buffer_get_unlocked (GeglBuffer *buffer,
if (format == NULL)
format = buffer->soft_format;
-
+/*
if (scale == 1.0 &&
rect &&
rect->width == 1 &&
@@ -1379,7 +1379,7 @@ _gegl_buffer_get_unlocked (GeglBuffer *buffer,
gegl_buffer_get_pixel (buffer, rect->x, rect->y, format, dest_buf, repeat_mode);
return;
}
-
+*/
if (gegl_cl_is_accelerated ())
{
gegl_buffer_cl_cache_flush (buffer, rect);
diff --git a/gegl/buffer/gegl-sampler-nearest.c b/gegl/buffer/gegl-sampler-nearest.c
index 8d9be5f..40cb7c6 100644
--- a/gegl/buffer/gegl-sampler-nearest.c
+++ b/gegl/buffer/gegl-sampler-nearest.c
@@ -187,15 +187,21 @@ gegl_sampler_nearest_get ( GeglSampler* restrict sampler,
void* restrict output,
GeglAbyssPolicy repeat_mode)
{
-#if 1
+ GeglRectangle rect = {(gint) floorf ((double) absolute_x),
+ (gint) floorf ((double) absolute_y),1,1};
+ gegl_buffer_get (sampler->buffer, &rect, 1.0, sampler->format, output, GEGL_AUTO_ROWSTRIDE, repeat_mode);
+ return;
+
+
+#if 0
gegl_sampler_get_pixel (sampler,
floorf(absolute_x), floorf(absolute_y),
output, repeat_mode);
#else
const gfloat* restrict in_bptr =
gegl_sampler_get_ptr (sampler,
- (gint) floor ((double) absolute_x),
- (gint) floor ((double) absolute_y),
+ (gint) floorf ((double) absolute_x),
+ (gint) floorf ((double) absolute_y),
repeat_mode);
babl_process (sampler->fish, in_bptr, output, 1);
#endif
@@ -215,8 +221,8 @@ gegl_sampler_nearest_prepare (GeglSampler* restrict sampler)
sampler->get = gegl_sampler_nearest_get_same_format;
}
else
-#endif
{
sampler->fish = babl_fish (sampler->buffer->soft_format, sampler->format);
}
+#endif
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]