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

Issue 627003002: Use a single CGLContextObj to draw and update the IOSurface (Closed)

Created:
6 years, 2 months ago by ccameron
Modified:
6 years, 2 months ago
CC:
chromium-reviews, jam, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Use a single CGLContextObj to draw and update the IOSurface There is no reason that this can't be done, based on documentation, but it may be that this will cause crashes during texture destruction or context tear-down (see crbug.com/411782). I have 3 theories as to why these crashes are occurring 1. Using an IOSurface in a CGLContextObj that is also used by a CAOpenGLLayer causes bugs 2. The crashes observed were because context destruction just crashes at a certain frequency, and previous patches made context destruction more frequent. 3. IOSurface-backed textures should be immutable -- no GL texture should be bound to one IOSurface then the other. If theory 1 is correct, this will need to be reverted because the crashes will re-occur. If theories 2 or 3 are correct, then this patch is safe. BUG=420253 Committed: https://crrev.com/0ea6e165293b7d24deec0d29fb9d6333d3a71b6d Cr-Commit-Position: refs/heads/master@{#298916}

Patch Set 1 #

Patch Set 2 : Rebase #

Patch Set 3 : Rebase #

Total comments: 4

Patch Set 4 : Incorporate review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+46 lines, -98 lines) Patch
M content/browser/compositor/io_surface_context_mac.h View 1 2 chunks +9 lines, -22 lines 0 comments Download
M content/browser/compositor/io_surface_context_mac.mm View 1 2 3 4 chunks +17 lines, -41 lines 0 comments Download
M content/browser/compositor/io_surface_layer_mac.h View 2 chunks +0 lines, -3 lines 0 comments Download
M content/browser/compositor/io_surface_layer_mac.mm View 1 2 4 chunks +7 lines, -12 lines 0 comments Download
M content/browser/compositor/io_surface_texture_mac.h View 1 2 2 chunks +3 lines, -4 lines 0 comments Download
M content/browser/compositor/io_surface_texture_mac.mm View 1 2 5 chunks +10 lines, -16 lines 0 comments Download

Messages

Total messages: 18 (4 generated)
ccameron
This is the last cleanup patch for the IOSurface path (next step is to start ...
6 years, 2 months ago (2014-10-03 18:54:04 UTC) #2
Ken Russell (switch to Gerrit)
Could you please file a bug for this in case it needs to be reverted ...
6 years, 2 months ago (2014-10-03 21:53:37 UTC) #3
ccameron
On 2014/10/03 21:53:37, Ken Russell wrote: > Could you please file a bug for this ...
6 years, 2 months ago (2014-10-03 21:59:40 UTC) #4
Ken Russell (switch to Gerrit)
Per my comments on https://codereview.chromium.org/625753002/ I don't understand the current state of this code. Could ...
6 years, 2 months ago (2014-10-04 00:47:54 UTC) #5
ccameron
On 2014/10/04 00:47:54, Ken Russell wrote: > Per my comments on https://codereview.chromium.org/625753002/ I don't understand ...
6 years, 2 months ago (2014-10-04 00:50:13 UTC) #6
ccameron
This is the rebase of the second half of the patch. I listed the 3 ...
6 years, 2 months ago (2014-10-08 18:50:51 UTC) #7
Ken Russell (switch to Gerrit)
Thanks again for the offline conversation about this and the other CL. LGTM with nits. ...
6 years, 2 months ago (2014-10-08 21:43:16 UTC) #8
ccameron
Thanks! https://codereview.chromium.org/627003002/diff/40001/content/browser/compositor/io_surface_context_mac.mm File content/browser/compositor/io_surface_context_mac.mm (right): https://codereview.chromium.org/627003002/diff/40001/content/browser/compositor/io_surface_context_mac.mm#newcode53 content/browser/compositor/io_surface_context_mac.mm:53: // need to be recreated when transitioning contexts. ...
6 years, 2 months ago (2014-10-09 07:32:51 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/627003002/60001
6 years, 2 months ago (2014-10-09 07:33:59 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: linux_gpu_triggered_tests on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu_triggered_tests/builds/66601)
6 years, 2 months ago (2014-10-09 08:23:21 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/627003002/60001
6 years, 2 months ago (2014-10-09 16:52:56 UTC) #15
commit-bot: I haz the power
Committed patchset #4 (id:60001)
6 years, 2 months ago (2014-10-09 17:07:23 UTC) #16
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/0ea6e165293b7d24deec0d29fb9d6333d3a71b6d Cr-Commit-Position: refs/heads/master@{#298916}
6 years, 2 months ago (2014-10-09 17:09:10 UTC) #17
ccameron
6 years, 2 months ago (2014-10-09 20:35:45 UTC) #18
Message was sent while issue was closed.
A revert of this CL (patchset #4 id:60001) has been created in
https://codereview.chromium.org/647553002/ by ccameron@chromium.org.

The reason for reverting is: I hear reports of instability on Mac try servers,
with crashes in the GL driver..

Powered by Google App Engine
This is Rietveld 408576698