[gimp] app, libgimp, plug-ins: remove the _LINEAR layer mode variants



commit 63f1ec4101a07c1ff39569b2a6368e9c9f13c531
Author: Michael Natterer <mitch gimp org>
Date:   Sun Feb 19 23:14:44 2017 +0100

    app, libgimp, plug-ins: remove the _LINEAR layer mode variants
    
    Missing: PDB API to set the various sub-modes we now have for layer modes.

 app/actions/context-commands.c                     |    2 +-
 app/operations/layer-modes/gimp-layer-modes.c      |  450 +-------------------
 .../layer-modes/gimpoperationlayermode.c           |   25 +-
 app/operations/operations-enums.c                  |   58 +---
 app/operations/operations-enums.h                  |   31 +--
 app/widgets/gimplayermodebox.c                     |    4 +-
 libgimp/gimpenums.h                                |   27 +-
 plug-ins/file-psd/psd-util.c                       |   27 --
 tools/pdbgen/enums.pl                              |  113 ++----
 9 files changed, 69 insertions(+), 668 deletions(-)
---
diff --git a/app/actions/context-commands.c b/app/actions/context-commands.c
index 4ffac60..c75eeea 100644
--- a/app/actions/context-commands.c
+++ b/app/actions/context-commands.c
@@ -52,7 +52,7 @@ static const GimpLayerMode paint_modes[] =
 {
   GIMP_LAYER_MODE_NORMAL,
   GIMP_LAYER_MODE_DISSOLVE,
-  GIMP_LAYER_MODE_BEHIND_LINEAR,
+  GIMP_LAYER_MODE_BEHIND_LEGACY,
   GIMP_LAYER_MODE_COLOR_ERASE,
   GIMP_LAYER_MODE_MULTIPLY_LEGACY,
   GIMP_LAYER_MODE_DIVIDE_LEGACY,
diff --git a/app/operations/layer-modes/gimp-layer-modes.c b/app/operations/layer-modes/gimp-layer-modes.c
index 3ed8bec..7eea18d 100644
--- a/app/operations/layer-modes/gimp-layer-modes.c
+++ b/app/operations/layer-modes/gimp-layer-modes.c
@@ -97,11 +97,14 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_OVER
   },
 
