Commit Graph

208 Commits

Author SHA1 Message Date
f464695a1b app: Add a sanity check for required gegl ops.
The check is in place, but the list still needs to be populated.
2013-07-29 22:40:10 -04:00
bfb83109bc Bump some other places the GEGL version is checked 2013-06-04 18:11:33 -07:00
d856ba624e Reduce glib required micro version
Change 2.36.1 to 2.36.0, because Ubuntu.
2013-05-28 16:06:45 -07:00
e5b7df0748 Depend on GLib >= 2.36.1 2013-05-25 22:43:48 +02:00
4a81849e36 app: Use SHM transport for data transfer for display
Recent Cairo uses SHM transports when available, and exposes the ability
for its users to manage images shared between it and the display.
This allows us to eliminate copies, and if the architecture supports it
even to upload directly into GPU addressable memory without any copies
(all in normal system memory so we suffer no performance penalty when
applying the filters). The caveat is that we need to be aware of the
synchronize requirements, the cairo_surface_flush and
cairo_surface_mark_dirty, around access to the transport image. To
reduce the frequency of these barriers, we can subdivide the transport
image into small chunks as to satisfy individual updates and delay the
synchronisation barrier until we are forced to reuse earlier pixels.

Note this bumps the required Cairo version to 1.12, and please be aware
that the XSHM transport requires bug fixes from cairo.git (will be
1.12.12)

v2: After further reflections with Mitch, we realized we can share the
transport surface between all canvases by attaching it to the common
screen.

v3: Fix a couple of typos in insert_node() introduced when switching
variables names.

v4: Encapsulating within an image surface rather than a subsurface was
hiding the backing SHM segment from cairo, causing it to allocate
further SHM resources to stream the upload. We should be able to use a
sub-surface here, but it is more convenient to wrap the pixels in an
image surface for rendering the filters (and conveniently masking the
callee flushes from invalidating our parent transport surface).

Cc: Michael Natterer <mitch@gimp.org>
2013-02-02 13:59:59 +01:00
02bd9de54f configure: require GEGL 0.2.1 from git
this is obviously not exact, but better than 0.2.0 which definitely
doesn't work any longer.
2012-07-05 21:46:07 +02:00
6888304f4a configure: require GLib 2.32.0 for the new G_DEPRECATED macros 2012-05-03 00:49:11 +02:00
8b028ee8ce depend on babl>=0.1.11 2012-05-02 17:51:18 +02:00
531709c8db Depend on ATK 2.2.0, GTK+ 2.24.10, GdkPixbuf 2.24.1
And do some final NEWS adjustments for RC1
2012-04-03 00:53:04 +02:00
36c52537e4 bump babl req versions to 0.1.10 and gegl to 0.2.0 2012-04-02 23:11:07 +01:00
9252922651 Depend on GEGL 0.1.9 and use the new gegk-0.1 pkg-config file 2012-04-02 12:33:26 +02:00
817d516da4 Depend on Babl 0.1.8 2012-03-30 10:13:23 +02:00
6cff213038 configure: depend on GLib >= 2.30.2
For the reasons mentioned in the last version bump commit below.
2011-11-30 23:32:00 +01:00
3673549257 Depend on lots of newer library versions
Gegl >= 0.1.8, Babl >= 0.1.6, Gdk-Pixbuf >= 1.24.0, Pango >= 1.29.4,
GLib >= 2.28.8, GTK+ 2.24.7

