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> And, when I do similar assembly, it doesn't work because....?
* alyssa shrugs
<alyssa> Tomorrow's task to figure out, maybe it'll come to me in my sleep
<alyssa> In the meantime, let's look at images in OpenCL
<alyssa> since I think tomeu asked
<HdkR> Woo compute images
<alyssa> So we now have content in texture_tramploines/attributes/varyings
<alyssa> Oh, that's adorabl
herbmilleriw has joined #panfrost
<alyssa> We literally add attribute/varying descriptors corresponding to the image's parameters
<alyssa> format = MALI_RGBA8_UNORM in this case, etc.
herbmilleriw has quit [Ping timeout: 272 seconds]
herbmilleriw has joined #panfrost
hlmjr has joined #panfrost
herbmilleriw has quit [Ping timeout: 268 seconds]
hlmjr has quit [Ping timeout: 248 seconds]
hlmjr has joined #panfrost
vstehle has quit [Ping timeout: 246 seconds]
chewitt has joined #panfrost
TheCycoONE has quit [Ping timeout: 245 seconds]
TheCycoONE has joined #panfrost
chewitt has quit [Quit: Adios!]
vstehle has joined #panfrost
davidlt has joined #panfrost
guillaume_g has joined #panfrost
yann has quit [Ping timeout: 258 seconds]
stikonas has joined #panfrost
stikonas has quit [Remote host closed the connection]
<EmilKarlson> x11perf -tilerect500 seems to be about 11 times faster in linux-5.2.5 as compared to linux-5.3, glamor not enabled
<EmilKarlson> so it's not just imagination
<tomeu> is panfrost involved at all there, if glamor isn't enabled?
<EmilKarlson> and panfrost is not a probable cause
<EmilKarlson> probably not
<EmilKarlson> just mentioned that here, as it was discussed
<tomeu> cool
<EmilKarlson> also some people apparently thought it was a panfrost regression, which now does not seem likely
<EmilKarlson> IIRC panfrost only even had one patch there
yann has joined #panfrost
chewitt has joined #panfrost
chewitt has quit [Read error: Connection reset by peer]
raster has joined #panfrost
jcureton has quit [Remote host closed the connection]
Elpaulo1 has joined #panfrost
Elpaulo has quit [Ping timeout: 245 seconds]
Elpaulo1 is now known as Elpaulo
<EmilKarlson> alyssa: did you btw. get sounds working, eballetbo made a patch for linux-5.3 you can cherry-pick on 5.2
<tomeu> robher: I have added HEAP support to mesa, and I'm seeing that the sg table is NULL at https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git/tree/drivers/gpu/drm/panfrost/panfrost_mmu.c?h=panfrost/heap-noexec#n377
<tomeu> that's reliably happening only when Chromium starts rendering webgl
<tomeu> but before then, even if things look fine to my eye, I see these being logged from time to time: Jul 31 10:05:40 cizrna kernel: panfrost ffa30000.gpu: mmu irq status=1
<tomeu> robher: the GPU seems to be hung afterwards, I only get:
<tomeu> Jul 31 10:08:45 cizrna kernel: panfrost ffa30000.gpu: gpu sched timeout, js=0, status=0x8, head=0x5e4e580, tail=0x5e4e580, sched_job=15b28c21
<tomeu> robher: could irq status=1 be printed on normal faults, before we allocate?
<tomeu> hmm, that backtrace only happens if the polygon list BO is marked HEAP
<tomeu> which probably shouldn't
buzzmarshall has joined #panfrost
<EmilKarlson> so, if I migrate to wayland/sway, am I likely to see better functioning panfrost?
<EmilKarlson> or is it mostly gnome that is being used?
<EmilKarlson> tomeu: your patch for me at http://paste.debian.net/1093194/ is no longer available btw.
<tomeu> EmilKarlson: what was it about?
<EmilKarlson> from friday, would you still happen to remember, which one is it?
<EmilKarlson> tomeu: context is 14:12 here https://freenode.irclog.whitequark.org/panfrost/2019-07-26
<EmilKarlson> I'm not going to explain it wrong, since I don't strictly understand it
<robher> tomeu: That print should get removed. I reintroduced it rebasing.
<tomeu> robher: ok, I'm trying to narrow the failures I'm seeing to something more concrete
adjtm has quit [Ping timeout: 245 seconds]
jcureton has joined #panfrost
rhyskidd has quit [Read error: Connection reset by peer]
rhyskidd has joined #panfrost
<alyssa> EmilKarlson: eep
<paulk-leonov> hi there
<alyssa> paulk-leonov: Yo
<alyssa> (alyssa: Je)
<paulk-leonov> alyssa, Lyude: is it reasonable to expect Qt-driven stuff to work with panfrost on bifrost at this point?
<alyssa> paulk-leonov: Bifrost work has... slowed down
<paulk-leonov> I see, thanks :)
<alyssa> All the knowledge needed to implement GLES2.0 / most of GLES3.0 we already have figurd out.
<alyssa> Just... drivers are hard work and nobody has been at the intersection of time/ability/knowledge yet
<alyssa> You could help out! :)
<paulk-leonov> alyssa: hehe :)
<alyssa> I was serious!
<paulk-leonov> I'm evaluating a PX30 project with mainline for now
<paulk-leonov> (that's a rockchip soc)
<paulk-leonov> if we get the funding to do that, I'd be very glad
<paulk-leonov> otherwise I have too many personal side projects for now :p
warpme_ has joined #panfrost
rhyskidd has quit [Ping timeout: 248 seconds]
rhyskidd has joined #panfrost
jolan has quit [Quit: leaving]
jolan has joined #panfrost
<raster> oh fantastic... linux-next has no managed to destroy hdmi out.... :(
adjtm has joined #panfrost
warpme_ has quit [Quit: warpme_]
warpme_ has joined #panfrost
warpme_ has quit [Client Quit]
warpme_ has joined #panfrost
warpme_ has quit [Client Quit]
warpme_ has joined #panfrost
yann has quit [Ping timeout: 248 seconds]
<alyssa> ../src/gallium/drivers/panfrost/pan_context.c:1949:56: error: ‘MALI_SAMP_NORM_COORDS’ undeclared (first use in t
<alyssa> Ummmmm
<alyssa> +#define MALI_SAMP_NORM_COORDS (1 << 5)
<alyssa> It's right there *blink*
<robher> tomeu: I pushed an updated branch which should prevent exports and mmap, and removes the spurious print.
<alyssa> gcc you're insane
warpme_ has quit [Quit: warpme_]
<alyssa> tomeu: OpenCL Images in a nutshell:
<alyssa> Image writes are accomplished via special ld/st ops (st_image_*) in the shader.
<alyssa> These follow the patterns of (indirect) writes to SSBOs and such, nothing terribly fancy here.
<alyssa> In the command stream, the image is specified as a special attribute/varying descriptor (type MALI_ATTR_IMAGE)
<alyssa> It's not clear how the stride is passed here (TODO)
<alyssa> Image reads are implemented identically to texelFetch() and correspond to real texture/sampler descriptors.
<alyssa> I'm not sure how atomic image stuff works if read/write are separate pipes
<HdkR> alyssa: Do an atomic compareswap to find out I guess? :P
raster- has joined #panfrost
raster has quit [Read error: Connection reset by peer]
warpme_ has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
raster- has quit [Remote host closed the connection]
warpme_ has quit [Quit: warpme_]
chewitt has joined #panfrost
adjtm has quit [Ping timeout: 268 seconds]
stikonas has joined #panfrost
buzzmarshall has quit [Quit: Leaving]
<robher> alyssa: do you have a branch with the BO cache?
<alyssa> robher: The BO cache landed in mesa master :)
<alyssa> mesa/src/gallium/drivers/panfrost/pan_bo_cache.c
<robher> alyssa: humm, without any madvise? Isn't that going to aggravate OOM conditions?
<alyssa> robher: .....Yes.....
<alyssa> I officially have too many random branches
<alyssa> Let's get stuff cleaned and pushed and make forward progress again
<robher> alyssa: I was asking because I have initial shrinker/madvise support ready.
<alyssa> Ooo
<robher> alyssa: I thought I'd be able to shrink the heap and that kind of works if you ignore that there is no sync with jobs and memory could disappear at any time. So heap shrinking will be userspace's problem I think. :)
<alyssa> robher: Grr... :P
<chewitt> alyssa: ping! .. anything noteworthy in T820 dEQP testing? .. I can see you logged into the board and built some stuff (or looks that way)
<alyssa> chewitt: Pong!
<alyssa> I tried building dEQP and got stuck on some issue with libpng
<alyssa> I'd appreciate if you could take a look; I don't know armbian
<chewitt> i'd have thunk libpng was something that could just be installed
<alyssa> chewitt: Some issue with NEON symbols missing
<chewitt> hmm
<HdkR> What's a neon symbol?
<chewitt> something that hangs outside 80's nightclubs :)
* alyssa just implemented gl_FrontFacing
davidlt has quit [Ping timeout: 268 seconds]
yann has joined #panfrost
jcureton has quit [Remote host closed the connection]
herbmilleriw has joined #panfrost
hlmjr has quit [Ping timeout: 245 seconds]
jcureton has joined #panfrost
chewitt has quit [Quit: Zzz..]
<jcureton> are there known issues with alpha blending? i'm seeing some very strange things on T720
<jcureton> it essentially looks like the alpha at any given pixel is equal to the average of the RGB values at that pixel, and the actual prescribed alpha value is ignored
jcureton has quit [Remote host closed the connection]
jcureton has joined #panfrost
<alyssa> jcureton: I'm.. not sure
<alyssa> To preface, blending is without question the most complex part of Midgard
<alyssa> We're finally passing 100% of dEQP's GLES2 blend tests on T860, but not 100% on T760 for reasons nobody really knows
<alyssa> I'm willing to believe T720 to be in even worse shape, since when the <T760 code was being worked on, nobody really understood Midgard's blending yet
<alyssa> (To be fair, we still don't, hah. But getting there.)
<jcureton> gotcha. there is actually a pretty simple test case for this in weston-simple-egl
<alyssa> Mm, alright
<jcureton> it should be a fully opaque rotating RGB triangle with a 50% alpha black border around it. i see no border, and a triangle with varying alpha depending on the RGB values at a given point
<alyssa> ...Bizarre.
<alyssa> It may be informative to run dEQP-GLES2.functional.fragment_ops.blend.* on your hardware of choice
<jcureton> i'm trying to boil it down to the simplest possible reproduction atm
<alyssa> Presumably lots of tests there are failing
<jcureton> i'll give that a shot as well!
<alyssa> jcureton: FWIW, weston-simple-egl seems to work fine here (T860)
<alyssa> I don't see the border but my eyes aren't great.
<alyssa> It does seem to be fully opaque anyway
<jcureton> ^ good data point
<jcureton> this is the expected behavior (not my video): https://www.youtube.com/watch?v=lWZNQxMlNPY
<alyssa> That's what I get locally, I think?
* alyssa doesn't see a border in the video
stikonas has quit [Remote host closed the connection]
<jcureton> this is probably to be expected, but that test is doing a setup with eglChooseConfig() on:
<jcureton> EGLint config_attribs[] = { EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_RED_SIZE, 1, EGL_GREEN_SIZE, 1, EGL_BLUE_SIZE, 1, EGL_ALPHA_SIZE, 1, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE };
<jcureton> oh lord line formatting - my bad
cwabbott has quit [Read error: Connection reset by peer]
cwabbott has joined #panfrost
<jcureton> removing the alpha from the configuration works as expected (minus alpha)
<alyssa> jcureton: 1-bit of alpha seems... wrong...?
<jcureton> yes, i'm confused by their setup there as well. the actual buffer that gets returned is RGBA32
<jcureton> Working on getting dEQP up and running now
raster has joined #panfrost
<robher> alyssa: what's a good test of the BO cache? I don't seem to be triggering anything (could be a bug).
<robher> alyssa: NM (bug...)
raster has quit [Remote host closed the connection]
<alyssa> robher: ...ok?
<alyssa> It was developed around SuperTuxKart but conceptually anything more complex than glmark should hit it
<robher> alyssa: gnome-shell seems sufficient for me to crash. :P
<alyssa> robher: Sigh.
<robher> locking is hard...
<alyssa> robher: In pan_drm.c, set cacheable=false in panfrost_drm_release_bo
<alyssa> That will disable the BO cache (well, prevents anything from being cached so de facto disable)
<alyssa> Not sure if how much that'll really helpt hough
<robher> alyssa: the crash is in my crap code.
<alyssa> Not *my* crap code?
<Lyude> *all* code is crap
<Lyude> just saying
<Lyude> hehe
<HdkR> Hey. My code is the crappiest
indy has quit [Quit: ZNC - http://znc.sourceforge.net]
indy has joined #panfrost
<robher> It helps to remove objects from the list before freeing them.
<robher> all working now, must be quittin' time.