2003-03-06 Manish Singh <yosh@gimp.org>
* configure.in: revised tests for AltiVec. Define ALTIVEC_EXTRA_CFLAGS
for the extra compiler options needed. Also, support runtime checking
for AltiVec through the sysctl on Mac OS X, instead of SIGILL assembly
instruction checking, which needs GNU as.
* app/base/cpu_accel.c: use the sysctl if available.
* app/composite/Makefile.am: use ALTIVEC_EXTRA_CFLAGS.
* app/composite/gimp-composite-altivec.c: conditionally #include
altivec.h
* app/composite/gimp-composite-altivec.[ch]
* app/composite/gimp-composite-altivec-installer.c
* app/composite/gimp-composite-altivec-test.c:
Added updates from starox-gimp@starox.org
(Frederic Leroy) to implement Altivec instruction optimisations.
Regenerated sources.
* app/composite/gimp-composite-mmx.c: Replaced a pesky movntq
instruction with a movq. Movntq is an SSE instruction, not an MMX
instruction.
* app/composite/gimp-composite-generic.c
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c
Incorporated a very clean patch from starox-gimp@starox.org
(Frederic Leroy) which improves the generic performance of the
burn compositing function. Speed is improved at a cost of a 64k
look-up table which is probably manageable for 8bpp images, but at
larger bpp images (which currently are not supported by the GIMP)
this is unlikely to be tolerable.
The generic C implementation of the burn function uses this
look-up table, the mmx/sse implementations have been commented out.
* app/composite/make-installer.py:Applied patch from
starox-gimp@starox.org (Frederic Leroy) which fixed the parser of
the nm programme output to understand the output on 64bit
machines. Fixes bug #168529
* app/composite/ns.py:
Applied patch from starox-gimp@starox.org (Frederic Leroy) which
fixed a bug that would appear when only one compositing function
was implemented. Fixes bug #168529
Regenerated app/composite function tables.
2005-01-26 Raphael Quinet <raphael@gimp.org>
* app/composite/gimp-composite-generic.c: minor doc fix for
formula used by gimp_composite_multiply_any_any_any_generic().
2005-01-07 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-x86.h
* app/composite/gimp-composite-sse.c: applied patch from Andreas
Jochens that fixes the build on amd64 with gcc-4.0 (bug #163041).
2004-10-30 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-generic.c
(gimp_composite_hue_any_any_any_generic): do nothing if the color
has no saturation. Patch by Joao S. Bueno. Fixes bug #123296.
* 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-x86.h
* app/composite/gimp-composite-sse.c
* app/composite/gimp-composite-sse2.c: Fixed a bunch of
warnings due to bad type casting.
* 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.
* 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-07-20 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite.c (gimp_composite_init): now that
the output depends on --verbose, enable it for stable releases also.
* app/composite/Makefile.am (regenerate): Updated make-installer.py
command line to take advantage of the new compile time method of
determining which instruction set to compile.
* app/composite/gimp-composite.c (gimp_composite_init): Print the
list of active instruction sets if the --verbose command line
switch is ON (via be_verbose)
* app/composite/gimp-composite-x86.h: Factored code from the mmx,
and sse implementations.
* app/composite/make-installer.py: Raised the number of test
iterations from 1 to 10.
* app/composite/gimp-composite-3dnow.[ch]
* app/composite/gimp-composite-3dnow-test.c
* app/composite/gimp-composite-3dnow-installer.c
* app/composite/gimp-composite-altivec.[ch]
* app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-altivec-installer.c
* app/composite/gimp-composite-mmx.[ch]
* app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-altivec-installer.c
* app/composite/gimp-composite-sse.[ch]
* app/composite/gimp-composite-sse-test.c
* app/composite/gimp-composite-sse-installer.c
* app/composite/gimp-composite-sse2.[ch]
* app/composite/gimp-composite-sse2-test.c
* app/composite/gimp-composite-sse2-installer.c
* app/composite/gimp-composite-vis.[ch]
* app/composite/gimp-composite-vis-test.c:
Regenerated sources via make-installer.py
2004-07-20 Sven Neumann <sven@gimp.org>
* app/app_procs.c
* app/base/base.[ch]
* app/composite/gimp-composite.[ch]: pass "be_verbose" to the base
and composite subsystems.
2004-07-18 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-mmx.h: don't start a comment with
/** unless it's meant to be parsed by gtk-doc.
* app/actions/Makefile.am:
* app/actions/file-dialog-commands.[ch]: removed, not used any
longer.
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-06-22 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-regression.c: define timersub()
macro in case it's undefined. Patch by Tim Mooney, fixes 'make
check' on Tru64 (bug #144780).
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
2004-02-05 Raphaël Quinet <quinet@gamers.org>
* configure.in: Added a conditional definition of the preprocessor
symbol GIMP_UNSTABLE if the autoconf symbol GIMP_UNSTABLE is
defined.
* app/errors.c (gimp_errors_init): Replaced the #if test on
GIMP_MINOR_VERSION modulo 2 by #ifdef GIMP_UNSTABLE.
* app/composite/gimp-composite.c (gimp_composite_init): Print the
init messages only in unstable versions. Split the messages in
two lines and mention "supported by gimp_composite" in order to
give a hint that the availability of some features depends also on
what code has been written. Fixes bug #128825.
2004-01-27 Manish Singh <yosh@gimp.org>
* app/composite/gimp-composite-generic.c
(gimp_composite_overlay_any_any_any_generic)
* app/paint-funcs/paint-funcs-generic.h (overlay_pixels): use more
than one temporary when stacking INT_MULTs, to avoid undefined
values.
2004-01-21 Manish Singh <yosh@gimp.org>
* configure.in: modernized, made a lot of things m4 macros, and made
versioning a lot more finegrained, in anticipation for post-2.0.
* autogen.sh: bumped up libtool and glib minimum requirements to match
reality.
* gimp-2.0.pc.in
* gimpthumb-2.0.pc.in
* gimpui-2.0.pc.in: adapted to new versioning variables, and bring
in RT_LIBS when needed.
* */*/Makefile.am: adapted to new versioning variables.
2004-01-13 Michael Natterer <mitch@gimp.org>
* app/composite/Makefile.am (AM_CPPFLAGS): G_LOG_DOMAIN should be
"Gimp-Composite", not "Gimp-Composition".
* app/app_procs.c (app_run): register a log handler for the
"Gimp-Composite" domain.
2003-12-12 Manish Singh <yosh@gimp.org>
* Makefile.am
* app/composite/Makefile.am
* themes/Default/images/Makefile.am: comestics.
* app/gui/color-notebook.c (color_notebook_new): no need to cast to G_OBJECT for g_signal_connect.
* plug-ins/common/mkgen.pl
* plug-ins/common/plugin-defs.pl: properly handle the libgimpoldpreview
stuff.
* plug-ins/common/Makefile.am: regenerated.
* plug-ins/common/decompose.c: cbrt() is in C99, so check for that
in addition to GNU libc.
2003-12-12 Hans Breuer <hans@breuer.org>
[
I've postponed my reservations against pangoft2/fontconfig/freetype2
usage, so The Gimp should now build with msvc without patching it.
]
* app/makefile.msc app/text/makefile.msc : use $(PANGOFT2_CFLAGS) etc.
* libgimpthumb/makefile.msc : (new file)
* makefile.msc : added libgimpthumb
* libgimpthumb/gimpthumbnail.c : include gimpwin32-io.h
* libgimpthumb/gimpthumb-utils.c : don't compare size pointer
with GIMP_THUMB_SIZE_FAIL but *size
* plug-ins/makefile.msc : handle libgimpoldpreview
* plug-ins/common/decompose.c : define cbrt() if not __GLIBC__
* plug-ins/common/winclipboard.c : make it compile without gimpcompat.h
* plug-ins/imagemap/imagemap_csim_lex.c : its a generated file
but still win32/msvc has no unistd.h
* plug-ins/pygimp/makefile.msc : (new file) to use the binary you
need to patch glib, see bug #98737
* plug-ins/libgimpoldpreview.c : use <libgimp/gimp.h> instead of "gimp.h"
* **/Makefile.am : added makefile.msc to EXTRA_DIST
* app/composite/gimp-composite.c:
* app/composite/gimp-composite.h:
* app/main.c:
* app/base/base.c:
Changed the existing command line option, --no-mmx to
--no-cpu-accel and propogated the changes necessary to use that
flag to turn OFF the use of CPU extensions using only the generic
implementations in app/composite/gimp-composite-generic.c
Nota Bene: All of the previous gimp 1.2 code is still available
and is is enabled by setting the GIMP_COMPOSITE environment
variable to zero (GIMP_COMPOSITE=0x0). This causes only the 1.2
code to be used and is helpful for regression testing of the newer
gimp-composite code. Whether using the new code, or the old code
there should be absolutely no visible differences.
The newly renamed option --no-cpu-accel retains its previous
semantic meaning with the old 1.2 code--turning OFF MMX
optimisations.
2003-11-16 Hans Breuer <hans@breuer.org>
* app/text/*.c : still unacceptable patched to compile
without FT2, see bug #113681
* **makefile.msc : updated
* app/config/gimpconfig-dump.c : include gimpwin32-io.h
* app/plug-in/plug-ins.c : don't depend on g_print handling
%s with NULL pointers, it doesn't anymore with glib cvs at
least not on win32
* app/widgets/gimppropwidgets.c
libgimpbase/gimputils.c
libgimpwidgets/gimpmemsizeentry.c :
sorry about the mess, need to work-around a stupi not able
to cast from guint64 to double
* app/widgets/gimppropwidgets.c (gimp_prop_memsize_entry_new) :
avoid 'overflow in floating-point constant arithmetic' by disabling
an imho alays questionable g_return_val_if_fail() for _MSC_VER only
* libgimpmodule/gimpmodule.def : sorted
* libgimpwidgets/gimpfileselection.c : removed unused S_ISDIR
definition
* app/gui/themes.c : filenames in rc files need to be escaped
* 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.
* app/composite/gimp-composite-3dnow.c:
Incorrectly reported the inverse of whether not the 3dNow instruction set is
supported by the current CPU.
* app/composite/gimp-composite-{mmx,sse}.c:
Removed linkage of gimp_composite_divide_*. Something is
inexplicably broken, and this will get people working again
while I debug. This should close bug #125101.
2003-10-16 Dave Neary <bolsh@gimp.org>
* app/base/color-balance.c
* app/base/hue-saturation.c
* app/composite/gimp-composite-generic.c
* app/paint-funcs/paint-funcs-generic.h
* app/tools/gimphuesaturationtool.c
* libgimpcolor/gimpcolorspace.[ch]: Changed all occurrences of
gimp_rgb_to_hls_int and gimp_hls_to_rgb_int to
gimp_rgb_to_hsl_int and gimp_hsl_to_rgb_int respectively. This
closes bug #124661.
2003-10-12 Sven Neumann <sven@gimp.org>
* app/config/Makefile.am: fixed dependencies for test-config.
* app/config/gimpconfigwriter.[ch]: code cleanup and documentation.
* app/composite/gimp-composite-generic.[ch]: made prototype for
gimp_composite_color_any_any_any_generic() match the implementation.
* app/composite/gimp-composite.c: fixed some issues with the
comment templates.
* 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
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 Sven Neumann <sven@gimp.org>
* app/composite/gimp-composite-altivec.c: added missing code
snippets to make it compile on PPC.
* plug-ins/common/destripe.c: avoid division by zero (bug #123592).
Also made the plug-in remember the state of the history toggle and
other cleanup. The filter result still looks wrong though...
2003-09-27 Sven Neumann <sven@gimp.org>
* app/gui/info-window.c (info_window_update): improved readability
of this code by introducing a local GimpImage* variable.
* app/composite/gimp-composite-regression.c: use a matching format
string for an u_long variable (should probably use gulong instead).
* app/composite/make-installer.py: output a short note about what
tests are going to be run.
* app/composite/gimp-composite-3dnow-test.c
* app/composite/gimp-composite-altivec-test.c
* app/composite/gimp-composite-mmx-test.c
* app/composite/gimp-composite-sse-test.c
* app/composite/gimp-composite-sse2-test.c
* app/composite/gimp-composite-vis-test.c: regenerated.
* 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.
* app/composite/gimp-composite-mmx.c
(gimp_composite_difference_rgba8_rgba8_rgba8_mmx): Replaced the
improper use of the pminub instruction with the macro which does the
same using only mmx instructions.
* 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()
* 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
* 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/gimp-composite-generic.[ch]: Added a proper
implementation of the BEHIND drawing mode. This should fix bug
#121889
* app/composite/gimp-composite-generic-installer.c: regenerated
* 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.
* app/paint-funcs/paint-funcs.c (initial_sub_region): Fixed
another bug in initialising the compositing context for the
special case of dissolve mode. A further attempt to fix bug
#121438.
* app/composite/gimp-composite-generic.c
(gimp_composite_dissolve_any_any_any_generic): Fixed bug in
calculating whether the destination has an alpha channel (or
not).
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-03 Sven Neumann <sven@gimp.org>
* app/paint-funcs/paint-funcs-generic.h (dissolve_pixels)
* app/composite/gimp-composite-generic.c
(gimp_composite_dissolve_any_any_any_generic): fixed a bug in the
dissolve algorithm (bug #121305).
* app/composite/gimp-composite.c (gimp_composite_init): Turn on
SSE, SSE2, and 3dnow instruction sets.
* app/paint-funcs/paint-funcs.c (initial_sub_region): Fixed
uninitialised data in the special case for dissolve.
This is the cause of Bug #121213.
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c: Dereference all pointers
from *outside* of asm() construct.
* app/paint-funcs/paint-funcs.c: Fixed bug where dissolve opacity
was incorrectly set, and dissolve mask was garbage. This should
fix Bug #121213
* app/composite/gimp-composite-mmx.c
* app/composite/gimp-composite-sse.c: Replaced all memory
references in asm() constructs to references to "input" parameters
to the asm(). This should take care of any name mangling issues
(see bug #120893)
Beautified more code to conform to the gimp style guidelines.
No longer doing pointer math in assembly. This should ease some
of the issues of compiling on 64bit machines.
* app/composite/gimp-composite-sse-installer.c
* app/composite/gimp-composite-sse-test.c: Removed reference to
gimp_composite_overlay_* because this code is suspect.
2003-09-01 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* app/composite/gimp-composite-mmx.c: For some reason the gcc&gas
combination used on Win32 wants identifiers prefixed with
underscores in the asm sequences.
* plug-ins/common/ps.c (ps_open): [Win32] Don't write the gs
executable name into the indirect command line file. Do write the
quoted form of the filename to it.
(my_shell_quote): New funcion. Use instead of g_shell_quote() on
Windows, as g_shell_quote() always uses single quotes, which don't
mean anything to the Windows shell (or C runtime startup
code). (This might be argued to be a bug in GLib, maybe
g_shell_quote should behave differently accoring to platform.)
* etc/gimprc.win32: Remove, generate with gimpconfig-dump.
* */makefile.mingw.in: Remove, unmaintained.
2003-08-27 Michael Natterer <mitch@gimp.org>
* app/composite/gimp-composite-generic.c
(gimp_composite_generic_init): added missing g_rand_free().
* app/widgets/gimpitemfactory.[ch]: fixed all leaks in
gimp_item_factory_translate_func(). Added
item_factory->translation_trash for the pathological cases. Free
the trash after each call to gtk_item_factory_create_item().
* app/composite/gimp-composite-regression.[ch]: New function to
initialise a GimpCompositeContext
* Makefile.am: do not generate the test form of
gimp-composite-generic.c
* app/composite/gimp-composite-generic-test.c: unused, removed.
* app/composite/make-installer.py app/composite/*-test.c: New
tests were broken because the byte-for-byte checks checked the
same buffer against itself.
* 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.
* 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
* 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)
* 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.
* 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.
* 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-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-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).
* 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-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.
* 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-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.