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

racarrmm00:00
kdublike,  its common  for the software buttons on the nexus4 to be an overlay layer00:00
kdubi guess we don't have to solve the problem now00:00
racarrno it's interesting though00:00
racarrI'minterested in starting to rework the rendering00:00
racarrto explore the shell rendering effects, etc.00:00
racarrmight be related.00:00
kdubyeah... its hard to abstract that00:01
kdub'this layer is quicker, but... you can't use a shader on it'00:01
racarrMm00:02
racarrthere are sort of two approaches to the shell and how it interacts with rendering and effects00:02
racarr1. Is the shell replaces the compositor, renderer, etc, does what it wants00:02
racarrand 2. is the surface stack functions more as a scene graph and the shell is declarative about what it wants00:03
racarrI think this functions as an argument for 2, where the shell would create an "overlay" layer inside the scenegraph (beefed up surface stack)00:03
racarrand insert say, the software button surface in it00:03
kdubwell, we could do a mix somehow00:03
racarrthen the graphics backend is free to figure out00:04
racarrHey, can overlay this with HWC00:04
racarrthen all of a sudden it has a blur shader00:04
racarrand the graphics backend can render it however00:04
kdubright00:04
kdubi think that dynamism is what we should aim for00:04
kdubplus if the behavior is abstracted well00:04
kdubthats a big win too00:04
kdublike, thats actually how composition on the nexus4 works00:05
kdubwithin the hwc00:05
racarrmm00:05
racarrWe should have layers in the surface stack00:06
racarrlets introduce them for stacking00:06
racarrand add fancy rendering later00:06
racarr(maybe try and make a demo shell that implements the unity blur between two layers)00:06
racarrHehe that's tricky to express00:07
kdubracarr, i mean, the quick way is just override the default gl_renderer.cpp00:09
kdubbut expressing a good model for all the different effects is tricky00:09
racarrone possible way to express blur is like00:10
racarrthere are two layers, say the app layer and the shell layer and we want to render the shell layer with a blur effect of the app layer00:10
racarrso the shell, does something like shell_layer->add_texture_sampler((Renderable)appLayer, "textureSamplerName")00:13
racarrthen shell_layer->add_fragment_shader(shader source)00:13
racarrhighly idealized of course ;)00:13
racarrthe renderer00:14
racarrdoes a prepass on the graph, to resolve dependencies, i.e. it sees the shell layer references the app layer as a texture so we need to render it to an fbo00:15
racarror maybe there are only 4 renderables in total and we have a bunch of texture units so we render it all with one massive multitexture00:15
racarr*hand wavy*00:15
racarrthats my idealized extreme of number 200:15
RAOFI hate all technology00:22
RAOFrobert_ancell: Any better luck with XMir today?00:56
robert_ancellRAOF, just about to try01:30
robert_ancellbrb01:30
robert_ancellRAOF, http://paste.ubuntu.com/5597212/ - is that it getting confused with nouveau?01:39
robert_ancellAnd if I remove the nouveau driver Mir wont even start01:40
RAOFWha?01:42
robert_ancellRAOF, drmOpen seems to give "Operation not permitted"01:43
RAOFWell, it's not meant to be drmOpening at all.01:43
RAOFrobert_ancell: Could you change lightdm so that it passes "-verbose 7" to X, and then give me the lightdm log? That should also catch things that X's backtrace handler doesn't, like missing symbols.01:45
robert_ancellRAOF, that should have been -vebose 701:45
RAOFrobert_ancell: Ah, ok. Yes, the problem is that nouveau getting loaded.01:49
RAOFI can reproduce on my hybrid system when I've got the ATI card powered up.01:49
RAOFUrgh.01:50
RAOFrobert_ancell: And, as before, you can't turn off your nvidia card, can you. Bah!01:51
RAOFI'm heading out to lunch soon. I'll see what I can wrangle when I get back.01:51
robert_ancellRAOF, nope01:51
racarrIf anyone still around wants to review05:01
racarrdemo-shell again, alans needs fixing was covered by weakify-event-filters (and Alan agreed that was good in the morning)05:02
racarrand alf is on vacation so it just need one more +105:02
RAOFrobert_ancell: I think I've fixed your nouveau problem in the daily build that's happening now.05:02
robert_ancellRAOF, yay!05:02
racarranyway if we can land it or iterate in the next 2 hours or so before I go to sleep05:02
racarrI can propose software cursor :)05:02
racarrAlso happy afternoon :)05:03
robert_ancellracarr, if you think you've fixed the issues raised by Alan/Alexandros just land it05:03
racarrrobert_ancell: Cheers :) will land and propose software cursor soon05:16
robert_ancellracarr, regarding https://code.launchpad.net/~vanvugt/mir/clarify-c-types/+merge/160294. Is c_types supposed  to refer to "C language types"?05:18
RAOFHah! And now that we've fixed the drivers to not load we run into xserver bugs.05:31
racarrrobert_ancell: It's supposed to refer to C language types05:44
racarrit is used in the server by the native display but this merge seems to work because mesa/native_display.h is included05:44
racarrincludes it05:44
racarreven if the src/server/* file removed it05:44
dufluracarr: Yeah there's still some conflict there with common.h. We need to resolve the differences between the two more clearly, somehow05:46
dufluI think mentioning "c_" is pointless, because all the toolkit headers are C-compatible05:47
racarrtypes.h :)05:50
racarrit was introduced just right before mir_toolkit so it was weird05:50
racarroh god reminder email05:52
racarrI forgot the difference between tuesday and wednesday05:52
dufluracarr: Right, but common.h is also just for C-types. But wider-used simple types like enums05:58
tvossracarr, robert_ancell duflu do we do the weekly?05:58
dufluThe tricky part is that some types like callbacks are too client-specific to go in common.h (visible to the server)05:58
robert_ancelltvoss, sure. I'm looking after my daughter so I'll have to see how it goes but I'll attempt it05:58
tvossrobert_ancell, cool05:59
tvossrobert_ancell, grabbing headset then05:59
robert_ancellRAOF, ^06:00
RAOFrobert_ancell: Yeah, just hunting for the link.06:00
robert_ancellracarr, ping?06:02
robert_ancellhikiko, connection problems?06:04
racarrJoining!06:05
hikikoyes robert_ancell06:07
hikikotrying to fix it06:07
robert_ancellhikiko, ok, we're mostly saying we'll just meet in Oakland06:07
dufluNo one wants to talk much this week06:09
hikiko:)06:10
hikikoI entered!! but the hangout is done I guess06:14
hikikoI am the only one there :)06:14
hikikofail!!06:15
dufluhikiko: Sorry. Not having any problems to discuss is good I guess.06:15
hikikohaha, true :D06:16
dufluOh dear. I failed to read the docs correctly on our pixel format semantics. Time to rewrite :P06:58
RAOFMan, I wonder if this xserver code has ever actually been executed?07:49
RAOFmlankhorst: xf86DeleteDriver just doesn't really work, does it? :)07:49
* mlankhorst has no idea08:00
RAOFSpoilers: it doesn't.08:00
RAOFWell, it does unless you're using it in a situation when you'd want to use it.08:00
* mlankhorst busy rebasing the kernel patches08:01
RAOFDoes one of them allow me to get the size of a dma-buf out of its fd? :)08:02
mlankhorstoh I forgot08:02
RAOFI'm happy to get some more kernel experience if you don't want to write that patch.08:03
mlankhorsthehe I want to write it, it was just that I had to rework some other patches and I was resenting it so much I postponed all my kernel work a bit08:03
* RAOF goes to bathe Zoë08:04
* duflu wonders if RAOF named Zoë before, after, or because of his discovery of key composition ;)08:12
dufluAaa Mir, why can't you tell red from blue? :(08:13
RAOFWellllll after :P08:25
alan_gGood morning!08:25
dufluGood afternoon- almost end of the week08:25
alan_g;)08:26
dufluI'm panicking about lack of prep and need to run off in a while08:26
dufluHappy Raring Eve too08:31
tvossduflu, Happy Raring Eve08:31
* alan_g checks he has the t-shirt08:32
* RAOF wins the battle against Xorg09:23
tvossRAOF, \o/09:23
=== mmrazik is now known as mmrazik|lunch
=== mmrazik|lunch is now known as mmrazik
=== alan_g is now known as alan_g|lunch
=== mmrazik is now known as mmrazik|afk
* mlankhorst checks RAOF for scars13:02
=== alan_g|lunch is now known as alan_g
=== mmrazik|afk is now known as mmrazik
=== olli_ is now known as olli
=== mmrazik is now known as mmrazik|afk
=== mmrazik|afk is now known as mmrazik
=== mmrazik is now known as mmrazik|afk
kdubhello! status, bugs, worked on display logging15:07
alan_gafternoon, got laptop up to date, reviewing and updating MP. Thinking about ownership issues.15:09
=== mmrazik|afk is now known as mmrazik
kgunnkdub: hwc1.0...awesome!15:12
tvosskdub, \o/15:16
kdubyay15:17
racarr/win goto 1016:42
racarr...:)16:42
alan_gHello there16:43
racarrHello :)16:47
alan_gGoodbye!17:05
=== alan_g is now known as alan_g|life
=== tmoenicke is now known as tmoenicke|dinner
=== tmoenicke|dinner is now known as tmoenicke
racarrI thought I broke the Qt mapping of the tab character19:35
racarrbut really I forgot I was in demo shell19:35
racarrand it eats tab events19:35
racarr...19:35
racarrGot lots of little quirks in Qt key input worked out19:48
bschaeferracarr, cool :)20:09
bschaeferracarr, soo, i added some more event defines in a branch here:20:09
bschaeferhttps://code.launchpad.net/~brandontschaefer/mir/more-event-defines/+merge/16075620:09
bschaeferI saw your comment about waiting till next week, but I needed the MirMotionButton and MirKeyMeta for some SDL stuff so I went ahead and did that20:10
racarrbschaefer: Haha! I was just getting ready to add the mir key meta after lunch20:16
racarrso perfect!20:16
racarrnow lunch though, will review after20:16
bschaeferhaha nice :), im just about to go on lunch20:17
racarrback21:08
bschaefersoo, i just started looking into this missing button state for a mouse release...and whats weird is the mir_motion_action_hover_exit21:11
bschaeferhas the correct button state21:11
bschaeferanother thing thats weird is clicking in general generates a hover exit/enter event as well21:11
bschaeferso the events go like this when you press: HoverExit (correct button state), MousePressed (correct button state), Mouse Released (incorrect button state)21:12
bschaeferso im thinking that hover exit steals it21:12
bschaeferalso thanks for the review21:18
racarrhmm21:33
racarrwell click/release does enter/exit hovering21:33
racarrkind of weird though21:33
bschaeferindeed, i need to track down where the conversion from an android event -> mir event happens...possibly something in there?21:37
bschaefererr, that seems to be done in the lexicon, but that would mean android is giving odd states? interesting..21:49
racarrbschaefer: I guess this is just how the android input works perhaps21:49
racarrit does make sense somehow, when the button is released the button state is 0 ;)21:49
bschaeferracarr, hmm perhaps, the problem is theres no look ahead when receiving events21:50
bschaeferie, press button 1 down, press button 2 down, release button 1, which button was released?21:50
bschaeferI also don't know why you would need to know the button state on a hover exit :)21:51
racarrbschaefer: So...it seems to be as intended22:04
bschaeferracarr, whooo, umm I just got something weird...um22:05
bschaeferracarr, is the lexicon function thread safe?22:05
racarrif you look in InputReader.cpp around l240022:05
racarris whre it begins sort of22:05
racarrIt should be right! It doesn't access any22:05
racarrdata or anything besides its arguments22:06
bschaeferracarr, so heres a sample of my log:22:07
bschaeferhttp://paste.ubuntu.com/5599532/22:07
bschaeferand the print statement im using in void mia::Lexicon::translate(const droidinput::InputEvent *android_event, MirEvent &mir_event)22:07
bschaeferit does a static cast but the umm, android event seems to be off, as it should align up22:08
bschaeferracarr, ignore that...22:08
* bschaefer put the print statement in the wrong place22:08
bschaefer:)22:08
racarrstory of my life haha :)22:09
bschaeferhaha, I put it before the mir_event was getting assigned so it had the last values it had in it hahaha22:09
bschaefer:)22:09
racarrI think this is as intended by android, and the idea is just, you receive an event and see the new button state and do what is appropriate22:10
bschaeferright, SDL being old doens't do things like this22:10
racarrbut if SDL apps aren't happy with that (i.e. need an event this button was released)22:10
racarrI think you should just maintain22:10
racarra simple mapping22:10
racarrfor now22:10
bschaeferwell, yeah Ill have to do a map22:10
bschaeferyeah22:10
racarrIm not sure if the android way is good or not but22:10
* bschaefer was trying to avoid ambiguous events22:10
bschaeferwell to me it makes for an ambiguous event, which means we have to do more book keeping :)22:11
bschaeferbut android is more a of touch environment, so maybe thats a reason22:12
* bschaefer makes a workaroud22:12
racarrbschaefer: You should propose the test anyway, just with the passing semantics22:13
racarrso we at least have something that says how it works22:13
bschaeferalright, I still need to fix a mocking problem, complaining about something22:13
bschaefereven if I remove the check if state ==022:13
bschaeferracarr, Ill try and get that out today22:14
racarrgreat22:15
racarrok the one thing keeping me from using mir as a terminal multiplexor now22:23
racarris input goes through to the VT :p22:23
racarrso ctrl+c22:23
bschaeferhaha22:24
bschaeferracarr, also, turns out if you do MouseDown 1, then try MouseDown 2 its blocked by the mouse Down 122:25
bschaefersooo I suppose thats no longer a problem, so I just have to save the last used button state...still annoying :)22:25
racarr  struct termios terminal_attributes;22:35
racarr    tcgetattr(vt_fd, &terminal_attributes);22:35
racarr    cfmakeraw(&terminal_attributes);22:35
racarr    terminal_attributes.c_oflag |= OPOST | OCRNL;22:35
racarr    tcsetattr(vt_fd, TCSANOW, &terminal_attributes);22:35
racarrlol...22:35
racarrits like all the worst names in 5 lines22:35
bschaeferhaha, are you really stealing the fd from the vt haha?22:35
bschaeferwell that works22:35
racarrwell I mean in the server22:36
racarrsetting up the VT22:37
racarrthe problem is I need the server not to respond to control sequences anymore :)22:37
bschaeferoo, I was thinking the tty for some reason22:37
bschaeferright, you don't want the server to die on a crtl+c :)22:38
bschaeferalso for you enable input branch, with my change to trunk you'll need to change these: http://paste.ubuntu.com/5599384/22:40
bschaefer(very simple...)22:40

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