[regression] Dash, Launcher, Menu Bar - Unintended shadows are rendered for the Unity Launcher and Panel, when the dash is open

Bug #1043260 reported by Andrea Cimitan
38
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Ayatana Design
Fix Released
Critical
John Lea
Unity
Fix Released
Critical
Daniel van Vugt
6.0
Fix Released
Critical
Daniel van Vugt
unity (Ubuntu)
Fix Released
Critical
Unassigned
Quantal
Fix Released
Critical
Unassigned

Bug Description

The shadows in unity staging PPA are not shown without the dash opened and shown *in the dash/unity frames* when the dash is opened, screenshot attached.

Related branches

Revision history for this message
Andrea Cimitan (cimi) wrote :
Omer Akram (om26er)
Changed in unity:
importance: Undecided → Medium
status: New → Confirmed
milestone: none → 6.4
Revision history for this message
Andrea Cimitan (cimi) wrote :

The launcher should *never* cast a shadow

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Looks like bug 1012956. Do you have that fix?

Changed in unity:
status: Confirmed → Incomplete
Changed in unity:
status: Incomplete → New
summary: - Shadows are incorrectly stacked
+ Unintended shadows are rendered for the Unity Launcher and Panel, when
+ the dash is open
Changed in compiz:
importance: Undecided → Medium
milestone: none → 0.9.8.2
Revision history for this message
Omer Akram (om26er) wrote : Re: Unintended shadows are rendered for the Unity Launcher and Panel, when the dash is open

@Daniel, the fix for that bug has been committed for a while? This issue appeared on trunk. My guess is if the panel shadow is fixed this may as well

Revision history for this message
Andrea Cimitan (cimi) wrote :

which commit broke the panel shadow?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Cimi,

The bug was caused by changes to glPaint and the removal of UnityScreen::getWindowPaintList, here:
https://code.launchpad.net/~vanvugt/unity/regionalDamage/+merge/112283

But Sam's fix should work. Doesn't it?
https://code.launchpad.net/~compiz-team/compiz/compiz.fix_1012956/+merge/110954

Revision history for this message
Andrea Cimitan (cimi) wrote :

I still have the bug, unfortunately, on staging PPA. Quantal version is fine iirc.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix/workaround should be:
CCSM > Window Decoration > Shadow windows =
    !(title=unity-panel) & !(title=unity-launcher)
(copied from bug 1012956)

Revision history for this message
Andrea Cimitan (cimi) wrote :

Tried, doesn't work here. It seems to ne unrelated to the decor plugin, cause I can reproduce the bug unloading decorations

tags: added: 1210b1blockers
Changed in unity:
assignee: nobody → Andrea Azzarone (andyrock)
tags: removed: 1210b1blockers
Andrea Cimitan (cimi)
tags: added: unity-visuals-quantal
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Not a compiz bug and actually not related to bug 1012956. As Cimi mentions, the problem persists even with the decor plugin unloaded. And decor is what paints compiz shadows. So this is a Unity-only rendering issue.

andyrock says:
"They're not shadows. The problem is that the panel and the launcher are now rendered in the fbo. This fbo will be used to get the blurred area"."

Changed in compiz:
status: New → Invalid
milestone: 0.9.8.2 → none
Changed in unity:
milestone: 6.4 → none
milestone: none → backlog
milestone: backlog → 6.4
status: New → Confirmed
Changed in unity:
milestone: 6.4 → 6.6
Andrea Cimitan (cimi)
Changed in unity:
importance: Medium → High
Changed in compiz:
importance: Medium → High
Omer Akram (om26er)
affects: compiz → unity (Ubuntu)
Changed in unity (Ubuntu):
status: Invalid → Confirmed
summary: - Unintended shadows are rendered for the Unity Launcher and Panel, when
- the dash is open
+ [regression] Unintended shadows are rendered for the Unity Launcher and
+ Panel, when the dash is open
Changed in unity (Ubuntu Quantal):
assignee: nobody → Andrea Azzarone (andyrock)
Changed in unity:
status: Confirmed → Triaged
Changed in unity (Ubuntu Quantal):
status: Confirmed → Triaged
Andrea Azzarone (azzar1)
Changed in unity:
assignee: Andrea Azzarone (andyrock) → nobody
Changed in unity (Ubuntu Quantal):
assignee: Andrea Azzarone (andyrock) → nobody
Revision history for this message
John Lea (johnlea) wrote : Re: [regression] Unintended shadows are rendered for the Unity Launcher and Panel, when the dash is open

Increased importance to Critical as due to the massive visual impact of this regression, this is potentially a release blocker bug.

Changed in ayatana-design:
assignee: nobody → John Lea (johnlea)
importance: Undecided → Critical
Changed in unity (Ubuntu Quantal):
importance: High → Critical
Changed in unity:
importance: High → Critical
Changed in ayatana-design:
status: New → Fix Committed
tags: added: udp
summary: - [regression] Unintended shadows are rendered for the Unity Launcher and
- Panel, when the dash is open
+ [regression] Dash, Launcher, Menu Bar - Unintended shadows are rendered
+ for the Unity Launcher and Panel, when the dash is open
Revision history for this message
Omer Akram (om26er) wrote :

this is how it looks with trunk

Changed in unity:
milestone: 6.6 → 7.0
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think I've found the problem.

The launcher, dash and panel are always separate entities painted separately. When the dash is open, they still get painted separately, each one getting blurred and then coloured (usually darkened). Unity seems to paint the launcher, then panel, then dash.

