{"action":"created","comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments/110660121","pull_request_review_id":31831481,"id":110660121,"diff_hunk":"@@ -384,6 +384,22 @@ Framebuffer Context::createFramebuffer(const Texture& color) {\n     return { color.size, std::move(fbo) };\n }\n \n+Framebuffer\n+Context::createFramebuffer(const Renderbuffer<RenderbufferType::RGBA4>& colorTarget,\n+                           const Renderbuffer<RenderbufferType::DepthComponent>& depthTarget,\n+                           const Texture& fboTexture) {\n+    if (colorTarget.size != depthTarget.size) {\n+        throw new std::runtime_error(\"Renderbuffer size mismatch\");\n+    }\n+    auto fbo = createFramebuffer();\n+    bindFramebuffer = fbo;\n+    MBGL_CHECK_ERROR(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorTarget.renderbuffer));\n+    MBGL_CHECK_ERROR(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthTarget.renderbuffer));\n+    MBGL_CHECK_ERROR(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, fboTexture.texture, 0));","path":"src/mbgl/gl/context.cpp","position":15,"original_position":15,"commit_id":"667d6a6f15babfeb5455c45223a5ed8beafdb304","original_commit_id":"667d6a6f15babfeb5455c45223a5ed8beafdb304","user":{"login":"kkaefer","id":52399,"avatar_url":"https://avatars3.githubusercontent.com/u/52399?v=3","gravatar_id":"","url":"https://api.github.com/users/kkaefer","html_url":"https://github.com/kkaefer","followers_url":"https://api.github.com/users/kkaefer/followers","following_url":"https://api.github.com/users/kkaefer/following{/other_user}","gists_url":"https://api.github.com/users/kkaefer/gists{/gist_id}","starred_url":"https://api.github.com/users/kkaefer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkaefer/subscriptions","organizations_url":"https://api.github.com/users/kkaefer/orgs","repos_url":"https://api.github.com/users/kkaefer/repos","events_url":"https://api.github.com/users/kkaefer/events{/privacy}","received_events_url":"https://api.github.com/users/kkaefer/received_events","type":"User","site_admin":false},"body":"Here, `GL_COLOR_ATTACHMENT0` is first bound to the renderbuffer, then to the texture. This means the renderbuffer isn't used at all, and we can directly call `createFramebuffer(texture, depth)`","created_at":"2017-04-10T13:52:13Z","updated_at":"2017-04-10T13:56:41Z","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/8431#discussion_r110660121","pull_request_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431","_links":{"self":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments/110660121"},"html":{"href":"https://github.com/mapbox/mapbox-gl-native/pull/8431#discussion_r110660121"},"pull_request":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431"}}},"pull_request":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431","id":110958160,"html_url":"https://github.com/mapbox/mapbox-gl-native/pull/8431","diff_url":"https://github.com/mapbox/mapbox-gl-native/pull/8431.diff","patch_url":"https://github.com/mapbox/mapbox-gl-native/pull/8431.patch","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/8431","number":8431,"state":"open","locked":false,"title":"[not ready] Render fill-extrusion layers","user":{"login":"lbud","id":3170312,"avatar_url":"https://avatars2.githubusercontent.com/u/3170312?v=3","gravatar_id":"","url":"https://api.github.com/users/lbud","html_url":"https://github.com/lbud","followers_url":"https://api.github.com/users/lbud/followers","following_url":"https://api.github.com/users/lbud/following{/other_user}","gists_url":"https://api.github.com/users/lbud/gists{/gist_id}","starred_url":"https://api.github.com/users/lbud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lbud/subscriptions","organizations_url":"https://api.github.com/users/lbud/orgs","repos_url":"https://api.github.com/users/lbud/repos","events_url":"https://api.github.com/users/lbud/events{/privacy}","received_events_url":"https://api.github.com/users/lbud/received_events","type":"User","site_admin":false},"body":"Opening this for tracking purposes as it's getting close enough to have a public living to-do list:\r\n\r\n- [x] `[functionality]` implement transitions in light options\r\n- [x] `[bug]` In https://github.com/mapbox/mapbox-gl-native/commit/9514b62f1e50e75ff806f2397b37730ba92ce72a I rewrote `RenderItem` to hold a vector of `RenderTile`s, rather than a single `RenderTile`, so that we can render a whole layer at a time (necessary for the offscreen texture approach used herein). In doing so I wrote a logic bug — need to comb over that rewrite 🔍 \r\n- [x] `[bug]` ~I suspect there may be a bug in the way we're handling zoom-and-property functions — investigate~ punted to https://github.com/mapbox/mapbox-gl-native/issues/8460 as it is not actually related\r\n- [x] `[bug]` there are weird striping/zigzag artifacts on glfw and macOS, but not on ios. Need to investigate what's going on here \r\n  * (update: was caused by using a 16-bit depth component resolution `GL_DEPTH_COMPONENT16`; changed to `GL_DEPTH_COMPONENT` which leaves resolution up to the implementation) \r\n  * (update 2: this fixed the issue on MacOS/glfw but broke on iOS as `GL_DEPTH_COMPONENT16` is the only valid depth internalformat for renderbufferStorage :thinking: — onward)\r\n  * (resolution: GL version-specific)\r\n- [x] `[tests]` un-ignore render tests + ensure all pass https://github.com/mapbox/mapbox-gl-js/pull/4519 🚀 \r\n- [x] `[tests]` unit tests\r\n- [x] `[cleanup]` this depends on the [`extrusions-native-tweaks`](https://github.com/mapbox/mapbox-gl-js/compare/extrusions-native-tweaks) branch of mapbox-gl-js, which makes a few changes to shaders — merge that + update dep here\r\n- [x] `[bug]` many render tests are broken (opacity issue?); investigate\r\n- [ ] `[cleanup]` squash/clean up commits (apologies to reviewers 🙈)\r\n- [x] `[cleanup]` revert committed changes in `./platform/glfw/main.cpp`\r\n- [ ] `[platform]` address @1ec5's comments below + corresponding concerns across other generated platform code","created_at":"2017-03-15T22:42:13Z","updated_at":"2017-04-10T13:56:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"36220a02c902df94dee22dfd5cb3569b7d289a5a","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/56","html_url":"https://github.com/mapbox/mapbox-gl-native/milestone/56","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/56/labels","id":2375908,"number":56,"title":"ios-v3.6.0","description":"","creator":{"login":"1ec5","id":1231218,"avatar_url":"https://avatars3.githubusercontent.com/u/1231218?v=3","gravatar_id":"","url":"https://api.github.com/users/1ec5","html_url":"https://github.com/1ec5","followers_url":"https://api.github.com/users/1ec5/followers","following_url":"https://api.github.com/users/1ec5/following{/other_user}","gists_url":"https://api.github.com/users/1ec5/gists{/gist_id}","starred_url":"https://api.github.com/users/1ec5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1ec5/subscriptions","organizations_url":"https://api.github.com/users/1ec5/orgs","repos_url":"https://api.github.com/users/1ec5/repos","events_url":"https://api.github.com/users/1ec5/events{/privacy}","received_events_url":"https://api.github.com/users/1ec5/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":10,"state":"open","created_at":"2017-03-09T22:43:28Z","updated_at":"2017-04-06T19:29:59Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431/commits","review_comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431/comments","review_comment_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/8431/comments","statuses_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/667d6a6f15babfeb5455c45223a5ed8beafdb304","head":{"label":"mapbox:extrusions","ref":"extrusions","sha":"667d6a6f15babfeb5455c45223a5ed8beafdb304","user":{"login":"mapbox","id":600935,"avatar_url":"https://avatars2.githubusercontent.com/u/600935?v=3","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"repo":{"id":16286131,"name":"mapbox-gl-native","full_name":"mapbox/mapbox-gl-native","owner":{"login":"mapbox","id":600935,"avatar_url":"https://avatars2.githubusercontent.com/u/600935?v=3","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mapbox/mapbox-gl-native","description":"Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL","fork":false,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native","forks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/forks","keys_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/teams","hooks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/hooks","issue_events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/events{/number}","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/events","assignees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/assignees{/user}","branches_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/branches{/branch}","tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/tags","blobs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/{sha}","languages_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/languages","stargazers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/stargazers","contributors_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contributors","subscribers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscribers","subscription_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscription","commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contents/{+path}","compare_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/merges","archive_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/downloads","issues_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues{/number}","pulls_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls{/number}","milestones_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones{/number}","notifications_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels{/name}","releases_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/releases{/id}","deployments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/deployments","created_at":"2014-01-27T17:14:48Z","updated_at":"2017-04-10T07:50:09Z","pushed_at":"2017-04-10T13:24:57Z","git_url":"git://github.com/mapbox/mapbox-gl-native.git","ssh_url":"git@github.com:mapbox/mapbox-gl-native.git","clone_url":"https://github.com/mapbox/mapbox-gl-native.git","svn_url":"https://github.com/mapbox/mapbox-gl-native","homepage":"https://mapbox.com/mobile","size":162102,"stargazers_count":1801,"watchers_count":1801,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":567,"mirror_url":null,"open_issues_count":629,"forks":567,"open_issues":629,"watchers":1801,"default_branch":"master"}},"base":{"label":"mapbox:master","ref":"master","sha":"5e53d0586fe97db1d49b4b63313c96efb7bf71f8","user":{"login":"mapbox","id":600935,"avatar_url":"https://avatars2.githubusercontent.com/u/600935?v=3","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"repo":{"id":16286131,"name":"mapbox-gl-native","full_name":"mapbox/mapbox-gl-native","owner":{"login":"mapbox","id":600935,"avatar_url":"https://avatars2.githubusercontent.com/u/600935?v=3","gravatar_id":"","url":"https://api.github.com/users/mapbox","html_url":"https://github.com/mapbox","followers_url":"https://api.github.com/users/mapbox/followers","following_url":"https://api.github.com/users/mapbox/following{/other_user}","gists_url":"https://api.github.com/users/mapbox/gists{/gist_id}","starred_url":"https://api.github.com/users/mapbox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapbox/subscriptions","organizations_url":"https://api.github.com/users/mapbox/orgs","repos_url":"https://api.github.com/users/mapbox/repos","events_url":"https://api.github.com/users/mapbox/events{/privacy}","received_events_url":"https://api.github.com/users/mapbox/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mapbox/mapbox-gl-native","description":"Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL","fork":false,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native","forks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/forks","keys_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/teams","hooks_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/hooks","issue_events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/events{/number}","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/events","assignees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/assignees{/user}","branches_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/branches{/branch}","tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/tags","blobs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/{sha}","languages_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/languages","stargazers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/stargazers","contributors_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contributors","subscribers_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscribers","subscription_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/subscription","commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/contents/{+path}","compare_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/merges","archive_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/downloads","issues_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues{/number}","pulls_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls{/number}","milestones_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones{/number}","notifications_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels{/name}","releases_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/releases{/id}","deployments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/deployments","created_at":"2014-01-27T17:14:48Z","updated_at":"2017-04-10T07:50:09Z","pushed_at":"2017-04-10T13:24:57Z","git_url":"git://github.com/mapbox/mapbox-gl-native.git","ssh_url":"git@github.com:mapbox/mapbox-gl-native.git","clone_url":"https://github.com/mapbox/mapbox-gl-native.git","svn_url":"https://github.com/mapbox/mapbox-gl-native","homepage":"https://mapbox.com/mobile","size":162102,"stargazers_count":1801,"watchers_count":1801,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":567,"mirror_url":null,"open_issues_count":629,"forks":567,"open_issues":629,"watchers":1801,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431"},"html":{"href":"https://github.com/mapbox/mapbox-gl-native/pull/8431"},"issue":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/8431"},"comments":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/8431/comments"},"review_comments":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431/comments"},"review_comment":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/8431/commits"},"statuses":{"href":"https://api.github.com/repos/mapbox/mapbox-gl-native/statuses/667d6a6f15babfeb5455c45223a5ed8beafdb304"}}}}
{"actor":{"display_login":"kkaefer"}}