alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - https://gitlab.freedesktop.org/panfrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
jolan has joined #panfrost
_whitelogger has joined #panfrost
tlwoerner_ has quit [Ping timeout: 255 seconds]
<alyssa> Hm, RA bugs breaking a ton of looping-related tests
<alyssa> (This is connected to the hangs fwiw)
_whitelogger has joined #panfrost
TheCycoONE has joined #panfrost
<HdkR> =o
<HdkR> I like the spelling mistake in the first header
<HdkR> I used to sit in on the openhours meetings. Sort of stopped
vstehle has quit [Ping timeout: 245 seconds]
_whitelogger has joined #panfrost
vstehle has joined #panfrost
LinguinePenguiny has joined #panfrost
fysa has quit [Ping timeout: 250 seconds]
fysa has joined #panfrost
LinguinePenguiny has quit [Ping timeout: 244 seconds]
stikonas has joined #panfrost
mateo` has quit [Ping timeout: 245 seconds]
mateo` has joined #panfrost
_whitelogger has joined #panfrost
<paulk-leonov> "What’s Panfros?" mhh
stikonas has quit [Remote host closed the connection]
TheCycoONE has quit [Ping timeout: 268 seconds]
TheCycoONE has joined #panfrost
stikonas has joined #panfrost
* alyssa grumbles about register allocation
* alyssa grumbles about loops
afaerber has joined #panfrost
afaerber has quit [Remote host closed the connection]
* alyssa grumbles about IRC
* urjaman loops about grumbles
* alyssa grumbles about register allocation
stikonas_ has joined #panfrost
stikonas has quit [Ping timeout: 255 seconds]
* alyssa grumbles about loops
* alyssa grumbles about IRC
* urjaman loops about grumbles
<alyssa> YES!
<alyssa> dEQP-GLES2.functional.shadrs.loops.* passing 625/625!!!!
<urjaman> sounds exciting.
<alyssa> urjaman: Loooops!
* alyssa grumbles about register allocation, v2
<alyssa> Ach. imov precision thingamajig is back with a vengeance. Groan.
mifritscher has quit [Quit: Quit]
mifritscher has joined #panfrost
stikonas_ has quit [Remote host closed the connection]
BenG83 has joined #panfrost
* alyssa pokes at int ops
<alyssa> gl_FrontFacing reveals much
BenG83 has quit [Client Quit]
jcdutton has joined #panfrost
<alyssa> Aaaaahaaa!!
<alyssa> Modifiers for ints mean, it would seem:
<alyssa> nothing: sign-extend
<alyssa> negate: use as-is
<alyssa> abs: zero-extend
<alyssa> HdkR: ^^
<HdkR> neat
<alyssa> HdkR: The next obvious question is what does -abs do :p
<alyssa> I'll concede I have no examples of that in my database
<alyssa> HdkR: Or, why does it matter which you choose if the input is the right size already (Actually, I think it doesn't -- Panfrost sets nothing [so sign extend] unconditionally rn..)
<jcdutton> alyssa, isn't abs = absolute sign. I.e -2 -> 2. 2 -> 2
<HdkR> It would only matter for <32bit types?
<alyssa> jcdutton: Sorry for my unconditionally sloppy notation
<alyssa> With floating point instructions, these bitsdo thr absolute sign / negation of the src
<alyssa> With int instructions, obviously that's not what's happening. Now we know what its
<HdkR> Modifiers named for the float instructions meaning different things when applied to int instructions :P
<HdkR> abs and negate as int modifiers would make the hardware pipelines a bit...painful
<alyssa> HdkR: OK, well, this is mystery #1 solved
<alyssa> Not the mystery I came for.
<alyssa> The more interesting question rn is why (u)intBitsToFloat sometimes needs to be preceded by a no-op fmov
<alyssa> But only sometimes!?
<HdkR> alyssa: no-op fmov on source or dest?
<alyssa> HdkR: Just, no-op
<alyssa> Rather than the program:
<HdkR> on completed unrelated registers even? :P
<alyssa> Erm
<alyssa> Rather than "imov r0, whatever"
<alyssa> We get "imov temp, whatever; fmov r0, temp"
<alyssa> We get the imov directly if all we're doing is just the intBitsToFloat call
<alyssa> [BTW, the 'abs' thing to zext also applies to scalar units]
<alyssa> If I do the intBitsToFloat and then just do some arithmetic, it's fine
<HdkR> Maybe the hardware is doing something dumb like type tracking on registers :P
<alyssa> I can do arithmetic before, too, and no temp
<alyssa> Starting to think I'm imagining things..?
<alyssa> Oh. No, nothing, I was imagining things after all.
<alyssa> Wait
<alyssa> Was I?
<alyssa> Nope.
<alyssa> What in the world
<alyssa> Maybe it just always needs to have something in the iadd slot
<alyssa> Yeah. Writeout quirk.
<alyssa> Well, case closed, I think.
<HdkR> ah
<alyssa> Now with all of that in mind, maybe I can update the assembler and shake some meaning out of the imov woes.
jcdutton has quit [Quit: Leaving]