Skip to content
  • Helvetix Victorinox's avatar
    composite/ modularisation of the automatic compositing function "wiring" · 33e22c8f
    Helvetix Victorinox authored
    * 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.
    33e22c8f