gegl r2207 - in trunk: . gegl/buffer
- From: ok svn gnome org
- To: svn-commits-list gnome org
- Subject: gegl r2207 - in trunk: . gegl/buffer
- Date: Sun, 20 Apr 2008 23:53:59 +0100 (BST)
Author: ok
Date: Sun Apr 20 22:53:58 2008
New Revision: 2207
URL: http://svn.gnome.org/viewvc/gegl?rev=2207&view=rev
Log:
* gegl/buffer/gegl-tile-backend-file.c: (file_entry_read),
(file_entry_write), (file_entry_new), (write_header),
(write_block), (flush), (finalize),
(gegl_tile_backend_file_constructor): added debug notes.
Modified:
trunk/ChangeLog
trunk/gegl/buffer/gegl-tile-backend-file.c
Modified: trunk/gegl/buffer/gegl-tile-backend-file.c
==============================================================================
--- trunk/gegl/buffer/gegl-tile-backend-file.c (original)
+++ trunk/gegl/buffer/gegl-tile-backend-file.c Sun Apr 20 22:53:58 2008
@@ -29,6 +29,8 @@
#include "gegl-tile-backend-file.h"
#include "gegl-buffer-index.h"
+#include "gegl-debug.h"
+
struct _GeglTileBackendFile
{
@@ -86,7 +88,7 @@
gint to_be_read;
gboolean success;
gint tile_size = GEGL_TILE_BACKEND (self)->tile_size;
- goffset offset = entry->offset; /* we need 64bit */
+ goffset offset = entry->offset;
success = g_seekable_seek (G_SEEKABLE (self->i),
offset, G_SEEK_SET,
@@ -114,6 +116,7 @@
}
to_be_read -= read;
}
+ GEGL_NOTE (TILE_BACKEND, "read entry %i,%i,%i at %i", entry->x, entry->y, entry->z, (gint)offset);
}
static void inline
@@ -124,7 +127,7 @@
gint to_be_written;
gboolean success;
gint tile_size = GEGL_TILE_BACKEND (self)->tile_size;
- goffset offset = entry->offset; /* we need 64 bit */
+ goffset offset = entry->offset;
success = g_seekable_seek (G_SEEKABLE (self->o),
offset, G_SEEK_SET,
@@ -152,6 +155,7 @@
}
to_be_written -= wrote;
}
+ GEGL_NOTE (TILE_BACKEND, "read entry %i,%i,%i at %i", entry->x, entry->y, entry->z, (gint)offset);
}
static inline GeglBufferTile *
@@ -159,23 +163,30 @@
{
GeglBufferTile *entry = gegl_tile_entry_new (0,0,0);
+ GEGL_NOTE (TILE_BACKEND, "Creating new entry");
+
if (self->free_list)
{
/* XXX: losing precision ? */
gint offset = GPOINTER_TO_INT (self->free_list->data);
entry->offset = offset;
self->free_list = g_slist_remove (self->free_list, self->free_list->data);
+
+ GEGL_NOTE (TILE_BACKEND, " set offset %i from free list", ((gint)entry->offset));
}
else
{
gint tile_size = GEGL_TILE_BACKEND (self)->tile_size;
entry->offset = self->next_pre_alloc;
+ GEGL_NOTE (TILE_BACKEND, " set offset %i (next allocation)", (gint)entry->offset);
self->next_pre_alloc += tile_size;
if (self->next_pre_alloc >= self->total)
{
self->total = self->total + 32 * tile_size;
+
+ GEGL_NOTE (TILE_BACKEND, "growing file to %i bytes", (gint)self->total);
g_assert (g_seekable_truncate (G_SEEKABLE (self->o),
self->total, NULL,NULL));
@@ -210,6 +221,7 @@
return FALSE;
}
g_output_stream_write (self->o, &(self->header), 256, NULL, NULL);
+ GEGL_NOTE (TILE_BACKEND, "Wrote header, next=%i", (gint)self->header.next);
return TRUE;
}
@@ -234,9 +246,14 @@
NULL, NULL))
goto fail;
+ GEGL_NOTE (TILE_BACKEND, "Wrote block: length:%i flags:%i next:%i at offset %i",
+ self->in_holding->length,
+ self->in_holding->flags,
+ (gint)self->in_holding->next,
+ (gint)self->offset);
self->offset += g_output_stream_write (self->o, self->in_holding,
- self->in_holding->length,
- NULL, NULL);
+ self->in_holding->length,
+ NULL, NULL);
g_assert (next_allocation == self->offset); /* true as long as
the simple allocation
@@ -437,7 +454,7 @@
backend = GEGL_TILE_BACKEND (source);
self = GEGL_TILE_BACKEND_FILE (backend);
- g_print ("flushing %s\n", self->path);
+ GEGL_NOTE (TILE_BACKEND, "flushing %s", self->path);
gegl_buffer_header_init (&self->header,
backend->tile_width,
@@ -466,7 +483,7 @@
g_list_free (tiles);
write_header (self);
- g_print ("flushed %s\n", self->path);
+ GEGL_NOTE (TILE_BACKEND, "flushed %s", self->path);
return (gpointer)0xf0f;
}
@@ -560,15 +577,15 @@
{
GeglTileBackendFile *self = (GeglTileBackendFile *) object;
+ GEGL_NOTE (TILE_BACKEND, "finalizing buffer %s", self->path);
+
if (self->index)
g_hash_table_unref (self->index);
if (self->i)
g_object_unref (self->i);
if (self->o)
g_object_unref (self->o);
- /* check if we should nuke the buffer or not */
- if(0)g_print ("finalizing buffer %s", self->path);
if (self->path)
g_free (self->path);
@@ -635,6 +652,7 @@
object = G_OBJECT_CLASS (parent_class)->constructor (type, n_params, params);
self = GEGL_TILE_BACKEND_FILE (object);
+ GEGL_NOTE (TILE_BACKEND, "constructing file backend: %s", self->path);
self->file = g_file_new_for_commandline_arg (self->path);
self->o = G_OUTPUT_STREAM (g_file_replace (self->file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, NULL));
g_output_stream_flush (self->o, NULL, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]