Wednesday, 2022-06-29

poetasterattah, you about?19:45
attahHow goes things?19:46
poetasterEverything is good. Manic programming mixed with kids at the lake. We had a week of 'go to the lake or die of heat exhaustion' here.19:47
poetasterand you?19:47
attahSimilar heat-wise... last day of work before vacation now19:47
poetasterAh, cool. I have 2 weeks to go... vacation plan?19:48
attahRealizing useful features are annoying to do, so i learned CMYK and mono-dithering (:19:48
poetasterOh, cool. CMYK and stochastic dithering made four colour process for me charming back in the day (circa 1992)19:49
attahheh, i would have been 219:50
poetasterDamn it. I don't feel that old (my feet do).19:51
poetasterI think you'd probably really appreciate an old school lithography run with proper hardware. National Geo, 6 color gravur press. Amazing color separation processes that get etched to huge copper plates.19:53
poetasterwell, that's probably history, too. man, I'm getting old.19:53
attahVery likely... newer is not always better19:53
poetasterWhich brings me to ... the RBG channel swap is back again:)19:56
attahmhmm, and for some use-case where you do not control the image provider?19:56
poetasterYeah, naturally :) I had wanted to get smooth animations going in my stop animation app and settled on canvas with frame buffer.19:58
poetaster'just' loading images to it results in our beloved tint :)19:58
poetasterIn     Canvas {19:58
poetasterdo : loadImage(img); (in onCompleted, for instance)19:59
poetasterand you get swapped channels.19:59
attahAnd you are probably right in that there is a bug in qt with some sort of copying-as-uint32_t or whatever it was19:59
poetasteryeah. Saddly, after my last deep dive I have to go back to the source again. sigh.20:00
poetasterBut, I guess I should just re-use the image provider that you patched. Hmmm. I was hoping to keep this pure qml as long as it's a prototype.20:02
poetasterbut then, everything is a prototype.20:02
attahI don't think i have any deeper insights unfortunately20:02
poetasterit's burried. I did enough reading to convince me that I needed to work for newer code back, and that's where I stalled. Too many generations.20:03
attahSo let's see if i can build qtbase for sailfish20:04
poetaster(insert evil laugh here).20:05
attahhave to put that workstation to some use20:05
poetasterI finally gave up and 'upgraded' to a thinkpad W541. It is an improvement even if aged :)20:06
poetasterWhy I insist on working on stupid laptops is a mystery.20:06
poetasterI think the issue can be resolved with Canvas, even in pure QML. Working on it ...20:07
attahIt has its charm... but when i had used my macbook air as a desktop replacement for several years, i went desktop again20:07
attahoptimistic, also cool20:07
poetasterthe cool thing with canvas is that you can use a proper framebuffer. so my animations run without a hitch at stupid frame rates. in odd colors :)20:08
attahYes, very neat20:12
attahoh, and building just finished... that was fast20:13
poetasterthat WAS fast. no way.20:13
attahAMD 3950X (:20:13
attahIt's basically like those American car shows, but with computers20:16
poetasterSadly, the only machines of that calibre that I have access to are at work. They sleep mostly.20:18
poetasterQPaintEngine::drawImage( is a contender20:22
poetasterah, shit. just going to have to do it in c.20:24
Thaodanattah: AMD 3970X here XD It's code to have some cores.20:24
attahAh, there is always a bigger fish20:26
attahpoetaster: we had checked it was not framebuffer native format acting up, right? i.e. tried with an image-backed surface20:26
poetasterah, no I hadn't ! I will try that now.20:27
attah(i think i probably did)20:27
poetasterrenderTarget: Canvas.Image also channel swapper.20:30
poetasterinterestin is that the slow Image + Canvas.Immeditate rendering performs just as well. hmm.20:31
poetastererrr. RTFM:  The Canvas.FramebufferObject render target requires the pixel data to be exchanged between the system memory and the graphic card, which is significantly more expensive.20:31
poetasterok. off to bed. my hack solution is to use opengl :)20:38

Generated by 2.17.1 by Marius Gedminas - find it at!