Which means depending on a gazillion of bug fixes, which means less
pain for GIMP 2.8 users, and less useless bugzilla traffic eating
developer resources.
2011-11-19 18:16:39 +01:00
24ee3370b8 Depend on GTK+ >= 2.24.3, cairo >= 1.20.1, gdk-pixbuf >= 2.22.1
and completely separate configure and sanity checks for gdk-pixbuf
from GTK+, because it's now distributed as a separate package. Remove
all sorts of conditional compiling based on GDK_CHECK_VERSION() and
CAIRO_VERSION.
2011-04-06 19:58:24 +02:00
514a5548cd configure: require GLib >= 2.28.1 2011-03-07 17:11:28 +01:00
063e9e54ee Require GEGL 0.1.6 2011-02-13 21:59:27 +01:00
3e38686693 app: also bump the babl and gegl versions in sanity.c 2011-01-22 23:53:38 +01:00
d96b491050 Update use of Pango API and bump required version to 1.22.0
Uodate Pango required version and stop using the deprecated
pango_cairo_font_map_create_context(). Compile with
PANGO_DISABLED_DEPRECATED for pango < 1.30.
2010-09-07 00:53:17 +02:00
8a8140986f Include cairo.h from correct path 2010-09-02 19:10:10 +03:00
3762e03bf6 Require cairo >= 1.8.0 and add a cairo sanity check to app/sanity.c 2010-08-08 16:49:50 +02:00
a0358f7c64 Depend on GLib >= 2.24.0 and GTK+ 2.20.0 2010-04-19 19:03:08 +02:00
834b49ee42 Bump required babl and gegl versions in the run-time sanity checks. 2010-02-08 21:36:30 +01:00
bc33e4735d Sync required pango version with configure 2009-10-22 20:37:01 +02:00
45c05f5f5f Require GLib >= 2.22.0 2009-10-17 17:59:53 +02:00
e4976d8ad2 Bump GEGL and BABL versions here too 2009-07-02 12:24:13 +02:00
9afa690a74 app: fixed version checks for babl and GEGL
The version checks for babl and GEGL did not cope correctly with the
minor version upgrade. This change fixes this by introducing a generic
version check.
2009-05-21 13:37:17 +02:00
80428dccf5 update run-time version checks for glib and gtk+ 2009-05-16 16:14:58 +02:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
880a699cae configure.in require GEGL >= 0.0.21.
2008-10-14  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/sanity.c: require GEGL >= 0.0.21.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-brightness-contrast.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer.c
	* app/gegl/gimp-gegl-utils.c
	* app/tools/gimpbrightnesscontrasttool.c: GEGL operation names
	are now "gegl:"-prefixed.

	* app/core/gimpimagemap.c: set the node's "dont-cache" property
	unconditionally.


svn path=/trunk/; revision=27284
2008-10-14 22:44:42 +00:00
06165a7625 INSTALL configure.in (gegl_required_version) depend on the newest released
2008-06-14  Sven Neumann  <sven@gimp.org>

	* INSTALL
	* configure.in (gegl_required_version)
	* app/sanity.c (GEGL_REQUIRED_MICRO): depend on the newest
	released GEGL, version 0.0.18.


svn path=/trunk/; revision=25948
2008-06-14 18:30:11 +00:00
aa0dd86922 configure.in depend on the newest released babl, version 0.0.22.
2008-06-13  Sven Neumann  <sven@gimp.org>

	* configure.in
	* app/sanity.c (BABL_REQUIRED_MICRO): depend on the newest
	released babl, version 0.0.22.


svn path=/trunk/; revision=25941
2008-06-13 06:14:08 +00:00
24acc89f23 depend on GEGL >= 0.0.17, add check for BABL => 0.0.21.
2008-06-04  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on GEGL >= 0.0.17, add check for
	BABL => 0.0.21.

	* app/sanity.c: bump GEGL sanity check and add BABL check.

	* app/gegl/gimpoperationcolorbalance.c
	* app/gegl/gimpoperationcolorize.c
	* app/gegl/gimpoperationcurves.c
	* app/gegl/gimpoperationdesaturate.c
	* app/gegl/gimpoperationhuesaturation.c
	* app/gegl/gimpoperationlevels.c
	* app/gegl/gimpoperationposterize.c
	* app/gegl/gimpoperationthreshold.c: adapt to new process()
	signature.


svn path=/trunk/; revision=25886
2008-06-04 12:29:08 +00:00
5fea1a5963 add check for the GEGL version.
2008-04-22  Michael Natterer  <mitch@gimp.org>

	* app/sanity.c: add check for the GEGL version.


svn path=/trunk/; revision=25513
2008-04-22 14:15:30 +00:00
369738ea5b bumped glib version.
2008-03-28  Sven Neumann  <sven@gimp.org>

	* app/sanity.c (sanity_check_glib): bumped glib version.

svn path=/trunk/; revision=25286
2008-03-28 16:34:57 +00:00
c9928b573f app/sanity.c minor cleanup.
2008-01-23  Sven Neumann  <sven@gimp.org>

	* app/sanity.c 
	* app/gui/gui.c (gui_sanity_check): minor cleanup.


svn path=/trunk/; revision=24690
2008-01-23 12:22:09 +00:00
c98a98071f added Pango version sanity check.
2007-11-12  Michael Natterer  <mitch@gimp.org>

	* app/sanity.c: added Pango version sanity check.


svn path=/trunk/; revision=24132
2007-11-12 13:18:01 +00:00
1504cfa904 INSTALL bumped required version of GTK+ to 2.12.0.
2007-11-04  Sven Neumann  <sven@gimp.org>

	* INSTALL
	* configure.in: bumped required version of GTK+ to 2.12.0.

	* app/sanity.c (sanity_check_glib)
	* app/gui/gui.c (gui_sanity_check): updated sanity checks. 


