New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 661697 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

X11: Chrome allocates a new colormap for opaque windows, even with the default visual

Project Member Reported by thomasanderson@chromium.org, Nov 2 2016

Issue description

Version 56.0.2906.0 dev (64-bit)
OS: Ubuntu 14.04<please tell me it's not XP>

What steps will reproduce the problem?
(1) use xwininfo to view the visual, colormap, and depth of a chrome window

What is the expected output?
  Depth: 24
  Visual: 0x21
  Colormap: 0x20 (installed)

What do you see instead?
  Depth: 24
  Visual: 0x21
  Colormap: 0x3c00001 (not installed)


 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a03a18c3b24025623e0f2ad96ac56b8427fda7d3

commit a03a18c3b24025623e0f2ad96ac56b8427fda7d3
Author: thomasanderson <thomasanderson@google.com>
Date: Wed Nov 02 19:46:46 2016

X11: Use CopyFromParent colormap when possible

This CL is a small performance optimization.  Previously,
XVisualManager always allocated a new colormap for every used visual.
However, on non-compositing WMs, on some drivers, this could result in
an expensive copy-on-present for every frame, but this should not
occur when using the root window's colormap.

BUG= 661697 

Review-Url: https://codereview.chromium.org/2471073002
Cr-Commit-Position: refs/heads/master@{#429371}

[modify] https://crrev.com/a03a18c3b24025623e0f2ad96ac56b8427fda7d3/ui/base/x/x11_util.cc
[modify] https://crrev.com/a03a18c3b24025623e0f2ad96ac56b8427fda7d3/ui/base/x/x11_util_internal.h
[modify] https://crrev.com/a03a18c3b24025623e0f2ad96ac56b8427fda7d3/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc

Status: Fixed (was: Started)
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d75c767fb070823381289f044d14fdc9928e5c6

commit 6d75c767fb070823381289f044d14fdc9928e5c6
Author: ynovikov <ynovikov@chromium.org>
Date: Thu Nov 03 01:38:11 2016

Revert of X11: Use CopyFromParent colormap when possible (patchset #2 id:20001 of https://codereview.chromium.org/2471073002/ )

Reason for revert:
This causes crashes on Linux with --use-gl=angle.
https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Debug%20%28New%20Intel%29/builds/4741
https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28NVIDIA%29/builds/44802
https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Debug%20%28NVIDIA%29/builds/34419

Crashing stack:
#0  XVisualIDFromVisual (visual=0x0) at ../../src/Misc.c:60
#1  0x00007f6ab2e4a7bb in GetPlatformANGLEDisplay () at ../../ui/gl/gl_surface_egl.cc:153
#2  0x00007f6ab2e482a8 in GetDisplayFromType () at ../../ui/gl/gl_surface_egl.cc:170
#3  InitializeDisplay () at ../../ui/gl/gl_surface_egl.cc:621
#4  0x00007f6ab2e47d37 in InitializeOneOff () at ../../ui/gl/gl_surface_egl.cc:471
#5  0x00007f6ab5cad2d5 in InitializeGLOneOffPlatform () at ../../ui/gl/init/gl_initializer_x11.cc:141
#6  0x00007f6ab5cad0d6 in InitializeGLOneOffImplementation () at ../../ui/gl/init/gl_factory.cc:65
#7  0x00007f6ab5cace70 in InitializeGLOneOff () at ../../ui/gl/init/gl_factory.cc:56
#8  0x00007f6ab5e46c2e in InitializeAndStartSandbox () at ../../gpu/ipc/service/gpu_init.cc:178
#9  0x00007f6ab42ba16b in GpuMain () at ../../content/gpu/gpu_main.cc:250
#10 0x00007f6ab1eb5267 in RunNamedProcessTypeMain () at ../../content/app/content_main_runner.cc:408
#11 0x00007f6ab1eb5cdb in Run () at ../../content/app/content_main_runner.cc:776
#12 0x00007f6ab1eb4650 in ContentMain () at ../../content/app/content_main.cc:20
#13 0x00007f6ab0819c5d in ChromeMain () at ../../chrome/app/chrome_main.cc:97
#14 0x00007f6aa92d0f45 in __libc_start_main (main=0x7f6ab0819c10 <main>, argc=17, argv=0x7ffd9a4f1468, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd9a4f1458) at libc-start.c:287
#15 0x00007f6ab0819b31 in _start ()

Original issue's description:
> X11: Use CopyFromParent colormap when possible
>
> This CL is a small performance optimization.  Previously,
> XVisualManager always allocated a new colormap for every used visual.
> However, on non-compositing WMs, on some drivers, this could result in
> an expensive copy-on-present for every frame, but this should not
> occur when using the root window's colormap.
>
> BUG= 661697 
>
> Committed: https://crrev.com/a03a18c3b24025623e0f2ad96ac56b8427fda7d3
> Cr-Commit-Position: refs/heads/master@{#429371}

TBR=erg@chromium.org,derat@chromium.org,thomasanderson@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 661697 

Review-Url: https://codereview.chromium.org/2471403002
Cr-Commit-Position: refs/heads/master@{#429504}

[modify] https://crrev.com/6d75c767fb070823381289f044d14fdc9928e5c6/ui/base/x/x11_util.cc
[modify] https://crrev.com/6d75c767fb070823381289f044d14fdc9928e5c6/ui/base/x/x11_util_internal.h
[modify] https://crrev.com/6d75c767fb070823381289f044d14fdc9928e5c6/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc

Comment 4 by kbr@chromium.org, Nov 3 2016

Status: Started (was: Fixed)
I'm adding these tests to master.tryserver.chromium.linux:linux_optional_gpu_tests_rel in https://codereview.chromium.org/2471373003/ You can add the line:

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel

to your CL description to run them in your tryjobs.
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59d19400cc4c5098129697825d9816924bb2c1b9

commit 59d19400cc4c5098129697825d9816924bb2c1b9
Author: kbr <kbr@chromium.org>
Date: Thu Nov 03 22:11:29 2016

Run webgl_conformance_angle_tests on linux_optional_gpu_tests_rel.

BUG= 661697 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=zmo@chromium.org

Review-Url: https://codereview.chromium.org/2471373003
Cr-Commit-Position: refs/heads/master@{#429709}

[modify] https://crrev.com/59d19400cc4c5098129697825d9816924bb2c1b9/content/test/gpu/generate_buildbot_json.py
[modify] https://crrev.com/59d19400cc4c5098129697825d9816924bb2c1b9/testing/buildbot/chromium.gpu.fyi.json

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/66edd15df4d85fa3ee13e8dd911bee8ffcfbe885

commit 66edd15df4d85fa3ee13e8dd911bee8ffcfbe885
Author: thomasanderson <thomasanderson@google.com>
Date: Fri Nov 04 22:55:14 2016

X11: Use CopyFromParent colormap when possible (Reland)

This CL is a small performance optimization.  Previously,
XVisualManager always allocated a new colormap for every used visual.
However, on non-compositing WMs, on some drivers, this could result in
an expensive copy-on-present for every frame, but this should not
occur when using the root window's colormap.

BUG= 661697 

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2471073002
Cr-Commit-Position: refs/heads/master@{#430050}

[modify] https://crrev.com/66edd15df4d85fa3ee13e8dd911bee8ffcfbe885/ui/base/x/x11_util.cc
[modify] https://crrev.com/66edd15df4d85fa3ee13e8dd911bee8ffcfbe885/ui/base/x/x11_util_internal.h
[modify] https://crrev.com/66edd15df4d85fa3ee13e8dd911bee8ffcfbe885/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc

Status: Fixed (was: Started)

Sign in to add a comment