<tomeu>
the previous output was getting a bit in the way of testing
<alyssa>
tomeu: "alyssa: when there's no draws nor clears, looks like the context has the same ctx->job" Aaaaaaaaa, yes, okay, I see the issue now
<alyssa>
tomeu: Thank you! Those two patches (the last two) are something I meant to deal with a while ago but never got around to since for my work I generally want that debug 100% of the time anyway:P
<alyssa>
Feel free to send those two patches off to the ML immediately (since it has nothing to directly do with the DRM driver stuff and can I think be merged as-is)
<alyssa>
(I still need to test them, but assuming it does what's on the tin without obvious regressions, I'll push :) )
tlwoerner has joined #panfrost
pH5 has joined #panfrost
stikonas has joined #panfrost
tlwoerner has quit [Ping timeout: 240 seconds]
stikonas has quit [Remote host closed the connection]
tlwoerner has joined #panfrost
stikonas has joined #panfrost
tlwoerner has quit [Ping timeout: 268 seconds]
raster has quit [Remote host closed the connection]
raster has joined #panfrost
afaerber has quit [Quit: Leaving]
belgin has joined #panfrost
adjtm has joined #panfrost
adjtm_ has quit [Read error: Connection reset by peer]
jailbox has quit [Remote host closed the connection]
belgin has quit [Remote host closed the connection]
indy has quit [Remote host closed the connection]
* alyssa
looks at ds_linear
indy has joined #panfrost
<Lyude>
(ds_linear stares back)
<alyssa>
Lyude: :P
<robher>
alyssa: looking at the affinity some more, seems like the first thing we need to add there is support for tiler-only jobs. But it looks like everything is an FS job currently.
<alyssa>
robher: I'm not sure why we even would want a tiler-only job
<alyssa>
Only place I've seen that used is for some fixed-function hackiness
<alyssa>
(Where you skip the VERTEX stage, writing the pseudo-vertex-shader results right into varying memory from software)
<alyssa>
The blob uses this as a micro-optimization for quads when blitting and such
<robher>
so ignore that then?
* robher
should learn about vertex, fragment shader, etc. someday...
<alyssa>
robher: Eventually we might need it, but it'll be a while until userspace does anything with that so probably doesn't matter
* alyssa
isn't sure how to encourage the blob to give the bits she needs
<alyssa>
The "usage2" flags in the texture descriptors are super suspicious
<alyssa>
Well then. I now have a linear depth FBO working.
<alyssa>
Largely by brute force tbh.
<alyssa>
I have to say, AFBC is a substantial performance win
<alyssa>
Now I have the equivalently hard task of breaking this up into reasonable patches
* alyssa
semi-ironically wonders how hard it'd be to AFBC compress everything
<anarsoul>
alyssa: did you push your code for depth FBO?
<alyssa>
anarsoul: Not yet
<alyssa>
anarsoul: But um... we've supported AFBC-compressed depth FBOs since October (which is what you want 98% of the time); this is just a feature I wanted to get to sanity check my understanding of the hardware
<alyssa>
(And it paid off -- the process of implementing it uncovered actual issues)
<anarsoul>
oh, ok
<anarsoul>
lima doesn't support depth fbo yet and I was interested to peek how it's implemented in panfrost :)
<alyssa>
anarsoul: Conceptually it's identical to colour fbos
<alyssa>
There's a different slot in the framebuffer descriptor for the depth buffer (versus collour buffer), and you have different format bits, but... nothing really "new"
<anarsoul>
can you render into depth and color at the same time or you have to do 2 draws?
<alyssa>
anarsoul: I mean, T760+ has native support for *MRT*
<anarsoul>
oh, ok
<alyssa>
We can simultaneously render into depth, stencil, and four different colour buffers if we want :P
<anarsoul>
not the case for old mali4x0 though :(
<chrisf>
anarsoul: presumably you can do 1 color + depth + stencil
<anarsoul>
chrisf: I'm not 100% sure, but IIRC blob does 2 draws if we need color and depth + stencil
<HdkR>
alyssa: Have you checked how Mali supports stencil readbacks btw?
<alyssa>
HdkR: It doesn't, afaict :P
<alyssa>
At least, the blob doesn't
<alyssa>
We can certainly implement it ourselves but it would be slow (particularly since the native format is Z24S8 IIRC?)
<HdkR>
alyssa: The blob supports GL_ARM_shader_framebuffer_fetch_depth_stencil so it does :P
<HdkR>
It also supports texture_stencil8, but that only works with non-combined depth and stencil
<alyssa>
HdkR: _shader_
<HdkR>
hm?
<alyssa>
HdkR: Shader readback != readPixels
<alyssa>
I think we're talking about different things..? :P
<HdkR>
Ah, I was talking about unrelated things, was just curious :P