New issue
Advanced search Search tips

Issue 793508 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 757605
issue 757607



Sign in to add a comment

OOP-R: Remove dependencies on worker context's GrContext for OOP-Raster.

Project Member Reported by vmi...@chromium.org, Dec 9 2017

Issue description

To fully switch to a RasterInterface implementation ( Issue 757607 ) we should
remove any references to the compositor worker GrContext from the compositor.

It also doesn't make sense to create a GrContext only to query some raster
properties, which may not be compatible with the OOP-R service side
implementation.

Users include LayerTreeHostImpl and GpuImageDecodeCache.
 
Description: Show this description

Comment 2 by backer@chromium.org, Dec 12 2017

Did you mean to remove the GrContext references completely or just to remove them on the --enable-oop-rasterization path?

The dependency in LTHImpl is to detect if we can safely --enable-gpu-rasterization on the renderer side (both with and without --enable-oop-rasterization).

I think that this is somewhat related to crbug.com/786591. 

I suspect that it's possible to create a GrContext on the renderer side and fail to create one on the GPU process side (and vice versa).

Comment 3 by vmi...@chromium.org, Dec 12 2017

#2: Yes, exactly as you say.

Comment 4 by backer@chromium.org, Dec 12 2017

On the GPU process side, we'd eventually like to share the GrContext among different RasterDecoders. Perhaps we can try to create the CrContext early and pass if we are successful up via the gpu::GpuFeatureInfo when you create a GpuChannel on the client side.

I believe that this is very similar to option 2 in https://bugs.chromium.org/p/chromium/issues/detail?id=786591#c1
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 2 2018

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

commit 72cf4278866ef427a2cd3c49b7df3844f12faff7
Author: Adrienne Walker <enne@chromium.org>
Date: Mon Apr 02 23:04:35 2018

Fix oop raster disabling itself

After https://chromium-review.googlesource.com/c/chromium/src/+/982098,
enabling oop rasterization by the command line disables gpu rasterization
which in turn disables oop rasterization and uses software rasterization
instead.

This also fixes uses of GrContext that are no longer supported in
GpuImageDecodeCache.

Bug:  826987 ,  793508 
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;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ifdf1f18eb34e9e63eeb6e39cb66a6ab77e10afcd
Reviewed-on: https://chromium-review.googlesource.com/986744
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547548}
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/cc/paint/oop_pixeltest.cc
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/cc/tiles/gpu_image_decode_cache.h
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/components/viz/test/test_web_graphics_context_3d.cc
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/components/viz/test/test_web_graphics_context_3d.h
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/content/renderer/webgraphicscontext3d_provider_impl.cc
[modify] https://crrev.com/72cf4278866ef427a2cd3c49b7df3844f12faff7/gpu/command_buffer/service/gles2_cmd_decoder.cc

Comment 6 by enne@chromium.org, Apr 3 2018

Owner: enne@chromium.org
Status: Fixed (was: Available)

Sign in to add a comment