Commit Graph

32 Commits

Author SHA1 Message Date
Michael Natterer 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
Sven Neumann 5a8bc70c98 app/composite/gimp-composite-mmx.c app/composite/gimp-composite-sse2.c
2007-05-25  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-sse2.c
	* app/composite/gimp-composite-regression.c: minor code cleanup.

svn path=/trunk/; revision=22616
2007-05-25 12:45:32 +00:00
Sven Neumann 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
Simon Budig 0308d410b4 Fixing include/declaration issues in the application:
2006-11-23  Simon Budig  <simon@gimp.org>

	Fixing include/declaration issues in the application:

	* app/composite/gimp-composite-sse2.c: disable unused debugging code

	* app/paint-funcs/paint-funcs.[ch]
	* app/paint-funcs/scale-funcs.[ch]: fix include files, add some
	prototypes, make some other functions static.

	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-preview.c: changed accordingly.

	* app/tools/gimpeditselectiontool.[ch]: untangle .c and .h file.

	* app/widgets/gimpfiledialog.c: add missing #include.
2006-11-24 14:08:40 +00:00
Sven Neumann 049872b361 app/*.[ch] converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* app/*.[ch]
	* app/*/*.[ch]: converted tabs to spaces.
2006-04-12 12:49:29 +00:00
Raphael Quinet 7d8998a99c automatically removed trailing whitespace from 3460 lines.
2006-01-17  Raphael Quinet  <raphael@gimp.org>

	* (about 130 *.[ch] files): automatically removed trailing
	whitespace from 3460 lines.
2006-01-17 12:43:50 +00:00
Manish Singh b55753bb21 acinclude.m4 m4macros/Makefile.am new macro: GIMP_DETECT_CFLAGS; used to
2005-07-31  Manish Singh  <yosh@gimp.org>

        * acinclude.m4
        * m4macros/Makefile.am
        * m4macros/detectcflags.m4: new macro: GIMP_DETECT_CFLAGS; used
        to detect which of a set of compiler options a compiler supports.

        * configure.in: use the above for the altivec and -fno-strict-aliasing
        flags. Also, use it to detect the presence of -mmmx and -msse, since
        those are needed to compile even MMX/SSE assembly with gcc 4.0. Define
        MMX/SSE_EXTRA_CFLAGS.

        * app/composite/Makefile.am: compile each of the composite flavors
        into their own library, so we can use automake's per-target CFLAGS.
        Use MMX/SSE/ALTIVEC_EXTRA_CFLAGS in the appropriate places. Build
        libappcomposite.a out of the resulting objects.

        * app/composite/gimp-composite-3dnow.c
        * app/composite/gimp-composite-altivec.c
        * app/composite/gimp-composite-mmx.c
        * app/composite/gimp-composite-sse.c
        * app/composite/gimp-composite-sse2.c
        * app/composite/gimp-composite-vis.c
        * app/composite/make-installer.py: move the _init functions into
        the installers, so only actually mmx/sse/etc. code gets compiled
        under the appropriate CFLAGS.

        * app/composite/gimp-composite-3dnow-installer.c
        * app/composite/gimp-composite-altivec-installer.c
        * app/composite/gimp-composite-mmx-installer.c
        * app/composite/gimp-composite-sse-installer.c
        * app/composite/gimp-composite-sse2-installer.c
        * app/composite/gimp-composite-vis-installer.c: regenerated.

        * app/composite/gimp-composite.c: remove useless cpu-accel.h include.
2005-08-01 04:45:34 +00:00
Helvetix Victorinox f41b1f24f6 Trying to be more flexible in register use so the compiler can do reloads
* app/composite/gimp-composite-sse2.c:
Trying to be more flexible in register use so the compiler can do
reloads without running out of registers when using optimisation
modes other than 2.

Avoid the message "error: can't find a register in class
`GENERAL_REGS' while reloading `asm'"

* app/composite/gimp-composite-x86.h
Use more newlines in asm() macros to ensure that gcc gets the
instruction count correct.  This is partially complete as of this
commit.
2005-05-17 17:24:26 +00:00
Helvetix Victorinox 8bdac41d56 Updated with proper register clobber lists. Some code clean-up
(removing dead code, commented out code).  Renegerated installers
and testers.
2005-05-14 03:10:13 +00:00
Helvetix Victorinox 32ca225aa0 Repaired a latent bug in gimp_composite_lighten_rgba8_rgba8_rgba8_sse2
* app/composite/gimp-composite-sse2.c: Repaired a latent bug in
gimp_composite_lighten_rgba8_rgba8_rgba8_sse2 where setting up
the alpha masks were not done correctly.  A redundant (better?)
fix to bug #164061

