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

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocked on:
issue 736022



Sign in to add a comment

Create a low-latency rendering mode for OffscreenCanvas.

Project Member Reported by xidac...@chromium.org, Sep 12 2016

Issue description

In this cl:
https://codereview.chromium.org/2328463004/

We always set resource.is_overlay_candidate = false, it could be true.
 
Cc: junov@chromium.org
Owner: ----
Status: Available (was: Assigned)

Comment 2 by junov@chromium.org, Jun 5 2017

Owner: junov@chromium.org
Status: Assigned (was: Available)

Comment 3 by junov@chromium.org, Jun 5 2017

Summary: Create a low-latency rendering mode for OffscreenCanvas. (was: resource can be overlayer-able when submitting compositor frame)

Comment 4 by rbyers@chromium.org, Jun 13 2017

Spec discussion for this here: https://github.com/whatwg/html/issues/2659

Comment 5 by rbyers@chromium.org, Jun 13 2017

Blocking: 732814
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 21 2017

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

commit 46742f7890323f88e6d7b0d23dc058ec7736d572
Author: Justin Novosad <junov@chromium.org>
Date: Wed Jun 21 23:41:07 2017

Use GpuMemoryBuffers for OffscreenCanvas

This CL Makes use of GpuMemoryBuffers in cases where the canvas context
is not accelerated but the compositor is. This includes WebGL
contexts that are rendered using swiftshader.

GpuMemoryBuffers will also be used for GPU-accelerated canvases on
platforms that support gfx::BufferUsage::SCANOUT (i.e. MacOS and
Ozone).

Bug:  646022 
Change-Id: If00a828b769e989a58919b7b3133c0eea3faecd5
Reviewed-on: https://chromium-review.googlesource.com/533699
Commit-Queue: Justin Novosad <junov@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481355}
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcher.h
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.h
[modify] https://crrev.com/46742f7890323f88e6d7b0d23dc058ec7736d572/tools/metrics/histograms/enums.xml

Comment 7 by kbr@chromium.org, Jun 23 2017

Cc: kbr@chromium.org
Unfortunately, none of the directories touched by the CL above added the optional GPU tryservers, and this caused the OffscreenCanvas pixel tests on all Android devices to start failing with crashes inside the GPU process:

  	06-22 00:20:54.290  8384  8400 E chromium: [ERROR:gles2_cmd_decoder.cc(15676)] Context lost because SwapBuffers failed.
  	06-22 00:20:54.290  8384  8400 E chromium: [ERROR:gles2_cmd_decoder.cc(5310)] Error: 5 for Command kSwapBuffers
  	06-22 00:20:54.327  8320  8320 F chromium: [FATAL:frame_sink_manager.cc(79)] Check failed: registered_sources_.count(source) == 0u (1 vs. 0)


See for example the Swarming logs from this run:

https://luci-milo.appspot.com/buildbot/chromium.gpu.fyi/Android%20Release%20%28Nexus%205X%29/8828

but, more generally, see https://build.chromium.org/p/chromium.gpu.fyi/console .

I'm going to revert the patch above. We need to add a similar PRESUBMIT.py to src/third_party/WebKit/Source/modules/webgl/PRESUBMIT.py to Source/core/offscreencanvas/ and Source/platform/graphics .

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 23 2017

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

commit 8774a16197d9b44f70a5f32222708cb26fbfff70
Author: Khushal <khushalsagar@chromium.org>
Date: Fri Jun 23 18:33:05 2017

Revert "Use GpuMemoryBuffers for OffscreenCanvas"

This reverts commit 46742f7890323f88e6d7b0d23dc058ec7736d572.

Reason for revert: Pixel_OffscreenCanvasUnaccelerated2DGPUCompositing[Worker] failing on Android bots. See  crbug.com/736022 .

Original change's description:
> Use GpuMemoryBuffers for OffscreenCanvas
> 
> This CL Makes use of GpuMemoryBuffers in cases where the canvas context
> is not accelerated but the compositor is. This includes WebGL
> contexts that are rendered using swiftshader.
> 
> GpuMemoryBuffers will also be used for GPU-accelerated canvases on
> platforms that support gfx::BufferUsage::SCANOUT (i.e. MacOS and
> Ozone).
> 
> Bug:  646022 
> Change-Id: If00a828b769e989a58919b7b3133c0eea3faecd5
> Reviewed-on: https://chromium-review.googlesource.com/533699
> Commit-Queue: Justin Novosad <junov@chromium.org>
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Jesse Doherty <jwd@chromium.org>
> Reviewed-by: Fernando Serboncini <fserb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#481355}

TBR=reveman@chromium.org,jwd@chromium.org,junov@chromium.org,fserb@chromium.org,piman@chromium.org,jochen@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  646022 
Change-Id: I19e7c9ed068a13cc0aa2b3c50fa6fdd0b00655d6
Reviewed-on: https://chromium-review.googlesource.com/545185
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481963}
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/content/renderer/renderer_blink_platform_impl.cc
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/content/renderer/renderer_blink_platform_impl.h
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcher.h
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.h
[modify] https://crrev.com/8774a16197d9b44f70a5f32222708cb26fbfff70/tools/metrics/histograms/enums.xml

Comment 9 by kbr@chromium.org, Jun 23 2017

Cc: khushals...@chromium.org
Thanks Khushal for pushing through the revert.

Comment 10 by kbr@chromium.org, Jul 27 2017

Blockedon: 736022
Components: Blink>Canvas

Comment 12 by junov@chromium.org, Nov 24 2017

Status: WontFix (was: Assigned)

Comment 13 by junov@chromium.org, Nov 24 2017

FYI, work is continuing here:  issue 788261 

Comment 14 by junov@chromium.org, Nov 24 2017

Blocking: -732814

Sign in to add a comment