-  { GIMP_LAYER_MODE_BEHIND,
+  { GIMP_LAYER_MODE_BEHIND_LEGACY,
 
     .op_name              = "gimp:behind",
     .function             = gimp_operation_behind_process,
-    .flags                = GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE,
+    .flags                = GIMP_LAYER_MODE_FLAG_LEGACY                    |
+                            GIMP_LAYER_MODE_FLAG_BLEND_SPACE_IMMUTABLE     |
+                            GIMP_LAYER_MODE_FLAG_COMPOSITE_SPACE_IMMUTABLE |
+                            GIMP_LAYER_MODE_FLAG_COMPOSITE_MODE_IMMUTABLE,
     .context              = GIMP_LAYER_MODE_CONTEXT_PAINT |
                             GIMP_LAYER_MODE_CONTEXT_FADE,
     .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
@@ -479,7 +482,7 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
   },
 
-  { GIMP_LAYER_MODE_BEHIND_LINEAR,
+  { GIMP_LAYER_MODE_BEHIND,
 
     .op_name              = "gimp:behind",
     .function             = gimp_operation_behind_process,
@@ -502,17 +505,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_MULTIPLY_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_SCREEN,
 
     .op_name              = "gimp:layer-mode",
@@ -524,28 +516,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_SCREEN_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
-  { GIMP_LAYER_MODE_OVERLAY_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_DIFFERENCE,
 
     .op_name              = "gimp:layer-mode",
@@ -557,17 +527,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_DIFFERENCE_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_ADDITION,
 
     .op_name              = "gimp:layer-mode",
@@ -579,17 +538,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_ADDITION_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_SUBTRACT,
 
     .op_name              = "gimp:layer-mode",
@@ -601,17 +549,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_SUBTRACT_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_DARKEN_ONLY,
 
     .op_name              = "gimp:layer-mode",
@@ -693,17 +630,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_DIVIDE_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_DODGE,
 
     .op_name              = "gimp:layer-mode",
@@ -715,17 +641,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_DODGE_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_BURN,
 
     .op_name              = "gimp:layer-mode",
@@ -737,17 +652,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_BURN_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_HARDLIGHT,
 
     .op_name              = "gimp:layer-mode",
@@ -759,17 +663,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_HARDLIGHT_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_SOFTLIGHT,
 
     .op_name              = "gimp:layer-mode",
@@ -781,17 +674,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_SOFTLIGHT_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_GRAIN_EXTRACT,
 
     .op_name              = "gimp:layer-mode",
@@ -803,17 +685,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_GRAIN_MERGE,
 
     .op_name              = "gimp:layer-mode",
@@ -825,17 +696,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_VIVID_LIGHT,
 
     .op_name              = "gimp:layer-mode",
@@ -847,17 +707,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_PIN_LIGHT,
 
     .op_name              = "gimp:layer-mode",
@@ -869,17 +718,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_PIN_LIGHT_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_LINEAR_LIGHT,
 
     .op_name              = "gimp:layer-mode",
@@ -891,17 +729,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_HARD_MIX,
 
     .op_name              = "gimp:layer-mode",
@@ -913,17 +740,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_HARD_MIX_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_EXCLUSION,
 
     .op_name              = "gimp:layer-mode",
@@ -935,17 +751,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_EXCLUSION_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_LINEAR_BURN,
 
     .op_name              = "gimp:layer-mode",
@@ -957,17 +762,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_LINEAR_BURN_LINEAR,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_LUMA_DARKEN_ONLY,
 
     .op_name              = "gimp:layer-mode",
@@ -979,17 +773,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,
 
     .op_name              = "gimp:layer-mode",
@@ -1001,17 +784,6 @@ static const GimpLayerModeInfo layer_mode_infos[] =
     .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_PERCEPTUAL
   },
 
-  { GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY,
-
-    .op_name              = "gimp:layer-mode",
-    .function             = gimp_operation_layer_mode_process_pixels,
-    .context              = GIMP_LAYER_MODE_CONTEXT_ALL,
-    .paint_composite_mode = GIMP_LAYER_COMPOSITE_SRC_OVER,
-    .composite_mode       = GIMP_LAYER_COMPOSITE_SRC_ATOP,
-    .composite_space      = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR,
-    .blend_space          = GIMP_LAYER_COLOR_SPACE_RGB_LINEAR
-  },
-
   { GIMP_LAYER_MODE_ERASE,
 
     .op_name              = "gimp:erase",
@@ -1059,107 +831,6 @@ static const GimpLayerMode layer_mode_group_default[] =
   GIMP_LAYER_MODE_SEPARATOR,
 
   GIMP_LAYER_MODE_LIGHTEN_ONLY,
-  GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY,
-  GIMP_LAYER_MODE_SCREEN,
-  GIMP_LAYER_MODE_DODGE,
-  GIMP_LAYER_MODE_ADDITION,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_DARKEN_ONLY,
-  GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY,
-  GIMP_LAYER_MODE_MULTIPLY,
-  GIMP_LAYER_MODE_BURN,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_OVERLAY,
-  GIMP_LAYER_MODE_SOFTLIGHT,
-  GIMP_LAYER_MODE_HARDLIGHT,
-  GIMP_LAYER_MODE_VIVID_LIGHT,
-  GIMP_LAYER_MODE_PIN_LIGHT,
-  GIMP_LAYER_MODE_LINEAR_LIGHT,
-  GIMP_LAYER_MODE_HARD_MIX,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_DIFFERENCE,
-  GIMP_LAYER_MODE_SUBTRACT,
-  GIMP_LAYER_MODE_GRAIN_EXTRACT,
-  GIMP_LAYER_MODE_GRAIN_MERGE,
-  GIMP_LAYER_MODE_DIVIDE,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_LCH_HUE,
-  GIMP_LAYER_MODE_LCH_CHROMA,
-  GIMP_LAYER_MODE_LCH_COLOR,
-  GIMP_LAYER_MODE_LCH_LIGHTNESS,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_EXCLUSION,
-  GIMP_LAYER_MODE_LINEAR_BURN
-};
-
-static const GimpLayerMode layer_mode_group_linear[] =
-{
-  GIMP_LAYER_MODE_NORMAL_LINEAR,
-  GIMP_LAYER_MODE_REPLACE,
-  GIMP_LAYER_MODE_DISSOLVE,
-  GIMP_LAYER_MODE_BEHIND_LINEAR,
-  GIMP_LAYER_MODE_ERASE,
-  GIMP_LAYER_MODE_ANTI_ERASE,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_LIGHTEN_ONLY,
-  GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY,
-  GIMP_LAYER_MODE_SCREEN_LINEAR,
-  GIMP_LAYER_MODE_DODGE_LINEAR,
-  GIMP_LAYER_MODE_ADDITION_LINEAR,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_DARKEN_ONLY,
-  GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY,
-  GIMP_LAYER_MODE_MULTIPLY_LINEAR,
-  GIMP_LAYER_MODE_BURN_LINEAR,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_OVERLAY_LINEAR,
-  GIMP_LAYER_MODE_SOFTLIGHT_LINEAR,
-  GIMP_LAYER_MODE_HARDLIGHT_LINEAR,
-  GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR,
-  GIMP_LAYER_MODE_PIN_LIGHT_LINEAR,
-  GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR,
-  GIMP_LAYER_MODE_HARD_MIX_LINEAR,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_DIFFERENCE_LINEAR,
-  GIMP_LAYER_MODE_SUBTRACT_LINEAR,
-  GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR,
-  GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR,
-  GIMP_LAYER_MODE_DIVIDE_LINEAR,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_EXCLUSION_LINEAR,
-  GIMP_LAYER_MODE_LINEAR_BURN_LINEAR
-};
-
-static const GimpLayerMode layer_mode_group_perceptual[] =
-{
-  GIMP_LAYER_MODE_NORMAL,
-  GIMP_LAYER_MODE_DISSOLVE,
-  GIMP_LAYER_MODE_BEHIND,
-  GIMP_LAYER_MODE_COLOR_ERASE,
-
-  GIMP_LAYER_MODE_SEPARATOR,
-
-  GIMP_LAYER_MODE_LIGHTEN_ONLY,
   GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,
   GIMP_LAYER_MODE_SCREEN,
   GIMP_LAYER_MODE_DODGE,
@@ -1214,6 +885,7 @@ static const GimpLayerMode layer_mode_group_legacy[] =
 {
   GIMP_LAYER_MODE_NORMAL,
   GIMP_LAYER_MODE_DISSOLVE,
+  GIMP_LAYER_MODE_BEHIND_LEGACY,
 
   GIMP_LAYER_MODE_SEPARATOR,
 
@@ -1249,209 +921,141 @@ static const GimpLayerMode layer_mode_group_legacy[] =
   GIMP_LAYER_MODE_HSV_VALUE_LEGACY
 };
 
-static const GimpLayerMode layer_mode_groups[][4] =
+static const GimpLayerMode layer_mode_groups[][2] =
 {
-  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_NORMAL,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_NORMAL_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_NORMAL,
-    [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_NORMAL
+  { [GIMP_LAYER_MODE_GROUP_DEFAULT ] = GIMP_LAYER_MODE_NORMAL,
+    [GIMP_LAYER_MODE_GROUP_LEGACY  ] = GIMP_LAYER_MODE_NORMAL
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_DISSOLVE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_DISSOLVE,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_DISSOLVE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_DISSOLVE
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_BEHIND,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_BEHIND_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_BEHIND,
-    [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_BEHIND
+    [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_BEHIND_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_MULTIPLY,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_MULTIPLY_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_MULTIPLY,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_MULTIPLY_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_SCREEN,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_SCREEN_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_SCREEN,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_SCREEN_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_OVERLAY,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_OVERLAY_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_OVERLAY,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_DIFFERENCE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_DIFFERENCE_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_DIFFERENCE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_DIFFERENCE_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_ADDITION,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_ADDITION_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_ADDITION,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_ADDITION_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_SUBTRACT,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_SUBTRACT_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_SUBTRACT,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_SUBTRACT_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_DARKEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_DARKEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_DARKEN_ONLY,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_DARKEN_ONLY_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_LIGHTEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_LIGHTEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_LIGHTEN_ONLY,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_LIGHTEN_ONLY_LEGACY
   },
 
-  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = -1,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = -1,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_HSV_HUE,
+  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_HSV_HUE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_HSV_HUE_LEGACY
   },
 
-  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = -1,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = -1,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_HSV_SATURATION,
+  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_HSV_SATURATION,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_HSV_SATURATION_LEGACY
   },
 
-  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = -1,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = -1,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_HSV_COLOR,
+  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_HSV_COLOR,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_HSV_COLOR_LEGACY
   },
 
-  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = -1,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = -1,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_HSV_VALUE,
+  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_HSV_VALUE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_HSV_VALUE_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_DIVIDE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_DIVIDE_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_DIVIDE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_DIVIDE_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_DODGE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_DODGE_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_DODGE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_DODGE_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_BURN,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_BURN_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_BURN,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_BURN_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_HARDLIGHT,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_HARDLIGHT_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_HARDLIGHT,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_HARDLIGHT_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_SOFTLIGHT,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_SOFTLIGHT_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_SOFTLIGHT,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_SOFTLIGHT_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_GRAIN_EXTRACT,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_GRAIN_EXTRACT,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_GRAIN_EXTRACT_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_GRAIN_MERGE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_GRAIN_MERGE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = GIMP_LAYER_MODE_GRAIN_MERGE_LEGACY
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_COLOR_ERASE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = -1,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_COLOR_ERASE,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1,
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_VIVID_LIGHT,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_VIVID_LIGHT,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_PIN_LIGHT,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_PIN_LIGHT_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_PIN_LIGHT,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_LINEAR_LIGHT,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_LINEAR_LIGHT,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_HARD_MIX,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_HARD_MIX_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_HARD_MIX,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_EXCLUSION,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_EXCLUSION_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_EXCLUSION,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_LINEAR_BURN,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_LINEAR_BURN_LINEAR,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_LINEAR_BURN,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
-  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_LUMA_DARKEN_ONLY,
+  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_LUMA_DARKEN_ONLY,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
-  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,
+  { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_ERASE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_ERASE,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = -1,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_REPLACE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_REPLACE,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = -1,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   },
 
   { [GIMP_LAYER_MODE_GROUP_DEFAULT   ] = GIMP_LAYER_MODE_ANTI_ERASE,
-    [GIMP_LAYER_MODE_GROUP_LINEAR    ] = GIMP_LAYER_MODE_ANTI_ERASE,
-    [GIMP_LAYER_MODE_GROUP_PERCEPTUAL] = -1,
     [GIMP_LAYER_MODE_GROUP_LEGACY    ] = -1
   }
 };
@@ -1600,16 +1204,6 @@ gimp_layer_mode_get_group (GimpLayerMode  mode)
     {
       return GIMP_LAYER_MODE_GROUP_DEFAULT;
     }
-  else if (is_mode_in_array (layer_mode_group_linear,
-                             G_N_ELEMENTS (layer_mode_group_linear), mode))
-    {
-      return GIMP_LAYER_MODE_GROUP_LINEAR;
-    }
-  else if (is_mode_in_array (layer_mode_group_perceptual,
-                             G_N_ELEMENTS (layer_mode_group_perceptual), mode))
-    {
-      return GIMP_LAYER_MODE_GROUP_PERCEPTUAL;
-    }
   else if (is_mode_in_array (layer_mode_group_legacy,
                              G_N_ELEMENTS (layer_mode_group_legacy), mode))
     {
@@ -1631,14 +1225,6 @@ gimp_layer_mode_get_group_array (GimpLayerModeGroup  group,
       *n_modes = G_N_ELEMENTS (layer_mode_group_default);
       return layer_mode_group_default;
 
-    case GIMP_LAYER_MODE_GROUP_LINEAR:
-      *n_modes = G_N_ELEMENTS (layer_mode_group_linear);
-      return layer_mode_group_linear;
-
-    case GIMP_LAYER_MODE_GROUP_PERCEPTUAL:
-      *n_modes = G_N_ELEMENTS (layer_mode_group_perceptual);
-      return layer_mode_group_perceptual;
-
     case GIMP_LAYER_MODE_GROUP_LEGACY:
       *n_modes = G_N_ELEMENTS (layer_mode_group_legacy);
       return layer_mode_group_legacy;
@@ -1659,7 +1245,7 @@ gimp_layer_mode_get_for_group (GimpLayerMode       old_mode,
 
   for (i = 0; i < G_N_ELEMENTS (layer_mode_groups); i++)
     {
-      if (is_mode_in_array (layer_mode_groups[i], 4, old_mode))
+      if (is_mode_in_array (layer_mode_groups[i], 2, old_mode))
         {
           *new_mode = layer_mode_groups[i][new_group];
 
diff --git a/app/operations/layer-modes/gimpoperationlayermode.c 
b/app/operations/layer-modes/gimpoperationlayermode.c
index 7565c2e..69574d9 100644
--- a/app/operations/layer-modes/gimpoperationlayermode.c
+++ b/app/operations/layer-modes/gimpoperationlayermode.c
@@ -1839,25 +1839,16 @@ gimp_layer_mode_get_blend_fun (GimpLayerMode mode)
 {
   switch (mode)
     {
-    case GIMP_LAYER_MODE_SCREEN_LINEAR:
     case GIMP_LAYER_MODE_SCREEN:         return blendfun_screen;
-    case GIMP_LAYER_MODE_ADDITION_LINEAR:
     case GIMP_LAYER_MODE_ADDITION:       return blendfun_addition;
-    case GIMP_LAYER_MODE_SUBTRACT_LINEAR:
     case GIMP_LAYER_MODE_SUBTRACT:       return blendfun_subtract;
-    case GIMP_LAYER_MODE_MULTIPLY_LINEAR:
     case GIMP_LAYER_MODE_MULTIPLY:       return blendfun_multiply;
     case GIMP_LAYER_MODE_NORMAL_LINEAR:
     case GIMP_LAYER_MODE_NORMAL:         return blendfun_normal;
-    case GIMP_LAYER_MODE_BURN_LINEAR:
     case GIMP_LAYER_MODE_BURN:           return blendfun_burn;
-    case GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR:
     case GIMP_LAYER_MODE_GRAIN_MERGE:    return blendfun_grain_merge;
-    case GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR:
     case GIMP_LAYER_MODE_GRAIN_EXTRACT:  return blendfun_grain_extract;
-    case GIMP_LAYER_MODE_DODGE_LINEAR:
     case GIMP_LAYER_MODE_DODGE:          return blendfun_dodge;
-    case GIMP_LAYER_MODE_OVERLAY_LINEAR:
     case GIMP_LAYER_MODE_OVERLAY:        return blendfun_overlay;
     case GIMP_LAYER_MODE_HSV_COLOR:      return blendfun_hsv_color;
     case GIMP_LAYER_MODE_HSV_HUE:        return blendfun_hsv_hue;
@@ -1867,36 +1858,24 @@ gimp_layer_mode_get_blend_fun (GimpLayerMode mode)
     case GIMP_LAYER_MODE_LCH_COLOR:      return blendfun_lch_color;
     case GIMP_LAYER_MODE_LCH_HUE:        return blendfun_lch_hue;
     case GIMP_LAYER_MODE_LCH_LIGHTNESS:  return blendfun_lch_lightness;
-    case GIMP_LAYER_MODE_HARDLIGHT_LINEAR:
     case GIMP_LAYER_MODE_HARDLIGHT:      return blendfun_hardlight;
-    case GIMP_LAYER_MODE_SOFTLIGHT_LINEAR:
     case GIMP_LAYER_MODE_SOFTLIGHT:      return blendfun_softlight;
-    case GIMP_LAYER_MODE_DIVIDE:
-    case GIMP_LAYER_MODE_DIVIDE_LINEAR:  return blendfun_divide;
-    case GIMP_LAYER_MODE_DIFFERENCE_LINEAR:
+    case GIMP_LAYER_MODE_DIVIDE:         return blendfun_divide;
     case GIMP_LAYER_MODE_DIFFERENCE:     return blendfun_difference;
     case GIMP_LAYER_MODE_DARKEN_ONLY:    return blendfun_darken_only;
     case GIMP_LAYER_MODE_LIGHTEN_ONLY:   return blendfun_lighten_only;
-    case GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY:
     case GIMP_LAYER_MODE_LUMA_DARKEN_ONLY:  return blendfun_luminance_darken_only;
-    case GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY:
     case GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY: return blendfun_luminance_lighten_only;
-    case GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR:
     case GIMP_LAYER_MODE_VIVID_LIGHT:    return blendfun_vivid_light;
-    case GIMP_LAYER_MODE_PIN_LIGHT_LINEAR:
     case GIMP_LAYER_MODE_PIN_LIGHT:      return blendfun_pin_light;
-    case GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR:
     case GIMP_LAYER_MODE_LINEAR_LIGHT:   return blendfun_linear_light;
-    case GIMP_LAYER_MODE_HARD_MIX_LINEAR:
     case GIMP_LAYER_MODE_HARD_MIX:       return blendfun_hard_mix;
-    case GIMP_LAYER_MODE_EXCLUSION_LINEAR:
     case GIMP_LAYER_MODE_EXCLUSION:      return blendfun_exclusion;
-    case GIMP_LAYER_MODE_LINEAR_BURN_LINEAR:
     case GIMP_LAYER_MODE_LINEAR_BURN:    return blendfun_linear_burn;
 
     case GIMP_LAYER_MODE_DISSOLVE:
+    case GIMP_LAYER_MODE_BEHIND_LEGACY:
     case GIMP_LAYER_MODE_BEHIND:
-    case GIMP_LAYER_MODE_BEHIND_LINEAR:
     case GIMP_LAYER_MODE_MULTIPLY_LEGACY:
     case GIMP_LAYER_MODE_SCREEN_LEGACY:
     case GIMP_LAYER_MODE_OVERLAY_LEGACY:
diff --git a/app/operations/operations-enums.c b/app/operations/operations-enums.c
index 922da98..378f914 100644
--- a/app/operations/operations-enums.c
+++ b/app/operations/operations-enums.c
@@ -83,7 +83,7 @@ gimp_layer_mode_get_type (void)
   {
     { GIMP_LAYER_MODE_NORMAL, "GIMP_LAYER_MODE_NORMAL", "normal" },
     { GIMP_LAYER_MODE_DISSOLVE, "GIMP_LAYER_MODE_DISSOLVE", "dissolve" },
-    { GIMP_LAYER_MODE_BEHIND, "GIMP_LAYER_MODE_BEHIND", "behind" },
+    { GIMP_LAYER_MODE_BEHIND_LEGACY, "GIMP_LAYER_MODE_BEHIND_LEGACY", "behind-legacy" },
     { GIMP_LAYER_MODE_MULTIPLY_LEGACY, "GIMP_LAYER_MODE_MULTIPLY_LEGACY", "multiply-legacy" },
     { GIMP_LAYER_MODE_SCREEN_LEGACY, "GIMP_LAYER_MODE_SCREEN_LEGACY", "screen-legacy" },
     { GIMP_LAYER_MODE_OVERLAY_LEGACY, "GIMP_LAYER_MODE_OVERLAY_LEGACY", "overlay-legacy" },
@@ -110,18 +110,12 @@ gimp_layer_mode_get_type (void)
     { GIMP_LAYER_MODE_LCH_COLOR, "GIMP_LAYER_MODE_LCH_COLOR", "lch-color" },
     { GIMP_LAYER_MODE_LCH_LIGHTNESS, "GIMP_LAYER_MODE_LCH_LIGHTNESS", "lch-lightness" },
     { GIMP_LAYER_MODE_NORMAL_LINEAR, "GIMP_LAYER_MODE_NORMAL_LINEAR", "normal-linear" },
-    { GIMP_LAYER_MODE_BEHIND_LINEAR, "GIMP_LAYER_MODE_BEHIND_LINEAR", "behind-linear" },
+    { GIMP_LAYER_MODE_BEHIND, "GIMP_LAYER_MODE_BEHIND", "behind" },
     { GIMP_LAYER_MODE_MULTIPLY, "GIMP_LAYER_MODE_MULTIPLY", "multiply" },
-    { GIMP_LAYER_MODE_MULTIPLY_LINEAR, "GIMP_LAYER_MODE_MULTIPLY_LINEAR", "multiply-linear" },
     { GIMP_LAYER_MODE_SCREEN, "GIMP_LAYER_MODE_SCREEN", "screen" },
-    { GIMP_LAYER_MODE_SCREEN_LINEAR, "GIMP_LAYER_MODE_SCREEN_LINEAR", "screen-linear" },
-    { GIMP_LAYER_MODE_OVERLAY_LINEAR, "GIMP_LAYER_MODE_OVERLAY_LINEAR", "overlay-linear" },
     { GIMP_LAYER_MODE_DIFFERENCE, "GIMP_LAYER_MODE_DIFFERENCE", "difference" },
-    { GIMP_LAYER_MODE_DIFFERENCE_LINEAR, "GIMP_LAYER_MODE_DIFFERENCE_LINEAR", "difference-linear" },
     { GIMP_LAYER_MODE_ADDITION, "GIMP_LAYER_MODE_ADDITION", "addition" },
-    { GIMP_LAYER_MODE_ADDITION_LINEAR, "GIMP_LAYER_MODE_ADDITION_LINEAR", "addition-linear" },
     { GIMP_LAYER_MODE_SUBTRACT, "GIMP_LAYER_MODE_SUBTRACT", "subtract" },
-    { GIMP_LAYER_MODE_SUBTRACT_LINEAR, "GIMP_LAYER_MODE_SUBTRACT_LINEAR", "subtract-linear" },
     { GIMP_LAYER_MODE_DARKEN_ONLY, "GIMP_LAYER_MODE_DARKEN_ONLY", "darken-only" },
     { GIMP_LAYER_MODE_LIGHTEN_ONLY, "GIMP_LAYER_MODE_LIGHTEN_ONLY", "lighten-only" },
     { GIMP_LAYER_MODE_HSV_HUE, "GIMP_LAYER_MODE_HSV_HUE", "hsv-hue" },
@@ -129,35 +123,20 @@ gimp_layer_mode_get_type (void)
     { GIMP_LAYER_MODE_HSV_COLOR, "GIMP_LAYER_MODE_HSV_COLOR", "hsv-color" },
     { GIMP_LAYER_MODE_HSV_VALUE, "GIMP_LAYER_MODE_HSV_VALUE", "hsv-value" },
     { GIMP_LAYER_MODE_DIVIDE, "GIMP_LAYER_MODE_DIVIDE", "divide" },
-    { GIMP_LAYER_MODE_DIVIDE_LINEAR, "GIMP_LAYER_MODE_DIVIDE_LINEAR", "divide-linear" },
     { GIMP_LAYER_MODE_DODGE, "GIMP_LAYER_MODE_DODGE", "dodge" },
-    { GIMP_LAYER_MODE_DODGE_LINEAR, "GIMP_LAYER_MODE_DODGE_LINEAR", "dodge-linear" },
     { GIMP_LAYER_MODE_BURN, "GIMP_LAYER_MODE_BURN", "burn" },
-    { GIMP_LAYER_MODE_BURN_LINEAR, "GIMP_LAYER_MODE_BURN_LINEAR", "burn-linear" },
     { GIMP_LAYER_MODE_HARDLIGHT, "GIMP_LAYER_MODE_HARDLIGHT", "hardlight" },
-    { GIMP_LAYER_MODE_HARDLIGHT_LINEAR, "GIMP_LAYER_MODE_HARDLIGHT_LINEAR", "hardlight-linear" },
     { GIMP_LAYER_MODE_SOFTLIGHT, "GIMP_LAYER_MODE_SOFTLIGHT", "softlight" },
-    { GIMP_LAYER_MODE_SOFTLIGHT_LINEAR, "GIMP_LAYER_MODE_SOFTLIGHT_LINEAR", "softlight-linear" },
     { GIMP_LAYER_MODE_GRAIN_EXTRACT, "GIMP_LAYER_MODE_GRAIN_EXTRACT", "grain-extract" },
-    { GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR, "GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR", "grain-extract-linear" },
     { GIMP_LAYER_MODE_GRAIN_MERGE, "GIMP_LAYER_MODE_GRAIN_MERGE", "grain-merge" },
-    { GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR, "GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR", "grain-merge-linear" },
     { GIMP_LAYER_MODE_VIVID_LIGHT, "GIMP_LAYER_MODE_VIVID_LIGHT", "vivid-light" },
-    { GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR, "GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR", "vivid-light-linear" },
     { GIMP_LAYER_MODE_PIN_LIGHT, "GIMP_LAYER_MODE_PIN_LIGHT", "pin-light" },
-    { GIMP_LAYER_MODE_PIN_LIGHT_LINEAR, "GIMP_LAYER_MODE_PIN_LIGHT_LINEAR", "pin-light-linear" },
     { GIMP_LAYER_MODE_LINEAR_LIGHT, "GIMP_LAYER_MODE_LINEAR_LIGHT", "linear-light" },
-    { GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR, "GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR", "linear-light-linear" },
     { GIMP_LAYER_MODE_HARD_MIX, "GIMP_LAYER_MODE_HARD_MIX", "hard-mix" },
-    { GIMP_LAYER_MODE_HARD_MIX_LINEAR, "GIMP_LAYER_MODE_HARD_MIX_LINEAR", "hard-mix-linear" },
     { GIMP_LAYER_MODE_EXCLUSION, "GIMP_LAYER_MODE_EXCLUSION", "exclusion" },
-    { GIMP_LAYER_MODE_EXCLUSION_LINEAR, "GIMP_LAYER_MODE_EXCLUSION_LINEAR", "exclusion-linear" },
     { GIMP_LAYER_MODE_LINEAR_BURN, "GIMP_LAYER_MODE_LINEAR_BURN", "linear-burn" },
-    { GIMP_LAYER_MODE_LINEAR_BURN_LINEAR, "GIMP_LAYER_MODE_LINEAR_BURN_LINEAR", "linear-burn-linear" },
     { GIMP_LAYER_MODE_LUMA_DARKEN_ONLY, "GIMP_LAYER_MODE_LUMA_DARKEN_ONLY", "luma-darken-only" },
-    { GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY, "GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY", 
"luminance-darken-only" },
     { GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY, "GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY", "luma-lighten-only" },
-    { GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY, "GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY", 
"luminance-lighten-only" },
     { GIMP_LAYER_MODE_ERASE, "GIMP_LAYER_MODE_ERASE", "erase" },
     { GIMP_LAYER_MODE_REPLACE, "GIMP_LAYER_MODE_REPLACE", "replace" },
     { GIMP_LAYER_MODE_ANTI_ERASE, "GIMP_LAYER_MODE_ANTI_ERASE", "anti-erase" },
@@ -168,7 +147,7 @@ gimp_layer_mode_get_type (void)
   {
     { GIMP_LAYER_MODE_NORMAL, NC_("layer-mode", "Normal"), NULL },
     { GIMP_LAYER_MODE_DISSOLVE, NC_("layer-mode", "Dissolve"), NULL },
-    { GIMP_LAYER_MODE_BEHIND, NC_("layer-mode", "Behind"), NULL },
+    { GIMP_LAYER_MODE_BEHIND_LEGACY, NC_("layer-mode", "Behind (legacy)"), NULL },
     { GIMP_LAYER_MODE_MULTIPLY_LEGACY, NC_("layer-mode", "Multiply (legacy)"), NULL },
     { GIMP_LAYER_MODE_SCREEN_LEGACY, NC_("layer-mode", "Screen (legacy)"), NULL },
     { GIMP_LAYER_MODE_OVERLAY_LEGACY, NC_("layer-mode", "Old broken Overlay"), NULL },
@@ -195,18 +174,12 @@ gimp_layer_mode_get_type (void)
     { GIMP_LAYER_MODE_LCH_COLOR, NC_("layer-mode", "Color (LCH)"), NULL },
     { GIMP_LAYER_MODE_LCH_LIGHTNESS, NC_("layer-mode", "Lightness (LCH)"), NULL },
     { GIMP_LAYER_MODE_NORMAL_LINEAR, NC_("layer-mode", "Normal (linear)"), NULL },
-    { GIMP_LAYER_MODE_BEHIND_LINEAR, NC_("layer-mode", "Behind (linear)"), NULL },
+    { GIMP_LAYER_MODE_BEHIND, NC_("layer-mode", "Behind"), NULL },
     { GIMP_LAYER_MODE_MULTIPLY, NC_("layer-mode", "Multiply"), NULL },
-    { GIMP_LAYER_MODE_MULTIPLY_LINEAR, NC_("layer-mode", "Multiply (linear)"), NULL },
     { GIMP_LAYER_MODE_SCREEN, NC_("layer-mode", "Screen"), NULL },
-    { GIMP_LAYER_MODE_SCREEN_LINEAR, NC_("layer-mode", "Screen (linear)"), NULL },
-    { GIMP_LAYER_MODE_OVERLAY_LINEAR, NC_("layer-mode", "Overlay (linear)"), NULL },
     { GIMP_LAYER_MODE_DIFFERENCE, NC_("layer-mode", "Difference"), NULL },
-    { GIMP_LAYER_MODE_DIFFERENCE_LINEAR, NC_("layer-mode", "Difference (linear)"), NULL },
     { GIMP_LAYER_MODE_ADDITION, NC_("layer-mode", "Addition"), NULL },
-    { GIMP_LAYER_MODE_ADDITION_LINEAR, NC_("layer-mode", "Addition (linear)"), NULL },
     { GIMP_LAYER_MODE_SUBTRACT, NC_("layer-mode", "Subtract"), NULL },
-    { GIMP_LAYER_MODE_SUBTRACT_LINEAR, NC_("layer-mode", "Subtract (linear)"), NULL },
     { GIMP_LAYER_MODE_DARKEN_ONLY, NC_("layer-mode", "Darken only"), NULL },
     { GIMP_LAYER_MODE_LIGHTEN_ONLY, NC_("layer-mode", "Lighten only"), NULL },
     { GIMP_LAYER_MODE_HSV_HUE, NC_("layer-mode", "Hue (HSV)"), NULL },
@@ -214,35 +187,20 @@ gimp_layer_mode_get_type (void)
     { GIMP_LAYER_MODE_HSV_COLOR, NC_("layer-mode", "Color (HSV)"), NULL },
     { GIMP_LAYER_MODE_HSV_VALUE, NC_("layer-mode", "Value (HSV)"), NULL },
     { GIMP_LAYER_MODE_DIVIDE, NC_("layer-mode", "Divide"), NULL },
-    { GIMP_LAYER_MODE_DIVIDE_LINEAR, NC_("layer-mode", "Divide (linear)"), NULL },
     { GIMP_LAYER_MODE_DODGE, NC_("layer-mode", "Dodge"), NULL },
-    { GIMP_LAYER_MODE_DODGE_LINEAR, NC_("layer-mode", "Dodge (linear)"), NULL },
     { GIMP_LAYER_MODE_BURN, NC_("layer-mode", "Burn"), NULL },
-    { GIMP_LAYER_MODE_BURN_LINEAR, NC_("layer-mode", "Burn (linear)"), NULL },
     { GIMP_LAYER_MODE_HARDLIGHT, NC_("layer-mode", "Hard light"), NULL },
-    { GIMP_LAYER_MODE_HARDLIGHT_LINEAR, NC_("layer-mode", "Hard light (linear)"), NULL },
     { GIMP_LAYER_MODE_SOFTLIGHT, NC_("layer-mode", "Soft light"), NULL },
-    { GIMP_LAYER_MODE_SOFTLIGHT_LINEAR, NC_("layer-mode", "Soft light (linear)"), NULL },
     { GIMP_LAYER_MODE_GRAIN_EXTRACT, NC_("layer-mode", "Grain extract"), NULL },
-    { GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR, NC_("layer-mode", "Grain extract (linear)"), NULL },
     { GIMP_LAYER_MODE_GRAIN_MERGE, NC_("layer-mode", "Grain merge"), NULL },
-    { GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR, NC_("layer-mode", "Grain merge (linear)"), NULL },
     { GIMP_LAYER_MODE_VIVID_LIGHT, NC_("layer-mode", "Vivid light"), NULL },
-    { GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR, NC_("layer-mode", "Vivid light (linear)"), NULL },
     { GIMP_LAYER_MODE_PIN_LIGHT, NC_("layer-mode", "Pin light"), NULL },
-    { GIMP_LAYER_MODE_PIN_LIGHT_LINEAR, NC_("layer-mode", "Pin light (linear)"), NULL },
     { GIMP_LAYER_MODE_LINEAR_LIGHT, NC_("layer-mode", "Linear light"), NULL },
-    { GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR, NC_("layer-mode", "Linear light (linear)"), NULL },
     { GIMP_LAYER_MODE_HARD_MIX, NC_("layer-mode", "Hard mix"), NULL },
-    { GIMP_LAYER_MODE_HARD_MIX_LINEAR, NC_("layer-mode", "Hard mix (linear)"), NULL },
     { GIMP_LAYER_MODE_EXCLUSION, NC_("layer-mode", "Exclusion"), NULL },
-    { GIMP_LAYER_MODE_EXCLUSION_LINEAR, NC_("layer-mode", "Exclusion (linear)"), NULL },
     { GIMP_LAYER_MODE_LINEAR_BURN, NC_("layer-mode", "Linear burn"), NULL },
-    { GIMP_LAYER_MODE_LINEAR_BURN_LINEAR, NC_("layer-mode", "Linear burn (linear)"), NULL },
-    { GIMP_LAYER_MODE_LUMA_DARKEN_ONLY, NC_("layer-mode", "Luma darken only"), NULL },
-    { GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY, NC_("layer-mode", "Luminance darken only"), NULL },
-    { GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY, NC_("layer-mode", "Luma lighten only"), NULL },
-    { GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY, NC_("layer-mode", "Luminance lighten only"), NULL },
+    { GIMP_LAYER_MODE_LUMA_DARKEN_ONLY, NC_("layer-mode", "Luma/Luminance darken only"), NULL },
+    { GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY, NC_("layer-mode", "Luma/Luminance lighten only"), NULL },
     { GIMP_LAYER_MODE_ERASE, NC_("layer-mode", "Erase"), NULL },
     { GIMP_LAYER_MODE_REPLACE, NC_("layer-mode", "Replace"), NULL },
     { GIMP_LAYER_MODE_ANTI_ERASE, NC_("layer-mode", "Anti erase"), NULL },
@@ -267,8 +225,6 @@ gimp_layer_mode_group_get_type (void)
   static const GEnumValue values[] =
   {
     { GIMP_LAYER_MODE_GROUP_DEFAULT, "GIMP_LAYER_MODE_GROUP_DEFAULT", "default" },
-    { GIMP_LAYER_MODE_GROUP_LINEAR, "GIMP_LAYER_MODE_GROUP_LINEAR", "linear" },
-    { GIMP_LAYER_MODE_GROUP_PERCEPTUAL, "GIMP_LAYER_MODE_GROUP_PERCEPTUAL", "perceptual" },
     { GIMP_LAYER_MODE_GROUP_LEGACY, "GIMP_LAYER_MODE_GROUP_LEGACY", "legacy" },
     { 0, NULL, NULL }
   };
@@ -276,8 +232,6 @@ gimp_layer_mode_group_get_type (void)
   static const GimpEnumDesc descs[] =
   {
     { GIMP_LAYER_MODE_GROUP_DEFAULT, NC_("layer-mode-group", "Default"), NULL },
-    { GIMP_LAYER_MODE_GROUP_LINEAR, NC_("layer-mode-group", "Linear light"), NULL },
-    { GIMP_LAYER_MODE_GROUP_PERCEPTUAL, NC_("layer-mode-group", "Perceptual"), NULL },
     { GIMP_LAYER_MODE_GROUP_LEGACY, NC_("layer-mode-group", "Legacy"), NULL },
     { 0, NULL, NULL }
   };
diff --git a/app/operations/operations-enums.h b/app/operations/operations-enums.h
index f6a75d5..0d05799 100644
--- a/app/operations/operations-enums.h
+++ b/app/operations/operations-enums.h
@@ -57,7 +57,7 @@ typedef enum
   /*  Modes that exist since ancient times  */
   GIMP_LAYER_MODE_NORMAL,                /*< desc="Normal"                   >*/
   GIMP_LAYER_MODE_DISSOLVE,              /*< desc="Dissolve"                 >*/
-  GIMP_LAYER_MODE_BEHIND,                /*< desc="Behind"                   >*/
+  GIMP_LAYER_MODE_BEHIND_LEGACY,         /*< desc="Behind (legacy)"          >*/
   GIMP_LAYER_MODE_MULTIPLY_LEGACY,       /*< desc="Multiply (legacy)"        >*/
   GIMP_LAYER_MODE_SCREEN_LEGACY,         /*< desc="Screen (legacy)"          >*/
   GIMP_LAYER_MODE_OVERLAY_LEGACY,        /*< desc="Old broken Overlay"       >*/
@@ -88,18 +88,12 @@ typedef enum
 
   /*  Since 2.10  */
   GIMP_LAYER_MODE_NORMAL_LINEAR,         /*< desc="Normal (linear)"          >*/
-  GIMP_LAYER_MODE_BEHIND_LINEAR,         /*< desc="Behind (linear)"          >*/
+  GIMP_LAYER_MODE_BEHIND,                /*< desc="Behind"                   >*/
   GIMP_LAYER_MODE_MULTIPLY,              /*< desc="Multiply"                 >*/
-  GIMP_LAYER_MODE_MULTIPLY_LINEAR,       /*< desc="Multiply (linear)"        >*/
   GIMP_LAYER_MODE_SCREEN,                /*< desc="Screen"                   >*/
-  GIMP_LAYER_MODE_SCREEN_LINEAR,         /*< desc="Screen (linear)"          >*/
-  GIMP_LAYER_MODE_OVERLAY_LINEAR,        /*< desc="Overlay (linear)"         >*/
   GIMP_LAYER_MODE_DIFFERENCE,            /*< desc="Difference"               >*/
-  GIMP_LAYER_MODE_DIFFERENCE_LINEAR,     /*< desc="Difference (linear)"      >*/
   GIMP_LAYER_MODE_ADDITION,              /*< desc="Addition"                 >*/
-  GIMP_LAYER_MODE_ADDITION_LINEAR,       /*< desc="Addition (linear)"        >*/
   GIMP_LAYER_MODE_SUBTRACT,              /*< desc="Subtract"                 >*/
-  GIMP_LAYER_MODE_SUBTRACT_LINEAR,       /*< desc="Subtract (linear)"        >*/
   GIMP_LAYER_MODE_DARKEN_ONLY,           /*< desc="Darken only"              >*/
   GIMP_LAYER_MODE_LIGHTEN_ONLY,          /*< desc="Lighten only"             >*/
   GIMP_LAYER_MODE_HSV_HUE,               /*< desc="Hue (HSV)"                >*/
@@ -107,35 +101,20 @@ typedef enum
   GIMP_LAYER_MODE_HSV_COLOR,             /*< desc="Color (HSV)"              >*/
   GIMP_LAYER_MODE_HSV_VALUE,             /*< desc="Value (HSV)"              >*/
   GIMP_LAYER_MODE_DIVIDE,                /*< desc="Divide"                   >*/
-  GIMP_LAYER_MODE_DIVIDE_LINEAR,         /*< desc="Divide (linear)"          >*/
   GIMP_LAYER_MODE_DODGE,                 /*< desc="Dodge"                    >*/
-  GIMP_LAYER_MODE_DODGE_LINEAR,          /*< desc="Dodge (linear)"           >*/
   GIMP_LAYER_MODE_BURN,                  /*< desc="Burn"                     >*/
-  GIMP_LAYER_MODE_BURN_LINEAR,           /*< desc="Burn (linear)"            >*/
   GIMP_LAYER_MODE_HARDLIGHT,             /*< desc="Hard light"               >*/
-  GIMP_LAYER_MODE_HARDLIGHT_LINEAR,      /*< desc="Hard light (linear)"      >*/
   GIMP_LAYER_MODE_SOFTLIGHT,             /*< desc="Soft light"               >*/
-  GIMP_LAYER_MODE_SOFTLIGHT_LINEAR,      /*< desc="Soft light (linear)"      >*/
   GIMP_LAYER_MODE_GRAIN_EXTRACT,         /*< desc="Grain extract"            >*/
-  GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR,  /*< desc="Grain extract (linear)"   >*/
   GIMP_LAYER_MODE_GRAIN_MERGE,           /*< desc="Grain merge"              >*/
-  GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR,    /*< desc="Grain merge (linear)"     >*/
   GIMP_LAYER_MODE_VIVID_LIGHT,           /*< desc="Vivid light"              >*/
-  GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR,    /*< desc="Vivid light (linear)"     >*/
   GIMP_LAYER_MODE_PIN_LIGHT,             /*< desc="Pin light"                >*/
-  GIMP_LAYER_MODE_PIN_LIGHT_LINEAR,      /*< desc="Pin light (linear)"       >*/
   GIMP_LAYER_MODE_LINEAR_LIGHT,          /*< desc="Linear light"             >*/
-  GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR,   /*< desc="Linear light (linear)"    >*/
   GIMP_LAYER_MODE_HARD_MIX,              /*< desc="Hard mix"                 >*/
-  GIMP_LAYER_MODE_HARD_MIX_LINEAR,       /*< desc="Hard mix (linear)"        >*/
   GIMP_LAYER_MODE_EXCLUSION,             /*< desc="Exclusion"                >*/
-  GIMP_LAYER_MODE_EXCLUSION_LINEAR,      /*< desc="Exclusion (linear)"       >*/
   GIMP_LAYER_MODE_LINEAR_BURN,           /*< desc="Linear burn"              >*/
-  GIMP_LAYER_MODE_LINEAR_BURN_LINEAR,    /*< desc="Linear burn (linear)"     >*/
-  GIMP_LAYER_MODE_LUMA_DARKEN_ONLY,      /*< desc="Luma darken only"         >*/
-  GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY, /*< desc="Luminance darken only"    >*/
-  GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,     /*< desc="Luma lighten only"        >*/
-  GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY,/*< desc="Luminance lighten only"   >*/
+  GIMP_LAYER_MODE_LUMA_DARKEN_ONLY,   /*< desc="Luma/Luminance darken only"  >*/
+  GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,  /*< desc="Luma/Luminance lighten only" >*/
 
   /*  Internal modes, not available to the PDB, must be kept at the end  */
   GIMP_LAYER_MODE_ERASE,                 /*< pdb-skip, desc="Erase"          >*/
@@ -154,8 +133,6 @@ GType gimp_layer_mode_group_get_type (void) G_GNUC_CONST;
 typedef enum  /*< pdb-skip >*/
 {
   GIMP_LAYER_MODE_GROUP_DEFAULT,     /*< desc="Default"      >*/
-  GIMP_LAYER_MODE_GROUP_LINEAR,      /*< desc="Linear light" >*/
-  GIMP_LAYER_MODE_GROUP_PERCEPTUAL,  /*< desc="Perceptual"   >*/
   GIMP_LAYER_MODE_GROUP_LEGACY,      /*< desc="Legacy"       >*/
 } GimpLayerModeGroup;
 
diff --git a/app/widgets/gimplayermodebox.c b/app/widgets/gimplayermodebox.c
index dab37e9..a467632 100644
--- a/app/widgets/gimplayermodebox.c
+++ b/app/widgets/gimplayermodebox.c
@@ -163,13 +163,11 @@ gimp_layer_mode_box_constructed (GObject *object)
 
   group_model = gtk_combo_box_get_model (GTK_COMBO_BOX (group_combo));
 
-  for (i = 0; i < 4; i++)
+  for (i = 0; i < 2; i++)
     {
       static const gchar *icons[] =
       {
         "gimp-reset",
-        "gimp-histogram-linear",
-        "gimp-visible",
         "gimp-wilber-eek"
       };
 
diff --git a/libgimp/gimpenums.h b/libgimp/gimpenums.h
index d01a2bf..417e41b 100644
--- a/libgimp/gimpenums.h
+++ b/libgimp/gimpenums.h
@@ -85,7 +85,7 @@ typedef enum
 {
   GIMP_LAYER_MODE_NORMAL,
   GIMP_LAYER_MODE_DISSOLVE,
-  GIMP_LAYER_MODE_BEHIND,
+  GIMP_LAYER_MODE_BEHIND_LEGACY,
   GIMP_LAYER_MODE_MULTIPLY_LEGACY,
   GIMP_LAYER_MODE_SCREEN_LEGACY,
   GIMP_LAYER_MODE_OVERLAY_LEGACY,
@@ -112,18 +112,12 @@ typedef enum
   GIMP_LAYER_MODE_LCH_COLOR,
   GIMP_LAYER_MODE_LCH_LIGHTNESS,
   GIMP_LAYER_MODE_NORMAL_LINEAR,
-  GIMP_LAYER_MODE_BEHIND_LINEAR,
+  GIMP_LAYER_MODE_BEHIND,
   GIMP_LAYER_MODE_MULTIPLY,
-  GIMP_LAYER_MODE_MULTIPLY_LINEAR,
   GIMP_LAYER_MODE_SCREEN,
-  GIMP_LAYER_MODE_SCREEN_LINEAR,
-  GIMP_LAYER_MODE_OVERLAY_LINEAR,
   GIMP_LAYER_MODE_DIFFERENCE,
-  GIMP_LAYER_MODE_DIFFERENCE_LINEAR,
   GIMP_LAYER_MODE_ADDITION,
-  GIMP_LAYER_MODE_ADDITION_LINEAR,
   GIMP_LAYER_MODE_SUBTRACT,
-  GIMP_LAYER_MODE_SUBTRACT_LINEAR,
   GIMP_LAYER_MODE_DARKEN_ONLY,
   GIMP_LAYER_MODE_LIGHTEN_ONLY,
   GIMP_LAYER_MODE_HSV_HUE,
@@ -131,35 +125,20 @@ typedef enum
   GIMP_LAYER_MODE_HSV_COLOR,
   GIMP_LAYER_MODE_HSV_VALUE,
   GIMP_LAYER_MODE_DIVIDE,
-  GIMP_LAYER_MODE_DIVIDE_LINEAR,
   GIMP_LAYER_MODE_DODGE,
-  GIMP_LAYER_MODE_DODGE_LINEAR,
   GIMP_LAYER_MODE_BURN,
-  GIMP_LAYER_MODE_BURN_LINEAR,
   GIMP_LAYER_MODE_HARDLIGHT,
-  GIMP_LAYER_MODE_HARDLIGHT_LINEAR,
   GIMP_LAYER_MODE_SOFTLIGHT,
-  GIMP_LAYER_MODE_SOFTLIGHT_LINEAR,
   GIMP_LAYER_MODE_GRAIN_EXTRACT,
-  GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR,
   GIMP_LAYER_MODE_GRAIN_MERGE,
-  GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR,
   GIMP_LAYER_MODE_VIVID_LIGHT,
-  GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR,
   GIMP_LAYER_MODE_PIN_LIGHT,
-  GIMP_LAYER_MODE_PIN_LIGHT_LINEAR,
   GIMP_LAYER_MODE_LINEAR_LIGHT,
-  GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR,
   GIMP_LAYER_MODE_HARD_MIX,
-  GIMP_LAYER_MODE_HARD_MIX_LINEAR,
   GIMP_LAYER_MODE_EXCLUSION,
-  GIMP_LAYER_MODE_EXCLUSION_LINEAR,
   GIMP_LAYER_MODE_LINEAR_BURN,
-  GIMP_LAYER_MODE_LINEAR_BURN_LINEAR,
   GIMP_LAYER_MODE_LUMA_DARKEN_ONLY,
-  GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY,
-  GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY,
-  GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY
+  GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY
 } GimpLayerMode;
 
 
diff --git a/plug-ins/file-psd/psd-util.c b/plug-ins/file-psd/psd-util.c
index cada46f..82797c1 100644
--- a/plug-ins/file-psd/psd-util.c
+++ b/plug-ins/file-psd/psd-util.c
@@ -939,33 +939,6 @@ gimp_to_psd_blend_mode (GimpLayerMode          layer_mode,
       psd_mode = g_strndup ("norm", 4);
       break;
 
-    case GIMP_LAYER_MODE_SCREEN_LINEAR:
-    case GIMP_LAYER_MODE_ADDITION_LINEAR:
-    case GIMP_LAYER_MODE_SUBTRACT_LINEAR:
-    case GIMP_LAYER_MODE_MULTIPLY_LINEAR:
-    case GIMP_LAYER_MODE_NORMAL_LINEAR:
-    case GIMP_LAYER_MODE_BURN_LINEAR:
-    case GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR:
-    case GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR:
-    case GIMP_LAYER_MODE_DODGE_LINEAR:
-    case GIMP_LAYER_MODE_OVERLAY_LINEAR:
-    case GIMP_LAYER_MODE_HARDLIGHT_LINEAR:
-    case GIMP_LAYER_MODE_SOFTLIGHT_LINEAR:
-    case GIMP_LAYER_MODE_DIVIDE_LINEAR:
-    case GIMP_LAYER_MODE_DIFFERENCE_LINEAR:
-    case GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR:
-    case GIMP_LAYER_MODE_PIN_LIGHT_LINEAR:
-    case GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR:
-    case GIMP_LAYER_MODE_EXCLUSION_LINEAR:
-    case GIMP_LAYER_MODE_LINEAR_BURN_LINEAR:
-    case GIMP_LAYER_MODE_HARD_MIX_LINEAR:
-      if (CONVERSION_WARNINGS)
-        g_message ("GIMP cannot export linear pixel data in blend mode: %s."
-                   "Mode reverts to normal",
-                   gimp_layer_mode_effects_name (layer_mode));
-      psd_mode = g_strndup ("norm", 4);
-      break;
-
     default:
       if (CONVERSION_WARNINGS)
         g_message ("Unsupported blend mode: %s. Mode reverts to normal",
diff --git a/tools/pdbgen/enums.pl b/tools/pdbgen/enums.pl
index 9e8b13a..dcbeee5 100644
--- a/tools/pdbgen/enums.pl
+++ b/tools/pdbgen/enums.pl
@@ -687,7 +687,7 @@ package Gimp::CodeGen::enums;
        { contig => 1,
          header => 'operations/operations-enums.h',
          symbols => [ qw(GIMP_LAYER_MODE_NORMAL GIMP_LAYER_MODE_DISSOLVE
-                         GIMP_LAYER_MODE_BEHIND
+                         GIMP_LAYER_MODE_BEHIND_LEGACY
                          GIMP_LAYER_MODE_MULTIPLY_LEGACY
                          GIMP_LAYER_MODE_SCREEN_LEGACY
                          GIMP_LAYER_MODE_OVERLAY_LEGACY
@@ -713,54 +713,30 @@ package Gimp::CodeGen::enums;
                          GIMP_LAYER_MODE_LCH_COLOR
                          GIMP_LAYER_MODE_LCH_LIGHTNESS
                          GIMP_LAYER_MODE_NORMAL_LINEAR
-                         GIMP_LAYER_MODE_BEHIND_LINEAR
-                         GIMP_LAYER_MODE_MULTIPLY
-                         GIMP_LAYER_MODE_MULTIPLY_LINEAR
-                         GIMP_LAYER_MODE_SCREEN
-                         GIMP_LAYER_MODE_SCREEN_LINEAR
-                         GIMP_LAYER_MODE_OVERLAY_LINEAR
-                         GIMP_LAYER_MODE_DIFFERENCE
-                         GIMP_LAYER_MODE_DIFFERENCE_LINEAR
-                         GIMP_LAYER_MODE_ADDITION
-                         GIMP_LAYER_MODE_ADDITION_LINEAR
-                         GIMP_LAYER_MODE_SUBTRACT
-                         GIMP_LAYER_MODE_SUBTRACT_LINEAR
+                         GIMP_LAYER_MODE_BEHIND GIMP_LAYER_MODE_MULTIPLY
+                         GIMP_LAYER_MODE_SCREEN GIMP_LAYER_MODE_DIFFERENCE
+                         GIMP_LAYER_MODE_ADDITION GIMP_LAYER_MODE_SUBTRACT
                          GIMP_LAYER_MODE_DARKEN_ONLY
                          GIMP_LAYER_MODE_LIGHTEN_ONLY
                          GIMP_LAYER_MODE_HSV_HUE
                          GIMP_LAYER_MODE_HSV_SATURATION
                          GIMP_LAYER_MODE_HSV_COLOR
                          GIMP_LAYER_MODE_HSV_VALUE GIMP_LAYER_MODE_DIVIDE
-                         GIMP_LAYER_MODE_DIVIDE_LINEAR
-                         GIMP_LAYER_MODE_DODGE GIMP_LAYER_MODE_DODGE_LINEAR
-                         GIMP_LAYER_MODE_BURN GIMP_LAYER_MODE_BURN_LINEAR
+                         GIMP_LAYER_MODE_DODGE GIMP_LAYER_MODE_BURN
                          GIMP_LAYER_MODE_HARDLIGHT
-                         GIMP_LAYER_MODE_HARDLIGHT_LINEAR
                          GIMP_LAYER_MODE_SOFTLIGHT
-                         GIMP_LAYER_MODE_SOFTLIGHT_LINEAR
                          GIMP_LAYER_MODE_GRAIN_EXTRACT
-                         GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR
                          GIMP_LAYER_MODE_GRAIN_MERGE
-                         GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR
                          GIMP_LAYER_MODE_VIVID_LIGHT
-                         GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR
                          GIMP_LAYER_MODE_PIN_LIGHT
-                         GIMP_LAYER_MODE_PIN_LIGHT_LINEAR
                          GIMP_LAYER_MODE_LINEAR_LIGHT
-                         GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR
-                         GIMP_LAYER_MODE_HARD_MIX
-                         GIMP_LAYER_MODE_HARD_MIX_LINEAR
-                         GIMP_LAYER_MODE_EXCLUSION
-                         GIMP_LAYER_MODE_EXCLUSION_LINEAR
+                         GIMP_LAYER_MODE_HARD_MIX GIMP_LAYER_MODE_EXCLUSION
                          GIMP_LAYER_MODE_LINEAR_BURN
-                         GIMP_LAYER_MODE_LINEAR_BURN_LINEAR
                          GIMP_LAYER_MODE_LUMA_DARKEN_ONLY
-                         GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY
-                         GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY
-                         GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY) ],
+                         GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY) ],
          mapping => { GIMP_LAYER_MODE_NORMAL => '0',
                       GIMP_LAYER_MODE_DISSOLVE => '1',
-                      GIMP_LAYER_MODE_BEHIND => '2',
+                      GIMP_LAYER_MODE_BEHIND_LEGACY => '2',
                       GIMP_LAYER_MODE_MULTIPLY_LEGACY => '3',
                       GIMP_LAYER_MODE_SCREEN_LEGACY => '4',
                       GIMP_LAYER_MODE_OVERLAY_LEGACY => '5',
@@ -787,54 +763,33 @@ package Gimp::CodeGen::enums;
                       GIMP_LAYER_MODE_LCH_COLOR => '26',
                       GIMP_LAYER_MODE_LCH_LIGHTNESS => '27',
                       GIMP_LAYER_MODE_NORMAL_LINEAR => '28',
-                      GIMP_LAYER_MODE_BEHIND_LINEAR => '29',
+                      GIMP_LAYER_MODE_BEHIND => '29',
                       GIMP_LAYER_MODE_MULTIPLY => '30',
-                      GIMP_LAYER_MODE_MULTIPLY_LINEAR => '31',
-                      GIMP_LAYER_MODE_SCREEN => '32',
-                      GIMP_LAYER_MODE_SCREEN_LINEAR => '33',
-                      GIMP_LAYER_MODE_OVERLAY_LINEAR => '34',
-                      GIMP_LAYER_MODE_DIFFERENCE => '35',
-                      GIMP_LAYER_MODE_DIFFERENCE_LINEAR => '36',
-                      GIMP_LAYER_MODE_ADDITION => '37',
-                      GIMP_LAYER_MODE_ADDITION_LINEAR => '38',
-                      GIMP_LAYER_MODE_SUBTRACT => '39',
-                      GIMP_LAYER_MODE_SUBTRACT_LINEAR => '40',
-                      GIMP_LAYER_MODE_DARKEN_ONLY => '41',
-                      GIMP_LAYER_MODE_LIGHTEN_ONLY => '42',
-                      GIMP_LAYER_MODE_HSV_HUE => '43',
-                      GIMP_LAYER_MODE_HSV_SATURATION => '44',
-                      GIMP_LAYER_MODE_HSV_COLOR => '45',
-                      GIMP_LAYER_MODE_HSV_VALUE => '46',
-                      GIMP_LAYER_MODE_DIVIDE => '47',
-                      GIMP_LAYER_MODE_DIVIDE_LINEAR => '48',
-                      GIMP_LAYER_MODE_DODGE => '49',
-                      GIMP_LAYER_MODE_DODGE_LINEAR => '50',
-                      GIMP_LAYER_MODE_BURN => '51',
-                      GIMP_LAYER_MODE_BURN_LINEAR => '52',
-                      GIMP_LAYER_MODE_HARDLIGHT => '53',
-                      GIMP_LAYER_MODE_HARDLIGHT_LINEAR => '54',
-                      GIMP_LAYER_MODE_SOFTLIGHT => '55',
-                      GIMP_LAYER_MODE_SOFTLIGHT_LINEAR => '56',
-                      GIMP_LAYER_MODE_GRAIN_EXTRACT => '57',
-                      GIMP_LAYER_MODE_GRAIN_EXTRACT_LINEAR => '58',
-                      GIMP_LAYER_MODE_GRAIN_MERGE => '59',
-                      GIMP_LAYER_MODE_GRAIN_MERGE_LINEAR => '60',
-                      GIMP_LAYER_MODE_VIVID_LIGHT => '61',
-                      GIMP_LAYER_MODE_VIVID_LIGHT_LINEAR => '62',
-                      GIMP_LAYER_MODE_PIN_LIGHT => '63',
-                      GIMP_LAYER_MODE_PIN_LIGHT_LINEAR => '64',
-                      GIMP_LAYER_MODE_LINEAR_LIGHT => '65',
-                      GIMP_LAYER_MODE_LINEAR_LIGHT_LINEAR => '66',
-                      GIMP_LAYER_MODE_HARD_MIX => '67',
-                      GIMP_LAYER_MODE_HARD_MIX_LINEAR => '68',
-                      GIMP_LAYER_MODE_EXCLUSION => '69',
-                      GIMP_LAYER_MODE_EXCLUSION_LINEAR => '70',
-                      GIMP_LAYER_MODE_LINEAR_BURN => '71',
-                      GIMP_LAYER_MODE_LINEAR_BURN_LINEAR => '72',
-                      GIMP_LAYER_MODE_LUMA_DARKEN_ONLY => '73',
-                      GIMP_LAYER_MODE_LUMINANCE_DARKEN_ONLY => '74',
-                      GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY => '75',
-                      GIMP_LAYER_MODE_LUMINANCE_LIGHTEN_ONLY => '76' }
+                      GIMP_LAYER_MODE_SCREEN => '31',
+                      GIMP_LAYER_MODE_DIFFERENCE => '32',
+                      GIMP_LAYER_MODE_ADDITION => '33',
+                      GIMP_LAYER_MODE_SUBTRACT => '34',
+                      GIMP_LAYER_MODE_DARKEN_ONLY => '35',
+                      GIMP_LAYER_MODE_LIGHTEN_ONLY => '36',
+                      GIMP_LAYER_MODE_HSV_HUE => '37',
+                      GIMP_LAYER_MODE_HSV_SATURATION => '38',
+                      GIMP_LAYER_MODE_HSV_COLOR => '39',
+                      GIMP_LAYER_MODE_HSV_VALUE => '40',
+                      GIMP_LAYER_MODE_DIVIDE => '41',
+                      GIMP_LAYER_MODE_DODGE => '42',
+                      GIMP_LAYER_MODE_BURN => '43',
+                      GIMP_LAYER_MODE_HARDLIGHT => '44',
+                      GIMP_LAYER_MODE_SOFTLIGHT => '45',
+                      GIMP_LAYER_MODE_GRAIN_EXTRACT => '46',
+                      GIMP_LAYER_MODE_GRAIN_MERGE => '47',
+                      GIMP_LAYER_MODE_VIVID_LIGHT => '48',
+                      GIMP_LAYER_MODE_PIN_LIGHT => '49',
+                      GIMP_LAYER_MODE_LINEAR_LIGHT => '50',
+                      GIMP_LAYER_MODE_HARD_MIX => '51',
+                      GIMP_LAYER_MODE_EXCLUSION => '52',
+                      GIMP_LAYER_MODE_LINEAR_BURN => '53',
+                      GIMP_LAYER_MODE_LUMA_DARKEN_ONLY => '54',
+                      GIMP_LAYER_MODE_LUMA_LIGHTEN_ONLY => '55' }
        },
     GimpConvertDitherType =>
        { contig => 1,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]