alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - - Logs - <daniels> avoiding X is a huge feature
QwertyChouskie has quit [Quit: - A hand crafted IRC client]
<Lyude> HdkR (and alyssa if you're curious to see): rebased to mesa master, wasn't too difficult to get compiling
<alyssa_> Lyude: I'm always curious :)
<alyssa_> And looks good :)
<HdkR> :D
<Lyude> HdkR: how far (if at all) did you get with scheduling on this branch btw? before I spend too much time reading into this
<HdkR> no
<HdkR> One op per clause packing :P
<alyssa_> HdkR: "#define PP() if (++loc && progress) printf("progress at: %d\n", loc); "
<alyssa_> I don't know what this macro is for but don't do it
<alyssa_> assert(src->is_ssa && "Only supports SSA form");
<alyssa_> You're going to quickly regret this; accept registers too at least for some edge cases
<HdkR> alyssa_: I was being lazy one evening :P
<alyssa_> I see you've inherited my garbage for uniform/varying counting. Don't. :P
<alyssa_> (The "nir_to_bi" stuff is objectively wrong and Eric yelled at me about it during code review :P)
<alyssa_> " .lower_ffma = false, " You don't need to say that explicitly; you're setting fuse_ffma so it's fine
<HdkR> Code review on IRC doesn't scale very well :)
<alyssa_> HdkR: That's true. So get it in my inbox! ;)
<HdkR> There's a reason why I haven't pushed it. It isn't anywhere near ready :P
<alyssa_> RFC
<HdkR> RFC before I feel it is ready for one? :P
<alyssa_> :P
stikonas has quit [Ping timeout: 252 seconds]
chewitt has joined #panfrost
NeuroScr has quit [Quit: NeuroScr]
<tomeu> alyssa_: you have gathered a very nice team of initial contributors, the atmosphere in this channel is great
<tomeu> alyssa_: btw, got panfrost+kbase working on the veyron, and looks like the stride of the fb is wrong
<tomeu> any ideas?
pH5 has quit [Ping timeout: 272 seconds]
<tomeu> robher: this is what breaks things in the rk3288:
<tomeu> drm_mm_init(&pfdev->mm, SZ_32M, SZ_4G);
<tomeu> passing 0 instead of SZ_32M gets things working again
<tomeu> maybe we have a smaller address space there?
stikonas has joined #panfrost
stikonas has quit [Ping timeout: 252 seconds]
belgin has joined #panfrost
belgin has quit [Quit: Leaving]
chewitt has quit [Quit: Zzz..]
MoeIcenowy has quit [Quit: ZNC 1.6.5+deb1+deb9u1 -]
MoeIcenowy has joined #panfrost
BenG83 has joined #panfrost
davidlt has joined #panfrost
cwabbott has quit [Quit: cwabbott]
cwabbott has joined #panfrost
afaerber has quit [Quit: Leaving]
afaerber has joined #panfrost
robclark has quit [Ping timeout: 268 seconds]
cwabbott_ has joined #panfrost
cwabbott has quit [Ping timeout: 252 seconds]
cwabbott_ is now known as cwabbott
<mmind00> urjaman: you're way to fast ... I'm still working on the response to your v2 comment ;-)
<mmind00> (for the dithering patch)
<urjaman> I mean i already had the patch at hand when i started writing the email(s) :P
<urjaman> most of the time to do this was spent on building and boot-testing the newer kernel (and making a smaller kernel config so that building random kernels doesnt take forever, and also making a seperate PKGBUILD for such testing stuff...)
<mmind00> urjaman: as for dither_down_sel.mask, I'm not sure if it shouldn't be enough to rely on the test in vop_reg_set?
<mmind00> urjaman: from skimming over some manuals, I guess allegro would be the default method
<urjaman> yeah it would be the default ... so in theory i could just not write that bit at all ... but then i'm like i'd like the driver to set all the bits that matter just in case it gets loaded eg. after some future driver that either purposefully or accidentally globbered them
<urjaman> one idea i had would be to have a macro that signifies that it's expected that the bit doesnt always exist and in that case skip the warning print
<urjaman> (i mean it's behind drm.debug so nobody except devs will see that anyways, but then ... booting with drm.debug=0x1 was already too verbose, i'd rather not make it more verbose with unnecessary output)
<urjaman> but yeah I could actually simplify the code even more if one can ignore registers that dont exist (the pre_dither bit from 10bit), and then maybe cleanup the output afterwards
<mmind00> urjaman: I was thinking of just going the easy way for now ... drop the "if (&vop->data->common->dither_down_sel.mask)" line and trust that vop_reg_set will correctly drop the access when it tries to set dither_down_sel all the time
<urjaman> one could also drop both of the VOP_FEATURE_OUTPUT_RGB10 tests then ... (also the unknown bpc path could instead "be" the upper path with bpc set to 10)
<mmind00> haha ... always the hard question, where does one start and where end ... but yeah, the original code also didn't care about the VOP_FEATURE_OUTPUT_RGB10 when handling pre_dither_down
<alyssa_> tomeu: Yeah, we have stride issues across the board, but particularly obvious on veyron. The quick hack is to edit pan_mfbd.c to change the width field to ALIGN(width, 16)
<alyssa_> Same issue occurs on RK3399 if you render a window (in Wayland etc) that's not 16-pixel aligned, for that matter
* alyssa_ mumbles, "Don't write a ray tracer for Midgard. Don't write a ray tracer for Midgard. Don't...."
<alyssa_> I'm not saying it can't be done... I mean, we don't do warping on this arch so one of the big objections is gone... memory bw / cache locality'll be a big issue...
* mmind00 puts whiteout over all the "don't"s
<tomeu> alyssa_: you meant something else than ?
<tomeu> because the stride doesn't seem to be right yet
<urjaman> mmind00: v4 sent :P (i went all in basically)
<tomeu> robher: with the offset removed, I now get TRANSLATION_FAULT_LEVEL3 when the GPU tries to read from some buffers
<tomeu> for example: 0x000000000C3F6000
<daniels> tomeu: yeah, in that case you're going to be reading too much from the fb
<daniels> tomeu: it would be better to just fix it so that we correctly align stride, and allow buffers of any width
<daniels> because not everyone's desktops has the width of every buffer aligned to 16px :P
<tomeu> oh, the fault is unrelated to the width issue
<tomeu> I get it from a igt test case, not from mesa
<tomeu> there's too many things broken atm :)
<tomeu> I guess that when running mesa with the ALIGN hack, the GPU would be reading for adjacent buffers, and not faulting
<tomeu> but in the igt case the GPU just errors out when starting to read from a particular buffer
<alyssa_> daniels: *eyes*
adjtm has quit [Remote host closed the connection]
chewitt has joined #panfrost
kusma has quit [Ping timeout: 245 seconds]
kusma has joined #panfrost
afaerber has quit [Quit: Leaving]
pH5 has joined #panfrost
<HdkR> Lots of OpenXR news today, wasn't expecting the provisional spec to go public :D
<Lyude> OpenXR?
adjtm has joined #panfrost
<HdkR> The Khronos spec that will save us from ever VR/AR/MR headset from making a proprietary library
<HdkR> from every*
<HdkR> Dolphin literally can't use any of the VR APIs since all of their licenses are incompatible with GPLv2+
<Lyude> yikes, good to hear there's some work on actual spec though
<daniels> and a day-one open-source implementation, made by what i hear is a _really_ good company
<HdkR> Haven't been able to confirm myself, but that statement might be true :P
* daniels looks down at his corporate hoodie, decides it's time to stop shilling for the day
<HdkR> hah
<chrisf> HdkR: i doubt anyone would take issue with you calling the VR API impl `part of the system`
adjtm has quit [Ping timeout: 244 seconds]
<HdkR> chrisf: Nah, that is only one issue. Their licenses put additional restrictions on GPL
<HdkR> Getting everyone to sign off on an exception for each libraries licenses is infeasible :P
<HdkR> library's
<HdkR> I think the only one that /could/ have worked was OpenVR?
<HdkR> Been a long while since I last cared :P
adjtm has joined #panfrost
NeuroScr has joined #panfrost
stikonas has joined #panfrost
afaerber has joined #panfrost
phh has quit [Quit: No Ping reply in 180 seconds.]
phh has joined #panfrost
chewitt has quit [Ping timeout: 255 seconds]
chewitt has joined #panfrost