Commit Graph

43 Commits

Author SHA1 Message Date
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 1b232ec01b Removed wayward printf() of a debugging message.
* Removed wayward printf() of a debugging message.
2003-08-19 23:32:35 +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
Sven Neumann e5be1ae62c cleaned up whitespace.
2003-08-18  Sven Neumann  <sven@gimp.org>

	* app/composite/Makefile.am: cleaned up whitespace.
2003-08-18 11:13:44 +00:00
Manish Singh f4c812998b shut up cvs 2003-08-18 05:42:23 +00:00
Helvetix Victorinox 3059aad4bf Added app/composite/gimp-composite-3dnow-test.c
Added	app/composite/gimp-composite-sse2-test.c
2003-08-18 02:10:28 +00:00
Helvetix Victorinox c4bf8739c2 Removed 'test' target 2003-08-18 02:01:45 +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
Helvetix Victorinox 1b33a15e03 make gimp-composite functions the default.
* app/composite/gimp-composite.c (gimp_composite_init): make gimp-composite
  functions the default.

* app/composite/make-installer.py: changed option --n_pixels to --n-pixels
2003-08-17 21:19:58 +00:00
Helvetix Victorinox c86d82f076 regnerated
* app/composite/gimp-composite-{mmx,sse,altivec,vis}-{installer,test}.c:
  regnerated

* app/composite/gimp-composite-sse.c
  (gimp_composite_overlay_rgba8_rgba8_rgba8_sse): fixed (rewrote)

* app/composite/make-installer.py:
  command line option --iterations to set the number of iterations for a test.
  command line option --n_ixels to set the number of pixels for a test.

* app/composite/gimp-composite-mmx.c
  (gimp_composite_grain_merge_rgba8_rgba8_rgba8_mmx): fixed (rewrote)
  (gimp_composite_overlay_rgba8_rgba8_rgba8_mmx): fixed (rewrote)
  (gimp_composite_value_rgba8_rgba8_rgba8_mmx):
	  new testing shows it to be broken (temporarily removed from use)
2003-08-17 19:01:24 +00:00
Helvetix Victorinox 75f1f8161f app/composite/gimp-composite-vis.c Use ARCH_SPARC and USE_VIS to
* app/composite/gimp-composite-vis.c
* app/composite/Makefile.am: Use ARCH_SPARC and USE_VIS to
	conditionally compile VIS optimisations.
2003-08-15 17:10:36 +00:00
Helvetix Victorinox b23e3899b0 named gimp_composite_vis_init()
* app/composite/gimp-composite-vis.c: named gimp_composite_vis_init()
2003-08-15 16:19:09 +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 3fa1239dc9 app/composite/gimp-composite-mmx-installer.c
* app/composite/gimp-composite-mmx-installer.c
* app/composite/gimp-composite-sse-installer.c:
* app/composite/gimp-composite-sse.c:
  Conditional compilation matching the conditional compilation in
  gimp-composite-{mmx,sse}.c
2003-08-14 18:28:28 +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
Raphael Quinet 106ce6fa04 added missing header file, should fix bug #119204.
2003-08-07  Raphael Quinet  <quinet@gamers.org>

	* app/composite/Makefile.am (test_composite_SOURCES): added
	missing header file, should fix bug #119204.
2003-08-07 13:15:18 +00:00
Helvetix Victorinox 0aad627dbe Made the explicit target "regenerate" to regenerate the source files using
* app/composite/Makefile.am:
Made the explicit target "regenerate" to regenerate the source
files using the Python meta-generator.

* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-mmx.h
* app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-sse.h:
Now bounded by the conditional "#if __GNUC__ >= 3".  This is a
coarse fix to enable app/composite to build on a wider variety of
platforms.  Ideally, this will be refined to encompass different
versions of the compiler(s) supporting inline assembly code.
2003-07-29 02:54:09 +00:00
Hans Breuer b70d6c3317 renamed GimpOrientationType with Compat postfix to avoid name clashing
2003-07-26  Hans Breuer  <hans@breuer.org>

	* libgimp/gimpcompat.h : renamed GimpOrientationType
	with Compat postfix to avoid name clashing when using
	this header together with libgimp/gimpenums.h

	* app/composite/makefile.msc : (new file)
	  **/makefile.msc : updated

	* libgimp/gimp.c : use static defined _tile<widht|height>
	in this file instead of function call

	* libgimp/gimp.def libgimp/libgimpui.def : moved from former
	to latter : gimp_<brush|font|gradient|pattern>_select_<new|destroy>
	added to former gimp_<brushes|gradients|patterns>_popup

	* app/paint/gimppaintcore.h : removed double semicolon
	which gave msvc error C2059: syntax error : ';'

	* libgimpbase/gimpwin32-io.h : (new file) compatibilty defines
	which were spread over multiple files to make up mostly for
	missing unistd.h

	* app/base/tile-swap.c app/core/gimpimagefile.c
	  libgimpbase/gimpdatafiles.c
	  plug-ins/FractalExplorer/FractalExplorer.c : use new header

	* plug-ins/gflare/gflare.c
	  plug-ins/flame/flame.c
	  plug-ins/FractalExplorer/Dialogs.c :
	removed #ifdef G_OS_WIN32 special casing, not needed anymore
	due to g_file_test() usage

	* app/text/*.* : changes required for build with PangoWin32,
	but not commited ...
2003-07-26 17:37:32 +00:00
Sven Neumann 82e8959e04 shut up CVS 2003-07-24 11:11:42 +00:00
Sven Neumann c0e5a4c749 fixed build rules. There must not be a dependency that causes
2003-07-24  Sven Neumann  <sven@gimp.org>

	* app/composite/Makefile.am: fixed build rules. There must not be
	a dependency that causes gimp-composite-dispatch.[ch] to be
	regenerated since we don't want to depend on Python for our build.

	* app/core/gimpdrawable-blend.c (gradient_fill_region)
	(gradient_put_pixel): fixed a problem with the new gradient
	dithering on grayscale drawables (bug #118141).
2003-07-24 11:10:47 +00:00
Helvetix Victorinox d3fc41f0c2 regenerated new code taking advantage of simplified function prototypes.
* app/composite/gimp-composite-dispatch.[ch]: regenerated new code
taking advantage of simplified function prototypes.

* app/composite/gimp-composite-test.c: New regression testing
driver.  This file is automatically generated, but it's included
in the cvs tree for expediency.

* app/composite/ns.py: hopeful checks for which OS is currently
running as a hint to what nm(1) is available.

* app/composite/gimp-composite-mmx.[ch]
* app/composite/gimp-composite-sse.[ch]
* app/composite/gimp-composite-generic.[ch]: function prototype
cleanup.

* app/composite/make-gimp-composite-dispatch.py: generates code to
test compositing functions.

* app/composite/gimp-composite-regression.[ch]: support for
automatically testing compositing functions.
2003-07-24 08:00:12 +00:00
Sven Neumann e1bdbd9fa3 gimp_composite_dispatch() doesn't have a return value, made it a void
2003-07-22  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite.[ch]: gimp_composite_dispatch()
	doesn't have a return value, made it a void function.
2003-07-22 09:04:10 +00:00
Helvetix Victorinox b31ae7332a big code cleanup.
* app/composite/make-gimp-composite-dispatch.py: big code cleanup.

* app/composite/Makefile.am: removed references to $(builddir)

* app/composite/test-composite.c: cleanup, preparation for transition to
automatically generated regression testing code.

* app/composite/gimp-composite.c: Clean up of typedef usage

* app/composite/gimp-composite-regression.[ch]: added foundation
for regression testing.
2003-07-21 23:49:48 +00:00
Sven Neumann 5de4384946 more Makefile fixes 2003-07-21 00:45:28 +00:00
Sven Neumann 0657dc4a5c more build fixes, include order 2003-07-21 00:14:37 +00:00
Sven Neumann cd3e719fcd more Makefile fixes 2003-07-20 23:57:07 +00:00
Sven Neumann 53cef3aa9e fixed typo
2003-07-21  Sven Neumann  <sven@gimp.org>

	* app/composite/Makefile.am (libappcomposite_a_sources): fixed typo
2003-07-20 23:42:53 +00:00
Michael Natterer 73af860ff4 made generated output compile again and cleaned it up a bit.
2003-07-18  Michael Natterer  <mitch@gimp.org>

	* app/composite/make-gimp-composite-dispatch.py: made generated
	output compile again and cleaned it up a bit.

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

	* app/paint-funcs/paint-funcs.c (combine_sub_region): don't use
	tabs please.
2003-07-18 10:29:56 +00:00
Helvetix Victorinox 9e3bd94760 app/composite/gimp-composite.[ch],
* app/composite/gimp-composite.[ch],
* app/composite/make-gimp-composite-dispatch.py
stubbed out the 32bit-per-channel pixel formats.

* app/composite/gimp-composite-sse.[ch],
* app/composite/Makefile.am
Broke-out and added the SSE versions of the MMX code.

* app/composite/gimp-composite.[ch],
* app/paint-funcs/paint-funcs.c,
* app/composite/make-gimp-composite-dispatch.py
Use of the new gimp_composite code is now turned on via the
environment variable GIMP_COMPOSITE with a non-zero value.  For
example:
% GIMP_COMPOSITE=1 gimp-1.3
2003-07-18 07:36:55 +00:00
Sven Neumann 2496fa62f4 Removed gimp-composite-dispatch.c from .cvsignore. 2003-07-15 17:45:36 +00:00
Sven Neumann fd4bb0c951 shut up CVS 2003-07-15 16:58:43 +00:00
Helvetix Victorinox 707365f761 app/composite/gimp-composite-dispatch.c: added to cvs AGAIN.
app/composite/test-composite.c: by default check each
compositing function 1 time, with a 500001 pixel array.
2003-07-15 16:54:29 +00:00
Helvetix Victorinox f5e839a39c app/composite/gimp-composite-generic.h: Use
GimpCompositeFunction as the type for all compositing functions.

app/composite/Makefile.am: gimp-composite.c is no longer
dependant upon gimp-composite-dispatch.c

app/composite/gimp-composite-dispatch.[ch]
app/composite/make-gimp-composite-dispatch.py: Fixed type
mismatches.

app/composite/test-composite.c: Fixed bit-rot in not keeping up
with the changes in the surrounding .h files.

app/composite/gimp-composite-mmx.c: Incipient cleanup in marking
some asm constructs as volatile.
2003-07-15 16:04:39 +00:00
Sven Neumann fc385a8672 use AM_PROG_AS instead of defining CCAS and CCASFLAGS manually. Changed
2003-07-14  Sven Neumann  <sven@gimp.org>

	* configure.in: use AM_PROG_AS instead of defining CCAS and
	CCASFLAGS manually. Changed the assembler checks to use inline
	assembly as we do in app/composite/gimp-composite-mmx.c.

	* app/composite/Makefile.am: build the MMX code again; we need it
	to be tested. If you have any problems, please report them. You can
	quick-fix your build using the --disable-mmx configure option.

	* app/paint-funcs/Makefile.am: reverted Helvetix' change ...
	* app/paint-funcs/paint-funcs.c: ... and include
	"composite/gimp-composite.h" instead of "gimp-composite.h".
2003-07-14 10:33:53 +00:00
Helvetix Victorinox b062fa647f app/composite/gimp-composite-dispatch.[ch] are in CVS although
they are generated files.  This is preparation for building the
table at run-time, instead of compile time.
2003-07-14 07:09:35 +00:00
Manish Singh 473a15a4c3 remove bogus trailing slash
2003-07-13  Manish Singh  <yosh@gimp.org>

        * app/composite/Makefile.am: remove bogus trailing slash

        * libgimp/gimp.c: use raise() instead of kill() with getpid()
2003-07-13 18:03:42 +00:00
Helvetix Victorinox 9d2b63962e app/paint-funcs/Makefile.am include files from app/composite/
app/paint-funcs/paint-funcs.c stubbed out code for using
gimp_composite.  To enable the use of gimp_composite, set the
value of gimp_composite_use_old to 0 (zero).

app/base/base.c calls gimp_composite_init() hook to initialse
all the gimp_composite "stuff."

app/composite/make-gimp-composite-dispatch.py now generates
gimp-composite-dispatch.h

app/composite/gimp-composite-dispatch.[ch] are in CVS although
they are generated files.  This is preparation for building the
table at run-time, instead of compile time.

app/composite/gimp-composite.c doesn't #include the main
dispatch table.  This is preparation for building the table at
run-time, instead of compile time.

app/composite/Makefile.am doesn't compile gimp-composite-mmx.c
(until the various remaining gcc problems and configuration issues
are worked out).
2003-07-13 15:48:41 +00:00
Sven Neumann 9bad7d216b removed ... ... and readded under a new name.
2003-07-09  Sven Neumann  <sven@gimp.org>

	* app/composite/tester.c: removed ...
	* app/composite/test-composite.c: ... and readded under a new name.

	* app/composite/Makefile.am: added a check target that builds and
	runs the test program.

	* app/composite/gimp-composite-generic.c
	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-util.h
	* app/composite/gimp-composite.[ch]
	* app/composite/make-gimp-composite-dispatch.py: made it fit
	better into the GIMP source tree:
	- do not include any files from headers
	- don't use types from <sys/types.h> but use what glib provides
	- coding style ...
2003-07-09 11:52:10 +00:00
Sven Neumann e3b560f0a9 only compile this code if USE_MMX is defined.
2003-07-10  Sven Neumann  <sven@gimp.org>

	* app/composite/gimp-composite-mmx.c: only compile this code if
	USE_MMX is defined.
2003-07-09 11:52:10 +00:00
Sven Neumann c366e257c6 removed ... ... and readded under a new name.
2003-07-09  Sven Neumann  <sven@gimp.org>

	* app/composite/tester.c: removed ...
	* app/composite/test-composite.c: ... and readded under a new name.

	* app/composite/Makefile.am: added a check target that builds and
	runs the test program.

	* app/composite/gimp-composite-generic.c
	* app/composite/gimp-composite-mmx.c
	* app/composite/gimp-composite-util.h
	* app/composite/gimp-composite.[ch]
	* app/composite/make-gimp-composite-dispatch.py: made it fit
	better into the GIMP source tree:
	- do not include any files from headers
	- don't use types from <sys/types.h> but use what glib provides
	- coding style ...
2003-07-09 11:52:10 +00:00
Sven Neumann 95daebaa4e shut up CVS 2003-07-09 10:19:56 +00:00
Sven Neumann 6087afacf0 app/Makefile.am some Makefile fixes, more to come.
2003-07-09  Sven Neumann  <sven@gimp.org>

        * app/Makefile.am
        * app/composite/Makefile.am: some Makefile fixes, more to come.
2003-07-09 10:16:50 +00:00
Helvetix Victorinox 45b2be990f I hate cvs.
Re-adding app/composite
2003-07-08 23:15:16 +00:00