Use movntq instructions to avoid processor cache pollution.

Some adjustments to register allocation specifications.
2005-05-10 05:26:11 +00:00
Sven Neumann 260bf6e8ba applied a patch from Joao S. O. Bueno Calligaris that changes the SSE2
2005-05-06  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-sse2.c
	(gimp_composite_lighten_rgba8_rgba8_rgba8_sse2): applied a patch
	from Joao S. O. Bueno Calligaris that changes the SSE2 code to
	load the proper register. Fixes bug #164061.
2005-05-06 12:30:51 +00:00
Helvetix Victorinox ed055fa66f app/composite/gimp-composite-x86.h app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-x86.h
* app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-sse2.c: Fixed a bunch of
  warnings due to bad type casting.
2004-08-29 21:06:31 +00:00
Helvetix Victorinox cbdcd0ee54 app/composite/gimp-composite-mmx.c app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-x86.h
* app/composite/gimp-composite-sse2.c:
  The last changes to fix the the clobber registers bug #147013.
  Commented out some dead code to be reviewed later.
2004-08-29 20:07:06 +00:00
Helvetix Victorinox 8a3bdf5297 app/composite/gimp-composite-sse.c More updates to accomodate the clobber
* app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-sse2.c: More updates to accomodate
  the clobber registers. Additional progress against bug #147013.

* app/composite/gimp-composite-sse.h: Fixed a bug where the wrong
  manifest constant definition caused sse2 instructions to never be
  compiled.
2004-08-28 21:21:07 +00:00
Helvetix Victorinox 47b1730948 We've had trouble compiling with the Intel compiler which
identifies itself as GCC, but doesn't support the same extended
assembly features/misfeatures as GCC.  With the help of the Intel
compiler group, we've determined that the Intel compiler can be
identified at compile time by the definition of the preprocessor
variable __INTEL_COMPILER.

These changes make all of the assembly code currently written to
simply avoid the Intel compiler.

This is an interim solution to get a build working despite the
Intel compiler.  A more correct solution has been identified, see
the discussion of bug #147013 for more information.
2004-07-17 05:24:08 +00:00
Manish Singh 998ed9c73a Make the assembly PIC safe. Fixes #132999.
2004-01-31  Manish Singh  <yosh@gimp.org>

        * app/base/cpu-accel.c: Make the assembly PIC safe. Fixes #132999.

        * app/composite/Makefile.am
        * app/composite/gimp-composite-3dnow.c
        * app/composite/gimp-composite-mmx.c
        * app/composite/gimp-composite-sse.c
        * app/composite/gimp-composite-sse2.c: Disable code when compiling
        for PIC on ia32, since it'll barf things. These can be fixed later.

        * app/composite/gimp-composite-3dnow-test.c
        * app/composite/gimp-composite-mmx-installer.c
        * app/composite/gimp-composite-mmx-test.c
        * app/composite/gimp-composite-sse-installer.c
        * app/composite/gimp-composite-sse-test.c
        * app/composite/gimp-composite-sse2-installer.c
        * app/composite/gimp-composite-sse2-test.c: Regenerated.
2004-01-31 09:01:36 +00:00
Helvetix Victorinox 78215a79ff Added functions to print the pixels in their various formats.
* app/composite/gimp-composite-regression.c: Added functions to
  print the pixels in their various formats.

* app/composite/gimp-composite-{mmx,sse,sse2}.c: Removed the dodge
  optimisation because it has the same problem that the divide
  optimisation has.

* app/composite/make-install.py: When generating tests, use a
  pixel field of random values.
2003-10-25 06:39:00 +00:00
Sven Neumann 6dd668f90a really check for CPU_ACCEL_X86_SSE.
2003-10-07  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-sse2.c (gimp_composite_sse2_init):
	really check for CPU_ACCEL_X86_SSE.

	* libgimp/gimp.def: added new symbols.
