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

Issue 1347013002: RTCEAGLVideoView: Fix GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT error. (Closed)

Created:
5 years, 3 months ago by cahlbin
Modified:
5 years, 2 months ago
Reviewers:
magjed_webrtc, tommi
CC:
webrtc-reviews_webrtc.org
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

RTCEAGLVideoView: Fix GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT error. Fix an issue where using setNeedsDisplay on a GLKView which has a frame with size zero will make GLKView/iOS output the following error: Failed to bind EAGLDrawable: <CAEAGLLayer: 0x1742282e0> to GL_RENDERBUFFER 1 Failed to make complete framebuffer object 8cd6 (The error code 8cd6 corresponds to GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT.) GLKView will internally setup it's render buffer when the delegate is about to draw into it. Previously when enableSetNeedsDisplay was set to YES (default), then GLKView would still attempt to setup it's internal buffer even if it's frame size is zero and that would cause GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT. By using enableSetNeedsDisplay = NO, RTCEAGLVideoView can guard against calling -[GLKView display] if it's current frame size is empty. Committed: https://crrev.com/88799d9c1f496ecbe2b17c7508c95566175a29fc Cr-Commit-Position: refs/heads/master@{#10076}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Reworked patch based on enableSetNeedsDisplay #

Total comments: 2

Patch Set 3 : Add isDirty flag #

Total comments: 5

Patch Set 4 : Fix comment: 80 chars per line #

Unified diffs Side-by-side diffs Delta from patch set Stats (+48 lines, -7 lines) Patch
M AUTHORS View 1 chunk +1 line, -0 lines 0 comments Download
M talk/app/webrtc/objc/RTCEAGLVideoView.m View 1 2 3 6 chunks +47 lines, -7 lines 0 comments Download

Messages

Total messages: 30 (8 generated)
cahlbin
5 years, 3 months ago (2015-09-16 10:33:09 UTC) #2
tommi
Magnus can you take a look?
5 years, 3 months ago (2015-09-16 16:45:56 UTC) #4
magjed_webrtc
Where exactly does it crash? It should be ok to create an incomplete framebuffer in ...
5 years, 3 months ago (2015-09-17 08:59:46 UTC) #5
cahlbin
On 2015/09/17 08:59:46, magjed_webrtc wrote: > Where exactly does it crash? It should be ok ...
5 years, 3 months ago (2015-09-17 13:46:25 UTC) #6
magjed_webrtc
You are probably right that we should have a 'isDirty' flag that we set on ...
5 years, 3 months ago (2015-09-18 09:24:14 UTC) #7
cahlbin
Because the core of the CL is by using enableSetNeedsDisplay = NO, gain the control ...
5 years, 3 months ago (2015-09-18 09:55:17 UTC) #8
magjed_webrtc
I see. So the need for 'isDirty' flag is related to this CL because of ...
5 years, 3 months ago (2015-09-18 10:14:13 UTC) #9
cahlbin
On 2015/09/18 10:14:13, magjed_webrtc wrote: > I see. So the need for 'isDirty' flag is ...
5 years, 3 months ago (2015-09-21 10:24:37 UTC) #10
magjed_webrtc
Nice solution to override setNeedsDisplay(). https://codereview.webrtc.org/1347013002/diff/40001/talk/app/webrtc/objc/RTCEAGLVideoView.m File talk/app/webrtc/objc/RTCEAGLVideoView.m (left): https://codereview.webrtc.org/1347013002/diff/40001/talk/app/webrtc/objc/RTCEAGLVideoView.m#oldcode132 talk/app/webrtc/objc/RTCEAGLVideoView.m:132: _glkView = [[GLKView alloc] ...
5 years, 3 months ago (2015-09-21 11:44:10 UTC) #11
cahlbin
On 2015/09/21 11:44:10, magjed_webrtc wrote: > Nice solution to override setNeedsDisplay(). > > https://codereview.webrtc.org/1347013002/diff/40001/talk/app/webrtc/objc/RTCEAGLVideoView.m > ...
5 years, 3 months ago (2015-09-21 12:56:13 UTC) #12
magjed_webrtc
> That would make the actual rendering be invoked immediately and "out-of-sync" > with the ...
5 years, 3 months ago (2015-09-21 14:59:56 UTC) #13
cahlbin
On 2015/09/21 14:59:56, magjed_webrtc wrote: > > That would make the actual rendering be invoked ...
5 years, 2 months ago (2015-09-24 15:44:36 UTC) #14
cahlbin
On 2015/09/21 14:59:56, magjed_webrtc wrote: > > That would make the actual rendering be invoked ...
5 years, 2 months ago (2015-09-24 15:44:37 UTC) #15
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1347013002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1347013002/60001
5 years, 2 months ago (2015-09-24 16:10:04 UTC) #17
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 2 months ago (2015-09-24 18:38:05 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1347013002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1347013002/60001
5 years, 2 months ago (2015-09-24 18:48:51 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/939)
5 years, 2 months ago (2015-09-24 18:50:34 UTC) #24
magjed_webrtc
tommi - We need a rubber stamp from you.
5 years, 2 months ago (2015-09-25 12:18:16 UTC) #25
tommi
rs lgtm
5 years, 2 months ago (2015-09-25 13:37:05 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1347013002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1347013002/60001
5 years, 2 months ago (2015-09-25 13:57:01 UTC) #28
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 2 months ago (2015-09-25 13:57:54 UTC) #29
commit-bot: I haz the power
5 years, 2 months ago (2015-09-25 13:58:01 UTC) #30
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/88799d9c1f496ecbe2b17c7508c95566175a29fc
Cr-Commit-Position: refs/heads/master@{#10076}

Powered by Google App Engine
This is Rietveld 408576698