mirror of https://github.com/GNOME/gimp.git
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.
This commit is contained in:
parent
4b91dd342d
commit
0af62f01bf
21
ChangeLog
21
ChangeLog
|
@ -1,3 +1,24 @@
|
|||
2003-08-14 Helvetix Victorinox <helvetix@gimp.org>
|
||||
|
||||
* 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-14 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* app/base/base.c (base_init): If a development version (odd
|
||||
|
|
|
@ -49,11 +49,11 @@ libappcomposite_a_built_sources = \
|
|||
libappcomposite_a_SOURCES = $(libappcomposite_a_built_sources) $(libappcomposite_a_sources)
|
||||
|
||||
regenerate: gimp-composite-generic.o gimp-composite-mmx.o gimp-composite-sse.o gimp-composite-altivec.o gimp-composite-vis.o
|
||||
$(srcdir)/make-installer.py gimp-composite-generic.o
|
||||
$(srcdir)/make-installer.py gimp-composite-mmx.o
|
||||
$(srcdir)/make-installer.py gimp-composite-sse.o
|
||||
$(srcdir)/make-installer.py gimp-composite-altivec.o
|
||||
$(srcdir)/make-installer.py gimp-composite-vis.o
|
||||
$(srcdir)/make-installer.py -t -f gimp-composite-generic.o
|
||||
$(srcdir)/make-installer.py -t -r '(__GNUC__ >= 3) && defined(USE_MMX) && defined(ARCH_X86)' -f gimp-composite-mmx.o
|
||||
$(srcdir)/make-installer.py -t -r '(__GNUC__ >= 3) && defined(USE_MMX) && defined(ARCH_X86)' -f gimp-composite-sse.o
|
||||
$(srcdir)/make-installer.py -t -r '(__GNUC__ >= 3) && defined(USE_MMX) && defined(ARCH_PPC)' -f gimp-composite-altivec.o
|
||||
$(srcdir)/make-installer.py -t -r '(__GNUC__ >= 3) && (defined(sparc) || defined(__sparc__))' -f gimp-composite-vis.o
|
||||
|
||||
EXTRA_DIST = \
|
||||
make-installer.py \
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT */
|
||||
/* REGENERATE BY EXECUTING: make-installer.py gimp-composite-altivec.o */
|
||||
/* REGENERATE BY USING make-installer.py */
|
||||
#include "config.h"
|
||||
#include <glib-object.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -9,11 +9,6 @@
|
|||
|
||||
#include "gimp-composite-altivec.h"
|
||||
|
||||
/*
|
||||
* No
|
||||
* static void (*gimp_composite_altivec[GIMP_COMPOSITE_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N])
|
||||
* table to define
|
||||
*/
|
||||
|
||||
void
|
||||
gimp_composite_altivec_install (void)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1143,10 +1143,6 @@ gimp_composite_generic_init(void)
|
|||
GRand *gr;
|
||||
#define RANDOM_SEED 314159265
|
||||
|
||||
if (gimp_composite_options.bits & GIMP_COMPOSITE_OPTION_VERBOSE) {
|
||||
printf("gimp_composite_generic_init:\n");
|
||||
}
|
||||
|
||||
/* generate a table of random seeds */
|
||||
gr = g_rand_new_with_seed(RANDOM_SEED);
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT */
|
||||
/* REGENERATE BY EXECUTING: make-installer.py gimp-composite-mmx.o */
|
||||
/* REGENERATE BY USING make-installer.py */
|
||||
#include "config.h"
|
||||
#include <glib-object.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -9,873 +9,38 @@
|
|||
|
||||
#include "gimp-composite-mmx.h"
|
||||
|
||||
|
||||
#ifdef USE_MMX
|
||||
#ifdef ARCH_X86
|
||||
#if __GNUC__ >= 3
|
||||
static void (*gimp_composite_mmx[GIMP_COMPOSITE_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N])(GimpCompositeContext *) = {
|
||||
{ /* GIMP_COMPOSITE_NORMAL */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DISSOLVE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_BEHIND */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_MULTIPLY */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_multiply_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SCREEN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_screen_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_OVERLAY */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DIFFERENCE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_difference_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_ADDITION */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_addition_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SUBTRACT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_subtract_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DARKEN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_darken_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_LIGHTEN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_lighten_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_HUE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SATURATION */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_COLOR_ONLY */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_VALUE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DIVIDE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_divide_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DODGE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_dodge_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_BURN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_burn_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_HARDLIGHT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SOFTLIGHT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_GRAIN_EXTRACT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_GRAIN_MERGE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_COLOR_ERASE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_ERASE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_REPLACE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_ANTI_ERASE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_BLEND */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SHADE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SWAP */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_swap_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SCALE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_scale_rgba8_rgba8_rgba8_mmx, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_CONVERT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_XOR */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
static struct install_table {
|
||||
GimpCompositeOperation mode;
|
||||
GimpPixelFormat A;
|
||||
GimpPixelFormat B;
|
||||
GimpPixelFormat D;
|
||||
void (*function)(GimpCompositeContext *);
|
||||
} _gimp_composite_mmx[] = {
|
||||
#if (__GNUC__ >= 3) && defined(USE_MMX) && defined(ARCH_X86)
|
||||
{ GIMP_COMPOSITE_MULTIPLY, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_multiply_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_SCREEN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_screen_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_DIFFERENCE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_difference_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_ADDITION, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_addition_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_SUBTRACT, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_subtract_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_DARKEN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_darken_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_LIGHTEN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_lighten_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_DIVIDE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_divide_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_DODGE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_dodge_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_BURN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_burn_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_SWAP, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_swap_rgba8_rgba8_rgba8_mmx },
|
||||
{ GIMP_COMPOSITE_SCALE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_scale_rgba8_rgba8_rgba8_mmx },
|
||||
#endif
|
||||
{ 0, 0, 0, 0, NULL }
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
gimp_composite_mmx_install (void)
|
||||
{
|
||||
#ifdef USE_MMX
|
||||
#ifdef ARCH_X86
|
||||
#if __GNUC__ >= 3
|
||||
int mode, a, b, d;
|
||||
static struct install_table *t = _gimp_composite_mmx;
|
||||
|
||||
for (mode = 0; mode < GIMP_COMPOSITE_N; mode++) {
|
||||
for (a = 0; a < GIMP_PIXELFORMAT_N; a++) {
|
||||
for (b = 0; b < GIMP_PIXELFORMAT_N; b++) {
|
||||
for (d = 0; d < GIMP_PIXELFORMAT_N; d++) {
|
||||
if (gimp_composite_mmx[mode][a][b][d]) {
|
||||
gimp_composite_function[mode][a][b][d] = gimp_composite_mmx[mode][a][b][d];
|
||||
if (gimp_composite_options.bits & GIMP_COMPOSITE_OPTION_VERBOSE) {
|
||||
printf("gimp_composite_install: %s %s %s %s: %p\n", gimp_composite_mode_astext(mode), gimp_composite_pixelformat_astext(a), gimp_composite_pixelformat_astext(b), gimp_composite_pixelformat_astext(d), gimp_composite_function[mode][a][b][d]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (t = &_gimp_composite_mmx[0]; t->function != NULL; t++) {
|
||||
gimp_composite_function[t->mode][t->A][t->B][t->D] = t->function;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
gimp_composite_mmx_init();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT */
|
||||
/* REGENERATE BY EXECUTING: make-installer.py gimp-composite-sse.o */
|
||||
/* REGENERATE BY USING make-installer.py */
|
||||
#include "config.h"
|
||||
#include <glib-object.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -9,874 +9,41 @@
|
|||
|
||||
#include "gimp-composite-sse.h"
|
||||
|
||||
|
||||
#ifdef USE_MMX
|
||||
#ifdef ARCH_X86
|
||||
#if __GNUC__ >= 3
|
||||
static void (*gimp_composite_sse[GIMP_COMPOSITE_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N])(GimpCompositeContext *) = {
|
||||
{ /* GIMP_COMPOSITE_NORMAL */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DISSOLVE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_BEHIND */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_MULTIPLY */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_multiply_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SCREEN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_screen_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_OVERLAY */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_overlay_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DIFFERENCE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_difference_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_ADDITION */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_addition_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SUBTRACT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_subtract_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DARKEN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_darken_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_LIGHTEN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_lighten_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_HUE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SATURATION */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_COLOR_ONLY */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_VALUE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DIVIDE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_divide_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_DODGE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_dodge_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_BURN */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_burn_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_HARDLIGHT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SOFTLIGHT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_GRAIN_EXTRACT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_grain_extract_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_GRAIN_MERGE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_grain_merge_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_COLOR_ERASE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_ERASE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_REPLACE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_ANTI_ERASE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_BLEND */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SHADE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SWAP */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_swap_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_SCALE */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, gimp_composite_scale_rgba8_rgba8_rgba8_sse, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_CONVERT */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
{ /* GIMP_COMPOSITE_XOR */
|
||||
{ /* A = v8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = va8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgb8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
{ /* A = rgba8 */
|
||||
/* v8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* va8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgb8 */ { NULL, NULL, NULL, NULL, },
|
||||
/* rgba8 */ { NULL, NULL, NULL, NULL, },
|
||||
},
|
||||
},
|
||||
static struct install_table {
|
||||
GimpCompositeOperation mode;
|
||||
GimpPixelFormat A;
|
||||
GimpPixelFormat B;
|
||||
GimpPixelFormat D;
|
||||
void (*function)(GimpCompositeContext *);
|
||||
} _gimp_composite_sse[] = {
|
||||
#if (__GNUC__ >= 3) && defined(USE_MMX) && defined(ARCH_X86)
|
||||
{ GIMP_COMPOSITE_MULTIPLY, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_multiply_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_SCREEN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_screen_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_OVERLAY, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_overlay_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_DIFFERENCE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_difference_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_ADDITION, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_addition_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_SUBTRACT, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_subtract_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_DARKEN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_darken_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_LIGHTEN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_lighten_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_DIVIDE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_divide_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_DODGE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_dodge_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_BURN, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_burn_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_GRAIN_EXTRACT, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_grain_extract_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_GRAIN_MERGE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_grain_merge_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_SWAP, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_swap_rgba8_rgba8_rgba8_sse },
|
||||
{ GIMP_COMPOSITE_SCALE, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, GIMP_PIXELFORMAT_RGBA8, gimp_composite_scale_rgba8_rgba8_rgba8_sse },
|
||||
#endif
|
||||
{ 0, 0, 0, 0, NULL }
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
gimp_composite_sse_install (void)
|
||||
{
|
||||
#ifdef USE_MMX
|
||||
#ifdef ARCH_X86
|
||||
#if __GNUC__ >= 3
|
||||
int mode, a, b, d;
|
||||
static struct install_table *t = _gimp_composite_sse;
|
||||
|
||||
for (mode = 0; mode < GIMP_COMPOSITE_N; mode++) {
|
||||
for (a = 0; a < GIMP_PIXELFORMAT_N; a++) {
|
||||
for (b = 0; b < GIMP_PIXELFORMAT_N; b++) {
|
||||
for (d = 0; d < GIMP_PIXELFORMAT_N; d++) {
|
||||
if (gimp_composite_sse[mode][a][b][d]) {
|
||||
gimp_composite_function[mode][a][b][d] = gimp_composite_sse[mode][a][b][d];
|
||||
if (gimp_composite_options.bits & GIMP_COMPOSITE_OPTION_VERBOSE) {
|
||||
printf("gimp_composite_install: %s %s %s %s: %p\n", gimp_composite_mode_astext(mode), gimp_composite_pixelformat_astext(a), gimp_composite_pixelformat_astext(b), gimp_composite_pixelformat_astext(d), gimp_composite_function[mode][a][b][d]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (t = &_gimp_composite_sse[0]; t->function != NULL; t++) {
|
||||
gimp_composite_function[t->mode][t->A][t->B][t->D] = t->function;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
gimp_composite_sse_init();
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT */
|
||||
/* REGENERATE BY EXECUTING: make-installer.py gimp-composite-vis.o */
|
||||
/* REGENERATE BY USING make-installer.py */
|
||||
#include "config.h"
|
||||
#include <glib-object.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -9,11 +9,6 @@
|
|||
|
||||
#include "gimp-composite-vis.h"
|
||||
|
||||
/*
|
||||
* No
|
||||
* static void (*gimp_composite_vis[GIMP_COMPOSITE_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N][GIMP_PIXELFORMAT_N])
|
||||
* table to define
|
||||
*/
|
||||
|
||||
void
|
||||
gimp_composite_vis_install (void)
|
||||
|
|
|
@ -23,7 +23,7 @@ import string
|
|||
import os
|
||||
import ns
|
||||
import pprint
|
||||
import getopt
|
||||
import optparse
|
||||
import copy
|
||||
|
||||
#
|
||||
|
@ -126,56 +126,44 @@ def filenameify(filename):
|
|||
f = string.replace(f, ".h", "")
|
||||
return (f)
|
||||
|
||||
def print_function_table(fpout, name, function_table):
|
||||
def print_function_table(fpout, name, function_table, requirements=[]):
|
||||
|
||||
if len(function_table) > 1:
|
||||
if len(function_table) < 1:
|
||||
return;
|
||||
|
||||
function_table_declarations = dict()
|
||||
print >>fpout, 'static struct install_table {'
|
||||
print >>fpout, ' GimpCompositeOperation mode;'
|
||||
print >>fpout, ' GimpPixelFormat A;'
|
||||
print >>fpout, ' GimpPixelFormat B;'
|
||||
print >>fpout, ' GimpPixelFormat D;'
|
||||
print >>fpout, ' void (*function)(GimpCompositeContext *);'
|
||||
#print >>fpout, ' char *name;'
|
||||
print >>fpout, '} _%s[] = {' % (functionnameify(name))
|
||||
|
||||
function_table_keys = function_table.keys()
|
||||
function_table_keys.sort()
|
||||
|
||||
if 0:
|
||||
for key in function_table_keys:
|
||||
if not function_table_declarations.has_key(function_table[key][0]):
|
||||
print >>fpout, 'void %s(GimpCompositeContext *);' % (function_table[key][0])
|
||||
function_table_declarations[function_table[key][0]] = function_table[key][0]
|
||||
pass
|
||||
pass
|
||||
pass
|
||||
|
||||
print >>fpout, ''
|
||||
print >>fpout, 'static void (*%s[%s][%s][%s][%s])(GimpCompositeContext *) = {' % (functionnameify(name), "GIMP_COMPOSITE_N", "GIMP_PIXELFORMAT_N", "GIMP_PIXELFORMAT_N", "GIMP_PIXELFORMAT_N")
|
||||
for mode in composite_modes:
|
||||
print >>fpout, ' { /* %s */' % (mode)
|
||||
for A in filter(lambda pf: pf != "GIMP_PIXELFORMAT_ANY", pixel_format):
|
||||
print >>fpout, ' { /* A = %s */' % (pixel_depth_name(A))
|
||||
for B in filter(lambda pf: pf != "GIMP_PIXELFORMAT_ANY", pixel_format):
|
||||
print >>fpout, ' /* %-6s */ {' % (pixel_depth_name(B)),
|
||||
for D in filter(lambda pf: pf != "GIMP_PIXELFORMAT_ANY", pixel_format):
|
||||
key = "%s_%s_%s_%s" % (string.lower(mode), pixel_depth_name(A), pixel_depth_name(B), pixel_depth_name(D))
|
||||
if function_table.has_key(key):
|
||||
print >>fpout, '%s, ' % (function_table[key][0]),
|
||||
else:
|
||||
print >>fpout, '%s, ' % ("NULL"),
|
||||
pass
|
||||
pass
|
||||
print >>fpout, '},'
|
||||
pass
|
||||
print >>fpout, ' },'
|
||||
pass
|
||||
print >>fpout, ' },'
|
||||
pass
|
||||
|
||||
print >>fpout, '};\n'
|
||||
else:
|
||||
print >>fpout, '/*'
|
||||
print >>fpout, '* No'
|
||||
print >>fpout, '* static void (*%s[%s][%s][%s][%s])' % (functionnameify(name), "GIMP_COMPOSITE_N", "GIMP_PIXELFORMAT_N", "GIMP_PIXELFORMAT_N", "GIMP_PIXELFORMAT_N")
|
||||
print >>fpout, '* table to define'
|
||||
print >>fpout, '*/'
|
||||
for r in requirements:
|
||||
print >>fpout, '#if %s' % (r)
|
||||
pass
|
||||
|
||||
for mode in composite_modes:
|
||||
for A in filter(lambda pf: pf != "GIMP_PIXELFORMAT_ANY", pixel_format):
|
||||
for B in filter(lambda pf: pf != "GIMP_PIXELFORMAT_ANY", pixel_format):
|
||||
for D in filter(lambda pf: pf != "GIMP_PIXELFORMAT_ANY", pixel_format):
|
||||
key = "%s_%s_%s_%s" % (string.lower(mode), pixel_depth_name(A), pixel_depth_name(B), pixel_depth_name(D))
|
||||
if function_table.has_key(key):
|
||||
print >>fpout, ' { %s, %s, %s, %s, %s }, ' % (mode, A, B, D, function_table[key][0])
|
||||
pass
|
||||
pass
|
||||
pass
|
||||
pass
|
||||
pass
|
||||
|
||||
for r in requirements:
|
||||
print >>fpout, '#endif'
|
||||
pass
|
||||
|
||||
print >>fpout, ' { 0, 0, 0, 0, NULL }'
|
||||
print >>fpout, '};'
|
||||
|
||||
return
|
||||
|
||||
def print_function_table_name(fpout, name, function_table):
|
||||
|
@ -259,7 +247,7 @@ def merge_function_tables(tables):
|
|||
return (main_table)
|
||||
|
||||
|
||||
def gimp_composite_regression(fpout, name, function_tables):
|
||||
def gimp_composite_regression(fpout, name, function_tables, requirements=[]):
|
||||
|
||||
# XXX move all this out to C code, instead of here.
|
||||
print >>fpout, '#include "config.h"'
|
||||
|
@ -415,12 +403,16 @@ def gimp_composite_regression(fpout, name, function_tables):
|
|||
return
|
||||
|
||||
|
||||
def gimp_composite_installer_install(fpout, name, function_table):
|
||||
def gimp_composite_installer_install(fpout, name, function_table, requirements=[]):
|
||||
print >>fpout, ''
|
||||
print >>fpout, 'void'
|
||||
print >>fpout, '%s_install (void)' % (functionnameify(name))
|
||||
print >>fpout, '{'
|
||||
|
||||
for r in requirements:
|
||||
print >>fpout, '#if %s' % (r)
|
||||
pass
|
||||
|
||||
if len(function_table) > 1:
|
||||
print >>fpout, ' int mode, a, b, d;'
|
||||
print >>fpout, ''
|
||||
|
@ -442,6 +434,30 @@ def gimp_composite_installer_install(fpout, name, function_table):
|
|||
print >>fpout, ' /* nothing to do */'
|
||||
pass
|
||||
|
||||
print >>fpout, ''
|
||||
print >>fpout, ' %s_init();' % functionnameify(name)
|
||||
for r in requirements:
|
||||
print >>fpout, '#endif'
|
||||
pass
|
||||
print >>fpout, '}'
|
||||
pass
|
||||
|
||||
def gimp_composite_installer_install2(fpout, name, function_table, requirements=[]):
|
||||
print >>fpout, ''
|
||||
print >>fpout, 'void'
|
||||
print >>fpout, '%s_install (void)' % (functionnameify(name))
|
||||
print >>fpout, '{'
|
||||
|
||||
if len(function_table) > 1:
|
||||
print >>fpout, ' static struct install_table *t = _%s;' % (functionnameify(name))
|
||||
print >>fpout, ''
|
||||
print >>fpout, ' for (t = &_%s[0]; t->function != NULL; t++) {' % (functionnameify(name))
|
||||
print >>fpout, ' gimp_composite_function[t->mode][t->A][t->B][t->D] = t->function;'
|
||||
print >>fpout, ' }'
|
||||
else:
|
||||
print >>fpout, ' /* nothing to do */'
|
||||
pass
|
||||
|
||||
print >>fpout, ''
|
||||
print >>fpout, ' %s_init();' % functionnameify(name)
|
||||
print >>fpout, '}'
|
||||
|
@ -449,7 +465,7 @@ def gimp_composite_installer_install(fpout, name, function_table):
|
|||
|
||||
def gimp_composite_hfile(fpout, name, function_table):
|
||||
print >>fpout, '/* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT */'
|
||||
print >>fpout, '/* REGENERATE BY EXECUTING: make-installer.py %s */' % (name)
|
||||
print >>fpout, '/* REGENERATE BY USING make-installer.py */'
|
||||
print >>fpout, ''
|
||||
print >>fpout, 'void %s_install (void);' % (functionnameify(name))
|
||||
print >>fpout, ''
|
||||
|
@ -457,9 +473,9 @@ def gimp_composite_hfile(fpout, name, function_table):
|
|||
|
||||
return
|
||||
|
||||
def gimp_composite_cfile(fpout, name, function_table):
|
||||
def gimp_composite_cfile(fpout, name, function_table, requirements=[]):
|
||||
print >>fpout, '/* THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT */'
|
||||
print >>fpout, '/* REGENERATE BY EXECUTING: make-installer.py %s */' % (name)
|
||||
print >>fpout, '/* REGENERATE BY USING make-installer.py */'
|
||||
print >>fpout, '#include "config.h"'
|
||||
print >>fpout, '#include <glib-object.h>'
|
||||
print >>fpout, '#include <stdlib.h>'
|
||||
|
@ -470,29 +486,26 @@ def gimp_composite_cfile(fpout, name, function_table):
|
|||
print >>fpout, '#include "%s.h"' % (filenameify(name))
|
||||
print >>fpout, ''
|
||||
|
||||
print_function_table(fpout, name, function_table)
|
||||
print_function_table(fpout, name, function_table, requirements)
|
||||
|
||||
#main_table = merge_function_tables(d)
|
||||
|
||||
#print_function_table(fpout, "gimp_composite_function", main_table)
|
||||
#print_function_table_name(fpout, "gimp_composite_function", main_table)
|
||||
|
||||
gimp_composite_installer_install(fpout, name, function_table)
|
||||
gimp_composite_installer_install2(fpout, name, function_table, requirements)
|
||||
|
||||
return
|
||||
|
||||
###########################################
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
print "Usage: %s <composite-file>.o" % (sys.argv[0])
|
||||
sys.exit(1)
|
||||
op = optparse.OptionParser(version="$Revision$")
|
||||
op.add_option('-f', '--file', action='store', type='string', dest='file', default=None, help='the input object file')
|
||||
op.add_option('-t', '--test', action='store_true', dest='test', default=False, help='generate regression testing code')
|
||||
op.add_option('-r', '--requires', action='append', type='string', dest='requires', default=[], help='cpp #if conditionals')
|
||||
options, args = op.parse_args()
|
||||
|
||||
table = load_function_table(options.file)
|
||||
|
||||
gimp_composite_cfile(open(filenameify(options.file) + "-installer.c", "w"), options.file, table, options.requires)
|
||||
|
||||
if options.test == True:
|
||||
gimp_composite_regression(open(filenameify(options.file) + "-test.c", "w"), options.file, table, options.requires)
|
||||
pass
|
||||
|
||||
function_file = sys.argv[1]
|
||||
|
||||
table = load_function_table(function_file)
|
||||
|
||||
gimp_composite_cfile(open(filenameify(function_file) + "-installer.c", "w"), function_file, table)
|
||||
gimp_composite_regression(open(filenameify(function_file) + "-test.c", "w"), function_file, table)
|
||||
|
||||
sys.exit(0)
|
||||
|
|
Loading…
Reference in New Issue