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
stikonas has quit [Remote host closed the connection]
vstehle has quit [Ping timeout: 272 seconds]
adjtm has joined #panfrost
adjtm_ has quit [Ping timeout: 258 seconds]
vstehle has joined #panfrost
adjtm has quit [Remote host closed the connection]
adjtm has joined #panfrost
davidlt_ has joined #panfrost
vstehle has quit [Ping timeout: 246 seconds]
vstehle has joined #panfrost
davidlt_ is now known as davidlt
afaerber has joined #panfrost
davidlt_ has joined #panfrost
davidlt has quit [Ping timeout: 272 seconds]
_whitelogger has joined #panfrost
jernej has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
pH5 has joined #panfrost
TheKit has quit [Ping timeout: 244 seconds]
TheKit has joined #panfrost
davidlt_ is now known as davidlt
sravn has joined #panfrost
raster has joined #panfrost
<bbrezillon> tomeu: look like queueing several wallpaper draws (I tried with 4) doesn't work
<bbrezillon> the chain is something like that: set_value -> WP{N}_vertex -> regular_vertex{X} -> WP{N}_tiler -> regular_tiler{X}
sravn has quit [Quit: WeeChat 2.4]
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
sravn has joined #panfrost
buzzmarshall has joined #panfrost
<shadeslayer[m]> bbrezillon: What exactly is a wallpaper job btw?
<shadeslayer[m]> or am I correct in inferring that it's simply a job that draws the wallpaper ( like on a desktop )
<bbrezillon> shadeslayer[m]: it's a job that reloads the FB content in the tiler buffer
<bbrezillon> tomeu: please ignore my question, I found my bug :-)
<bbrezillon> s/question/comment/
<tomeu> sorry, missed it
<bbrezillon> shadeslayer[m]: to understand why this wallpapering step is needed, you need to understand how a tiled-based renderer works (I went through this a few weeks back ;-))
<bbrezillon> daniels: so, my dummy implem of partial_update works
<tomeu> why dummy?
<bbrezillon> because I just pick the biggest damage region
<shadeslayer[m]> bbrezillon: <3
<bbrezillon> tomeu: no extra smartness to merge regions or deal with non-overlapping regions
<daniels> I wouldn't worry about merging regions
<daniels> if clients provide suboptimal input, they'll get suboptimal results \_o_/
<bbrezillon> other things to improve: try to generate a single draw call with several quad vertices instead of 1 draw per reload region (I currently have up to 4 reload rects because I only support one damage rect, but it might rapidly grow if we only reload what's strictly needed)
<tomeu> not that dummy then :)
<alyssa> How -does- partial_update work anyway on Mali?
<daniels> alyssa: scissors the wallpaper jobs
<daniels> if a client submits partial_update regions and then submits rendering which lands outside those regions, the results are undefined, so you don't need to try to walk the tiler poly list and clip that or anything
<daniels> but it's just avoiding excessive reload into the tile buffer
<bbrezillon> alyssa: IIRC, yuq told us they it was a per-tile decision
<bbrezillon> which we could also do
<bbrezillon> s/they//
<alyssa> Hm
<alyssa> I have a patch from the other day which does kind of that but not really?
<alyssa> (As in I think they complement)
<bbrezillon> does what?
<alyssa> It's sort of like.... the framebuffer itself (the FRAGMENT job) has a scissor?
<alyssa> So inn that commit, we merge per-draw scissors and use that for the FRAGMENT scissor and save a crapton of write bandwidth on well-behaved UI?
<alyssa> (And read bandwidth if you're wallpapering, of course)
<bbrezillon> yep
<alyssa> bbrezillon: (To be clear, partial_update is orthogonal to this, yes?)
<daniels> yeah, scissoring frag is really good, but also orthogonal
<alyssa> Sweet
<daniels> well-behaved clients need to use partial_update as well as scissor
<daniels> (though your assertion that clear is unaffected by scissor is incorrect?)
<daniels> glClear doc says: 'The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of glClear. The scissor box bounds the cleared region.'
<alyssa> Probably, there's a reason that commit isn't merged ^_^
<bbrezillon> alyssa: it is
<alyssa> daniels: Wait, where did I aawer rhr?
<alyssa> assert that
<alyssa> daniels: Ohh, that code is correct (I think) but poorly phrased comment
<bbrezillon> daniels, tomeu, alyssa: preliminary version of the partial-update stuff, in case you want to have a look and propose some improvements
<alyssa> daniels: The Gallium clear callback only applies to unmasked, unscissored clears
<alyssa> daniels: If there is a mask or scissor, mesa/st turns it into a quad
<alyssa> The bigger issue is that *that* quad does *not* have the scissor set on it, which I tried to fix but regressed every driver in existence so that's not merged ^^
<alyssa> (That broke scissoring on sway)
<daniels> ahh, I see
<alyssa> tomeu: Next up is vectorization regression fix, take #2 I think
<daniels> bbrezillon: thanks! the core stuff looks good to me, but to be honest I don't know enough about the driver to comment on that part
<alyssa> (Did I miss a link?)
<alyssa> Oh, there tis
<alyssa> bbrezillon: "flip the Y" oh no
<bbrezillon> :-/
<bbrezillon> don't have a choice on this one
<alyssa> It'll break things
<bbrezillon> no, I mean, KHR_partial_update explicitly says the damage region is bottom-left based
<alyssa> I know
<alyssa> bbrezillon: Also, I'm hoping the scoreboarding stuff (when it lands) will clean up your patch dramatically since all the hunks trying to explicitly set deps should go away
<bbrezillon> yep
<bbrezillon> looking forward to have this rework merged
<bbrezillon> but let's settle on something more important first: indentation => spaces or tabs :D
<bbrezillon> I keep changing my vim rules based on the file I'm editing
<bbrezillon> that annoying :P
<bbrezillon> *that's
* alyssa shrugs
<alyssa> bbrezillon: https://people.collabora.com/~alyssa/.vimrc if that helps :p
<alyssa> tomeu: Found the issue with the autovectorization, heh
<tomeu> \o/
<bbrezillon> alyssa: the problem is, we have files using tabs other using spaces and some with a mix of tabs and spaces
<alyssa> bbrezillon: ..Right
<alyssa> At some point we could do astyle on the whole thing, but insane code churn. Which is fine but that can only happen when there are no outstanding patches, since that's.. a lot... of conflicts ;)
<shadeslayer[m]> <alyssa "bbrezillon: https://people.colla"> Google chrome wants to translate that file -.-
<alyssa> Al espanol?
<shadeslayer[m]> <alyssa "Al espanol?"> desde frances a ingles
<alyssa> Tu parles francais? Impressif! :p
<shadeslayer[m]> <alyssa "Tu parles francais? Impressif! :"> hah, I'm in Paris now, I'm starting French classes next week :P
<alyssa> <---- No habla ma que espanol y ingles pero puede fingir hablar frances
<shadeslayer[m]> lol
<alyssa> tomeu: Parche on the ML for the autovectorizacion ;P
<shadeslayer[m]> <alyssa "<---- No habla ma que espanol y "> solo necessites a practicar que tu sabes, y despues poco tiempo, tu conoces Castellano :P
<alyssa> With that sorted, next up I think is reviving scissor stuff
<shadeslayer[m]> I went to Spanish classes for 3 months and pretty much picked up all of my vocab and grammar rules, then just kept making more mistakes and getting more comfortable in the language
<shadeslayer[m]> In French I can say "I want" and "I go to" now :P
pH5 has quit [Quit: bye]
<tomeu> alyssa: do you mind if I push panfrost/midgard: Broadcast swizzle once it passes CI?
<alyssa> tomeu: bbrezillon: Scissor test stuff updated (v2 of the mesa/st one in an MR, the Panfrost one [the patches are independent but complementary] in the ML)
<alyssa> tomeu: Please do!
<alyssa> tomeu: I've learned it's better if I just don't push anything ;P
<tomeu> shadeslayer: and, can you review "[PATCH] panfrost: Set job requirements during draw
<tomeu> " please?
somy has quit [Quit: Leaving...]
<tomeu> alyssa: well, maybe once the CI works as it should... :p
<alyssa> What ever happened to my constant bias patches
<alyssa> Oh, they're on the list
<alyssa> I guess I can push the compute FBD stuff since that's purely decode, no functional changes to the driver
<tomeu> guess so
<tomeu> alyssa: looks like we still have some vector-related regressions with that patch: https://gitlab.freedesktop.org/tomeu/mesa/-/jobs/372309
<alyssa> fdsafdsa
<alyssa> tomeu: Can't reproduce
<urjaman> why did i think of this https://xkcd.com/583/
<tomeu> alyssa: not even when running dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.*?
<alyssa> It's still running but no, they're passing
<alyssa> Oh wait
<alyssa> Wrong tree?
* alyssa hides
<alyssa> Ohhhhhhhhhhfaksjfgadhgfeqkjfhwrelksf
<alyssa> Take 3
<alyssa> tomeu: Take 3 pushed. Should fix it.
<alyssa> Feel like playing whackamole.
<bbrezillon> alyssa: scissor patch => couldn't we clamp the blitter src/dest box based on the current scissor state?
<bbrezillon> this way we wouldn't need the ->in_wallpaper field
<alyssa> bbrezillon: Maybe?
<alyssa> I feel like this is an instance where it might be better to land it uglily since the wallpaper code will be siginifcantly overhauled soon anyway (between mipmaps, partial update, and scoreboarding)
<alyssa> If it's not activelt causing regressions, I mean
<alyssa> tomeu: Hey, I found a regression before pushing, proud? :p
<bbrezillon> alyssa: fair enough
yann has joined #panfrost
<alyssa> tomeu: I just landed the lima/panfrost tiling merge.
<alyssa> I did do some local CI and fixed a regression before it was pushe, proud? ;p
<alyssa> It is totally possible some tests started passing because of this that I didn't catch, but that's easier ;)
<bbrezillon> alyssa: can you push "nir/lower_tex: Add an assert() in nir_lower_txs_lod()" for me (I take the blame if there's a regression :))
yann has quit [Ping timeout: 268 seconds]
<alyssa> bbrezillon: Where is the commit?
chrisf_ has joined #panfrost
chrisf has quit [*.net *.split]
<bbrezillon> alyssa: you want a branch?
<bbrezillon> thought you were applying patches with git am
<alyssa> (Aside: aaaa working in a car is hard)
<alyssa> bbrezillon: Pushed I think
<alyssa> *fighting with git intensifies*
davidlt has quit [Remote host closed the connection]
davidlt has joined #panfrost
urjaman has quit [Quit: WeeChat 2.5]
urjaman has joined #panfrost
urjaman has quit [Client Quit]
chrisf_ is now known as chrisf
urjaman has joined #panfrost
raster has quit [Remote host closed the connection]
jernej has joined #panfrost
<tomeu> alyssa: guess we can push now v3 of "panfrost/midgard: Broadcast swizzle"?
<alyssa> tomeu: :+:
<alyssa> :+1:
Elpaulo has quit [Quit: Elpaulo]
Elpaulo has joined #panfrost
stikonas_ has joined #panfrost
<shadeslayer[m]> So that if someone calls the wallpaper blitting function, the state is all consolidated?
stikonas_ has quit [Remote host closed the connection]
stikonas_ has joined #panfrost
stikonas_ has quit [Remote host closed the connection]
raster has joined #panfrost
stikonas_ has joined #panfrost
davidlt_ has joined #panfrost
davidlt has quit [Ping timeout: 272 seconds]
<urjaman> ....
<urjaman> just so you know, matrix sent just a link to a long message that nobody* on IRC will bother to open
herbmilleriw has quit [Quit: Konversation terminated!]
herbmilleriw has joined #panfrost
davidlt_ has quit [Ping timeout: 258 seconds]
NeuroScr has quit [Read error: Connection reset by peer]
NeuroScr has joined #panfrost
raster has quit [Remote host closed the connection]
NeuroScr has quit [Quit: NeuroScr]
stikonas_ has quit [Remote host closed the connection]
stikonas has joined #panfrost
NeuroScr has joined #panfrost