After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 783741 - Change the default layer blend modes from "Legacy" to "Default"
Change the default layer blend modes from "Legacy" to "Default"
Status: RESOLVED OBSOLETE
Product: GIMP
Classification: Other
Component: libgimp
git master
Other All
: Normal normal
: 2.10
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2017-06-13 13:20 UTC by Elle Stone
Modified: 2018-05-24 17:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Elle Stone 2017-06-13 13:20:31 UTC
Please change the default layer blend modes from "Legacy" to "Default", and add an option in Preferences to control when "Legacy" is used by default.

GIMP 2.9 currently defaults to "Legacy" blend modes:

    * not just for 2.8 XCF files, but also for tifs, pngs, jpegs, openexr files and such opened from disk, even if the precision is already high bit depth or else promoted to 32f upon opening.

    * also when making a "New from Visible" layer in the 2.9 XCF layer stack.

This behavior creates two useability issues:

1. "Legacy" means "blend using RGB encoded using the sRGB TRC. This means gamma artifacts. So if the user wants to avoid gamma artifacts, she has to change the blend mode from "Legacy" to "Default".

2. The Legacy blend modes are limited to the blend modes provided by 2.8, so the user has to switch to Default blend modes to use any of the new 2.9 blend modes. 

For anyone who wants to take full advantage of linear blending and the new blend modes offered by high bit depth GIMP, the current behavior require a lot of extra "clicking" to keep switching from Legacy to Default blend modes.

For improved useability and a smoother workflow:

* "By default" only GIMP 2.8 and earlier XCF files, and maybe 2.9 XCF files at 8-bit integer precision, should default to "legacy" blend modes. 

* "By default" new images opened from disk and new XCF files should default to using Default blend modes. 

* Perhaps there could be an option in Preferences to allow control over whether "Legacy" or "Default" is the "Default". This option perhaps could include three choices:

   1. Default to "Default" for all images other than legacy XCF files.
   2. Default to "Legacy" for all images including legacy XCF files.
   3. Default to "Legacy" 8-bit images and layer stacks, and to "Default" for all higher-bit depth images.
Comment 1 Elle Stone 2017-06-13 17:42:01 UTC
Painting blend modes are also affected by this "default" behavior of defaulting to "Legacy" instead of "Default" blend modes. 

Consequently trying to paint using linear spaces for blending/compositing requires constant attention to the paint blend mode drop-down menu. Worse, some of the paint tools don't allow to choose "Default" but instead are hard-coded to use "Legacy" ().

For people trying to paint using radiometrically correct blending this "default to Legacy" instead of "default to Default" behavior makes current GIMP 2.9.5 actually more difficult to use than GIMP 2.9.4:

* In 2.9.4, changing to linear precision meant all the layer and paint blend modes used linearized sRGB. Well, I'm not sure about smudge and such tools. But at least this was true for brush, pencil, and such.

* In current 2.9.5, the user must monitor the paint tools, always remembering to select "Default" in place of "Legacy", and not all paint tools offer the option to switch to "Default".
Comment 2 Jehan 2017-07-18 16:49:25 UTC
Adding 2.10 milestone so that we check this before release since I *think* that's the end objective (though I haven't followed everything in details, but that's what I gather, at least from the naming "default" vs "legacy"! :P).
Comment 3 Michael Natterer 2017-09-03 18:11:35 UTC
This essentially makes NORMAL the default mode, resulting in the "Default"
group being selected for layer mode combo boxes:

commit e16c8a2352143446ef580a9db51d57c634ea2311
Author: Michael Natterer <mitch@gimp.org>
Date:   Mon Aug 21 20:04:25 2017 +0200

    Move the new "default_new_layer_mode" APIs to the image...
    
    ...in both the core and libgimp.
    
    Images now know what the default mode for new layers is:
    
    - NORMAL for empty images
    - NORMAL for images with any non-legacy layer
    - NORMAL_LEGAVY for images with only legacy layers
    
    This changes behavior when layers are created from the UI, but *also*
    when created by plug-ins (yes there is a compat issue here):
    
    - Most (all?) single-layer file importers now create NORMAL layers
    - Screenshot, Webpage etc also create NORMAL layers
    
    Scripts that create images from scratch (logos etc) should not be
    affected because they usually have NORMAL_LEGACY hardcoded.
    
    3rd party plug-ins and scripts will also behave old-style unless they
    get ported to gimp_image_get_default_new_layer_mode().
