alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
stikonas has quit [Ping timeout: 272 seconds]
raster has quit [Quit: Gettin' stinky!]
unoccupied has joined #panfrost
mixfix411 has joined #panfrost
anarsoul|2 has joined #panfrost
anarsoul has quit [Ping timeout: 260 seconds]
davidlt has joined #panfrost
nerdboy has joined #panfrost
<HdkR> Lyude: I've been out of laptop searching for three years. Is there another 13" laptop with a 70Whr battery in it...?
<icecream95> I've written an optimised asm tiling routine using NEON, but something tells me I missed something: https://gitlab.freedesktop.org/snippets/973
mixfix41 has joined #panfrost
<HdkR> ooo, pretty colours
<HdkR> Missing the tail end remaining past the vector size or something?
<alyssa> icecream95: :eyes:
<alyssa> AFAICT you've improved the texturing in the game.
<alyssa> So r-b
<alyssa> ^_^
<alyssa> sorry, NEON, I just can't concentrate... I just, I just gotta go!
<icecream95> ...and I just got the obligatory kernel panic from corrupting random descriptors
<alyssa> congratulations, you are now one of us
<alyssa> :P
<alyssa> next level up is when you managed to hang the GPU and need a reboot due to corruption, and then get told that's not possible.
NeuroScr has quit [Ping timeout: 265 seconds]
<icecream95> Looking at pstore, it was actually just a hung_task panic
<alyssa> You can do better, I believe in you ;P
<icecream95> alyssa: Two hung_task panics triggering at exactly the same time and causing a kernel null pointer dereference?
<alyssa> Yeah, that counts :D
<alyssa> https://www.shadertoy.com/view/Msj3zD works on panfrost
<alyssa> this is incredible/horrifying :D
NeuroScr has joined #panfrost
rcf has quit [Remote host closed the connection]
buzzmarshall has quit [Remote host closed the connection]
cwabbott has quit [Quit: cwabbott]
nerdboy has quit [Ping timeout: 265 seconds]
mixfix411 has quit [Quit: Leaving.]
nerdboy has joined #panfrost
cwabbott has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
nerdboy has quit [Ping timeout: 256 seconds]
nlhowell has joined #panfrost
<icecream95> It turns out it wasn't me doing the corrupting, it was whatever function the linker placed after my tiling one...
stikonas has joined #panfrost
<HdkR> Make sure to reserve your ABI
<HdkR> Only 8 of the NEON registers are caller saved and only the lower 64bits
<HdkR> er, flip that
<HdkR> 8 of the lower 64bits are CALLEE saved
<HdkR> The rest are volatile
<HdkR> So make sure to push/pop v8-v15 if you used them
<robmur01> Don't leave home (or write asm functions) without a copy of the PCS ;)
<HdkR> Or look up the AAPCS64 :)
<HdkR> It's good stuff
<HdkR> I still don't like the NEON ABI but eeeh, I see why it was chose
raster has joined #panfrost
rcf has joined #panfrost
<HdkR> oop, Hardkernel has a new Amlogic board. Amlogic S905X3? https://www.hardkernel.com/shop/odroid-c4/
icecream95 has quit [Ping timeout: 256 seconds]
<cwabbott> from https://developer.arm.com/tools-and-software/graphics-and-gaming/arm-mobile-studio/release-history: "Shader binary shader generation is no longer supported; use the on-device driver to generate program binaries."
* cwabbott sheds a single tear
<HdkR> Sad, no more offline shader tooling
<chewitt> @HdkR it has G31 and should basically be identical to VIM3L
<chewitt> I have a sample en-route, but snail mail is slow
<HdkR> nice
mmind00 has quit [Quit: No Ping reply in 180 seconds.]
kaichi has quit [Quit: Leaving]
mmind00 has joined #panfrost
unoccupied has quit [Quit: WeeChat 2.5]
buzzmarshall has joined #panfrost
<alyssa> cwabbott: >:
<alyssa> ^ Hot off the press! :-)
<milkii> \o/
unoccupied has joined #panfrost
<raster> \o/
chewitt has quit [Read error: Connection reset by peer]
chewitt has joined #panfrost
<Lyude> HdkR: not sure tbh, I usually don't pay attention to battery sizes. Just remember though, you always can just use usb-c!
swiftgeek has quit [Quit: WeeChat 2.7.1]
swiftgeek has joined #panfrost
unoccupied has quit [Ping timeout: 252 seconds]
unoccupied has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
tomboy64 has quit [Remote host closed the connection]
tomboy64 has joined #panfrost
raster has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
raster has joined #panfrost
<HdkR> Lyude: Sure. It's just nice to leave the laptop unplugged for a few hours and not have battery anxiety :P
<HdkR> I bought a maxed out XPS 13 2in1 7390 since it seemed to be the best option https://www.dell.com/en-us/shop/cty/pdp/spd/xps-13-7390-2-in-1-laptop
<Lyude> poke me if it has backlight issues
<Lyude> (it shouldn't, but just in case)
<HdkR> Which backlight issue is that?
<Lyude> HdkR: the hell that is backport control over dpcd
<Lyude> *backlight
<HdkR> ick
<HdkR> Does it only show up with auto backlight control? I always disable that
<Lyude> basically they came up with a nice standard, so a bunch of manufacturers agreed and did not go with the nice standard
<Lyude> HdkR: oh-no it's just with linux, and we don't have support for DBC yet
<HdkR> fun
<HdkR> I'll make sure it stays at its eye-searing 500nits when I get it
<Lyude> but yeah-now I need to try implementing both intel's custom interface and the standard vesa interface, since panels don't advertise the standard interface correctly at all
<Lyude> currently we're enabling backlights using the vesa edp backlight controls using a whitelist of edids, it's really not good :(
<HdkR> wooow
<Lyude> surprisingly, nvidia seems to be the only sensible one here
<Lyude> they actually use the standard!!
<HdkR> I guess at least one company had to get it right
<Lyude> they all could have if they read the eDP standard :3
<Lyude> that they themselves contributed to…
<HdkR> Just a bit derpy yea
* alyssa offers muffin
<Lyude> hehe
<HdkR> Still disappointed that I'm going from 70Whr battery to 51Whr :/
nerdboy has joined #panfrost
cwabbott has quit [Ping timeout: 265 seconds]
cwabbott has joined #panfrost
NeuroScr has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
raster has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
raster has joined #panfrost
davidlt has quit [Ping timeout: 256 seconds]
jolan has quit [Quit: leaving]
tomboy64 has quit [Ping timeout: 240 seconds]
tomboy64 has joined #panfrost
jolan has joined #panfrost
unoccupied has quit [Quit: WeeChat 2.5]
<alyssa> Trying to determine how constant clauses work on g52 but aggressive opts are making this hard
<alyssa> No real way to control scheduling either.
raster has quit [Quit: Gettin' stinky!]
<urjaman> next up: imaginary ways to control scheduling
<urjaman> (...yup it a joke)
icecream95 has joined #panfrost
<alyssa> urjaman: too complex for me
<urjaman> thought so
<alyssa> urjaman: there are surreal and even hyperreal options though
<alyssa> I'm a maths student, not CS; I can do this all day :p
<urjaman> My only formal education is on electronics; so this went about as i expected :P
<alyssa> ...should I switch to making ODE jokes instead?
<alyssa> ^ Blob does some "interesting optimizations" here
<alyssa> Maybe somehting like
<alyssa> (x & #b) + #c ---> (x & #b) | (#c & ~#b) iff (#b & #c) == 0, though possibly more sophisticated, doesn't matter rn
<alyssa> cwabbott: Making progress on the constant thing
<alyssa> Tentatively looks like:
<alyssa> One constant: store it in the lower bits, and copy the upper nibble to the upper nibble of the unused 2nd constant
<alyssa> Two constants: store both, swapping to ensure the difference of 8 of the upper nibbles thing holds
<alyssa> Possibly there's an issue with the lower constant being zero or something
<cwabbott> huh, that's weird
<cwabbott> I always thought that it was some kind of debugging thing
<alyssa> we don't write compilers because it's ~~easy~~ logical
<alyssa> These things would sure be easier with open docs
* alyssa coughs
<cwabbott> iirc sometimes it would actually do something, and by "do something" I mean fill part of the constant with random garbage
<alyssa> Wild
<cwabbott> depending on the exact contents of the upper 4 bits
<alyssa> I mean it could be a debugging thing still but this seems like a *bizarre* thing to want to "debug"
<cwabbott> some combinations would replace different parts, others would hang
<alyssa> Nice.
<alyssa> OTOH ... smells closer to a bizarre errata.
<cwabbott> I mean, maybe it's some internal hardware state or something
<alyssa> But one man's debug is another man's errata...? :P
<cwabbott> but, like... why
<cwabbott> I can't think of a bug that would result in something like this
<alyssa> (do you have PMs enabled?)
<cwabbott> (I didn't spend all those all-nighters in my VLSI class for nothing!)
<alyssa> :D
<alyssa> Looks like, for i, j being upper nibbles of first two constants, the blob has:
<alyssa> er wait this is wrong
<alyssa> Okay, for m, M being the smaller and greater nibble of the two constants, the actual packing will be
<alyssa> (m, M) <==> (M - m < 8)