Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Issue 556303002: Adjust DrawingBuffer's visibility tracking behavior with lost context (Closed)

Created:
6 years, 3 months ago by Sami
Modified:
6 years, 3 months ago
CC:
blink-reviews, jamesr, krit, blink-reviews-html_chromium.org, jbroman, dglazkov+blink, Rik, Stephen Chennney, aandrey+blink_chromium.org, pdr., rwlbuis
Project:
blink
Visibility:
Public.

Description

Adjust DrawingBuffer's visibility tracking behavior with lost context This patch adjusts DrawingBuffer's behavior when a context is lost in two ways: 1. Always tell DrawingBuffer whether it is visible or not regardless of whether the WebGL context is lost. This is needed because visibility notifications may arrive from the browser while the context is lost and the compositor may also attempt to composite the DrawingBuffer during this time. 2. Don't check the current visibility in DrawingBuffer::prepareMailbox() if the DrawingBuffer is being destroyed. This is because the DrawingBuffer may become hidden right before the context is forcibly lost (using WEBGL_lose_context), and after that point WebGLRenderingContextBase no longer has a reference to the DrawingBuffer to update its visibility state. BUG=411372 TEST=Added in https://codereview.chromium.org/560023002 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181808

Patch Set 1 #

Total comments: 5

Patch Set 2 : Always delete mailboxes. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4 lines, -5 lines) Patch
M Source/core/html/canvas/WebGLRenderingContextBase.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/graphics/gpu/DrawingBuffer.cpp View 1 2 chunks +3 lines, -4 lines 0 comments Download

Messages

Total messages: 28 (7 generated)
Sami
6 years, 3 months ago (2014-09-10 14:54:05 UTC) #2
danakj
https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp File Source/platform/graphics/gpu/DrawingBuffer.cpp (right): https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp#newcode197 Source/platform/graphics/gpu/DrawingBuffer.cpp:197: if (m_isHidden && !m_context->isContextLost()) Can you explain why you ...
6 years, 3 months ago (2014-09-10 15:11:49 UTC) #4
Sami
On 2014/09/10 15:11:49, danakj wrote: > https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp > File Source/platform/graphics/gpu/DrawingBuffer.cpp (right): > > https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp#newcode197 > ...
6 years, 3 months ago (2014-09-10 15:12:36 UTC) #5
danakj
On Wed, Sep 10, 2014 at 11:12 AM, <skyostil@chromium.org> wrote: > On 2014/09/10 15:11:49, danakj ...
6 years, 3 months ago (2014-09-10 15:16:42 UTC) #6
Sami
On 2014/09/10 15:16:42, danakj wrote: > Oh.. ok maybe someone else can comment on why ...
6 years, 3 months ago (2014-09-10 15:28:47 UTC) #7
Sami
+dongseong.hwang@intel.com who added mailbox recycling (and appears to be on vacation)
6 years, 3 months ago (2014-09-10 15:30:48 UTC) #9
danakj
Perhaps +junov who reviewed stuff :)
6 years, 3 months ago (2014-09-10 15:31:52 UTC) #11
Justin Novosad
This looks fine to me. Too bad that the test isn't in the same repo ...
6 years, 3 months ago (2014-09-10 17:09:50 UTC) #12
danakj
https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp File Source/platform/graphics/gpu/DrawingBuffer.cpp (right): https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp#newcode197 Source/platform/graphics/gpu/DrawingBuffer.cpp:197: if (m_isHidden && !m_context->isContextLost()) On 2014/09/10 17:09:50, junov wrote: ...
6 years, 3 months ago (2014-09-10 17:12:12 UTC) #13
Justin Novosad
https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp File Source/platform/graphics/gpu/DrawingBuffer.cpp (right): https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp#newcode197 Source/platform/graphics/gpu/DrawingBuffer.cpp:197: if (m_isHidden && !m_context->isContextLost()) On 2014/09/10 17:09:50, junov wrote: ...
6 years, 3 months ago (2014-09-10 17:16:24 UTC) #14
danakj
https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp File Source/platform/graphics/gpu/DrawingBuffer.cpp (right): https://codereview.chromium.org/556303002/diff/1/Source/platform/graphics/gpu/DrawingBuffer.cpp#newcode197 Source/platform/graphics/gpu/DrawingBuffer.cpp:197: if (m_isHidden && !m_context->isContextLost()) On 2014/09/10 17:16:24, junov wrote: ...
6 years, 3 months ago (2014-09-10 17:18:12 UTC) #15
Justin Novosad
Looking at the code, I don't really understand why there is a problem with the ...
6 years, 3 months ago (2014-09-10 17:20:20 UTC) #16
Sami
On 2014/09/10 17:20:20, junov wrote: > Looking at the code, I don't really understand why ...
6 years, 3 months ago (2014-09-10 17:24:23 UTC) #17
Sami
I removed the guard, ran the context_lost tests and didn't see any problems.
6 years, 3 months ago (2014-09-10 17:44:22 UTC) #18
Justin Novosad
On 2014/09/10 17:44:22, Sami wrote: > I removed the guard, ran the context_lost tests and ...
6 years, 3 months ago (2014-09-10 17:55:25 UTC) #19
danakj
On 2014/09/10 17:44:22, Sami wrote: > I removed the guard, ran the context_lost tests and ...
6 years, 3 months ago (2014-09-10 18:22:24 UTC) #20
Ken Russell (switch to Gerrit)
Sami, thanks very much for fixing this. LGTM
6 years, 3 months ago (2014-09-10 22:45:14 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/556303002/20001
6 years, 3 months ago (2014-09-10 22:46:14 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: win_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu_triggered_tests/builds/50245)
6 years, 3 months ago (2014-09-10 23:26:41 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/556303002/20001
6 years, 3 months ago (2014-09-11 09:50:41 UTC) #27
commit-bot: I haz the power
6 years, 3 months ago (2014-09-11 09:51:27 UTC) #28
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as 181808

Powered by Google App Engine
This is Rietveld 408576698