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

Issue 787099 link

Starred by 4 users

Issue metadata

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

Blocked on:
issue 787486
issue 810424
issue 826633

Blocking:
issue 787097



Sign in to add a comment

Get VizDisplayCompositor working behind flag in Windows desktop Chrome

Project Member Reported by kylec...@chromium.org, Nov 20 2017

Issue description

Make --enable-features=VizDisplayCompositor work on Windows. This flag moves the display compositor from the browser to the GPU process.
 
Blockedon: 787486
Blockedon: 787814
Blockedon: 791660
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 4 2017

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

commit 8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb
Author: kylechar <kylechar@chromium.org>
Date: Mon Dec 04 23:43:17 2017

viz: Register HWNDs on Windows.

Add calls in VizProcessTransportFactory to register HWNDs. This code is
the same as in GpuProcessTransportFactory.

The registration of child HWND can happen later with viz and the display
compositor in the GPU process. As a result, VizProcessTransportFactory
can request calling SetParent() too early. Remember that the browser
requested calling SetParent() and when the child is registered call it
then.

InProcessCommandBuffer assumed it was in the browser process and
directly called ::SetParent(), which isn't allowed by the GPU sandbox.
Use the same mechanism used by GpuCommandBufferStub to forward the
SetParent() request to the browser. This requires providing the
GpuChannelManager to InProcessCommandBuffer.

Bug:  787099 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: I2ff351bc90a3f0871149608ad5b6457a1a6cebbc
Reviewed-on: https://chromium-review.googlesource.com/779244
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521524}
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/android_webview/browser/aw_render_thread_context_provider.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/cc/paint/oop_pixeltest.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/cc/paint/transfer_cache_unittest.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/cc/test/test_in_process_context_provider.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/components/viz/common/gl_helper_benchmark.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/components/viz/common/gl_helper_unittest.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/components/viz/common/gpu/in_process_context_provider.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/components/viz/common/gpu/in_process_context_provider.h
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/components/viz/common/yuv_readback_unittest.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/components/viz/service/display_embedder/gpu_display_provider.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/components/viz/service/display_embedder/gpu_display_provider.h
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/content/browser/compositor/viz_process_transport_factory.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/gpu/ipc/client/gpu_in_process_context_tests.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/gpu/ipc/gl_in_process_context.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/gpu/ipc/gl_in_process_context.h
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/ui/compositor/test/in_process_context_provider.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/ui/gfx/win/rendering_window_manager.cc
[modify] https://crrev.com/8e7c5e4dc2fe0d5caa25c9815d7b0d2492d791fb/ui/gfx/win/rendering_window_manager.h

Blockedon: 810424
Summary: Get VizDisplayCompositor working behind flag in Windows desktop Chrome (was: Get viz working behind flag in Windows desktop Chrome)
 Issue 782870  has been merged into this issue.
Blockedon: 782886
Cc: danakj@chromium.org sunn...@chromium.org zmo@chromium.org vmi...@chromium.org
Description: Show this description
Blockedon: 811945
Project Member

Comment 11 by bugdroid1@chromium.org, Feb 15 2018

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

commit 4af57f3b7617b501174d7a755c9f0f2dace85a7d
Author: kylechar <kylechar@chromium.org>
Date: Thu Feb 15 19:14:00 2018

Fix InProcessCommandBuffer::SignalQueryOnGpuThread().

With the pass through command decoder there is no QueryManager instance.
It looks like CommandBufferStub was updated to take this into account
but not InProcessCommandBuffer. Add equivalent logic to
InProcessCommandBuffer so it doesn't crash.

This was causing a crash on Windows with the VizDisplayCompositor
feature.

Bug:  787099 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;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
Change-Id: Iea195682548737cbfdfdb53c1521b1931fb5224f
Reviewed-on: https://chromium-review.googlesource.com/921925
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537091}
[modify] https://crrev.com/4af57f3b7617b501174d7a755c9f0f2dace85a7d/gpu/ipc/in_process_command_buffer.cc

Blockedon: -787814
Blockedon: 826633
Blockedon: -811945
Blockedon: -791660
Blockedon: -782886
Status: Fixed (was: Assigned)
OOP-D is definitely working on Windows at this point. Marking this as fixed.

Sign in to add a comment