New issue
Advanced search Search tips

Issue 735630 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Lots of unnecessary GL flushes throughout Blink

Project Member Reported by junov@chromium.org, Jun 21 2017

Issue description

Uses of gl context Flush() need to be reviewed in blink.  In many places, ShallowFlushCHROMIUM would be enough.  There are also call sites where it is not obvious why a Flush is needed, whcich should be better documented.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 8 2017

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

commit 5b07996e178c5f4e153e771d48ab839867fa7440
Author: Justin Novosad <junov@chromium.org>
Date: Wed Nov 08 23:26:00 2017

Reland: Refactor of Canvas2DLayerBridge resource model

Transition to polymorphic RAII model. The purpose of this change
is to improve the maintainability and extendability of the code.
The GpuMemoryBuffer code is also getting a drive-by optimization
that will eliminate unnecessary gpu commandbuffer flushing and
verified sync tokens, which result in synchronous IPCs.

Original code review:
https://chromium-review.googlesource.com/c/chromium/src/+/728340

Fixed bad include of CanvasResourceProvider.cpp instead of .h

BUG= 773466 , 768049 ,735630
TBR=fserb@chromium.org,xlai@chromium.org,mostynb@vewd.com,sky@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I143b7dc78d50ded8f1541868edecda97946e6292
Reviewed-on: https://chromium-review.googlesource.com/758562
Commit-Queue: Justin Novosad <junov@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515001}
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/LayoutTests/fast/canvas/canvas-incremental-repaint.html
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/LayoutTests/fast/canvas/canvas-toDataURL-jpeg-maximum-quality.html
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/LayoutTests/fast/canvas/canvas-toDataURL-webp.html
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-lost-gpu-context.js
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/LayoutTests/fast/canvas/script-tests/canvas-toBlob-toDataURL-race.js
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/LayoutTests/virtual/display_list_2d_canvas/fast/canvas/canvas-lost-gpu-context-expected.txt
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/LayoutTests/virtual/gpu/fast/canvas/canvas-lost-gpu-context-expected.txt
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/core/paint/HTMLCanvasPainterTest.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/modules/canvas/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/CanvasColorParams.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/CanvasColorParams.h
[add] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/CanvasResource.cpp
[add] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/CanvasResource.h
[add] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/CanvasResourceProvider.cpp
[add] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/CanvasResourceProvider.h
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/DEPS
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/GraphicsTypes.h
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/ImageBuffer.h
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.h
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.h
[modify] https://crrev.com/5b07996e178c5f4e153e771d48ab839867fa7440/tools/metrics/histograms/enums.xml

Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment