mozilla :: #gfx

8 Sep 2017
05:16pcwaltonnical: I had an idea for how to structure path utilities its a streaming API based on Rust iterators that allows you to chain transforms together
05:16pcwaltonfor example, I have an API that yields a stream of path commands from a FreeType outline
05:17pcwaltonI can have a transforming API that takes a stream and wraps it with a stream that transforms all the points
05:17pcwaltonand I can have a stroking API that consumes a stream and returns a new stream that strokes the path
12:48vladcan you actually do that in stream fashion? For example computing the stroke outline of a path will require consuming the entire path first before anything can be emitted outwards
13:15nicalvlad: depends on how you want to render the stroke
13:16nicalmy hope is that we can render strokes even with overlapping parts by using the z buffer to reject pixels that are touched twice
13:18vladthat won't help you when you have to compute joins and such
13:18vladand endcaps
13:18vlade.g. a closed path will have a different start/end than an open one
13:19nicalyeah that's annoying but it's doable, see the mess I ended up writing in here: https://github.com/nical/lyon/blob/master/tessellation/src/path_stroke.rs#L184
13:20nicalthe stroke tessellator remembers the first vertex of the current sub path because of that
13:21nicalthe first AND second vertex actually to be able to compute the join properly
13:21vladOh it's doable for sure, but you can't emit the stroked outline until you find out if it's closed or not, right?
13:21nicalyou can emit some of it. in my case I just postpone emitting the first segment
13:21vlada stream isn't bad, all I was saying was that you won't be able to really do pure streaming, you'll have to "buffer" for some ops
13:22nicalyep, have to buffer a few things but not that much
13:22vladhmm, that's true, I guess you can compute the known-inner parts
13:22nicalthe advantage on the other hand is that I don't have to store the flattened path which can typically contain a lot of edges
13:22vladYeah
13:22nicalthe iterator flattens the bezier curves lazily
14:19jyaBas: we don't use D3D9 anymore right?
14:19jyaever?
14:19jyaor at least the D3D9 DXVA manager
14:20Basjya: About the DXVA manager I'm not certain.
14:20BasMatt Woodrow would know.
14:27jrmuizelGankro: https://bugzilla.mozilla.org/show_bug.cgi?id=1398171
14:27firebotBug 1398171 NEW, nobody@mozilla.org https://crash-stats.mozilla.com/report/index/ffb0e44a-ac38-4bdf-b94d-d60500170908 is missing relevan
14:43jyaBas: ok, will ask Matt
14:47Gankrohmm, on macos I'm getting crashes from self.clip_scroll_tree.nodes[&group.scroll_node_id]
14:48Gankro(key not in map)
14:48Gankrolooks like our clip-scroll tree is getting corrupted (safely?)
14:52milanjya: I'm more than 50% leaning towards "yes, we are using D3D9 DXVA"
14:52Basmilan: Yeah, I recall something similar.
15:00jyamilan: yeah, I'm fairly certain you're right
15:00jyait's the D3D11 vs D3D9 layers that mud the water
15:26dvanderjya: we use d3d9 for media decoding, but there's no d3d9 compositor anymore
16:27dvandermilan: "advanced layers are off by default until 58" - did that change since yesterday?
16:27milandvander: as in, they don't ship with 57
16:27dvandermilan: don't we want to do that?
16:28milandvander: sorry, my bad, off by one error
16:28milannot riding 56
16:28dvanderahhh ok
16:28milanI'll fix the bug
16:39jrmuizelGankro: https://hg.mozilla.org/mozilla-central/raw-rev/1fae43b4534c
17:23GankroNote to self, Clip(3,1,PipelineId(1, 1)) is the corrupt clip
17:48lsalzmanwow
17:48lsalzmanin dev.platform, there is a post suggesting there is a plan to run clang-format on the entire codebase (excepting third-party libraries), after 57 release?
17:48lsalzmanyay, let's entirely break hg blame and make it unusable!
17:48lsalzmanseems like a disaster waiting to happen
17:49kvarkGankro: convert_clip_scroll_info_to_nested
17:50lsalzmanunless the plan was to affect only new commits...
17:53botondlsalzman: if we want to get to a stage where we don't have to do manual formatting, it has to be done at some point...
17:54botondlsalzman: also, blame has a feature to ignore whitespace changes. that should significantly reduce the number of affected lines
17:54botondlsalzman: but even for the remaining affected lines, it's just one revision to have to look past
19:21Gankrohey rhunt i hear u like skipping stacking contexts if composition_ops.will_make_invisible()
19:22Gankrohttps://github.com/servo/webrender/blob/master/webrender/src/frame.rs#L440-L443
19:22GankroThis is currently crashing gecko, as the stacking context contains clips that are used outside of it
19:22GankroIs that... supposed to be possible?
19:23rhuntGankro: huh
19:23rhuntto be honest I haven't touched webrender in a while, so I don't know how clipping is implemented at all
19:25rhuntGankro: so someone else would probably know what is or isn't possible with clipping, i did that just from an opacity: 0 shouldn't even be displayed
19:26Gankrorhunt: yeah that's the same problem everyone else who's in right now has :/
19:26Gankromrobinson: ping ^
19:27rhuntGankro: wish I could help!
19:30Gankrorhunt: any idea how important that optimization is?
19:31rhuntGankro: I doubt it's important, it just seemed really easy
19:31Gankrocool
19:41Gankrokvark: r? https://github.com/servo/webrender/pull/1683
20:10gwGankro: it's important, but we can do it at a later stage (e.g. skip the render tasks instead), so it should be ok to remove that
20:11gwGankro: we can land a crash fix, and re-implement the optimization as a follow up in a different way
20:11Gankrogw: so you'd prefer a comment-out over a delete?
20:12gwGankro: no, a delete is fine - maybe just open a GH issue reminding us to reimplement that optimization a different way
20:12Gankrokvark: ^ ?
20:13kvarkokey
20:14Gankrofiled https://github.com/servo/webrender/issues/1686
20:15gwGankro: kvark: thanks - just saw your GH comment - leaving it as a commented out todo in the code is fine as well, if you prefer that! :)
20:20jrmuizelgw: what ended up happening about requiring appveyor builds to pass for acceptance?
20:21Gankrojrmuizel: r? https://bugzilla.mozilla.org/show_bug.cgi?id=1398324
20:21firebotBug 1398324 NEW, a.beingessner@gmail.com Crash on MacOS when opening new tab (webrendest)
20:22jrmuizelGankro: done
20:23gwjrmuizel: I haven't chased it up yet, because we were having enough trouble with travis the last two weeks :/
20:24gwjrmuizel: it's on my list for next week
20:25jrmuizelgw: yeah, have you seen todays travis mac shit show yet?
20:26jrmuizelgw: I have as my 'waiting for builds' task to get sccache working with webrender ci and then perhaps we can try out task cluster again
20:27gwjrmuizel: there's *another* mac issue today!?
20:28gwjrmuizel: yea, trying task cluster again seems worth investigating after the last couple of weeks
20:32gwoh dear, the osx backlog on travis is 3731 :/ lucky it's weekend here...
21:10Gankrogw: yeah my patch makes it possible to open tabs on mac :/
21:11Gankrooh wait talking about travis
21:11Gankroalso awful, yes
23:40mchangBas: jrmuizel ping?
9 Sep 2017
No messages
   
Last message: 11 days and 2 hours ago