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
<alyssa> bbrezillon: BTW, what happened to the perfcnt and RECT texture patches..?
stikonas has quit [Remote host closed the connection]
Ashy has joined #panfrost
<Ashy> just read the phoronix 5.2 article, panfrost is nearing mainline nice! \o/
<alyssa> Ashy: :)
NeuroScr has quit [Quit: NeuroScr]
xHire has quit [Ping timeout: 258 seconds]
xHire has joined #panfrost
NeuroScr has joined #panfrost
<alyssa> Aaahahahahahahhahaah
<alyssa> Looking back into fsign
<alyssa> The second op is an _integer_
<alyssa> Actually I'm looking into int8
<alyssa> But fixing a ton of disassembler stuff along the way
<alyssa> Actually I'm looking into blending
robert_ancell has quit [Ping timeout: 245 seconds]
<alyssa> But fixing disassembly of int8 in the meantime
<alyssa> I feel close to the answer for fsign
<tomeu> alyssa: hi there, my immediate plans regarding CI is to filter out the flip-flops that have crept in, then push to master, then set up a cron job so the master branch in my repo mirrors upstream's every hour or so, then work with you to do the same to your personal repo
<tomeu> panfrost's CI will run on our masters (which should correspond to upstream), and in all our branches
<alyssa> tomeu: Too late, already pushed v2 to master, ahem :
<tomeu> ok, no big deal, I will just update the script to filter those flip-flops
<tomeu> later, in a train
<alyssa> tomeu: I was _excited_, ok?! :p
<alyssa> \o
<tomeu> that way we can keep an eye on regressions that reach master (via changes to gallium, for example), and we can also can comfortably get results on our branches
<tomeu> afterwards I guess would be cool to run the tests on a veyron as well
<tomeu> in parallel
<tomeu> o/
<alyssa> OK, so going on the hypothesis that alu_op_18 is a "multiply, zero wins in indeterminate forms"
<alyssa> If we constrain to half-floats for a second
<alyssa> From the multiplied, fsign is just a matter of & 0x4000
<alyssa> Erm
<alyssa> & ~0x4000
<alyssa> But, we see we actually have the sign flipped. Why?
<alyssa> Further, the constant is 0x8000, not 0x4000
<alyssa> Likewise, in 32-bit, it's a matter of & ~0x40000000
urjaman has quit [Ping timeout: 255 seconds]
<alyssa> Looking at CL stuff, 2E is probably commutative
urjaman has joined #panfrost
rhyskidd has joined #panfrost
_whitelogger has joined #panfrost
cwabbott_ has joined #panfrost
_whitelogger has joined #panfrost
_whitelogger has joined #panfrost
_whitelogger has joined #panfrost
_whitelogger has joined #panfrost
raster has quit [Ping timeout: 244 seconds]
<bbrezillon> alyssa: regarding the perfcnt stuff, I'm working on it, but the approach suggested by Steven implies rewriting almost everything
raster has joined #panfrost
<bbrezillon> alyssa: plus, robclark told me it would be good to see if the blob implements the AMD perfmon extension, and if it does, check if there's a way to dump counters from the cmdstream (like you do for occlusion queries)
<cwabbott> alyssa: have you looked at some of the special FMA instructions in the Bifrost docs under "special functions"?
<cwabbott> they also change the rules of what wins in 0 * infinity
cwabbott_ has joined #panfrost
cwabbott has quit [Ping timeout: 264 seconds]
cwabbott_ is now known as cwabbott
yann has joined #panfrost
raster has quit [Remote host closed the connection]
raster has joined #panfrost
indy has quit [Quit: ZNC - http://znc.sourceforge.net]
indy has joined #panfrost
belgin has joined #panfrost
belgin has quit [Client Quit]
afaerber has joined #panfrost
gtucker has joined #panfrost
BenG83 has quit [Quit: Leaving]
pH5 has joined #panfrost
herbmilleriw has joined #panfrost
<alyssa> bbrezillon: Alright, thank you for the status update. Just don't want good work to go forgotten! :)
Ashy has left #panfrost ["WeeChat 1.9.1"]
<bbrezillon> alyssa: the txs stuff has not been completely tested (I made sure the read instructions were properly generated, but I didn't manage to test the textureSize(), and gallium-hud still doesn't work but for other reasons)
<alyssa> bbrezillon: Understood :)
<alyssa> cwabbott: Yeah, it looks like the first op of the two is equivalent to Bifrost's "FMA.rcp_mode"
<alyssa> Not clear if I can get the blob to generate it alone (from OpenCL..?) but hey
<tomeu> alyssa: so turns out that what I thought that were flip-flops are actually random crashes caused by the bugs that valgrind uncovered
<tomeu> so I guess we need to fix those in upstream before CI can be useful
<tomeu> we should probably consider doing nightly runs with valgrind or so
<tomeu> (on the CI)
<tomeu> alyssa: need to go now, but tomorrow will look at your feedback from the other day and see if I can come up with something that could be merged
<herbmilleriw> alyssa: I saw you write in here that Panfrost is broken on X. Does that mean I'm going down a dead end if I try to get hardware accelerated video playback working with Panfrost on a Tinker Board running X?
<urjaman> yeah
<urjaman> you first need to get glamor working with panfrost
<urjaman> then you can have your hardware accelerated DRI
pH5 has quit [Quit: bye]
<urjaman> you can try this from not X tho: mpv -vo gpu --gpu-context drm videofile
yann has quit [Ping timeout: 268 seconds]
pH5 has joined #panfrost
MoeIcenowy has quit [Quit: ZNC 1.6.5+deb1+deb9u1 - http://znc.in]
MoeIcenowy has joined #panfrost
BenG83 has joined #panfrost
raster has quit [Remote host closed the connection]
stikonas has joined #panfrost
afaerber has quit [Quit: Leaving]
BenG83 has quit [Remote host closed the connection]
BenG83 has joined #panfrost
BenG83 has quit [Remote host closed the connection]
BenG83 has joined #panfrost
herbmilleriw has quit [Quit: Konversation terminated!]
herbmilleriw has joined #panfrost
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
stikonas_ has joined #panfrost
stikonas has quit [Ping timeout: 245 seconds]
cwabbott has quit [Client Quit]
cwabbott has joined #panfrost
BenG83 has quit [Quit: Leaving]
mateo` has quit [Ping timeout: 250 seconds]
mateo` has joined #panfrost
<alyssa> tomeu: Eek.
<alyssa> Best of luck with your poking, then :)
<alyssa> herbmilleriw: X won't work at the moment, no, sorry
<alyssa> urjaman: is correct, or you can use mpv from Wayland, or you can use Kodi (via GBM)
BenG83 has joined #panfrost
<alyssa> Anyway, I spent a good chunk of time today (and yesterday evening) looking into 8-bit math on Midgard
<alyssa> I mostly understand the semantics now, I think. At least, I understand them enough to get a clean disassembly of my test shader :P
<alyssa> Next up is looking into 64-bit math
<alyssa> Since the ISA does everything from 8/16/32/64, so I'd like to have coverage across types. It's typically irrelevant on GL, but it comes up occassionally and is good to have proper disassemblies of. And it comes up all the time on CL.
<alyssa> HdkR: cwabbott: Oh, that's neat -- I found a citation from the public Bifrost OpenCL docs that say that 16-bit ops on Bifrost are vectorized as vec2 and 8-bit as vec4
<alyssa> Which means in the long haul, Bifrost is partially SIMD after all! :p
<HdkR> alyssa: It's the same as the rest of the architectures
<HdkR> It's what everyone with a scalar architecture is doing :P
<anarsoul> alyssa: what about midgard?
<alyssa> HdkR: Sure, but it means you don't get to taunt me about SIMD after all :p
<alyssa> anarsoul: What about it?
<HdkR> hah
<anarsoul> alyssa: isn't it scalar with SIMD instructions?
<alyssa> anarsoul: It's 100% SIMD-style vector
<anarsoul> oh
<alyssa> Like Mali-GP
<anarsoul> PP
<anarsoul> mali GP is scalar
<alyssa> Oh?
<anarsoul> yeah, with no SIMD instructions
<alyssa> So it is
<HdkR> It's exactly how Adreno, Nvidia, and AMD do their SIMD ops on scalar regs
<alyssa> anarsoul: Midgard is basically just Mali-PP tbh :P
<anarsoul> need to multiply vec4 by constant? that'll be at least 2 instructions!
<anarsoul> with total limit of 512 instructions for GP
<alyssa> anarsoul: How does that pass CTS
<anarsoul> alyssa: no idea, haven't run it yet
<anarsoul> probably it doesn't
<anarsoul> oh, also PP won't pass some piglit accuracy tests
<HdkR> Whoa, only a 512instruction limit on the fragment stage?
<anarsoul> since it's fp16-only
<anarsoul> HdkR: no, vertex
<anarsoul> fragment is *much* better
<alyssa> anarsoul: You have to pass CTS to legally call yourself OpenGL...
<alyssa> IIRC
<alyssa> For, like, a product advertising conformance
<anarsoul> alyssa: who cares?
<alyssa> Arm, I would hope, and probably Khronos.
<HdkR> Possible to spill vertex results and sort of tie together multiple vertex jobs results in to each other to artifically extend it? :P
<alyssa> HdkR: Maybe they just execute the vertex job on the CPU ^_^
<anarsoul> HdkR: not sure that it's possible. Keep in mind that GP stores varyings into memory
<HdkR> Yea, that's why I'm curious. I know it is waaay less flexible
<alyssa> anarsoul: Then running the job in software is always possible! =P
<anarsoul> alyssa: that's an option
<anarsoul> alyssa: but need to RE PLBU output first
<alyssa> anarsoul: FWIW, that means you can implement transform feedback in lima. Not sure if anyone cares but it's an option
<anarsoul> since PP consumes it :)
<alyssa> Sure
<anarsoul> anyway, atm all I need is working glamor and mpv. And maybe q3a
<alyssa> glamor...
<anarsoul> alyssa: does it work for you? you have pretty advanced compiler
<alyssa> Nope!
<anarsoul> nooooo
<anarsoul> why?
<alyssa> Dunno
<anarsoul> I see
<anarsoul> not interested in getting it working?
<alyssa> See topic.
<anarsoul> alyssa: can you live without X11? (XWayland is also X11)
<anarsoul> I don't think that there's decent wayland-only terminal
<alyssa> I like weston-terminal fine :p
<alyssa> anarsoul: Xwayland from within sway works for GLX clients
<alyssa> I guess that's technically using a teensy bit of glamor, but not much
<anarsoul> hehe
<anarsoul> alyssa: weston-terminal repaints whole window even if it's not necessary. termite is much better (even through X11)
<alyssa> .....So what? :P
<anarsoul> alyssa: you're wasting CPU and GPU cycles for nothing
<alyssa> .....So what? :P
<alyssa> I'm pretty sure the display is using more power than the CPU+GPU.
<anarsoul> err, you're wasting electricity for nothing!
<alyssa> Anyway, here are a few thousand outstanding conformance fails for GLES2. Once those are fixed, glamor should probably just work
<anarsoul> consider your contribution to greenhouse gasses emissions :)
<alyssa> anarsoul: I'll consider that next time I refuse beef at a restaurant!
<anarsoul> alyssa: or beer in a pub?
<anarsoul> I'm not sure how many trees they chopped down for a single hops field...
<alyssa> Joking aside... I'm deeply sympathetic to environmentalist causes, but I recognize my choice of display server has no non-neglible impact on the atmosphere. Other choices relating to material production/consumption, transporation, and food are much more pertinent.
<alyssa> Also, this is off-topic :P
<anarsoul> alyssa: just kidding
<alyssa> I know :)
stikonas_ has quit [Remote host closed the connection]
rhyskidd has quit [Ping timeout: 245 seconds]
<alyssa> Midgard has ceased to look like a word.