2003-10-06 23:56:43 +00:00
Helvetix Victorinox 7752bf9eef migrated to new (trimmer) code and removed dead code. Some beautification
* app/composite/make-install.py: migrated to new (trimmer) code and
  removed dead code.  Some beautification for generated code.

* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis,generic}.{c,h}:
  All init() functions are also a run-time check and now expected to
  return TRUE/FALSE if the particular set of compositing functions can
  be used.

* app/composite/gimp-composite.c: No longer has to determine if
  the particular set of compositing functions can be used.

* app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-{install,test}.c:
  Regenerated

* app/composite/test-composite.c: Deprecated, removed.  All tests are automatically
  generated and the code is in app/composite/gimp-composite-{mmx,sse,sse2,3dnow,altivec,vis}-test.c:

* app/composite/Makefile.am: removed unused references to test-composite.c
2003-10-06 02:46:15 +00:00
Sven Neumann 768b34b1ff app/composite/gimp-composite-altivec.c app/composite/gimp-composite-mmx.c
2003-10-01  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-altivec.c
	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-sse.c
	* app/composite/gimp-composite-sse2.c
	* app/composite/gimp-composite-vis.c: moved includes out of the
	#if __GNUC__ >= 3 to make the code compile on other compilers.

	* app/composite/gimp-composite-3dnow.[ch]: added the same stubs here
	for symmetry.
2003-10-01 19:07:57 +00:00
Helvetix Victorinox 545c19854a app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-mmx-test.c
* app/composite/gimp-composite-mmx-installer.c
* app/composite/gimp-composite-sse-test.c
* app/composite/gimp-composite-sse-installer.c
* app/composite/gimp-composite-sse2-test.c
* app/composite/gimp-composite-sse2-installer.c
* app/composite/gimp-composite-vis-test.c
* app/composite/gimp-composite-vis-installer.c:
  Regenerated.

* app/composite/gimp-composite-altivec.[ch]
* app/composite/gimp-composite-mmx.[ch]
* app/composite/gimp-composite-sse.[ch]
* app/composite/gimp-composite-sse2.[ch]
* app/composite/gimp-composite-vis.[ch]
* app/composite/make-installer.py:
  Make it such that when a test is run on the wrong kind of
  machine, don't fail without an explanation.
2003-09-27 03:11:46 +00:00
Helvetix Victorinox 9c64fde3d1 Regenerated.
* app/composite/gimp-composite-{mmx,sse,sse2,altivec,vis}.c: Regenerated.

* app/composite/gimp-composite-regression.[ch]: Ensure all ints
  are now unsigned longs.

* app/composite/gimp-composite-sse2.c (gimp_composite_addition_rgba8_rgba8_rgba8_sse2):
  Enclosed the troublesome (rather dense) asm construct in
  __OPTIMIZE__ in which case the compiler can successfully
  allocate enough registers to load up the asm()
2003-09-17 05:43:28 +00:00
Helvetix Victorinox c8a23c4588 Removed code that caused gcc to complain can't find a register in class
* app/composite/gimp-composite-sse2.c: Removed code that caused
  gcc to complain can't find a register in class `GENERAL_REGS' To
  be revisited later.
2003-09-16 15:53:50 +00:00
Sven Neumann 555038debf app/composite/gimp-composite-generic.c app/composite/gimp-composite-mmx.c
2003-09-16  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-generic.c
	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-sse.c
	* app/composite/gimp-composite-sse2.c
	* app/config/gimpconfig-deserialize.c
	* app/config/gimpconfig-path.c
	* app/config/gimpconfig-serialize.c
	* app/core/cpercep.c
	* app/core/gimpunit.c
	* app/gui/palette-import-dialog.c
	* app/gui/plug-in-menus.c
	* app/paint-funcs/paint-funcs-generic.h
	* app/paint-funcs/paint-funcs.c
	* app/pdb/procedural_db.c
	* app/text/gimptextlayout-render.c
	* app/tools/gimpfuzzyselecttool.c
	* app/widgets/gimpcursor.c: some trivial code cleanups: avoid
	casts that discard const qualifiers and avoid useless comparisons
	on unsigned variables. Also reordered qualifiers in function
	declarations (static comes before const).
2003-09-16 13:12:50 +00:00
Helvetix Victorinox 930d261569 gimp-composite-mmx-{test,installer}.c
* gimp-composite-mmx-{test,installer}.c

* gimp-composite-sse-{test,installer}.c

