* app/composite/gimp-composite-*test.c: a regression test now
iterates over 8388625 pixels per pass.
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-sse2.c:
Ensured that a clobbered condition code register is reflected in
the clobbered register list for each asm() statement.
This should FIX bug #147013.
* 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.
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.
* app/composite/gimp-composite.h
* app/composite/gimp-composite-generic.h
* app/composite/gimp-composite-regression.h: Reformatted to include
argument names in function prototypes.
* app/composite/gimp-composite.c
* app/composite/gimp-composite-generic.c
* app/composite/gimp-composite-regression.c: Added gtk-doc templates for functions.
* 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
* 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
* 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.
* 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
* 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.
* 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.