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
yann|work has quit [Ping timeout: 260 seconds]
thecycoone has joined #panfrost
<thecycoone> Can fairly easily reproduce this core dump on kevin git bf3c9d2770: https://pastebin.com/82ge2wJQ
<thecycoone> sway crashes (in panfrost) after exiting dosbox-staging with SDL_VIDEODRIVER=wayland, default config
vstehle has quit [Ping timeout: 260 seconds]
adjtm_ has quit [Remote host closed the connection]
adjtm has joined #panfrost
adjtm has quit [Client Quit]
adjtm has joined #panfrost
icecrea105 has quit [Quit: leaving]
icecream95 has joined #panfrost
Cruft has joined #panfrost
icecream95 has quit [Ping timeout: 246 seconds]
icecream95 has joined #panfrost
<icecream95> thecycoone: 3283c7f4dad ("panfrost: Inline reference counting routines") is the first bad commit
davidlt has joined #panfrost
buzzmarshall has quit [Remote host closed the connection]
vstehle has joined #panfrost
<tomeu> robmur01: alyssa: iirc, kernelci is testing s2ram on kevins
Elpaulo has joined #panfrost
rcf has quit [Quit: WeeChat 2.7]
raster has joined #panfrost
Cruft has quit [Quit: Leaving]
<chewitt> I made progress with XU4 .. the regulator thing is apparently nothing more than deferred probe
<chewitt> board boots, attempts to start Kodi
<chewitt> and then typically faults and locks up
paulk-leonov has joined #panfrost
<chewitt> so I guess that's the status of T628 support :)
<chewitt> if anyone has any hacky stuff in a branch somewhere that might help .. I'm all ears
<chewitt> if not .. off to blob I must go
<chewitt> not trying to guilt or anything (not that it would work) .. happier to see progress on bifrost !
<daniels> chewitt: yeah, to be honest, T6xx hasn't seen any movement in a long time, and that it's regressed isn't surprising. but otoh ... this is your chance to get into Panfrost development! :)
<chewitt> I'm awesome at one-liner stuff like adding missing GPU IDs
<chewitt> Sadly.. that's about yer lot with me and code
<chewitt> If it can be scripted and packaged via bash, I'm fine
<daniels> hey, everyone has to start somewhere
<chewitt> the moment alyssa starts talking about triangles and swizzles .. there's a whoshing noise as the conversation goes over my head :)
hexdump0815 has joined #panfrost
stikonas has joined #panfrost
<hexdump0815> chewitt: are you aware of https://gitlab.freedesktop.org/panfrost/mesa/issues/12 ? maybe add your findings so far there so that they do not get lost
<chewitt> the driver loads fine these days
<chewitt> but I'll leave a comment
yann|work has joined #panfrost
adjtm has quit [Remote host closed the connection]
hexdump0815 has quit [Remote host closed the connection]
stikonas has quit [Read error: Connection reset by peer]
stikonas has joined #panfrost
kinkinkijkin has quit [Remote host closed the connection]
paulk-leonov has quit [Ping timeout: 244 seconds]
kinkinkijxu4 has joined #panfrost
paulk-leonov has joined #panfrost
paulk-leonov has quit [Ping timeout: 256 seconds]
adjtm has joined #panfrost
paulk-leonov has joined #panfrost
icecream95 has quit [Ping timeout: 240 seconds]
paulk-leonov has quit [Excess Flood]
paulk-leonov has joined #panfrost
kinkinkijxu4 has quit [Remote host closed the connection]
adjtm has quit [Quit: Leaving]
adjtm has joined #panfrost
paulk-leonov has quit [Ping timeout: 264 seconds]
paulk-leonov has joined #panfrost
paulk-leonov has quit [Excess Flood]
paulk-leonov has joined #panfrost
<tomeu> alyssa: I'm a bit confused regarding the place of shader_type in the blend descriptor
<tomeu> if it's about the shader, then why is it in the other member of the union?
<tomeu> it made more sense to me when it was next to unk2, outside the union
buzzmarshall has joined #panfrost
cwabbott has quit [Ping timeout: 240 seconds]
cwabbott has joined #panfrost
rhyskidd has joined #panfrost
<alyssa> thecycoone: icecream: Fix is coming, possibly already landed.
<alyssa> chewitt: wdym?
<alyssa> Swizzles are just maps between finite sets.
<alyssa> Or linear operators on R^4 if you prefer.
<chewitt> see, you already lost me :)
<chewitt> ignore, I was just doing a partial "train of thought" thing earlier while poking this XU4 board
<chewitt> was hoping to use panfrost, but doesn't look possible
<alyssa> tomeu: shader_type specifies the type of gl_FragColor as outputted by the fragment shader
<alyssa> so that the Bifrost fixed-function blend hw can ingest that gl_FragColor, convert it into its native format, and do blending.
<thecycoone> thanks alyssa
<alyssa> but if a blend shader is used, there's no fixed-function. On Midgard that means gl_FragColor is pushed straight from fragment to blend. If Bifrost is the same, that means the hardware doesn't care about the fragment shader type -- instead, *we* are the ones who have to care (so we have to key the blend shader appropriately)
<alyssa> As for the output of the blend shader, that's forced to be the native format of the render target, since all the usual format conversion hw is bypassed. Again, that's a software key.
<alyssa> So it makes sense to be inside the union, it only matters when there's no blend shader.
<cwabbott> alyssa: actually no, bifrost has a typed tile load/tile store instruction
<cwabbott> that uses the blend descriptor iirc
<alyssa> .....Great.
<cwabbott> no more packing/unpacking things manually!
<alyssa> Oh, actually that *is* great ^_^
<alyssa> I mean, Midgard has that too for a subset of formats, but the format is an argument to the instruction, no cmdstreaming.
<cwabbott> unless I missed something and some stupid formats are unsupported, ofc
<cwabbott> but iirc the blend shader doesn't have the type at all
<alyssa> but... the rt format is *definitely* inside the union.
gcl has joined #panfrost
<alyssa> (the fixed/blendshader one I mean)
<cwabbott> I mean, it's not in the shader itself
<cwabbott> also, you may have noticed that on the blob, the blend instruction writes to R48 or something like that
<alyssa> Yeah
<cwabbott> it turns out that BRANCH is actually secretly a call instruction
<cwabbott> and R48 is the return offset
<cwabbott> err, BLEND is secretly a call instruction
<cwabbott> blend shaders end with BRANCH R48
<alyssa> Wild, but unsurprising given Midgard's stuff.
<alyssa> I have long suspected r1.w on midgard to be something like that
<tomeu> alyssa: well, that makes everything suddenly much clearer :p
<alyssa> tomeu: sorry :P
<tomeu> thought it was the gl_FragColor of the blend shader, so the resolve engine would know what to do with it :p
<alyssa> Ah, well
klaxa has joined #panfrost
<tomeu> will push again in a bit
<alyssa> `BRANCH T1, R48` so it does
NeuroScr has quit [Quit: NeuroScr]
<tomeu> alyssa: how do you test that?
<alyssa> glBlendFunc(GL_CONSTANT_COLOR, GL_CONSTANT_ALPHA);
<alyssa> glBlendColor(4.0, 5.0, 6.0, 7.000);
<alyssa> ^ is probably the easiest way
<tomeu> ah ok, was wondering if some scene in glmark2 was triggering it
<alyssa> thankfully no
<alyssa> I don't see how RT format is passed.
<alyssa> Uh maybe I do
<alyssa> cwabbott: This is insanely subtle, but yes, it's in the blend shader :)
<alyssa> the tib store instruction op197e8 takes a 64-bit constant
<alyssa> lower 32-bit I'm just seeing as 0xff000000
<alyssa> but upper 32-bit is (format << 12)
<cwabbott> oh, huh
<alyssa> (you know what else is 12-bits? swizzles. so I bet that's the swizzle on G71 -- swizzles were removed from later bifrost.)
<alyssa> same deal with the tib load op196e8
<alyssa> To be more specific, op196e8 is a 3-src
<alyssa> (0x196e8 >> 6) = 5 == uniform/const hi
<alyssa> clause type 10,
<alyssa> tomeu: so inside the union indeed :-)
<ente> alyssa: thanks for the midgard/bifrost writeup btw
<ente> it's interesting to see what the differences are and how the architectures work without getting my hands dirty just yet
<ente> I've poked around in the gitlab before but reading an article is easier to wrap my head around as an outsider
<alyssa> ente: :)
<alyssa> The glaring omission in the article is the difference in scheduling ("clauses" for bifrost)
<alyssa> but saving that for when I write a scheduler and blog about it :P
rcf has joined #panfrost
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
<Lyude> alyssa: going to start getting my odroid-n2 setup now, curious - were you able to get any of the closed mali blobs running on it?
<HdkR> N2 image ships with closed blobs running on it
<Lyude> alright cool, so I guess I can use that if I need to grab any disasm
<Lyude> glad to finally be joining in the fun :)
<alyssa> Lyude: I never tried
<Lyude> chewitt, narmstrong - yes, your uboot image does support bootefi :)
<Lyude> (also thanks!)
icecream95 has joined #panfrost
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
NeuroScr has joined #panfrost
buzzmarshall has quit [Remote host closed the connection]
raster has quit [Quit: Gettin' stinky!]
raster has joined #panfrost
davidlt has quit [Ping timeout: 240 seconds]
raster has quit [Remote host closed the connection]
raster has joined #panfrost
camus1 has joined #panfrost
kaspter has quit [Ping timeout: 260 seconds]
camus1 is now known as kaspter
yann|work has quit [Ping timeout: 265 seconds]
camus1 has joined #panfrost
kaspter has quit [Ping timeout: 260 seconds]
camus1 is now known as kaspter
<Lyude> hey chewitt/narmstrong: I've got a backup plan for getting this odroid setup, but I was wondering if you guys knew whether or not building a uboot with spi support is possible (and where the instructions are for signing uboot builds?)
<Lyude> going to give a small try on seeing if I can gewt the bootloader on there so I can just use plain old gpt partitioning on the emmc, but if that doesn't work I'll just go the route I did with the vim2 (don't use a paritioning table, build a custom fedora kernel with cmdline partitioning support and use that so that everything just lives on the emmc)
<alyssa> Nothing like random tests failing on hardware I don't have.
<Lyude> alyssa: what hw?
<alyssa> t760
<Lyude> damn, don't have that either :S
<icecream95> alyssa: Is this the mod6 branch?
<alyssa> icecream95: Indeed
<alyssa> It's definitely passing on rk3399
<icecream95> I can reproduce the failure
<alyssa> icecream95: Do you mind sending a dump from MIDGARD_MESA_DEBUG=shaders? thank you :)
<alyssa> My best guess is some UB somewhere is leading to 32-bit issues
<alyssa> wait a minute
<alyssa> first of all, thank you!
<alyssa> second of all, erg deqp
<alyssa> er wait, no, erg alyssa
<alyssa> Knew that t760 hack would bite us some day :V
<alyssa> it's unclear to me how this was working before.
<alyssa> ---Also wait I do have t760 hw somewhere here I'm losing my mind. not running mainline though.
<alyssa> Okay, I have the bug reproduced locally
<alyssa> icecream95: thank you x2 :)
raster has quit [Quit: Gettin' stinky!]
<alyssa> got it