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
<Ntemis> i see
<HdkR> If a bug is found in mesa then most always a piglit test is created around it
<Ntemis> ppsspp can bring soem color in and make the debugging more joyful but ok
<HdkR> chrisf: Which bit of ASTC is gross for you? I'm personally grossed out by how large the hardware texture decoders need to be
<chrisf> HdkR: that, really
<chrisf> "you can see this thing from space"
<HdkR> :D
<Ntemis> anw you guys are doing us a big favor working on this driver and i want to thank you for that
<icecream95> Well, we haven't found the ASTC format codes yet, so you won't have to worry for a while
<HdkR> Oops, added ASTC and now our texture decoders are 2x the size
<Ntemis> keep up the amazing work
<chrisf> HdkR: even etc2 is wacky, but astc is on a whole different level
<icecream95> Maybe the ASTC block size is encoded in the anisotropic filtering field (which hasn't been found yet...)?
<icecream95> If I remember correctly ETC2 has a decoder size only about 25% more than S3TC.
<chrisf> icecream95: i could believe etc1 being marginally larger than s3tc, but etc2 adds a bunch of crazy special case encodings
<icecream95> Only about 5 or 6 more modes...
<HdkR> If only it was possible to deprecate compressed textures sanely without breaking apps
<chrisf> i dont want them gone, just sensible
Ntemis has quit [Remote host closed the connection]
<HdkR> Well that would be nice too
<icecream95> It could have been worse: http://www.jacobstrom.com/publications/lightMapComp.pdf
<HdkR> But we already have insane formats, so we've lost that
<chrisf> cant afford not compressing
<HdkR> Definitely, don't want to lose the compression
<HdkR> Especially when you don't have 2.3TB/s memory bandwidth
<HdkR> (Which I think is somewhere in the limit of 4/6-site HBM2e/HBM3)
<icecream95> For some reason, enabling ETC2_RGB8 breaks software decompression for ETC2_R11_*
<icecream95> (I haven't got the R11 ETC formats working properly, but all the other ones including RG11 are fine)
<icecream95> So it looks like somewhere the R11 I pass in is getting "converted" to RGB8...
<icecream95> The decision of whether to software-decode ETC2 is based on whether ETC2_RGB8 is supported during init
<icecream95> Maybe I could just try and fix the R11 formats...
stikonas has quit [Remote host closed the connection]
pH5 has quit [Ping timeout: 240 seconds]
Ntemis has joined #panfrost
Ntemis has quit [Remote host closed the connection]
<icecream95> ...and it turns out I was returning RG11 formats for PIPE_FORMAT_ETC2_R11_*. Whoops!
BenG83 has quit [Ping timeout: 265 seconds]
_whitelogger has joined #panfrost
<icecream95> ETC support is done, time to make an MR for negative LOD bias support...
<alyssa> icecream95: Awesome stuff, thank you for that! will review tomorrow!
<anarsoul> PIPE_FORMAT_ETC1_RGB8 and PIPE_FORMAT_ETC2_RGB8 use the same internal format?
<anarsoul> that's weird :)
<icecream95> They are backwards compatible
<icecream95> ETC1 can use differential colours (e.g. c1 = 25; c2 = c1-3), and negative values actiave ETC2 modes.
<anarsoul> I see, thanks for explanation
<anarsoul> are there any tests in deqp for ETC?
<chrisf> indeed there are
<chrisf> on the GLES side there are a few weak corners though
tgall_fo_ has joined #panfrost
tgall_foo has quit [Ping timeout: 268 seconds]
vstehle has quit [Ping timeout: 260 seconds]
<icecream95> alyssa: I created a MR for negative lod bias: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3326
<icecream95> Now what?...
NeuroScr has quit [Quit: NeuroScr]
megi has quit [Ping timeout: 268 seconds]
icecrea105 has joined #panfrost
icecream95 has quit [Ping timeout: 268 seconds]
robert_ancell has quit [Ping timeout: 268 seconds]
icecrea105 has quit [Quit: leaving]
icecream95 has joined #panfrost
davidlt has joined #panfrost
chewitt has joined #panfrost
<icecream95> For formats like GL_RGBA32I that don't seem to work on t760, I wonder if there's some secret hidden flag for enabling them.
<icecream95> I tried looking at the unknown values in mali_texture_format, and didn't find much more than a kernel panic.
kaspter has joined #panfrost
<icecream95> The 32F formats seem to work, so maybe the blob driver emulates 32-bit per channel integer formats in the shader.
NeuroScr has joined #panfrost
vstehle has joined #panfrost
<icecream95> Let's see if I can get tiling for comrpessed textures working...
kaspter has quit [Ping timeout: 265 seconds]
kaspter has joined #panfrost
kaspter has quit [Ping timeout: 268 seconds]
kaspter has joined #panfrost
ph5 has joined #panfrost
guillaume_g has joined #panfrost
kaspter has quit [Ping timeout: 268 seconds]
kaspter has joined #panfrost
indy has quit [Ping timeout: 240 seconds]
<icecream95> Getting tiling working is as simple as dividing bytes_per_pixel by 4 instead of 2.
<icecream95> Would there be any problem if ETC textures were always tiled?
<HdkR> glCopyImageSubData might end up being interesting
<anarsoul> I guess you can't map it directly
<anarsoul> and you'll have to do tiling/untiling manually
ph5 has quit [Quit: bye]
<icecream95> I guess I'll just have to un-adjust the stride if it turns out the texture won't be tiled....
<icecream95> Although that causes all the tiles to show up, they aren't necessarily in the right order, and non-square textures cause a segfault...
<bbrezillon> robher: do you plan to send a v3 for "drm/panfrost: Add the panfrost_gem_mapping concept" ?
<icecream95> And now I have a segfault that only shows up when I'm not using gdb...
yann has quit [Ping timeout: 268 seconds]
kaspter has quit [Ping timeout: 258 seconds]
kaspter has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
ph5 has joined #panfrost
icecream95 has quit [Ping timeout: 268 seconds]
stikonas has joined #panfrost
stikonas has quit [Remote host closed the connection]
yann has joined #panfrost
yann has quit [Ping timeout: 260 seconds]
alpernebbi has joined #panfrost
raster has joined #panfrost
megi has joined #panfrost
tgall_fo_ is now known as tgall_foo
<alyssa> icecream95: I mean, do you expect GL_RGBA32I to mipmap nicely?
<alyssa> I'd have to check the spec, but..
<alyssa> Can't find much
<alyssa> Okay, here
<alyssa> 3.8.11 Texture Completeness (GL 3.1 spec)
<alyssa> "If the internal format of the arrays is integer... TEXTURE_MAG_FILTER must be NEAREST and TEXTURE_MIN_FILTER must be NEAREST or NEAREST_MIPMAP_NEAREST"
<alyssa> So mipmapping would let you select from different images and the integer part of the lod bias would help index, but it wouldn't interpolate like the float/norm would
yann has joined #panfrost
tgall_foo has quit [Quit: Textual IRC Client: www.textualapp.com]
tgall_foo has joined #panfrost
<mearon> alyssa: re freezes on kevin: IIRC I have experienced freezes only when running sway so far. Today I was able to unfreeze my kevin two times by pressing the lock key (top-right); I have mapped it in my sway config to `exec killall -SIGUSR1 swayidle`, which locks the screen. After pressing it, I was able to unlock my screen normally, just like if no freeze happened.
<alyssa> mearon: hm, that'd be a different issue from what I was seeing, which would happen even with no graphics (X or Wayland), just a tty prompt
<alyssa> but has not happened even once since returning to Canada
<alyssa> So I'm assuming Kevin was just unhappy with crossing the border? :P
<mearon> maybe your kevin was just missing home
<mearon> ya :P
<alyssa> Funny thing is, I got Kevin in the US originally... :p
<alyssa> Honestly, this doesn't negate the theory that it was some bad interaction with wifi
<alyssa> Or maybe it was just supremely unhappy about the clock being off by 3 hours
<alyssa> Kevin was jetlagged? :P
yann has quit [Ping timeout: 268 seconds]
megi has quit [Ping timeout: 268 seconds]
ph5 has quit [Quit: bye]
leinax has quit [Ping timeout: 260 seconds]
megi has joined #panfrost
bbrezillon has quit [Quit: WeeChat 1.9.1]
yann has joined #panfrost
leinax has joined #panfrost
stikonas has joined #panfrost
indy has joined #panfrost
raster has quit [Quit: Gettin' stinky!]
davidlt has quit [Ping timeout: 240 seconds]
robmur01 has quit [Ping timeout: 250 seconds]
robmur01 has joined #panfrost
icecream95 has joined #panfrost
alpernebbi has quit [Quit: alpernebbi]
robmur01 has quit [Ping timeout: 258 seconds]
robmur01 has joined #panfrost
<icecream95> Here is an example of the incorrect ordering when tiling ETC: https://gitlab.com/snippets/1928572
<anarsoul> do you actually do tiling and untiling in transfer_map/transfer_unmap callbacks?
<anarsoul> you may need to teach tiling/untiling routines how to deal with ETC
leinax has quit [Remote host closed the connection]
<icecream95> It looks like the problem is that tiling really is done based on pixels, not blocks, so we should be doing 4x4 tiling instead of 16x16...
* anarsoul patiently waits for icecream95 to fix tiling for ETC textures so he can enable it for lima as well :)
<icecream95> I have tiling working now. The only problem is that it breaks tiling for everything else...
<anarsoul> yeah, so you have to fix it :)
<anarsoul> or implement separate routine for ETC tiling/untiling
<icecream95> I think that would be the easiest option.
leinax has joined #panfrost
<icecream95> I've pushed a commit getting tiling for ETC working: https://gitlab.freedesktop.org/mesa/mesa/commit/9ab0e0baeae2527b4333d1b3314fc39c3e680198
<anarsoul> you also need to benchmark original implementation and yours
<icecream95> The stack usage for panfrost_store_tiled_image went up from 24 bytes to 40 bytes, which isn't great...
<icecream95> Can someone explain this? movne r10, #3
<icecream95> moveq r10, #15
<icecream95> mvnne r3, #3
<icecream95> mvneq r3, #15
<icecream95> GCC is doing the same two instructions twice in a row, but on different target registers...
<Stary> mvn loads the complement
<icecream95> Whoops... Didn't see that.
NeuroScr has joined #panfrost
<icecream95> Looks like the deqp failures are because the height and width haven't been divided by 4...