New issue
Advanced search Search tips

Issue 835906 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug

Blocking:
issue 730660



Sign in to add a comment

Add child platform window in GPU process for software compositing

Project Member Reported by kylec...@chromium.org, Apr 23 2018

Issue description

For each top level window there is a platform window (eg. HWND or XWindow) in the browser process. For GPU compositing we would create a child platform window in the GPU process parented to the browser platform window. This provides better looking resize and potentially eliminates some GPU sandbox issues. We should do the same thing with OOP-D software compositing since it's also in the GPU process.
 

Comment 1 by danakj@chromium.org, Apr 23 2018

Blocking: 730660
Project Member

Comment 2 by bugdroid1@chromium.org, May 30 2018

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

commit cd157cc064b027602e61ae6bf51c30c6d94e0875
Author: kylechar <kylechar@chromium.org>
Date: Wed May 30 17:30:02 2018

viz: Add child HWND for software compositing.

Add child HWND in the GPU process when using OOP-D software compositing.
OOP-D moves the software compositor from the browser process into the
GPU process. There are undesirable artifacts during resize where pixels
from the existing window content are repeated in the unpainted region.
GPU compositing uses a child HWND to prevent resize artifacts already.

The child HWND is on the same thread as the display compositor. This is
different than GPU compositing where the child HWND has a dedicated
thread. The dedicated thread was added as a potential fix for a GPU
process hang but doesn't look to have worked from
https://crbug.com/596190#c138. If necessary we can do something similar
for software compositing

Bug:  835906 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I7195aaea18bca56084cd2ac3c6d1079668e92f13
Reviewed-on: https://chromium-review.googlesource.com/1025954
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562890}
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/components/viz/service/display_embedder/gpu_display_provider.cc
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/components/viz/service/display_embedder/software_output_device_win.cc
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/components/viz/service/display_embedder/software_output_device_win.h
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/components/viz/service/gl/gpu_service_impl.cc
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/components/viz/service/gl/gpu_service_impl.h
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/components/viz/service/main/viz_main_impl.cc
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/gpu/ipc/service/gles2_command_buffer_stub.cc
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/gpu/ipc/service/gpu_channel_manager_delegate.h
[modify] https://crrev.com/cd157cc064b027602e61ae6bf51c30c6d94e0875/gpu/ipc/service/gpu_channel_test_common.cc

Status: Fixed (was: Started)

Sign in to add a comment