/srv/irclogs.ubuntu.com/2013/04/03/#ubuntu-mir.txt

RAOFI'm *sure* I've added close() to drm_fd_handler before...00:17
RAOFInteresting: http://kentonv.github.com/capnproto/index.html00:43
duflukgunn: Isn't your day long enough already? :)01:57
duflurobert_ancell: Can we please have milestones and code on the same series? https://launchpad.net/mir03:01
duflu... one way or the other03:01
robert_ancellduflu, as kgunn said, Launchpad won't let us delete the 13.05 milestone. I did manage to delete the 14.04 series by moving the milestone03:04
robert_ancellduflu, I've set the 13.05 milestone to inactive, so that seems to workaround LP being confused03:06
robert_ancellduflu, solved?03:06
duflurobert_ancell: OK, ta. Still need an active milestone > 0.0.2 to link our Fix Committed bugs to03:07
robert_ancellduflu, ok, I'll open a 0.0.303:07
robert_ancellduflu, done03:08
robert_ancellbrb03:08
tvossRAOF, cap'n'proto is indeed interesting, but I have had difficulties figuring out if it's done, yet05:10
smspillaztvoss: oh yeah, I was going to mention that one to you05:13
smspillazsaw it on reddit the other day05:13
RAOFtvoss: It's not done yet.05:33
tvossRAOF, that's what I thought, too. However, it looks pretty promising. Do we know the author?05:33
RAOFI don't, except that he's also the primary author of Google Protobuf05:34
RAOFracarr: There doesn't seem to be anything in the EGL specification that prohibits the behaviour your inprocess-egl patch introduces (which is good ☺). I'll check that it doesn't indirectly break something.06:11
tvossRAOF, do we have a video of racarr's in process egl work, yet?06:26
RAOFtvoss: not afaik06:31
duflummrazik: Looks like Mir no longer needs -DMIR_DISABLE_INPUT=ON for clang. And we're about to remove that option too. Can we update CI?08:24
mmrazikduflu: sure. removing it....08:25
duflummrazik: Thanks08:26
mmrazikduflu: done08:26
* tvoss thinks that the CI jobs should do twitter, too :)08:26
dufluWell, CI output is useful. Twitter is not usually used for useful things...08:27
dufluI suppose it could be08:27
tvossduflu, but given jenkins' karma on launchpad, it might be considered a conscious being, and nowadays it's tweeto ergo sum :)08:28
dufluCodito ergo sum08:28
tvossduflu, ;908:28
tvossprobaro ergo sum08:29
smspillazduflu: thanks for updating the other mps :)08:29
duflusmspillaz: No problem. Accurate MPs and bugs are useful08:30
smspillazalan_g: tvoss: question about unique_ptr. Is doing something like std::unique_ptr <Derived> d (new Derived); std::unique_ptr <Base> b (d); known to work ?08:30
tvosssmspillaz, at least, d would need to be moved to b08:31
smspillaztvoss: does that need to happen explicitly? eg std::move () ?08:31
alan_gsmspillaz: give or take a std::move, yes08:32
smspillazI'm getting this weird problem where even if I do std::unique_ptr <Derived> d (new Derived); std::unique_ptr <Base> const &b (d); seems to not work either and tries to just move it08:32
smspillazwhich fails08:32
tvosssmspillaz, yes, a move has to be explicit08:33
tvosssmspillaz, it would need to be std::unique_ptr <Base> b(std::move(d));08:33
smspillazhm08:33
smspillazwell, I guess my main problem at the moment is that I can't take a const ref either, and I thought it was something to do with the fact that moving wasn't supported08:34
smspillazhmm, seems to work if I use std::move although that certainly feels wrong08:35
RAOFWhy does that feel wrong?08:38
smspillazstd::unique_ptr <MockFoo> mock;08:39
smspillaz* set some expectations08:39
smspillazbar (std::move (mock)) <- expects a std::unique_ptr <Foo> const &08:40
smspillaz* how do you set more expectations ?08:40
smspillazthe function wants a non-owning reference to the pointer, yet you have to give it the whole pointer08:40
RAOFStart with a std::shared_ptr<MockFoo>?08:42
RAOFI mean, if you're going to hand references out to it, it's not a unique_ptr.08:42
RAOFOh, whoops.08:43
dufluSurely that's why you can only "swap" unique_ptrs. If you could assign them (or even copy by initializer), they'd no longer be unique08:43
smspillazRAOF: well, I don't want shared *ownership*08:43
smspillazduflu: you can move them08:43
smspillazwhich is effectively like swapping08:43
dufluFairy nuff08:43
smspillazthe point is that I don't want to copy or move it08:43
smspillazI want to give a reference to its base08:43
RAOFGet a raw pointer out of it and send that?08:44
dufluRAOF: That's violating the uniqueness too08:44
smspillazduflu: I want a const &08:44
alan_gsmspillaz: a reference to base is spelt "Base const&" not "std::unique_ptr <Base> const &"08:44
smspillazalan_g: reference to the unique pointer to the base08:45
smspillazso I should be able to go from08:45
smspillazstd::unique_ptr <Derived> d (new Derived)08:45
smspillazto std::unique_ptr <Base> const &b08:45
smspillazbecause you can do that with shared pointers and it doesn't give out any new ownership08:46
alan_gsmspillaz: not within the language rules - smart pointers to different types cannont be covarient08:46
* smspillaz wonders why it worked with boost08:46
alan_gor contravarient08:46
smspillaz... probably because there was an implicit copy08:46
alan_gsmspillaz: c++03 doesn't have move semantics08:50
alan_galf_: Looking at enable-inprocess-egl again got me wondering how(if) we are managing dependencies on bespoke mesa. Should we be ensuring that mesa patches are in the ppa before landing branches that need them?09:20
alf_alan_g: I would say the other way around, since mesa depends on the mir API and there is a chance it won't build if we land the mesa change first09:23
alf_alan_g: (depends on the details of the change, of course)09:24
alan_galf_: Yeah. Why can't things be simple. ;)09:24
* alan_g wishes for one big source tree with everything in it . (That also builds quickly.)09:26
dufluHey lp:omniverse doesn't exist yet ;)10:00
smspillazalan_g: hmm, I guess the best option then is to just pass the object by const reference10:18
smspillazand don't make any functions that want a reference to the object a const ref to the unique_ptr10:18
* smspillaz wishes C++ had rust-like pointers10:18
=== ubot5` is now known as ubot5
=== mmrazik is now known as mmrazik|lunch
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g|
=== alan_g| is now known as alan_g
=== mmrazik|lunch is now known as mmrazik
tvossalan_g, ping11:27
alan_gtvoss: pong11:30
=== alan_g is now known as alan_g|lunch
kgunnalf_: reading you control loop thread again...was thinking, would rotate be an event? (think phone/tablet)12:46
kgunnalf_: its sort of like a display reconfig event12:47
kgunnanyway....more arguments/use cases for your idea12:48
alf_kgunn: thanks, it could be... it depends on how we need to react to it. Perhaps it is just part of the reconfiguration process as you said, but I haven't thought this through.12:49
=== alan_g|lunch is now known as alan_g
=== alan_g is now known as alan_g|tea
=== mmrazik is now known as mmrazik|afk
=== mmrazik|afk is now known as mmrazik
kdubmorning15:10
tvosskdub, good morning :)15:10
alan_g|teakdub: morning15:11
=== alan_g|tea is now known as alan_g
* alan_g remembers to change nick15:11
alf_status: Thinking about main loop, working on a main loop prototype (see message in mir-devel thread), reviewing15:53
kduboh yeah, statuses! your nexus 4's now work :) working still on the framebuffer native window type, improving things in the core as I go15:57
kdubso if something weird now happens on the nexus4, file a bug about it (in case its been getting a pass on funny functionality until now)15:58
tvosskdub, \o/15:59
alf_kdub: now that you mention it, using the latest lp:mir I don't get any screen updates on the nexus 4 :/ I see only the first frame16:04
alf_kdub: I will file a bug16:06
kdubalf_, thats a good bug :) let me see  if i can reproduce16:06
kdubalf_, if you remember, put the version of the phablet image you're using16:06
alf_kdub: hmm, perhaps I should update to the latest image first and try again?16:07
kdubalf_, the other thing is, make sure surfaceflinger is not running... its very aggressive about restarting16:08
kgunnkdub: not if you rename it :)16:13
kgunnits your trick....and fool proof16:13
alan_gstatus: reviewing, trying to understand enough bits to spike "hardware cursor"16:14
racarrMorning16:19
alf_alan_g: @hardware cursor, anything I can help with?16:28
alan_galf_: can we hangout in the morning?16:29
alf_alan_g: sure16:29
racarralan_g: Pushed some updates to receive-input-in-client (r622, r623)16:49
kdubalf_, i just tried with ubuntu-touch-image 56 (latest build i could find) and lp:mir. seems ok to me16:49
alan_gracarr: looking...16:50
kdubalf_, actually, i see render_surfaces being weird, but the server seems ok to me. i'll file a bug on that16:54
racarrkdub: Processed your comments on inprocess-egl will wok on them later today (maybe we can talk some about names, etc...)16:54
kdubracarr, sure, before you set down to change the names, lets figure out what they should be... its annoying to change 2x16:55
* kdub has been wanting to improve 'inprocess egl' as a name for a while16:55
kduball egl is in a process! :P16:55
racarrExcept for the great cosmic background EGL that surrounds and binds us all16:56
racarr(All praise *3 quick bows*)16:56
=== alan_g is now known as alan_g|EOD
alan_g|EODGoodbye all!16:58
racarrGood Evening :)16:58
kgunnevnin'17:01
alf_alan_g|EOD: goodbye17:02
alf_kdub: I am still getting the problem with latest image, will check more tomorrow17:02
kdubracarr, with input enabled on android, do these errors look sensible for the state of the code? https://pastebin.canonical.com/88338/17:04
racarrkdub: Those errors are pretty good yeah17:54
racarrI want to work on reporting for droidinput but it's17:55
racarrdifficult17:55
racarrWe need a different pattern17:55
racarrthe Reporter interface for say EventHub alone17:55
racarrwould have like17:55
racarr40 methods17:55
racarrstatus: Doing a final self review round, etc on receive-input-in-client17:57
racarrso hopefully it can land this afternoon?17:57
racarrCan someone approve https://code.launchpad.net/~robertcarr/mir/dedupe-null-input-managers/+merge/15664518:06
racarrso I can approve https://code.launchpad.net/~robertcarr/mir/remove-mir-disable-input/+merge/15669618:07
racarrso I can avoid18:07
racarrmerging it in to remove-mir-disable-input18:07
racarror a merge conflict later18:07
racarrwell not a conflict actually18:07
racarrjust something we have to remember to fix XD18:07
* kdub is unaware of a rule that you can't tick to approve, granted all the review comments are addressed and you have an approve with no blocking reviews18:18
kdubsurfaceflinger's rendering portions sometimes looks like a big switch statement based on hwc version18:23
kgunnkdub: was just thinking about yesterday - you were wanting to look into resize19:18
kgunni was looking at the bp for mir-phone-iteration-019:18
kgunnseems duflu is doing "client  initiated maximize/fullscreen"19:19
kgunnmight want to ping him or g+ hangout w him later and see what he's up to exactly19:19
kdubkgunn, one can be a dependency of the other19:20
kdubi'd imagine that task is more negotiating the request over ipc19:20
kduband then the other half is doing the allocation/deallocation on the server side19:21
kgunnkdub: agreed its a subset...just worthy of a 2 minute chat19:21
kdubkgunn, sure.. maybe before the mir2 meeting?19:24
kgunnkdub: might be early for him19:31
=== francisco is now known as Guest66331
kdubi kinda want to write a doc explaining the sometimes-annoying display infrastructure that android has... should that go in our doc/ folder or somewhere else?20:46
kgunnour docs, in so far as our implementation accounts for it20:50
thomiHi everyone... Is there an alternative to switching to VT1 to run mir? That's reasonably difficult to automate in a jenkins slave20:54
thomiif I don't care that my X session will die afterwards, is there some other way?20:54
robert_ancellkgunn, are you meeting today?21:02
kgunnkdub: is this that hybris branch https://code.launchpad.net/~rocket-scientists/aal+/ubuntu-platform-api_replace_hybris_hardcoded_path21:45
kdubkgunn, https://code.launchpad.net/~kdub/aal+/shared-pthread-poc21:46
kgunnkdub: thanks...21:46
kdubbut we shouldn't be pointing people to it i think, its not really production quality21:46
kdubin public docs, i'd say21:47
kgunnkdub: right...i was going to pester pat's team :) just needed the stick to poke with21:47
RAOFracarr: Ok, EGL. Are you sure that all your changes are necessary? Specifically - the change to src/egl/main/egldriver.c seems both unnecessary and results in a leak.22:21
RAOFracarr: Alternatively, could you point me to code that I could test in-process-egl against?22:25
RAOFOk. The fact that our unit-tests now terminate part-way through more often than not is getting annoying.23:12
kdubRAOF, what unit tests?23:14
RAOFThe unit-tests binary.23:14
kdubsure :) i mean, which test, within the unit-tests binary is causing trouble?23:15
RAOFIt's not deterministic; it often crashes between ‘[==========] 361 tests from 79 test cases ran. (443 ms total)’ and listing the total number of passed tests.23:16
RAOFI suspect this might be related to why clang-built unit-tests die immediately.23:16
kdubhmm, very strange... i haven't seen that behavior on android (yet)23:17
RAOFIt's almost certainly going to be something thread related.23:17
RAOFAnd, obviously, gtest makes it hard to find because it's a sub-process dying23:19
RAOFAfter I finish addressing these merge reviews I'll see if I can hunt down why clang-built unittests die, and whether fixing that fixes this annoyance.23:22

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!