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
stikonas_ has quit [Remote host closed the connection]
BenG83 has quit [Quit: Leaving]
megi has quit [Ping timeout: 240 seconds]
tgall_foo has joined #panfrost
tgall_foo has quit [Client Quit]
tgall_foo has joined #panfrost
Depau_ has quit [Quit: ZNC 1.7.5 - https://znc.in]
Depau has joined #panfrost
chewitt has joined #panfrost
Lyude has quit [Quit: WeeChat 2.4]
Lyude has joined #panfrost
chewitt has quit [Quit: Adios!]
nerdboy has quit [Ping timeout: 265 seconds]
maccraft123 has joined #panfrost
guillaume_g has joined #panfrost
maccraft123 has quit [Ping timeout: 240 seconds]
<tomeu> alyssa: 0x1 for small fbs works just great :)
maccraft123 has joined #panfrost
guillaume_g has quit [Quit: Konversation terminated!]
guillaume_g has joined #panfrost
maccraft123 has quit [Quit: WeeChat 2.6]
maccraft123 has joined #panfrost
<tomeu> alyssa: looks like we need a mask of 0x82 for tiler jobs without a color fb
<tomeu> get a DATA_INVALID_FAULT otherwise
yann has quit [Ping timeout: 240 seconds]
maccraft123 has quit [Quit: WeeChat 2.6]
warpme_ has joined #panfrost
pH5 has joined #panfrost
davidlt has joined #panfrost
megi has joined #panfrost
yann has joined #panfrost
stikonas has joined #panfrost
maccraft123 has joined #panfrost
maccraft123 has quit [Quit: WeeChat 2.6]
Elpaulo has joined #panfrost
kaspter has quit [Remote host closed the connection]
kaspter has joined #panfrost
stikonas_ has joined #panfrost
stikonas has quit [Read error: Connection reset by peer]
stikonas_ is now known as stikonas
jernej has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
jernej has joined #panfrost
yann has quit [Ping timeout: 240 seconds]
yann has joined #panfrost
<alyssa> tomeu: *checks notes*
<alyssa> tomeu: 0x82 correpsonds to 32x32 tiles
<alyssa> Sounds arbitrary :p
<tomeu> hrm
<tomeu> iirc, it was a 16x16 fb
<alyssa> Hrm indeed.
<alyssa> This is for depth-only jobs.
<alyssa> ?
<tomeu> yep
<alyssa> Bizarre
<tomeu> glmark2 -bshadow
<alyssa> tomeu: I mean I believe you it just seems arbitrary
<alyssa> Not that anything else about this GPU seems arbitrary at first blush.
<alyssa> tomeu: To be clear, though, that is a massive framebuffer
<alyssa> Maybe there's a limit on the number of tiles you can have on t720?
<alyssa> So if the framebuffer is too big, 16x16 isn't even an option?
<alyssa> but you mentioned it being like that for a 16x16 fb so uhm could you double check that?
<alyssa> Try passing --size 8x8 to glmark2-es2-wayland -bshadow
<alyssa> Note that (1920x1080/16x16) = (3840x2160/32x32) = 8100
<alyssa> That means the cutoff is somewhere between
<alyssa> And I know how much people like nice round numbers, so I would wager I guess 8192 is the max number of titles
<alyssa> You can confirm this by rendering (anything -- -bbuild work would) with respectively --size 1941x1080 and --size 1943x1080
<alyssa> lmk the diff
<alyssa> Disclaimer: not even compile tested.
<alyssa> (update: it does compile)
guillaume_g has quit [Quit: Konversation terminated!]
maccraft123 has joined #panfrost
<tomeu> alyssa: that one fixed 50 tests :)
<tomeu> will do the tiling experiments
guillaume_g has joined #panfrost
davidlt has quit [Ping timeout: 240 seconds]
<tomeu> alyssa: hmm, --size doesn't seem to take effect on -drm
<tomeu> and I don't have a wayland setup for the blob
<tomeu> I should be able to dump some different sizes with deqp-gles2 and the surfaceless backend
<alyssa> tomeu: Oh, yeah, -drm won't let you scale easily
<alyssa> but yes deqp would
<alyssa> tomeu: And ey nice :)
<alyssa> Should I send an MR then?
<alyssa> MR sent
maccraft123 has quit [Quit: WeeChat 2.6]
kaspter has quit [Ping timeout: 265 seconds]
maccraft123 has joined #panfrost
<tomeu> alyssa: got the same mask (0x1c7) for both 1941 and 1943
<alyssa> tomeu: You need a scene with a ton of geometry
<alyssa> I'm not sure which in deqp would do that
<alyssa> glmark does it plenty but uhm
<alyssa> Hrmmmm
<alyssa> if you're willing to hack on deqp you could try applying on something like https://people.collabora.com/~alyssa/dump
<alyssa> warning: major hax.
<alyssa> and then wait uhm
<alyssa> Yeah then you'll get a ton of geom in dEQP-GLES2.functional.read_pixels.*
<alyssa> which should get the masks where they need to be.
<alyssa> scientific method \o/
<tomeu> sounds good!
davidlt has joined #panfrost
<tomeu> alyssa: getting 0x41 in both cases (1941 and 1943)
davidlt has quit [Ping timeout: 246 seconds]
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
<alyssa> tomeu: Hrm! :V
<alyssa> I guess we know the limit isn't 8192 not then
<alyssa> if there is a limit
<alyssa> tomeu: What about like 3800x1080 and 3900x1080?
maccraft123 has quit [Quit: WeeChat 2.6]
<tomeu> alyssa: both 0x42
<tomeu> should I bisect to where it changes from 0x41 to 0x42?
<tomeu> or do you have a better guess?
<tomeu> alyssa: the blob starts using 0x42 at 2049x1080
<tomeu> well, using 0x42 seems to work quite well, and even gets -bterrain kind of working
<tomeu> at least, it's not getting the OUT_OF_MEMORY fault any more
<tomeu> no faults at all in a whole glmark2 run, awesome :)
<alyssa> >>> (2049*1080)/(16*16)
<alyssa> 8644.21875
<alyssa> Sounds arbitrary :P
<alyssa> I thhink more likely is just that, well, 2048
adjtm has quit [Ping timeout: 250 seconds]
<alyssa> That is ... let's see, we have up to 2048x2048 with 16x16 tiles
<alyssa> Erm
<alyssa> In one dimension, even
<alyssa> up to 2048 with 16 tiles
<alyssa> but above 32 tiles
<alyssa> And I would predice if you did a framebuffer with 4097x1080 you would get a mask of 0x43, yes?
<alyssa> tomeu: ^^
<alyssa> If so that suggests rules that in any given dimension, like,
<alyssa> the tiles must be no bigger than the framebuffer, and there must be no more than 128 tiles in each dimension
<alyssa> In other words, for the latter condition in a given dimension you have a calculation like:
<alyssa> >>> 2 ** math.ceil(math.log2(dimension) - math.log2(128))
<alyssa> ^ To calculate the minimum tile size ... even without paying attention to the amount of geometry per tile, you can clamp the minimum size to that
<alyssa> (Implementation details left as an exercise to the curious reader.)
<alyssa> Also note that simplifies to:
<alyssa> >> 2 ** (math.ceil(math.log2(dimension)) - 7)
<alyssa> And we happen to have this wonderful little function called `util_logbase2_ceil` ;)
davidlt has joined #panfrost
yann has quit [Ping timeout: 265 seconds]
nerdboy has joined #panfrost
<hanetzer> yoooo
pH5 has quit [Quit: bye]
warpme_ has quit [Quit: Connection closed for inactivity]
guillaume_g has quit [Quit: Konversation terminated!]
maccraft123 has joined #panfrost
yann|work has joined #panfrost
davidlt has quit [Ping timeout: 240 seconds]
maccraft123 has quit [Quit: WeeChat 2.6]
maccraft123 has joined #panfrost
pH5 has joined #panfrost
davidlt has joined #panfrost
adjtm has joined #panfrost
maccraft123 has quit [Quit: WeeChat 2.6]
maccraft123 has joined #panfrost
robert_ancell has joined #panfrost
davidlt has quit [Ping timeout: 265 seconds]
maccraft123 has quit [Quit: WeeChat 2.6]
maccraft123 has joined #panfrost
maccraft123 has quit [Quit: WeeChat 2.6]
pH5 has quit [Remote host closed the connection]
stikonas has quit [Read error: Connection reset by peer]
stikonas has joined #panfrost