svn path=/trunk/; revision=24049
2007-11-04 11:55:30 +00:00
5bf710beec configure.in depend on glib >= 2.12.3.
2007-01-12  Sven Neumann  <sven@gimp.org>

	* configure.in
	* app/sanity.c: depend on glib >= 2.12.3.

	* HACKING: updated branches.

	* libgimpwidgets/gimpintstore.c: added a construct-only property
	that allows to specify the GType of the user-data column.


svn path=/trunk/; revision=21692
2007-01-12 13:48:30 +00:00
41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
9b9542a610 removed gimp_foo_version variables.
2006-11-28  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimp.[ch]: removed gimp_foo_version variables.

	* libgimpbase/gimpenv.[ch]: added them here.

	* app/sanity.c: added sanity_check_gimp() and abort if the libgimp
	version gimp is compiled with is not exactly the same we encounter
	at runtime.
2006-11-28 11:57:05 +00:00
6feb7bb82c depend on glib >= 2.10.2, gtk+ >= 2.8.18 and pango >= 1.12.3. Define
2006-07-05  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on glib >= 2.10.2, gtk+ >= 2.8.18
	and pango >= 1.12.3. Define FOO_DISABLE_DEPRECATED also for
	glib 2.12, gtk+ 2.10 and pango 2.14

	* app/sanity.c
	* app/gui/gui.c: adjusted sanity checks accordingly.

	* app/dialogs/stroke-dialog.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpuimanager.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpmemsizeentry.c
	* plug-ins/helpbrowser/gimpthrobber.c: replace gtk_object_sink()
	by combinations of g_object_ref_sink() and g_object_unref().
2006-07-05 13:40:47 +00:00
8e9b20e55c HACKING document the changed dependencies.
2005-12-28  Sven Neumann  <sven@gimp.org>

	* HACKING
	* INSTALL: document the changed dependencies.

	* configure.in
	* app/sanity.c: check for glib >= 2.8.2 at compile and run-time.

	* app/plug-in/plug-in.c: removed workaround for glib < 2.8.2.
2005-12-28 21:36:03 +00:00
9079bcadec app/errors.c s/The GIMP/GIMP/
2005-11-04  Sven Neumann  <sven@gimp.org>

	* app/errors.c
	* app/sanity.c: s/The GIMP/GIMP/
2005-11-04 11:08:02 +00:00
3c019cac71 we require 2.8.0 now.
2005-10-01  Michael Natterer  <mitch@gimp.org>

	* app/sanity.c (sanity_check_glib): we require 2.8.0 now.
2005-10-01 21:42:55 +00:00
79f57d5b5f made the G_FILENAME_ENCODING not or incorrectly set error message more
2005-05-25  Nathan Summers  <rock@gimp.org>

        * app/sanity.c (sanity_check_filename_encoding): made the
        G_FILENAME_ENCODING not or incorrectly set error message more
        idiomatic.
2005-05-25 23:21:06 +00:00
4109609dbc there is no such thing as GLib+
2005-02-03  Michael Natterer  <mitch@gimp.org>

	* app/sanity.c (sanity_check_glib): there is no such thing as GLib+
2005-02-02 23:51:59 +00:00
b93dd20b21 removed this function.
2005-02-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-utils.[ch] (gimp_check_glib_version): removed this
	function.

	* app/sanity.c (sanity_check_glib): use glib_check_version()
	instead and set required version to 2.6.0.
2005-02-02 22:35:13 +00:00
4a59b0ec7a we check for the same version of freetype on all platforms, no need for an
2004-11-30  Sven Neumann  <sven@gimp.org>

	* app/sanity.c: we check for the same version of freetype on all
	platforms, no need for an ifdef here.
2004-11-30 01:47:41 +00:00
357dc2d777 depend on GLib >= 2.4.5 and GTK+ >= 2.4.4.
2004-09-16  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on GLib >= 2.4.5 and GTK+ >= 2.4.4.

	* app/gui/gui.c: changed accordingly.

	* app/sanity.c: ditto. Added check for GLib and put each check
	into its own utility function. Enabled #if 0'ed check for
	FreeType >= 6.2.7.

	* app/widgets/gimpactiongroup.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpselectiondata.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpwidgets-utils.c: removed workarounds for library
	versions we refuse to start with.
2004-09-16 14:31:39 +00:00