<sphalerite>
robmur01: alright, thanks for the hint :)
<robmur01>
in the meantime I guess you could disable OPPs that need a higher-than-default voltage, or possibly bodge the regulator min-microvolt to bump up from the default
<robmur01>
(and of course "disable OPPs" can either be done 'permanently' in DT or just by runtime-tweaking the sysfs devfreq parameters)
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
pemdp has quit [Quit: Connection closed for inactivity]
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
adjtm has quit [Remote host closed the connection]
Venemo has quit [Ping timeout: 264 seconds]
Venemo has joined #panfrost
adjtm has joined #panfrost
<alyssa>
OA
<alyssa>
Sorry
buzzmarshall has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
rhyskidd has quit [Ping timeout: 260 seconds]
raster has joined #panfrost
rhyskidd has joined #panfrost
indy_ has joined #panfrost
karolherbst has quit [Remote host closed the connection]
raster has quit [Ping timeout: 260 seconds]
karolherbst has joined #panfrost
kinkinkijkin has quit [*.net *.split]
mixfix411 has quit [*.net *.split]
empty_string has quit [*.net *.split]
enunes has quit [*.net *.split]
indy has quit [*.net *.split]
cyrozap has quit [*.net *.split]
robink has quit [*.net *.split]
<alyssa>
oh dear bifrost
<alyssa>
FMA has CSEL opcodes, but ADD has convert opcodes
<alyssa>
so to do bool->float, it packs as one or the other depending on unit, so you can do bool->float on either unit
raster has joined #panfrost
kinkinkijkin has joined #panfrost
mixfix411 has joined #panfrost
empty_string has joined #panfrost
<alyssa>
Actually, FMA also has convert.. so what's the csel for
robink has joined #panfrost
cyrozap has joined #panfrost
<alyssa>
Oh - it uses CSEL if it can fuse the condition. Cute.
<alyssa>
since const-- yeah got it
<urjaman>
i read "oh dear bifrost" as a beginning of a love letter to a GPU :D
<alyssa>
urjaman: midgard is my 1 true love
<robmur01>
For some reason that has made me think of the "0 * infinity = 2" nonsense hidden somewhere in AArch64 ASIMD (which someone once told me was a graphics thing)
<urjaman>
alyssa: with that you can make the result be any number you like ...
enunes has joined #panfrost
bbrezillon has quit [Ping timeout: 256 seconds]
<alyssa>
urjaman: welcome to analysis, please come again
* urjaman
blinks
<Lyude>
btw alyssa, got instructions on setting up both the n2 and hikey960 w/ fedora :3
<alyssa>
Lyude: :D
<alyssa>
urjaman: limits, remember? :)
<alyssa>
opf690 <-- more magic opcodes
<alyssa>
opf690 {R0, T1}, R1, R0, R0
<alyssa>
for the CL code: "out[0] = convert_uchar4(in[0] > in[1]);" with in uchar4
<alyssa>
so an integer cmp all-in-one
<alyssa>
opf691 {R0, T1}, R0, R1, R0
<alyssa>
^ for <
<alyssa>
ofc bottom bits are port
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
nerdboy has joined #panfrost
<alyssa>
For 64-bit, it appears opf710/opf7f8 does the cmp as a two-parter
<alyssa>
where the latter is 3-src ingesting the result of the former in the last src
<alyssa>
ope87d appears to be a 64-bit csel
<alyssa>
csel3
<alyssa>
so 0xe840 is CSEL3.64
<alyssa>
(of course, you can split that into lo/hi easily for longs)
adjtm_ has joined #panfrost
enunes has quit [Remote host closed the connection]
enunes has joined #panfrost
raster has quit [Ping timeout: 256 seconds]
<robmur01>
so, min/max/clamp then?
<alyssa>
robmur01: sorry?
adjtm has quit [*.net *.split]
cyrozap has quit [*.net *.split]
robink has quit [*.net *.split]
kinkinkijkin has quit [*.net *.split]
empty_string has quit [*.net *.split]
mixfix411 has quit [*.net *.split]
raster has joined #panfrost
cyrozap has joined #panfrost
robink has joined #panfrost
mixfix411 has joined #panfrost
empty_string has joined #panfrost
<robmur01>
alyssa: unless I'm misinterpreting, what you're describing sounds like operations useful for min(...), max(...) and min(max(...)) type stuff
<alyssa>
robmur01: well, there are min/max opcodes too :p
<robmur01>
just guessing out of idle curiosity :)
<alyssa>
this is for CL
<alyssa>
although 8-bit min/max does appear to use the cmp/csel pattern, yeah :)
<robmur01>
If I was sufficiently interested I'd go look it up to satisfy myself, but I can't be bothered :P
<alyssa>
Pff
<HdkR>
fmulx is for graphics?! I could never figure out why anyone would want that op
<robmur01>
hmm, and now thinking some more about "scalar but sometimes sort of vector" ISAs starts feels like a comforting throwback to the ARMv5/v6 Enhanced DSP stuff :D
ChanServ has quit [*.net *.split]
<HdkR>
Everyone loves a bit of SWAR
ChanServ has joined #panfrost
<robmur01>
HdkR: IIRC there's apparently some operation where it's desirable to have an "out-of-range" result that's real but not in [0.0, 1.0]
<HdkR>
aah
bbrezillon has joined #panfrost
buzzmarshall has quit [Quit: Leaving]
buzzmarshall has joined #panfrost
karolherbst has quit [Remote host closed the connection]
raster has quit [Ping timeout: 240 seconds]
karolherbst has joined #panfrost
raster has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
cwabbott has quit [Ping timeout: 240 seconds]
<alyssa>
Let's see if I remember midgard :p
<alyssa>
no alyssa don't rewrite the whole compiler
<ente>
depends
<ente>
a) how long will it take b) how desperate will you be c) will it improve anything
<alyssa>
Oh, context - I should be resuming full-time work on panfrost from now thru August now that classes are officially over.
<ente>
that's noble
<alyssa>
So figure I can give Midgard some love again :)
<ente>
I want to write a wayland compostor but I've always dodged large software projects because I'm scared of them
<urjaman>
compost a wayland
<urjaman>
a noble goal :D :P
<ente>
it'd be a port of a window damager ;P
cwabbott has joined #panfrost
<urjaman>
:D
<ente>
that's what tuomov called it in the original announcement
<alyssa>
composting is my favourite way to dispose of organic matter
<ente>
I wish you could compost computers
<urjaman>
and then you could use the result to make different computers?
<ente>
that would be so cool
<alyssa>
I don't think composting works that way
<urjaman>
(i mean it kinda is plants->dirt->plants again ...)
<alyssa>
oh gosh this is just a giant pile of hacks
<urjaman>
most software is :D
<ente>
^
<ente>
I also feel urjaman is about as defeatist as I am
<ente>
but what else are you going to be when firefox stops opening links except on the second attempt
<ente>
maybe I should compost my laptop
<ente>
it's bugs all the way down
<ente>
on the other hand, irssi+mosh still works despite my network connectivity problems
<ente>
sorry for going OT here so much, I need a distraction
* ente
hides
<HdkR>
Compositing and WM are one of those things I never want to get involved with. Too prickly
<ente>
great potential for doing something awesome that'll blow everyone's mind though
<ente>
"wow, my wm remembers which screen these windows came from and puts them right back when I reattach the second monitor!"
<HdkR>
I like the i3wm response of, not dealing with hotplug, let the user manage it
<HdkR>
:>
<ente>
I really like notion, minus its bugs
<HdkR>
Looks like a decent tiling WM
<alyssa>
any tips for legacy code, inherited from yourself?
<ente>
I guess legacy code inherited from someone else is better
<ente>
have you considered adopting a new identity, so it can feel like someone else's mistakes?
<urjaman>
oh no
<urjaman>
pls no more identities :P
<HdkR>
alyssa: Usually by dealing with it or rewriting those legacy problems in to more recent problems
<urjaman>
but honestly idk, i havent really inherited anything that big from myself...
<ente>
*nod*
<alyssa>
It's only a compiler
<alyssa>
<13kloc, not too bad
<ente>
usually I'm not unhappy with old code I look at, unlike what everybody on the internet says
<ente>
"if you don't look at old code and you think it's bad, that means you haven't learned anything" BULLSHIT!
<ente>
it's perfect because I'm perfect
<ente>
muhaha
<ente>
alyssa: what's it compiling?
<alyssa>
ente: all ur code
<ente>
\o/
<alyssa>
(any shaders on Midgard [<=T880])
davidlt has quit [Ping timeout: 260 seconds]
<urjaman>
yeah most of the things i've coded are just a few kloc ... okay one of my bigger embedded things clocked in at 6kloc-ish it seems
<urjaman>
and my response to seeing my old code is usually something like "this is fine, not quite how i'd write it now, but fine"
<Lyude>
my old code is bad but i impress myself at least by looking at every now and then and going 'oh that's bad but not as bad as I remembered so that's nice'
<Lyude>
:)
<alyssa>
Aaaaaa
icecream95 has joined #panfrost
<alyssa>
there we go
<urjaman>
@infinite_scream channeled? :)
<alyssa>
4 files changed, 84 deletions(-)
<alyssa>
There goes one big expensive hack.
<alyssa>
(Compile time will likely improve but that's not the goal.)
NeuroScr has joined #panfrost
<HdkR>
alyssa: <13kloc is pretty good
nerdboy has quit [Ping timeout: 260 seconds]
<alyssa>
bbrezillon: Noticing mipmapping is slow (a possible issue on init) since we have to wait on one batch after another. Wonder if we can get the hw to do something cheaper.