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.
* 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
* 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/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-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-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
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/: 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/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/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-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 ...