{"action":"created","issue":{"url":"https://api.github.com/repos/servo/webrender/issues/780","repository_url":"https://api.github.com/repos/servo/webrender","labels_url":"https://api.github.com/repos/servo/webrender/issues/780/labels{/name}","comments_url":"https://api.github.com/repos/servo/webrender/issues/780/comments","events_url":"https://api.github.com/repos/servo/webrender/issues/780/events","html_url":"https://github.com/servo/webrender/pull/780","id":202986904,"number":780,"title":"Quantize glyph positions for subpixel text positioning.","user":{"login":"changm","id":1015726,"avatar_url":"https://avatars.githubusercontent.com/u/1015726?v=3","gravatar_id":"","url":"https://api.github.com/users/changm","html_url":"https://github.com/changm","followers_url":"https://api.github.com/users/changm/followers","following_url":"https://api.github.com/users/changm/following{/other_user}","gists_url":"https://api.github.com/users/changm/gists{/gist_id}","starred_url":"https://api.github.com/users/changm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/changm/subscriptions","organizations_url":"https://api.github.com/users/changm/orgs","repos_url":"https://api.github.com/users/changm/repos","events_url":"https://api.github.com/users/changm/events{/privacy}","received_events_url":"https://api.github.com/users/changm/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-01-25T01:10:54Z","updated_at":"2017-01-27T02:03:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/servo/webrender/pulls/780","html_url":"https://github.com/servo/webrender/pull/780","diff_url":"https://github.com/servo/webrender/pull/780.diff","patch_url":"https://github.com/servo/webrender/pull/780.patch"},"body":"Changes the GlyphKey to take into account subpixel text positioning. After this patch, I'll pipe in the subpixel text position into rasterize_glyphs. (I'm trying to make smaller, more easily reviewable patches. Please let me know if you prefer bigger ones that are all \"done\").\r\n\r\nThe big issue I had with this patch was that GlyphInstances are attached to auxiliary display lists which are only available with a stacking context. To get around it, I added the stacking context id to TextRunPrimitiveCpu and assign it when we're iterating over the primitive commands in tiling.rs::cull_layers. That's where we were originally getting access to the GlyphInstances. I'm not sure this is the best way to do this, but the logic seems to be cull_layers, rasterize the glyphs, then fetch the glyphs based on the GlyphKeys. However, the GlyphKeys now need the GlyphInstances to calculate the subpixel text position key to fetch later, but we don't get access to those without the auxiliary display lists.\r\n\r\nI'd be happy if you have a better idea (or we rewrite how GlyphInstances are handled in general). Was passing around GlyphInstances that expensive vs indices (1 u32 vs 1 u32 + 2 f32)? I can understand the raw font data, but the indices? Thanks!\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/servo/webrender/780)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/servo/webrender/issues/comments/275571618","html_url":"https://github.com/servo/webrender/pull/780#issuecomment-275571618","issue_url":"https://api.github.com/repos/servo/webrender/issues/780","id":275571618,"user":{"login":"bors-servo","id":4368172,"avatar_url":"https://avatars.githubusercontent.com/u/4368172?v=3","gravatar_id":"","url":"https://api.github.com/users/bors-servo","html_url":"https://github.com/bors-servo","followers_url":"https://api.github.com/users/bors-servo/followers","following_url":"https://api.github.com/users/bors-servo/following{/other_user}","gists_url":"https://api.github.com/users/bors-servo/gists{/gist_id}","starred_url":"https://api.github.com/users/bors-servo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bors-servo/subscriptions","organizations_url":"https://api.github.com/users/bors-servo/orgs","repos_url":"https://api.github.com/users/bors-servo/repos","events_url":"https://api.github.com/users/bors-servo/events{/privacy}","received_events_url":"https://api.github.com/users/bors-servo/received_events","type":"User","site_admin":false},"created_at":"2017-01-27T02:03:15Z","updated_at":"2017-01-27T02:03:15Z","body":":pushpin: Commit 86856e0 has been approved by `glennw`\n\n<!-- @bors-servo r=glennw 86856e09f70d18ad5b50ea8c20b7d7699f09a636 -->"}}
{"actor":{"display_login":"bors-servo"}}