Comment 4 Michael Natterer 2018-01-01 17:51:26 UTC
Hmm... Elle, is there anything left to do after above commit?
Comment 5 Elle Stone 2018-01-01 18:19:04 UTC
Hmm, why "NORMAL_LEGACY" fo images with only legacy layers? I was hoping that would change so that "not legacy" is used by default for all 2.9 XCF files, and only for 2.8 would "legacy" blend modes be used.

How far back does one have to go before an XCF file is not considered "legacy"? Or is it just a matter of what layer modes the file uses?
Comment 6 Michael Natterer 2018-01-01 18:22:56 UTC
it is just a matter of which layer modes are used.
Comment 7 Elle Stone 2018-01-01 19:01:18 UTC
(In reply to Michael Natterer from comment #6)
> it is just a matter of which layer modes are used.

Any chance this could be changed to be a matter of "2.9 use default" and "2.8 use legacy" instead of the current "use legacy unless the blend mode wasn't available for legacy files"? 

I've been using GIMP-2.9 for a long time now. The current "legacy vs default" blend mode code results in my having to change every layer mode from legacy to default, even though for all of my old default GIMP 2.9 files the blend mode is supposed to be default, meaning "almost always linear instead of perceptual", with sometimes things like soft light using perceptual, but rarely. 

"Legacy" instead of "default" radically changes the results of add/subtract/multiply/divide/normal, so none of my old GIMP 2.9 files look right until I flip all the layers from legacy to normal.

If it's just a matter of which layer modes are used, does this mean a default GIMP XCF file that I save today and then close and reopen, will open using legacy blend modes tomorrow? Or is there a "current version" of XCF for which reopened XCF files will default to default layer blend modes? 

Checking, default is used upon reopening a just-saved XCF file, so there has to be a "version" switch, after which version all XCF files use default layer blend modes by default, yes?

Sorry to be so long-winded on such a small issue! If everyone else is happy with the code the way it is, then of course close the bug report. I don't open my old XCF files all that often, and probably the same is true for most people.
Comment 8 Michael Natterer 2018-01-01 19:27:41 UTC
I don't think we are on the same page here :)

The logic is quite straightforward:

- saved layer modes will always load as exactly the same
- all newly created layers are non-legacy
- unless *all* existing layers in the image are legacy

So *one* non-legacy layer turns the default into non-legacy.

The logic doesn't have an idea of 2.8, 2.9, or whatever else.
Comment 9 Elle Stone 2018-01-01 20:16:20 UTC
(In reply to Michael Natterer from comment #8)
> I don't think we are on the same page here :)
> 
> The logic is quite straightforward:
> 
> - saved layer modes will always load as exactly the same
> - all newly created layers are non-legacy
> - unless *all* existing layers in the image are legacy

OK, I think I know where the confusion might be - 2.9 XCF files saved before there was a distinction between legacy and default blend modes - how do these old XCF files open? With the layers set to legacy?
Comment 10 Michael Natterer 2018-01-01 23:35:20 UTC
"saved layer modes will always load as exactly the same".

All old legacy layer modes still exist and will exist for all eternity,
if you use them they will be saved and loaded as such.
Comment 11 Michael Natterer 2018-01-11 20:35:15 UTC
After this conversation I don't see anything that would delay a FIXED
here, any objection?
Comment 12 Elle Stone 2018-01-13 12:13:40 UTC
(In reply to Michael Natterer from comment #10)
> "saved layer modes will always load as exactly the same".

But they aren't loading as exactly the same as they were saved, because the legacy blend mode drop-down box didn't even exist when these older files were created. Remember the old "linear vs gamma" precision that existed for 2.9.5, where the way to get linear layer blending was to use linear precision?

Anyway, I suspect that this is a case of there being no guarantees of backwards compatibility for various versions of GIMP 2.9 - GIMP 2.9 is a development version of GIMP and so not having backwards compatibility is fine.

> All old legacy layer modes still exist and will exist for all eternity,
> if you use them they will be saved and loaded as such.

Are you talking about going forward from the time the "legacy" blend modes first became available in the GIMP 2.9 code, by which I mean from the time from when the legacy dropdown layer blend mode box got added to the code? 

Will there be a "legacy vs default" drop-down box in 3.0, 3.2, etc? Or will this only be in the 2.10 versions of GIMP?
Comment 13 GNOME Infrastructure Team 2018-05-24 17:56:39 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gimp/issues/1118.