The problem is that the panel and launcher get rendered before the dash content. So the edges of the dash blur include those blurred and coloured (darkened) pixels already rendered for the launcher and panel.

So it looks like there are several possible ways to fix it:
  (1) Redesign everything and paint all three blur rectangles in one function. That's messy and hard.
  (2) Ensure none of the rectangles are coloured/darkened until after ALL of them have been blurred.
  (3) Cheat. Don't grow your blur region beyond the rectangle you're painting. The edges may look slightly wrong sometimes, but it's not as bad as this bug.
  (4) Save a single copy of the original background texture (with no shell painted on it) and use that single copy as the source for all blur operations. Even better: save a single blur texture to use on all three. That should solve this and speed up active blur 3x!

I think #4 is probably most sensible.

Revision history for this message
John Lea (johnlea) wrote :

@vanvugt; thanks for looking into this, fixing this regression is super critical because it has a major visual impact.

Could you take on the task of fixing this regression and getting it included into Quantal? Please ping me if you run into any blockers. Thanks!

Changed in unity:
assignee: nobody → Daniel van Vugt (vanvugt)
Omer Akram (om26er)
Changed in unity:
status: Triaged → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Correction: I am probably wrong about option #4 giving a 3x speedup. I was assuming all the blur textures had significant overlap, but they probably don't.

Revision history for this message
John Lea (johnlea) wrote :

@vanvugt; just having this regression fixed would be great!

Changed in unity:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:unity at revision 2760

Andrea Azzarone (azzar1)
Changed in unity (Ubuntu Quantal):
status: Triaged → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:unity/6.0 at revision 2742

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.2 KiB)

This bug was fixed in the package unity - 6.8.0-0ubuntu1

---------------
unity (6.8.0-0ubuntu1) quantal-proposed; urgency=low

  [ Ángel Guzmán Maeso ]
  * debian/unity-crashdb.conf:
    - Update dictionary option for follow latest apport spec

  [ Łukasz 'sil2100' Zemczak ]
  * New upstream release.
    - unity 6.8 candidate segfaults on "app expose" with low gfx mode
      (LP: #1060148)
    - [regression] Dash - Left separator is missing (LP: #1057798)
    - unity-panel-service crashed with SIGSEGV in
      panel_indicator_entry_accessible_get_n_children() from
      atk_object_get_n_accessible_children() (LP: #913324)
    - [regression] If unity is started with maximized dash, unmaximizing the
      dash does not wrap rows (LP: #1053116)
    - Dash lens buttons don't work after changing form factor to maximize on
      desktop (LP: #1053316)
    - Clicking on Workspace Switcher icon when the expo is showing, not always
      closes it 1059759 convert files list deprecated keys (LP: #1059594)
    - Unity through llvmpipe is slow (LP: #1046497)
    - compiz crashed with SIGSEGV in unity::QuicklistView::Show() from
      unity::QuicklistManager::ShowQuicklist() (LP: #1055995)
    - compiz crashed with SIGSEGV from
      unity::dash::HomeLens::Impl::LensSearchFinished() (LP: #1054219)
    - [regression] Starting an app & then locking to launcher is not persistent
      across sessions (LP: #1054645)
    - [regression] Dash, Launcher, Menu Bar - Unintended shadows are rendered
      for the Unity Launcher and Panel, when the dash is open (LP: #1043260)
    - [Unity 6.x] Active blur doesn't update if you disable CCSM > OpenGL >
      Framebuffer object (LP: #1039999)
    - Alt+Tab/Alt+grave brings other window to the front but loses focus
      entirely. (LP: #1035628)
    - Spread - Scaling all the windows is too slow (LP: #1055643)
    - Window management - Middle clicking on a window inside the spread should
      close that window (equivalent action to clicking on the close button)
      (LP: #1052821)
    - Scale window decorations don't have properly rounded corners
      (LP: #1055610)
    - Scale window decorations text does not match theme style (Radiance)
      (LP: #1055609)
    - Spread window decorations does not match the theme when changed
      (LP: #1055605)
    - scaled window decorations are sometimes wider than the window
      (LP: #1053225)
    - Launcher should not auto-hide after dragging an icon, if mouse is still
      over it (LP: #1053978)
    - unity spread window on second click not working when ibus language panel
      is shown. (LP: #1035895)
    - windows.push_back(<uninitialized value>) in
      BamfLauncherIcon::GetFocusableWindows (LP: #1053220)
    - Category emblems are blurry (LP: #1056874)
    - Rendering flaws of the dash previews (LP: #1055455)
    - [UIFe] Social Lens doesn't have authorised and meaningful icon
      (LP: #1056191)
    - [dash] Preview fade out animation hangs occasionally (LP: #1058145)
    - Dash - rendering of ribbons shouldn't be relative (LP: #1057971)
    - Horizontal alignment search box and views below (LP: #1055544)
    - Compiz crashed in cairo_save() from
      unity::Unit...

Read more...

Changed in unity (Ubuntu Quantal):
status: Fix Committed → Fix Released
John Lea (johnlea)
Changed in ayatana-design:
status: Fix Committed → Fix Released
tags: added: reviewedbydesignq
removed: udp
Stephen M. Webb (bregma)
Changed in unity:
status: Fix Committed → Fix Released
Changed in unity:
status: Fix Released → Fix Committed
Stephen M. Webb (bregma)
Changed in unity:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.