* gimp-composite-sse2-{test,installer}.c

* make-installer.py: sort test output by mode name

* gimp-composite-sse2.[ch]: New compositing mode implementations
  darken
  difference
  grain_extract
  lighten

* gimp-composite-x86.h: added

* gimp-composite-{sse,mmx,sse2}.[ch]: Tightening declarations of clobbered registers.
2003-09-16 02:24:03 +00:00
Helvetix Victorinox e0a4244985 Removed clobbered register declaration in an attempt to get this to
* app/composite/gimp-composite-sse2.c (gimp_composite_swap_rgba8_rgba8_rgba8_sse2):
  Removed clobbered register declaration in an attempt to get this
  to compile with gcc 3.2.3
2003-09-14 16:37:31 +00:00
Helvetix Victorinox aa196f4ebb regenerated with new functions.
* gimp-composite-sse2-installer.c, gimp-composite-sse2-test.c:
  regenerated with new functions.

* gimp-composite-sse.c, gimp-composite-sse2.c:
  Distinguish between 64bit and 128bit constants with a little
  faux hungarian notation.

* gimp-composite-sse2.[ch]: Added implementations of
  addition_rgba8_rgba8_rgba8, subtract_rgba8_rgba8_rgba8, and
  swap_rgba8_rgba8_rgba8

* gimp-composite-generic.c:
  Some formating beautification
2003-09-14 00:45:26 +00:00
Helvetix Victorinox 0b53610c8b Convert "unsigned long" to guint32 in preparation for 64bit machinery.
* app/composite/gimp-composite-mmx.c
  app/composite/gimp-composite-sse.c
  app/composite/gimp-composite-sse2.c:
  Convert "unsigned long" to guint32 in preparation for 64bit
  machinery.
2003-09-06 23:56:05 +00:00
Manish Singh d2c709b378 #define ARCH_X86 on x86-64 too.
2003-09-04  Manish Singh  <yosh@gimp.org>

        * configure.in: #define ARCH_X86 on x86-64 too.

        * app/composite/gimp-composite-sse2.c: dererference pointers outside
        of asm() construct.

        Now this stuff builds on x86-64, but fails some of the tests. Need
        to fix it later.
2003-09-04 17:34:57 +00:00
Helvetix Victorinox 9d405b607c Regenerated installers and testers.
* app/composite/: Regenerated installers and testers.

* app/composite/make-install.py: increased tests of pixels to 1024*1024+1

* app/composite/gimp-composite-mmx.c (gimp_composite_overlay_rgba8_rgba8_rgba_mmx):
  Backed out of the current build.  Although the unit tests all
  pass, the emperical evidence is that something is wrong with it.
2003-08-20 02:55:46 +00:00
Helvetix Victorinox 4cae0f19ce Various beautifications, dead code removal, comment clean-up.
* app/composite:
  Various beautifications, dead code removal, comment clean-up.
2003-08-18 15:05:22 +00:00
Helvetix Victorinox 7d1f8a9686 retired and removed.
* app/composite/gimp-composite-dispatch.[ch]: retired and removed.

* app/composite/Makefile.am: The 'test' target now builds and runs
  all the tests in TESTS

  Fixed typos of mismatched parenthesis in 'regenerate' target

* app/composite/Makefile.am: TESTS now include ss2 and 3dnow
  instruction sets.

* app/composite/make-gimp-composite-dispatch.py: retired and removed.

* app/composite/gimp-composite.c: call the installers of all the
  various instruction sets supplied by x86 type processors.

* app/base/base.c (base_init): Call gimp_composite_init() *before*
  paint_funcs_setup() (preparation for retiring
  app/paint-funcs/paint-funcs.c)

* app/composite/gimp-composite-sse2.[ch]
* app/composite/gimp-composite-3dnow.[ch]
* app/composite/gimp-composite-sse2-installer.c
* app/composite/gimp-composite-3dnow-installer.c:
  Added

* app/composite/make-installer.py: generate regression test
  programmes that take the command line arguments --iterations and
  --n-pixels for the number of iterations of a set of tests, and the
  number of pixels to use in each test, respectively.

  Conditionally compile tests in order to build and run tests on
  machines that can actually perform the tests.

  Failing a regression test now causes remaining tests to be
  skipped and a non-zero exit code by the programme.
2003-08-18 01:47:10 +00:00