/srv/irclogs.ubuntu.com/2014/02/12/#ubuntu-mir.txt

anpok_RAOF: logging::Logger and related went back to logging ... only report implementations are inside report now07:10
anpok_RAOF: report exists only to have a place for report_factory and a place to know which report implementations exist.. so we could also not have report::lttng report::null.. but then we would end up having either one directory with 3 * 2 * n + n classes and three or one static libraries built and a shared library for lttng or three directories that do not add a namespace..07:19
anpok_s/classes/files07:19
anpok_n is 6 now07:20
=== alf is now known as alf_
alan_gduflu: have you had time for more thoughts on https://code.launchpad.net/~alan-griffiths/mir/SwitchingBundle-controls-completion-of-client_acquire-without-blocking/+merge/205568?09:18
duflualan_g: On a hangout09:18
alan_gnp09:18
RAOFanpok: I don't think I'd object to three directories that don't add a namespace :)09:25
anpokRAOF: hm you only see the other namespaces in test cases when the null reports are used..09:44
anpoki could get those cases away too09:44
anpoki mean with something like .. NullReportFactory().create_what_needed() ..09:44
RAOFHm. That looks sensible at a first glance.09:46
duflualan_g: The answer is no BTW, I haven't thought about it at all. Consider that "Abstain" for now10:02
alan_gduflu: OK. (It's just that I'd like as many good eyes as possible on that bit of code.)10:04
dufluYeah, agreed10:04
dufluBut instead, dinner!10:04
alan_gEnjoy!10:05
alf_alan_g: anpok: RAOF: at the moment our unit tests for the armhf native CI build run with valgrind, but we completely ignore valgrind errors... I wonder if there is a benefit in running them with valgrind at all at the moment. The only I can think of is the difference in timing that running under valgrind brings, and which may expose races (but then again the different timing may hide races too)10:12
RAOFI thought valgrind was super-flaky on armhf?10:13
alan_gSo did I10:13
RAOFAs in: I didn't know the unit tests wouldn't SIGILL under valgrind on armhf :)10:13
alan_gIf valgrind can produce meaningful results we should use them10:14
alf_alan_g: anpok: RAOF: They seem to run ok, apart from the thousands uninitialized value errors (running in Nexus 10, ERROR SUMMARY: 609348 errors from 532 contexts)10:14
RAOFThat sounds vaguely solvable with judicious overrides.10:15
RAOF(As in: it's probably Android/libhybris stuff)10:15
RAOFIf no one feels like generating those overrides, though, I don't think we get any value out of running the tests in valgrind, except a 10x longer test time.10:16
alf_RAOF: by overrides I guess you mean valgrind suppressions?10:17
RAOFYeah, that business.10:18
alf_alan_g: anpok: RAOF: ok, so if no one objects I will 1. first try to create a suppression file if it's reasonable 2. if (1) fails turn off valgrind in mir-team-mir-development-branch-trusty-armhf-ci10:20
RAOFSounds good to me.10:21
alan_gSure10:21
anpokok10:21
mlankhorstRAOF: ping? do you have an updated mir patch for mesa 10.1?11:22
mlankhorstsome parts no longer apply and other parts seem to have already been applied upstream in a slightly different form, so a rebase would be nic11:23
mlankhorstnice*11:23
=== alan_g is now known as alan_g|lunch
alf_alan_g|lunch: anpok: great, our CI tests don't fail when there is a leak...13:06
anpokhm because we would need extra flags to valgrind for that.. --leak-check=full?13:12
alf_anpok: right13:19
alf_alan_g|lunch: anpok: ok, the rabbit hole is too deep to deal with the suppressions right now, I will go for disabling valgrind for armhf in our CI13:21
alf_alan_g|lunch: anpok: ... and at some poin we need to take a good look at what valgrind is actually doing in CI13:22
=== dandrader is now known as dandrader|afk
=== alan_g|lunch is now known as alan_g
alan_galf_: ack13:45
=== dandrader|afk is now known as dandrader
mlankhorstI pushed mesa 10.1 to https://launchpad.net/~canonical-x/+archive/x-staging/+packages -- i had to rebase the mir patch, so if you want to test if mir still works :-)14:07
alf_rsalveti: ogra_: Hi! I need some advice for the separate -mesa, -android packages if you have some time14:13
mterryHello all!  I'm looking at USC and trying to do the following: determine when one of my sessions/surfaces has started writing actual content to its frame buffers.  i.e. when it has started to draw to the screen.  How would I go about doing that from a compositor perspective?14:36
ogra_alf_, i saldy have to run out for a bit, is it ok to ping you back later ?14:39
mterryricmm, alan_g ^ ?14:39
alan_gmterry: I'm not sure I understand the question. By "my sessions/surfaces" you mean a client process?14:40
ricmmmterry: you mean you want to catch it *before* it first swaps?14:40
mterryricmm, no I don't need to intercept, just notice14:40
mterryalan_g, yeah sure.  client process14:41
ricmmno I mean, do you want to know while its rendering to the buffer but before swapping?14:41
ricmmthats an odd need14:41
alf_ogra_: sure, thanks14:41
mterryricmm, oh maybe I just need swapping14:42
mterryricmm, I just want to know when something is on screen for a given client14:42
alan_gFrom the compositor the buffer swapper gets a client_acquire() call before the client gets passed the buffer. And a client_release() after it has drawn14:42
alan_gmterry: what problem are you trying to solve?14:42
mterryalan_g, with a split greeter, lightdm will launch both the greeter and user sessions at the same time.  I wanted to have the compositor wait to show either surface until the greeter is actually on screen (i.e. I don't want the user session showing on screen for a second if it wins the race)14:44
alan_gI'm not convinced the compositor is the right place for that logic.14:46
* alan_g thinks...14:46
alan_gWouldn't it be better to just make the user session hidden?14:49
mterryalan_g, but I want to unhide it when the greeter is drawn14:49
mterryalan_g, (also is there a trivial way to mark it hidden?)14:50
anpoksession->hide()14:50
alan_gsession::hide()14:50
mterryanpok, ooh, thanks.  Didn't notice that method14:50
mterryOK, so that's helpful14:50
anpokbut you want both to be shown?14:50
anpok(still confused?)14:50
mterryanpok, yup, greeter is alpha-backed and will show session beneath it14:51
anpokah ok but you want to un-hide it as soon there are buffers to display?14:51
mterryanpok, yes14:52
mterryanpok, buffers to display by the greeter14:52
alan_gI think this is better handled by detecting the swap_swap_buffers call in shell::Surface - not by hacking the compositor14:56
alan_guntil the greeter posts a buffer just hide() all sessions. When it has posted, then show() them14:58
alan_gmterry: does that ^ make sense?15:01
mterryalan_g, so install my own surface factory that returns a surface subclass that hooks into swap_swap_buffers?15:02
alan_gmterry: yes. (If you try it in the compositor you'll never know whose buffer you're dealing with)15:03
mterryalan_g, well.   I am in the compositor (I'm in unity-system-compositor).  Or do you mean the compositor class?15:03
alan_gcompositor component15:04
alan_gs/component/namespace/15:04
mterryalan_g, OK, cool.  Makes sense.  Though the compositor has access to session->name(), which will tell me which session it is15:05
alan_gmterry: NB you'll be looking for a swap_buffers() call with a non-null buffer. (It will be null on the first call)15:08
mterryalan_g, OK, thanks.  I will play with this today15:08
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
anpokour tags seem to be wrong15:52
anpok(or with a certain probablility I fail at using bzr tags)15:53
mlankhorstRAOF: hm testing more.. 10.1 mir *client* fails, if I only upgrade mir server to 10.1 it works correctly..15:55
=== dandrader is now known as dandrader|lunch
rsalvetialf_: still in meetings, but can try to help16:33
rsalvetialf_: what is the issue?16:33
alf_rsalveti: Hi! I am trying to setup the dpkg alternatives for the various mir platform libraries (client and server) and was wondering if the preference was to go for symbolic link to the library directly, or to have a link to an ld.so.conf entry16:37
rsalvetialf_: for me linking ld.so.conf is easier, I also use that for libhybris (to replace the mesa drivers)16:38
rsalvetibecause then you end up having only one alternative16:38
rsalvetiogra_: ^16:39
ogra_alf_, have a look at the mesa gles/gl packages16:39
ogra_they do exactly that iirc16:40
ogra_(sorry, had to go into a meeting right after i returned)16:40
alf_ogra_: I have, that's where I got the idea :) We have we have a client platform and a server platform in different packages, which naively leads to two alternatives. I wonder if there is a way to control both of them at the same time without conflict?16:42
ogra_hmm, on a lib level that smells hairy16:42
ogra_(unless your lib names differ indeed ... which i assume they dont)16:43
alf_ogra_: what I have now is libmirclientplatform-mesa (usr/lib/*/mir/clientplatform/mesa/libmirclientplatform.so) and similarly for libmirclientplatform-android, libmirplatformgraphics-mesa/android16:45
ogra_and you have setups where both are installed ?16:46
alf_ogra_: the server and client platform alternatives can be controlled independently this way16:46
alf_ogra_: both = both android and mesa?16:47
ogra_yes16:47
alf_ogra_: that's the goal if I understand correctly. If it's not then guess we could go for having *-mesa and *-android packages that replace/conflict each other (so no alternatives)16:48
ogra_right, thats why i saked16:49
ogra_*asked16:49
ogra_well, i dont see any way apart from shipping one ld.so.conf with each package if the binaries are in separate packages ...16:49
ogra_and have each of them set its alternative16:49
alf_ogra_: rsalveti: that was my plan, if that sounds ok to you too16:51
alf_ogra_: rsalveti: I will go ahead16:51
ogra_yeah16:51
ogra_DOIT !16:51
ogra_:)16:51
rsalveti+116:51
=== dandrader|lunch is now known as dandrader
=== Trevinho_ is now known as Trevinho
=== dandrader is now known as dandrader|bbl
RAOFmlankhorst: I think I do have a rebase. Let me check.21:34
=== dandrader|bbl is now known as dandrader
* mterry doesn't understand mg::Buffers23:02
RAOFmterry: What about them?23:10
mterryRAOF, I don't have time to debug this properly now, but tomorrow I might pick some brains in here.  I was trying to inspect them in USC to determine if the greeter had posted a frame yet23:11
mterryRAOF, but to inspect actual data I had to go to the native buffer?  And that didn't seem to get me sensible results23:11
RAOFYou'll probably find it easier printf debugging (using the buffer ID that's exported in mir_client_library_debug.h) and matching up that way.23:12
RAOFThat's what I've done in the past.23:12

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