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
vstehle has quit [Ping timeout: 252 seconds]
pendingchaos has quit [Ping timeout: 240 seconds]
atler is now known as Guest81763
Guest81763 has quit [Killed (tolkien.freenode.net (Nickname regained by services))]
atler has joined #panfrost
stikonas has quit [Remote host closed the connection]
adjtm_ has quit [Quit: Leaving]
adjtm has joined #panfrost
<icecream95> Fun fact: SuperTuxKart uploads about 1MB of push constants per second
<HdkR> That's not terrible
<icecream95> It all gets uploaded twice, but it shouldn't be too hard to fix that...
camus has joined #panfrost
kaspter has quit [Ping timeout: 268 seconds]
camus is now known as kaspter
<alyssa> whistle
davidlt has joined #panfrost
<cyrozap> alyssa: Thanks! And yeah, I'll probably try to figure out the other fields first, since I don't even know the meaning of the value being used as the input to the function.
<cyrozap> adjtm: When you say "posits", are you referring to this? https://en.wikipedia.org/wiki/Unum_(number_format)#Unum_III
vstehle has joined #panfrost
austriancoder has quit [Ping timeout: 245 seconds]
camus has joined #panfrost
kaspter has quit [Remote host closed the connection]
camus is now known as kaspter
austriancoder has joined #panfrost
kaspter has quit [Read error: Connection reset by peer]
kaspter has joined #panfrost
<bbrezillon> alyssa: sure, I can take care of indirect compute dispatch
guillaume_g has joined #panfrost
camus has joined #panfrost
kaspter has quit [Ping timeout: 240 seconds]
camus is now known as kaspter
warpme_ has joined #panfrost
alpernebbi has joined #panfrost
raster has joined #panfrost
felipealmeida has quit [Ping timeout: 260 seconds]
felipealmeida has joined #panfrost
wwilly has joined #panfrost
<bbrezillon> alyssa: regarding the AFBC issue, I don't really have a clean solution
<bbrezillon> applying the format fixup when the importer and exporter pass it to the GPU is okay, but you have a problem when one of them is a different piece of HW
pendingchaos has joined #panfrost
stikonas has joined #panfrost
<bbrezillon> alyssa: not sure that's what we want, but this seems to fix the problem => https://gitlab.freedesktop.org/bbrezillon/mesa/-/commit/ea1ba92530783ba73bc0d750d8fbaa9b8ba78e07
kaspter has quit [Ping timeout: 260 seconds]
kaspter has joined #panfrost
wwilly has quit [Ping timeout: 246 seconds]
wwilly has joined #panfrost
<alyssa> bbrezillon: That's definitely what we want :+1:
kaspter has quit [Quit: kaspter]
<daniels> this means that AFBC is disallowed for XRGB and only allowed for XBGR, if I read correctly?
<bbrezillon> it's actually only allowed for RGBX/RGBA
<bbrezillon> not XRGB
<bbrezillon> and yes, BGR is rejected
<bbrezillon> daniels: do you have a better option?
<daniels> right, RGBX/RGBA == ABGR/XBGR in DRM_FORMAT_* nomenclature
<daniels> I don't have a better option, just wanted to confirm what I was seeing :)
<bbrezillon> oh, ok
anarsoul|c has joined #panfrost
leah has quit [Quit: WeeChat 2.8]
<adjtm> cyrozap, yes, I'm referring to unum III
unoccupied has joined #panfrost
unoccupied is now known as leah
<adjtm> the way it uses the first consecutive ones in the input value is like posits encode the regime
<adjtm> but sure it's not a posit, and maybe not even using it for floating point numbers
chewitt has joined #panfrost
archetech has joined #panfrost
Net147 has quit [Ping timeout: 276 seconds]
Net147 has joined #panfrost
MastaG6 has joined #panfrost
<robclark> bbrezillon, daniels: UBWC (and tiled non-UBWC) is similar on adreno.. we just define the modifier as "native swizzle" since it is an opaque format.. although I guess in your case you need to get all the display drivers that support AFBC to go along with the scam
MastaG has quit [Ping timeout: 240 seconds]
MastaG6 is now known as MastaG
<robclark> so UBWC RGBx and xBGR, etc, are all the same thing
<bbrezillon> robclark: yep, that's the problem, I don't know what display controllers do when you tell them it's AFBC(BRG)
<bbrezillon> if they interpret it as AFBC(RGB) we're good
<robclark> I guess since there are (presumably) some display controllers already supporting the existing modifier, you could use the existing modifier for native swizzle (as you do), but then introduce a new modifier for "fake swizzle"..
<robclark> *but*.. do existing display controllers advertise support for AFBC with all swizzles? If no, that might be an escape hatch to salvage the current modifier
<bbrezillon> alyssa, daniels: ^
<bbrezillon> it seems to pass CI, which is weird because I remember trying the same trick when adding AFBC support to Bifrost
<bbrezillon> and it was failing
<daniels> but CI won't ever be testing shared or scanout surfaces, no?
<bbrezillon> nope, but even internal usage was failing with this swizzle trick
<bbrezillon> and what's for sure is that we are applying the pipe_format swizzle on Midgard when emitting the render-target descriptor
<bbrezillon> and I guess alyssa tested it on T860 when toggling AFBC-sharing on by default
<bbrezillon> which means, the swizzling is either ignored or applied, but the behavior is consistent (the display controller and the GPU do the same thing)
<bbrezillon> daniels, robclark: looks like component order is ignored here => https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/meson/meson_osd_afbcd.c#L200
<chewitt> @narmstrong ^
<daniels> well, that's just for programming the afbc decoder, right? presumably the decoder doesn't care about the R/B channel order (modulo YTR), so it just emits them straight through, then the display controller swizzles if required?
<narmstrong> bbrezillon: it is not `/* YTR is forbidden for non XBGR formats */`
<narmstrong> bbrezillon: it's unclear, the decoder emits whatever channels it founds and it's the pixel encoder who can re-order them
<narmstrong> bbrezillon: the decoder doesn't know what are R, G ou B channels
<bbrezillon> ok
<alyssa> YTR stuff only makes this more "fun"
<bbrezillon> ok, so I'd need to add support for split-mode or 32x8 mode to test AFBC on Amlogic :'-(
guillaume_g has quit [Quit: Konversation terminated!]
<macc24> bbrezillon: is panvk supposed to display vkcube on g72?
anarsoul|c has quit [Quit: Connection closed for inactivity]
<bbrezillon> macc24: I didn't test on g72
<macc24> bbrezillon: let me know when complaining about something being broken is useful :p
<bbrezillon> macc24: sure
<archetech> macc24: when you're unaware of it ?
<macc24> archetech: what?
zkrx has quit [Ping timeout: 240 seconds]
<bbrezillon> alyssa, daniels: I confirm https://gitlab.freedesktop.org/bbrezillon/mesa/-/commit/ec647a237d09925068498d5462ac62f12ec2e4a5 does the right thing on Bifrost
<bbrezillon> and now I have a patch to enable support AFBC_SPLIT :)
<bbrezillon> s/enable//
zkrx has joined #panfrost
archetech has quit [Ping timeout: 252 seconds]
Elpaulo has quit [Quit: Elpaulo]
davidlt has quit [Ping timeout: 265 seconds]
<alyssa> Huzzah!
<alyssa> bbrezillon: That patch breaks border colours.
<alyssa> Also, can an RTD have AFBC and a nonidentity swizzle? (in the MFBD)
<alyssa> (on v7)
<alyssa> IIRC those were the reasons we have the fixup soln to begin with
raster has quit [Quit: Gettin' stinky!]
nlhowell has joined #panfrost
alpernebbi has quit [Quit: alpernebbi]
raster has joined #panfrost
nlhowell has quit [Ping timeout: 240 seconds]
wwilly has quit [Quit: This computer has gone to sleep]
nhp has quit [Quit: ZNC 1.8.2 - https://znc.in]
nhp has joined #panfrost
<daniels> bbrezillon: can you elaborate on 'right thing' please? :)
raster has quit [Quit: Gettin' stinky!]