Page MenuHome

Reference image opacity value doesn't work with Blender 2.83+ (Intel HD 630 with Mesa 20, regression from D6729)
Confirmed, NormalPublicBUG

Description

System Information
Operating system: Mageia 8 x86_64 (Linux)
Graphics card: Intel HD Graphics 630, Mesa 20.1.0

Blender Version
Broken: 2.83.0, 2.90.0-aed11c673efe
Worked: 2.82a, 2.83-ce76e17584ee

Short description of error
In Blender 2.82a, when using a reference image with opacity between 0.0 and 1.0, the image is properly blended using the opacity value, provided that "Use Alpha" is enabled. (I.e. an image with opacity 0.20 will be less visible than an image with opacity 0.80, though both are transparent - like in most image editors.)
A few weeks back I used 2.83-ce76e17584ee, and there the "Use Alpha" setting was renamed to "Transparency", but the behavior stayed the same.

Opacity working in Blender 2.82a:

After updating to 2.83.0 (stable) now, I see that opacity no longer works as intended, it behaves like an on/off switch without any blending.
An image will look the same with opacity 0.0001 or 1.0 (and will be invisible with opacity 0).

Opacity not working in Blender 2.83.0 (same .blend):

Current 2.90 alpha seems to suffer from the same issue.

Exact steps for others to reproduce the error

  • Add > Image > Reference
  • Pick an image
  • In object properties, enable Transparency, and try different values of Opacity. Opacity doesn't impact the blending of the reference image in the viewport (unless it's 0, which makes it disappear).

Event Timeline

Here's the .blend file which reproduces the issue for me:

Note that I replaced the reference images by one to which I own a valid license (Godot Engine logo, CC-BY).
I also embedded the picture in the .blend so that it loads properly (but the bug is reproduced also with the image non-embedded).

I tried with a brand new project with default cube + the logo.png from the above ZIP archive, and the issue is still reproducible.

Then I tried by running Blender on my discrete GPU with DRI_PRIME=1 ./blender, and there opacity works fine. So the problem is related to the Intel HD 630 integrated GPU running on Mesa 20.1.0.

The working discrete GPU is AMD Radeon RX Vega M, also using Mesa 20.1.0 and amdgpu from kernel 5.6.15.

$ inxi -CSG
System:    Host: cauldron Kernel: 5.6.15-desktop-1.mga8 x86_64 bits: 64 Desktop: KDE Plasma 5.18.5 Distro: Mageia 8 mga8 
CPU:       Topology: Quad Core model: Intel Core i7-8705G bits: 64 type: MT MCP L2 cache: 8192 KiB 
           Speed: 1577 MHz min/max: 800/3100 MHz Core speeds (MHz): 1: 1577 2: 1209 3: 1134 4: 1093 5: 1296 6: 1757 7: 1317 
           8: 1086 
Graphics:  Device-1: Intel HD Graphics 630 driver: i915 v: kernel 
           Device-2: Advanced Micro Devices [AMD/ATI] Polaris 22 XL [Radeon RX Vega M GL] driver: amdgpu v: kernel 
           Device-3: Cheng Uei Precision Industry (Foxlink) HP Wide Vision FHD Camera type: USB driver: uvcvideo 
           Display: x11 server: Mageia X.org 1.20.8 driver: intel,v4l resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2) v: 4.6 Mesa 20.1.0
Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Needs Information from User.Jun 9 2020, 7:44 PM

I can't reproduce the problem here.
This seems like a graphic driver issue.
Please double-check if the drivers are up to date.
To upgrade to the latest driver, see here for more information: https://docs.blender.org/manual/en/dev/troubleshooting/gpu/index.html

Many bugs are fixed between the official releases. Please try the latest development snapshot of blender: https://builder.blender.org/download

I'm running the latest stable version of the Mesa Linux drivers (20.1.0 from May 27).

I tried 2.90-alpha as of two days ago and it reproduced the issue too. But I'll try today's build.

//Edit:/// Tried 2.90.0-aed11c673efe, same issue.

I'll see if I can bisect between the last 2.83-beta build which was functional for me and 2.83.0-final.

Update: While I initially reported that 2.83-ce76e17584ee worked well back when I used it in early May, I've just built it from source now and I could still reproduce the bug.
So either I misremembered, or it might indeed be a recent Mesa regression or a local driver setup issue.

That being said, Blender 2.82a downloaded two days ago does *not* reproduce the issue, so there was definitely a change in the OpenGL code between 2.82 and 2.83 that triggered this issue.
I'm currently trying to build a few intermediate commits between 2.82 and 2.83, and then I'll do a formal git bisect if I can find a good one to start from (ideally not all the way back to v2.82).

Germano Cavalcante (mano-wii) changed the task status from Needs Information from User to Needs Triage.Jun 19 2020, 5:48 PM

I finally completed my Git bisect between v2.82 and v2.83. Here's the result:

804e90b42d728ecb1073af8d0bae15a91b13a469 is the first bad commit
commit 804e90b42d728ecb1073af8d0bae15a91b13a469
Author: Clément Foucault <foucault.clem@gmail.com>
Date:   Tue Feb 11 15:18:55 2020 +0100

    DRW: Color Management improvement
    
    Reviewed By: brecht sergey jbakker
    
    Differential Revision: http://developer.blender.org/D6729

Full bisect log:

$ git bisect log
git bisect start
# bad: [05b94c9c5457ac119f52fa9db6e41a218b64c477] GPU: Add better support for texture copy fallback
git bisect bad 05b94c9c5457ac119f52fa9db6e41a218b64c477
# good: [c939b4df18e9c8f2c4e1fafce5e9325840185a0b] Fix Attempt to free NULL pointer
git bisect good c939b4df18e9c8f2c4e1fafce5e9325840185a0b
# bad: [8fb1ea857ffef370acb020f6573c165100923e1b] Include file system encoding in 'System Info' operator
git bisect bad 8fb1ea857ffef370acb020f6573c165100923e1b
# bad: [f457dc122d1d58f5e0e35db746104b69332597b0] Cleanup: Alembic, rename unit test
git bisect bad f457dc122d1d58f5e0e35db746104b69332597b0
# good: [543685fe3d62841a12c1b86ccb1cf419d8752b67] Merge branch 'blender-v2.82-release'
git bisect good 543685fe3d62841a12c1b86ccb1cf419d8752b67
# good: [cdfaddbb1d426fb090c8abebdd0fa5bef236a011] Cleanup: spelling
git bisect good cdfaddbb1d426fb090c8abebdd0fa5bef236a011
# bad: [6a28d14f7236b3e6fbe7409da9ee916878d65feb] Fix T73740: Auto-key "Only Available" de-selects f-curves
git bisect bad 6a28d14f7236b3e6fbe7409da9ee916878d65feb
# good: [a66b9490a10b114b7d6b7350b06010f98887ca84] Doc: update to T73699 fix
git bisect good a66b9490a10b114b7d6b7350b06010f98887ca84
# bad: [804e90b42d728ecb1073af8d0bae15a91b13a469] DRW: Color Management improvement
git bisect bad 804e90b42d728ecb1073af8d0bae15a91b13a469
# good: [c5d0a2320498d1feb7cc2c68fc6504bb187d5a8d] Fix T73348: Surface Deform distortion on bind with small faces
git bisect good c5d0a2320498d1feb7cc2c68fc6504bb187d5a8d
# good: [be8879718e24e417d299eb298b8a9d4d2ca324ee] Documentation: add note on altering data from frame change handlers
git bisect good be8879718e24e417d299eb298b8a9d4d2ca324ee
# good: [4e216b1025ced0b3faa9a583f1f088cffbdfd303] Merge branch 'blender-v2.82-release'
git bisect good 4e216b1025ced0b3faa9a583f1f088cffbdfd303
# good: [58cdab8b9759dd59b55895f2f76b9624addbb324] install_deps.sh: correct clang/llvm download URLs
git bisect good 58cdab8b9759dd59b55895f2f76b9624addbb324
# first bad commit: [804e90b42d728ecb1073af8d0bae15a91b13a469] DRW: Color Management improvement
Rémi Verschelde (akien) renamed this task from Reference image opacity value doesn't work with Blender 2.83+ to Reference image opacity value doesn't work with Blender 2.83+ (Intel HD 630 with Mesa 20, regression from D6729).Jun 22 2020, 9:13 AM
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Jun 22 2020, 12:09 PM

Taking that for granted and will confirm [I myself am not able to reproduce, not on Mesa...]
Also not sure how we are working around those kind of Mesa-related issues @Clément Foucault (fclem)?

Clément Foucault (fclem) changed the subtype of this task from "Report" to "Bug".

I also have this issue.

I believe the root cause is this, which also caused a similar issue for me with Houdini

As of Mesa 19.2, a new OpenGL driver, Iris, is available for testing. In Mesa 20.0, the Iris driver is promoted to be the default for Gen8+.

The Iris driver is causing issues with various OpenGL applications.

I am able to (temporarily) fix this issue by exporting MESA_LOADER_DRIVER_OVERRIDE=i965 in the shell before running Blender. This forces me back to the i965 driver, and opacity of reference images in Blender works again.

I can confirm @Lewis Toohey (Lewis2e)'s findings, using MESA_LOADER_DRIVER_OVERRIDE=i965 makes opacity work fine in Blender 2.83+.

It works fine with both Iris and i965 in Blender 2.82a, so something in D6729 seems to be triggering a Mesa bug in the Iris driver. It would be worth reporting this upstream once we have a better idea of which part of D6729 actually triggers this driver bug, since it worked prior to it.

I can confirm the bug on Intel Iris Plus Graphics, the one found in the i7-1065G7 CPU. Under lspci the name is VGA compatible controller: Intel Corporation Iris Plus Graphics G7 (rev 07).

In my case the workaround of exporting MESA_LOADER_DRIVER_OVERRIDE=i965 works fine too.

Unable to reproduce on

renderer: 'Mesa Intel(R) UHD Graphics 620 (KBL GT2)'
vendor: 'Intel'
version: '4.6 (Core Profile) Mesa 20.0.8'

System:
  Host: atmind-laptop Kernel: 5.4.0-47-generic x86_64 bits: 64 
  Desktop: Gnome 3.36.4 Distro: Ubuntu 20.04.1 LTS (Focal Fossa) 
CPU:
  Topology: Quad Core model: Intel Core i7-8550U bits: 64 type: MT MCP 
  L2 cache: 8192 KiB 
  Speed: 700 MHz min/max: 400/4000 MHz Core speeds (MHz): 1: 700 2: 700 
  3: 700 4: 700 5: 700 6: 700 7: 700 8: 700 
Graphics:
  Device-1: Intel UHD Graphics 620 driver: i915 v: kernel 
  Display: x11 server: X.Org 1.20.8 driver: modesetting unloaded: fbdev,vesa 
  resolution: 1920x1080~60Hz 
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (KBL GT2) v: 4.6 Mesa 20.0.8

Hey :)

Also having the same issue. Works fine in blender 2.82a, but not in later versions.

The problem also happens with transparency x-ray mode.