=== chihchun_afk is now known as chihchun === chihchun is now known as chihchun_afk === chihchun_afk is now known as chihchun === chihchun is now known as chihchun_afk === chihchun_afk is now known as chihchun === chihchun is now known as chihchun_afk === chihchun_afk is now known as chihchun [11:50] alf__: happy with the latest renames in https://code.launchpad.net/~alan-griffiths/mir/extending-SurfaceObserver/+merge/213516? === alan_g is now known as alan_g|lunch === alan_g|lunch is now known as alan_g [13:08] greyback: Hi! Do you know which component in our stack handles the display-off signal from powerd and sets the new Mir display configuration? [13:13] alf__: I believe unity-system-compositor does that job. powerd does a dbus call, which USC receives and sets the display config [13:18] greyback: great thanks [13:35] kgunn: https://code.launchpad.net/~andreas-pokorny/mir/no-initial-display-configuration-sent-to-hosting-server/+merge/213126 do we need this to land soon - necessary for split greeter, but just a workaround - we are still discussing alternatives [13:38] anpok: for split greeter...yes sir! i'd really like to get split in asap [14:17] kgunn: it is a shame it didn't get into the 0.1.8 MP then. [14:22] alan_g: drat....altho we can cherry pick === alan_g is now known as alan_g|tea === dandrader is now known as dandrader|afk === dandrader|afk is now known as dandrader === chihchun is now known as chihchun_afk [16:18] do we have any relatively recent build silos with the unity stack handy? === alan_g|tea is now known as alan_g === dandrader is now known as dandrader|lunch [16:34] nnn [16:34] whoops [16:38] Missing ffe? [16:42] 0xAFFE? [16:42] a C0 [16:44] Focus Follows Eyes [16:45] ah ok .. I thought you meant FFE in c0ffe [16:46] for some people coffee is like 23 .. you can find it everywhere [16:56] we store an address of a reference and use it as an ID in GLRenderer -_- [16:57] kdub: you can't take the address of a reference. Only the address of what it references. [16:58] That sort of trick breaks badly if the reference is bound to a temporary. [16:59] right, and the renderlist is about to become a temporary, so have to detangle that [17:00] unexpected surprises, all part of refactoring :D === alan_g is now known as alan_g|EOD === dandrader|lunch is now known as dandrader [17:16] kdub: I think input dispatch wants the same from the scene.. [17:16] a list of things-on-screen that can take input [17:16] anpok, but the input stuff shouldn't really be taking a Renderable :) [17:17] anpok, that makes sense though, there's a for-each-if for input too [17:17] hm I wonder if it is worth to have something different than renderable [17:17] from an interface perspective, I'd say it would be better to have a Renderable and an InputTarget (or similar name) [17:17] I mean touch input dispatch is all about graphical items on screen [17:19] well, even at that there's a delta between what they're doing, like renderable has 'number_of_uncomposited buffers' and 'alpha' [17:19] yeah that part [17:19] whereas the input stuff would just need transform and 'input targettable' [17:19] well alpha == 0 means I dont care.. [17:19] true [17:20] right, so basic surface could condense all the compositor reasons for not being onscreen into something simpler for input [17:21] If you have a reason to target the for_each_if (for the input-based iteration over the stack) for elimination, I'd be happy about that :) [17:22] I think I want to get a condensed from the scene, copies. of the current scene status.. so that no locks are needed.. so this part is similar to gettign a renderlist from scene. [17:23] sounds good to me, i'm doing something similar in lp:~kdub/mir/kill-scene-lock [17:24] you'd still need a lock on the scene... just for a shorter period of time [17:24] while the 'light' data is copied [17:24] hm and for all involved surfaces? [17:25] is basic surface still a Renderable? [17:28] it is currently, but it doesn't have to be moving forward [17:29] I see something like Renderable(BasicSurface) and InputTargetable(BasicSurface) in the future [17:31] like, Renderable is really what the compositor/displaybuffer needs to do its stuff, its unfortunate that its a lot of handy info in one place :) [17:35] hmm I see something like Renderable(SceneNode) InputTargetable(SceneNode) and SceneNode having a position/orientation/alpha/dunno and a reference to BasicSurface [17:35] BasicSurface only has the buffers a size and what is needed to talk to the clients.. [17:37] sure, I think we mean the same thing, except SceneNode would be an interface that BasicSurface implements (in your case) and in mine, I wasn't specifying an interface [17:37] kdub: I asked because it is possible that you distill a list of renderables now, and someone moves the basic surface around afterwards.. [17:37] but yeah, right :) [17:37] nope I mean SceneNodes are instances that refer to BasicSurfaces [17:37] 'moves' meaning what? like moves the object? [17:37] or moves the position on the screen [17:37] yeah new pos [17:38] I would like to be able to have one client surface shown in different places on screen.. [17:38] so yeah SceneNode would be an indirection towards BasicSurface [17:38] sure, still not seeing the problem yet though [17:39] maybe also towards (BasicSurface|DecorationSurface) [17:39] with moving? [17:39] whichever problem is being posited :) [17:39] hehe [17:39] hm you might be drawing a frame with surface in State X+1 with occlusion filters applied to surfaces while they were in State X [17:40] *surfaces [17:40] thats why I thought copying would be better, and Renderable not being SceneNodes/BasicSurfaces(for now) [17:40] right, i think copying is better too [17:42] the Renderable(SceneNode) constructor does a copy (or lazy copy, where appropriate/feasible) [17:43] ok [17:57] bregma: do you wanna approve [17:57] https://code.launchpad.net/~robertcarr/unity-system-compositor/add-cursor-option/+merge/213896 [17:57] https://code.launchpad.net/~robert-ancell/lightdm/usc-hardware-cursor/+merge/213897 [17:57] * bregma looks === mhall119_ is now known as mhall119 [18:24] racarr: what editor are you using, some of the n's ended up in a different window, I guess. [18:26] yes they were just accidental nns lol [18:26] keyboard drumming while thinking + accidental enter key [18:26] because one n might have made it to a MP [18:47] racarr: stupid question here, but is the "hardware cursor" a real overlay/plane cursor drawn by the driver, or is it drawn by Mir's Renderer/Compositor? [18:51] greyback: driver [18:51] racarr: nice, thanks [19:25] lunch back in a flash [19:38] back === dandrader is now known as dandrader|bbl [20:18] kgunn: I built touch system with old driver and when I run unity8 now I get the start screen but only that and I got repeating messages in the logcat [20:18] E/qdgenlock( 1349): perform_lock_unlock_operation: GENLOCK_IOC_DREADLOCK failed (lockType0x1,err=Connection timed out fd=80) [20:18] W/Adreno200-EGLSUB( 1349): : genlock_lock_buffer GENLOCK_WRITE_LOCK failed [20:18] W/Adreno200-EGL( 1349): : EGL_BAD_ALLOC [20:18] which appear randomly or when I touch the screen [20:22] w-flo, who inspired me to update my drivers, wrote in his commit that before using new drivers some changes to mir code and genlock fixes in hardware_qcom_display were needed [20:23] I'll try to solve the problem of genlock on my own [20:25] dansuf: yeah..sorry, i'd not have an idea on that one... [20:25] dansuf: curious...when you say start screen? you mean...like this http://www.blogcdn.com/www.engadget.com/media/2013/02/ubuntu-hands-on-620-ces2013.jpg [20:27] kgunn: it's more ugly because the fonts are too big, not in proper place with no smaller circles arond the big one and with no top panel (there is just a black space) [20:27] kgunn: despite this, yes [20:27] :D [20:31] dansuf: ok...so at least _some_ progress [20:32] kgunn: yeah, I have to leave now, If I have no clues about it I'll conbtact w-flo or developer who is providing unofficial support for my device [21:39] sometimes the put things in the namespace htey are used rule is difficult to follow...the cursor controller needs to use the change callback from scene, so I had to extend the change callback mechanism to support multiple change targets [21:40] so the thing is the compositor uses like set_change_callback(null callback) tl clear it, so when having multiple callbacks you need to have some sort of add_callback -> id [21:40] remove_callback(id) sort of system. [21:41] so mi::InputTargets and mc::Scene and ms::SurfaceStack gain like unsigned add_change_callback(unction) remove_change_callback(unsigned callback_id) [21:41] and you want to typedef unsigned CallbackID, or maybe even use RAII or something [21:42] but what namespace [21:42] can you put that return type in? [21:44] you have to put it in ms:: and in its own header...like say we do with depth id [21:44] which breaks the namespacing rule and contains license header to code in a ratio of 40:1 lol [21:44] cest la vie [21:54] nevermind im silly [21:55] if you use riaa and a unique_ptr+std::function deleter for [21:55] the type [21:55] you only need a forward declaration [21:55] in headers [21:55] its still breaks the namespace rule but eh [22:04] std::function deleter? [22:04] so add_change_callback will return what? [22:04] a unique_ptr? [22:05] racarr:^ [22:12] AlbertA: Yes. i.e. unique_ptr> [22:12] so you dont need a definition [22:12] for ChangeCallbackInterest [22:12] ID, Registration [22:12] something [22:12] I dont know the name yet [22:12] and the custom deleter is for unregistering automatically? [22:12] Yes [22:13] cool [22:13] I was looking into it briefly [22:13] because I want to also hook into the scene change [22:13] Ah [22:13] for screencast purposes [22:13] well I have a branch to do it, i just need to comment it [22:13] and look at the diff [22:13] but will have it mped by EOD === dandrader|bbl is now known as dandrader