Add child platform window in GPU process for software compositing |
||
Issue descriptionFor 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.
,
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
,
May 30 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by danakj@chromium.org
, Apr 23 2018