Commit Graph

17 Commits

Author SHA1 Message Date
Sven Neumann db75625d27 Moved the CPU detection code to libgimpbase (see bug #342860):
2006-06-02  Sven Neumann  <sven@gimp.org>

	Moved the CPU detection code to libgimpbase (see bug #342860):

	* app/base/Makefile.am
	* app/base/cpu-accel.[ch]
	* app/base/test-cpu-accel.c: removed here...

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpcpuaccel.[ch]

	* libgimpbase/test-cpu-accel.c: ... and added here again with
	some API changes.

	* app/composite/Makefile.am
	* app/composite/make-installer.py: changed accordingly.

	* app/composite/gimp-composite-*-installer.c: regenerated.

	* libgimp/gimp.c (gimp_main): call gimp_set_use_cpu_accel().
2006-06-02 09:58:03 +00:00
Sven Neumann b60b1372ab generate const arrays.
2006-04-19  Sven Neumann  <sven@gimp.org>

	* app/composite/make-installer.py: generate const arrays.

	* app/composite/gimp-composite-altivec-installer.c
	* app/composite/gimp-composite-generic-installer.c
	* app/composite/gimp-composite-mmx-installer.c
	* app/composite/gimp-composite-sse-installer.c
	* app/composite/gimp-composite-sse2-installer.c: regenerated.
2006-04-19 14:46:51 +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 c286b386fd Oops 2005-08-01 04:55:11 +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 386afe43f9 app/composite/gimp-composite-altivec-installer.c reverted to working
* app/composite/gimp-composite-altivec-installer.c
* app/composite/gimp-composite-altivec-test.c: reverted to working
versions.  Currently, if you regenerate the installers and
testers, only those that work on your current machine will be
generated properly.
2005-05-15 01:08:31 +00:00
Helvetix Victorinox ddc5175908 Fixed signedness problems is calls to gimp_rgb_to_hsv_int() and the like.
* app/composite/gimp-composite-generic.c:
Fixed signedness problems is calls to gimp_rgb_to_hsv_int() and the like.

* app/composite/gimp-composite-mmx.[ch]:
Small fixes to register clobber lists.
Added gimp_composite_subtract_va8_va8_va8_mmx.

Regenerated
2005-05-14 23:17:56 +00:00
Manish Singh 2789014d06 Revert so that altivec code is used again. 2005-05-14 06:36:49 +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
Manish Singh f34d1972cd More accelerated functions (screen, grain_merge, grain_extract, divide,
2005-03-19  Manish Singh  <yosh@gimp.org>

        * app/composite/gimp-composite-altivec.[ch]: More accelerated functions
        (screen, grain_merge, grain_extract, divide, dodge) from Frederic
        Leroy.

        * app/composite/gimp-composite-altivec-installer.c
        * app/composite/gimp-composite-altivec-test.c: regenerated.
2005-03-19 20:25:36 +00:00
Manish Singh fe77740159 More accelerated functions (multiply, blend) from Frederic Leroy.
2005-03-19  Manish Singh  <yosh@gimp.org>

        * app/composite/gimp-composite-altivec.[ch]: More accelerated functions
        (multiply, blend) from Frederic Leroy.

        * app/composite/gimp-composite-altivec-installer.c
        * app/composite/gimp-composite-altivec-test.c: regenerated.
2005-03-19 08:35:15 +00:00
Manish Singh b023ed0797 More accelerated functions from Frederic Leroy.
2005-03-13  Manish Singh  <yosh@gimp.org>

        * app/composite/gimp-composite-altivec.[ch]: More accelerated functions
        from Frederic Leroy.

        * app/composite/gimp-composite-altivec-installer.c
        * app/composite/gimp-composite-altivec-test.c: regenerated.
2005-03-13 21:44:32 +00:00
Manish Singh 7846ed68db app/composite/gimp-composite-altivec-installer.c regenerated so the new
2003-03-06  Manish Singh  <yosh@gimp.org>

        * app/composite/gimp-composite-altivec-installer.c
        * app/composite/gimp-composite-altivec-test.c: regenerated so the new
        implementation is actually used.
2005-03-06 09:11:46 +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
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 0af62f01bf generate smaller tables and less code. Now takes real command line
* app/composite/make-installer.py: generate smaller tables and
  less code.  Now takes real command line options:
  options:
    --version                        show program's version number and exit
    -h, --help                       show this help message and exit
    -f FILE, --file=FILE             the input object file
    -t, --test                       generate regression testing code
    -r REQUIRES, --requires=REQUIRES cpp #if conditionals

  See Makefile.am for how I use these options to generate the code.

* app/composite/gimp-composite-altivec-{installer,test}.c:
* app/composite/gimp-composite-generic-{installer,test}.c:
* app/composite/gimp-composite-mmx-{installer,test}.c
* app/composite/gimp-composite-sse-{installer,test}.c:
* app/composite/gimp-composite-vis-{installer,test}.c: regenerated
  with smaller tables and less ode.
2003-08-15 04:31:18 +00:00
Helvetix Victorinox 33e22c8fbc composite/ modularisation of the automatic compositing function "wiring"
* composite/ modularisation of the automatic compositing function
  "wiring" to construct the table of compositing functions at
  run-time instead of compile time.

  The environment variable GIMP_COMPOSITE is a hexadecimal number
  representing a bit-field used to set/reset options in the
  gimp-composite code.

* gimp-composite-altivec.[ch]: added
* gimp-composite-altivec-installer.[ch]: added
* gimp-composite-vis.[ch]: added
* gimp-composite-vis-installer.[ch]: added
* gimp-composite-mmx-installer.[ch]: added
* gimp-composite-sse-installer.[ch]: added
* gimp-composite-altivec-test.[ch]: added
* gimp-composite-vis-test.[ch]: added
* gimp-composite-mmx-test.[ch]: added
* gimp-composite-sse-test.[ch]: added
* make-installer.py: Added meta programme for generating code to
  1) construct a table of compositing functions indexed by
  operation, and the pixel formats of the sources and destination,
  and 2) generating code for regression testing of these compositing
  functions against the same functions in gimp-composite-generic.c

* gimp-composite-mmx.c (xxxgimp_composite_overlay_rgba8_rgba8_rgba8_mmx):
  removing from the current set of optimisations because it appears
  to be broken.

* Makefile.am: modified regression testing targets to now build
  gimp-composite-*-test where * is any of generic, mmx, sse,
  altivec, and vis.

* gimp-composite.c: moved in initialisation code
  gimp_composite_init() from gimp-composite-dispatch.c

* gimp-composite.c: removed gimp_composite_unsupported().

* gimp-composite.c: use cpu_accel() to determine at run-time which
  set of optimisations are to be used.

* gimp-composite.c: conditionally compile code for ARCH_X86.

* make-gimp-composite-dispatch.c: retired.  See make-installer.py

* gimp-composite-mmx.c (op_overlay): namespace cleanup, op_overlay()
  and all of the constant values are now static

* gimp-composite-mmx.c, gimp-composite-sse.c: fixed bug with the
  alpha mask being the address of the alpha mask, not the mask
  itself.

* app/paint-funcs/paint-funcs.c: Check gimp_composite_options.use
  to see if we should use the new code or the old code.
2003-08-14 07:43:34 +00:00