/srv/irclogs.ubuntu.com/2013/05/24/#ubuntu-mir.txt

racarrannnnd race resolved00:08
thomianyone awake in here? RAOF perhaps?03:21
thomiI'm pretty sure I've found another race condition in mir - this time in the client library. :-/03:23
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
alan_galf__: re Thomi's email "Mir client library thread safety" - shall I deal with this one?08:19
alf__alan_g: I haven't started looking into it yet, so feel free to take it08:20
=== mmrazik is now known as mmrazik|lunch
hikikowow what sort of magic does boost and when you assign a foo shared ptr to a bar shared ptr the ptr has knowledge of the correct type?10:38
hikikoit's not based at the template parameter at all10:38
hikiko:s/boost/std now :)10:39
alan_ghikiko: the first "magic" pointer was this one http://www.octopull.co.uk/arglib/TheGrin.html - shared_ptr is clever - it also allows a user defined deleter10:48
hikikoyes yes!! i just saw the boost documentation hehe :) but i can't imagine how the hell they implemented it!!!10:50
hikikoi tried without the make shared to see where's the magic and it was in the assignment, then I found the doc but still!! i don't understand it!10:51
hikikoI got how it works though :) cool!!!10:51
alan_g:)10:52
alan_ghikiko: have you seen https://code.launchpad.net/~alan-griffiths/mir/Wno-non-virtual-dtor/+merge/165551 ?10:58
hikikooh no I didn't :) I started geting mir notifications today, that's cool :D11:01
hikikoso, you get a warning11:01
hikikoimmediately11:01
hikikobtw alan_g does it happen to you to trigger internal compiler errors with gcc 4.7?11:01
alan_gIt happens to everyone11:02
hikikocool :) i am not the only one :)11:02
alan_gIs a bug in 4.7.211:02
hikikoi switch to clang from time to time, when I have no info about the error at all11:03
hikikobut i hope they fix it soon!11:04
alan_ghikiko: it is fixed upstream11:04
hikikooh cool then I can just compile the new version11:05
alf__alan_g: hikiko: I have 4.7.3 (from raring archives) and I haven't seen compiler errors for a while. I am not sure if 4.7.3 contains the fix, or I have been lucky enough not to trigger them...11:07
=== mzanetti is now known as mzanetti|lunch
alan_galf__: it is fixed in 4.7.4 (and 4.8_11:11
alf__alan_g: perhaps the fix has been backported to the ubuntu 4.7.3 packages?11:13
alan_galf__: no, you've just not compiled bad code11:15
alf__alan_g: ok11:15
hikikohmm i have 4.7.311:16
hikikomaybe i have to compile the 4.7.4 :)11:17
=== alan_g is now known as alan_g|lunch
=== mzanetti|lunch is now known as mzanetti
=== mmrazik|lunch is now known as mmrazik
=== alan_g|lunch is now known as alan_g
=== mmrazik is now known as mmrazik|afk
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
kdubgood morning, status, working on swapinterval 0 for clients15:00
alan_gGood afternoon. status tweaking code to get the customisation points I want15:01
alf__kdub: does that involve BufferSwapperMultiSpin?15:05
kdubalan_g, alf__ with adding a swapping algorithm for swapinterval0, i'm weighing 1) just making BufferSwapperMulti more capable or 2) making BufferBundleSurfaces able to change between different algorithms15:05
kdubthoughts?15:05
kdubi'm sort of leaning towards 2), just because we'll have resizing, composition bypass, synchronous and asynchronous modes15:06
alan_gkdub: changing algorithms is something that might help switching to/from composition bypass15:07
alf__status: investigating performance issues in Mesa (for some reason we wait for a GPU fence for ~5ms every frame, which doesn't happen for X11)15:07
alf__kdub: I vote for (2), too. Btw, in order to get some performance numbers for the Mesa investigation I hacked together a spin version of BufferSwapper (not properly validated or tested though)15:08
alf__kdub: I can push it somewhere if you are interested15:08
alan_gkdub: for the avoidance of doubt: +1 for 215:09
kdubalf__, yeah, that sounds useful for looking at android performance in the meantime15:10
alf__kdub: ... or if your plate is full, I can take on the spin bufferswapper work15:11
kdubalf__, i think today i'll focus on making the mc::BufferBundleSurfaces switch between mc::BufferSwapper algorithms15:13
kdubso if on monday you want to write a mc::BufferSwapperSpin : public mc::BufferSwapper, that sounds like a good parallelization of work :)15:13
alf__kdub: sounds good to me, too :)15:14
alan_gsounds excellent to me too. ;)15:15
alan_gkdub: what's the motivation for mga::GraphicBufferAllocator (AFAICS it adds alloc_buffer_platform(), which doesn't really do anything other than expose a different interface to what alloc_buffer() already does).15:17
kdubalan_g, admittedly its a bit weird... but there's a mc::BufferUsage and an mga::BufferUsage, with the only difference being that mga::BufferUsage has a framebuffer type15:18
kdubthat android needs to allocate in the android platform, and in the review of the branch, we decided not to put the use_framebuffer type in mc::BufferUsage, because its not relevant to gbm15:19
alf__kdub: alan_g: IIRC, the reason was because BufferUsage::framebuffer was not relevant to/needed by the compositor interface, it is an internal Android flag.15:23
alan_gkdub: OK, that fine point was eluding me. So the real question then is should we really be extending the mc::GraphicBufferAllocator interface to give us an interface for allocate frame buffers. (Or should that be a different interface.) *Thinks..."15:23
kduboh, also, us bank holiday on monday15:29
alan_gkdub: uk too15:31
alan_gAnd the sun has just come out here...15:31
alf__hikiko: Hi! Any news about the VT runtime issue we were discussing yesterday? I am curious about what could be going on there.15:32
alf__alan_g: The cosmos is telling you to end your week/day ;)15:33
alan_galf__: the cosmos has to wait - I want to get something finished first. ;)15:33
alf__alan_g: :)15:35
hikikolol @alan, alf__ sorry i am busy with something this very moment I'll ping you later15:39
alf__hikiko: np15:52
kgunnkdub: alf ....read the scroll back, just wondering....the reason to create a mga::BufferUsage was to avoid having an android flag in the compositor ?15:56
kgunnbut conceptually...it just means "this is a frame buffer"15:56
kgunnright?15:56
kdubright, but gbm doesn't need to make a distinction15:57
kgunnkdub: sure....but it doesn't hurt to have that info along for the ride either does it ?15:57
kgunnnote...you can tell me, too late...don't unearth this :)15:57
kgunnjust thinking that offscreen & fb's have so much in common...15:58
kgunnkdub: back to alan_g 's question about should it have a seperate interface for fb alloc16:00
kgunni suppose to match it should16:00
alan_gkgunn: I've already split the interfaces on my WIP - don't think too hard about it.16:00
kgunn:)16:02
kgunnalan_g: i might hurt myself16:02
alan_gkgunn: I hope that's not a threat. ;^)16:03
alf__kgunn: the reason for mga::BufferUsage, isn't so much that gbm doesn't need the flag. It's that the compositor interface (which mc::BufferUsage is part of) doesn't need the flag. We would be adding a flag to the external interface just to service an internal need of an unrelated component. Of course, this may change if we want to allow external (to the compositor) entities to ask for framebuffer surfaces.16:03
alf__kgunn: (to ask the compositor components for fb surfaces)16:04
kgunnalf__: thanks, makes sense.... (you guys prob consider sloppy, but i don't mind having things for "other clients" in api's)16:05
alan_gkgunn: it depends on the type of API - here we're defining the *minimum* needs of compositor to minimise coupling.16:07
kgunnactually making me think...so would control for going in/out of bypass lie in the unity-mir layer ?16:07
kgunne.g. is the compositor going to be smart (oh you're opaque & full screen)...or dumb (special wm client, you tell me when you want to go straght to fb)16:08
kduboff the top of my head, i'd say it wouldn't bypass the unity-mir layer, (be dumb)16:11
alan_gkgunn: I don't need to decide that (yet). ;)16:11
kdubyeah, we haven't grappled with the question fully16:11
kdubyet!16:11
alan_g1. Get a CB mode working  2. Get CB mode switchable 3. Decide how to chose CB mode.16:13
kgunnalan_g: ;) sure...i just enjoy topics like this16:14
alan_gkgunn: np this is how I get informed before the decision needs to be made16:15
kgunn:)16:15
alan_gAnd the sun has just come out here...(again - following dark clouds and heavy rain). Must be time to go.17:03
alan_gkdub: kgunn - have a good holiday weekend!17:06
=== alan_g is now known as alan_g|EOW
kdubyou too alan_g|EOW17:06
kgunnalan_g|EOW: you too17:19
kdubi'm tempted to name this class mir::compositor::SwapperSwapper17:24
racarrkdub: For resizing?17:48
racarrI thought about a swapperswapper once XD17:49
kdubi think SwapperSwitcher is a better name17:49
racarryes probably17:50
=== francisco is now known as Guest60367
racarrjust drudging through some clean up, resolving little todos I left around on this input branch18:32
racarrfixed the race in the acceptance test though, and touch input picking with multiple clients is working well :)18:33
racarr:D19:01
racarrcompletely removed the mir::input::android namespace19:02
racarrfrom default server configuration19:02
racarrLunch/laundromat time!20:12
racarrMy present for all of you to joyfully review come monday: https://code.launchpad.net/~robertcarr/mir/rebuild-input-targeting/+merge/165712 ;)22:48
kdubonly the runner up to the biggest diff this month :)23:04
kdubafter glm removal23:04
racarrkdub: XD. Besides the acceptance test it's actually23:06
racarrpretty balanced in +/-23:06
racarrit's just different23:06
racarrit just made me giggle when I checked at the end...23:06

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