06:14 chikuwad[d]: augh
06:15 chikuwad[d]: mel beat me to maintenance8 :P
06:23 chikuwad[d]: embarrassingly (for me) small patch too
12:07 chikuwad[d]: hm
12:08 chikuwad[d]: do we not do application-specific workarounds yet? if we were to do that, would be use the 00-mesa-defaults.conf or create our own 00-nvk-defaults.conf like radv does?
12:23 karolherbst[d]: there probably should be a common file for discrete GPUs or something, but... I think it kinda depends what driver needs the workaround, because some are just driver specific, and if it's one file or 50 doesn't really matter in the end
12:26 chikuwad[d]: makes sense
12:26 chikuwad[d]: so common ones go into the mesa-defaults config, and driver specific ones into the driver specific cconfigs
12:26 chikuwad[d]: that being said, if I were to set up a 00-nvk-defaults.conf, how would I go about doing that? or does nvk already read driconf
12:30 chikuwad[d]: ooh, fancy, we already have a few driconf settings
12:30 chikuwad[d]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34168
12:30 chikuwad[d]: cool, I'll follow that :froge:
13:12 chikuwad[d]: unrelated: decide to investigate doom 2016 vk renderer crash
13:15 chikuwad[d]: nothing in the dmesg, which is nice to see, but vulkan validation layers do spit out a few issues
13:15 chikuwad[d]: attached the log to the issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12549#note_3066826
13:16 esdrastarsis[d]: chikuwad[d]: How do you use validation layers? Just add the layer env var?
13:17 chikuwad[d]: I also had to create settings file to make the output go into a logfile instead of stdout
13:17 chikuwad[d]: but yeah
13:17 chikuwad[d]: just the env var
13:18 esdrastarsis[d]: I see
14:07 snowycoder[d]: Currently if we have a read as the last instruction we don't put any extra latency, shouldn't we use a maximum war latency?
14:07 snowycoder[d]: The next instruction might be a write for all we know.
14:34 gfxstrand[d]: Probably
14:41 chikuwad[d]: hm
14:41 chikuwad[d]: we don't support block compressed formats, do wel?
14:42 chikuwad[d]: oh
14:42 chikuwad[d]: wait I'm dumb
14:43 chikuwad[d]: most textures are block-compressed :derproo:
15:12 zmike[d]: smh just use zink
16:04 phomes_[d]: chikuwad[d]: we have added a few that are generally useful like the zero_vram. Others are specific to nvk and they go in the section with `<device driver="nvk">`
16:04 chikuwad[d]: gotcha
16:55 jja2000[d]: ermine1716[d]: As long as you don't want to run programs with NEON it'll run okay. No GPU driver though, that is a WHOLE different can of worms
16:58 ermine1716[d]: jja2000[d]: Gpu driver is the second thing that interests me, after setting up PMIC
16:59 jja2000[d]: ermine1716[d]: You'll have to start from scratch
16:59 jja2000[d]: Many a person has lost their minds (or interest depending on how you look at it)
17:03 jja2000[d]: ermine1716[d]: Also why PMIC? I think the DT should be fairly complete
17:11 mhenning[d]: snowycoder[d]: I think this isn't an issue in practice since war latencies are lower than branch latencies but yes technically we should
17:35 gfxstrand[d]: jja2000[d]: There's bits of a driver got old Tegra: https://github.com/grate-driver
17:35 chikuwad[d]: love the anagram
17:36 chikuwad[d]: it's great
17:36 gfxstrand[d]: Erik hasn't worked on it for years, though.
17:37 steel01[d]: I'm kinda curious what state that's in. I tried to follow it a couple years ago, but my brain imploded in the process. Then I heard that the soc I actually cared about, namely t114, wasn't getting a whole lot of support in the 3d driver, so... I stopped following it.
17:38 steel01[d]: digitx was doing the vast majority of work last I saw it active.
17:39 jja2000[d]: gfxstrand[d]: Yep, I'm in a chat with someone who's somewhat taken over the mantle from Digetx and therefore done a shitton of upstreaming/porting on both the Linux and U-Boot side of things. One person tried to pick up the gpu pieces, but subsequently stopped
17:40 steel01[d]: Clamor?
17:40 jja2000[d]: steel01[d]: At the time it was semi-current it did a bit of glxgear spinning, but poorly and not much more than that
17:40 jja2000[d]: steel01[d]: Ye
17:40 gfxstrand[d]: It's actually a pretty annoying GPU from what I understand. It has nothing to do with the rest of NVIDIA's lineup.
17:41 gfxstrand[d]: And yes very GLES2 flavored
17:41 jja2000[d]: gfxstrand[d]: Yep, completely custom vliw thing
17:41 gfxstrand[d]: Separate shader ISAs, even.
17:41 steel01[d]: Huh. Last I talked to him a couple months ago, he was only interested in the boot stack like u-boot. And didn't want to do anything with the kernel beyond the bare minimum to make something boot. Maybe that changed. I did see some linux-tegra submissions since, so maybe.
17:41 jja2000[d]: Max GLES2 indeed, t114 even left out some hw functionality on purpose because "nobody is adopting gles3 on short notice anyway"
17:42 jja2000[d]: steel01[d]: Yeah that's right now
17:42 steel01[d]: I remember comments from ppsspp that t114 was great except for 2 missing gles functions. 🙄
17:42 jja2000[d]: But most older devices with those socs work already
17:42 steel01[d]: My poor shield portable.
17:43 jja2000[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1409231559432867860/IMG_20250819_162045_997.jpg?ex=68aca0aa&is=68ab4f2a&hm=3438e32bdc539f95df37a01bc8a61f9e4588a0abf8fa0cc76ce8676fb8659df2&
17:43 jja2000[d]: steel01[d]:
17:43 jja2000[d]: See the section right above the pic
17:45 steel01[d]: One of these days I need to try to boot the portable again. I had a dalmore-ish tablet with uart and all that, but apparently I left it on my rack on a charger too long, cause the battery expanded and blew the back cover off. ><
17:46 jja2000[d]: Transformers do uart over the proprietary connector
17:46 steel01[d]: Eh?
17:47 steel01[d]: I've got a tf701t, but the charging cable is broke. Iirc, it charges, but the data pins don't work, so no adb.
17:47 jja2000[d]: Might be a suitable donor for uart then
17:47 jja2000[d]: Last time I checked TF701t support is also a bit suboptimal
17:48 steel01[d]: If I can get uart, I can probably fix that. I'd have to find it again, though. In a box in storage atm.
17:54 steel01[d]: https://wiki.postmarketos.org/wiki/ASUS_Transformer_Prime_(asus-tf201)#UART_CABLE
17:54 steel01[d]: Ah. Mmm, that's a little beyond me atm. But that makes me wonder if someone with a little more soldering skill and a bit of stubbornness could make an all-in-one cable. Charging, normal data, and uart. Sounds like uart is just extra pins, so shouldn't have to sacrifice the others.
18:13 jja2000[d]: Also have a summary message for tegra gpu stuff. Includes some generic things about NIR and such.
18:15 jja2000[d]: This is some very basic NIR compiler reference
18:15 jja2000[d]: https://github.com/kusma/mesa/blob/tegra-nir-test/src/gallium/drivers/tegra/tegra_compiler_fp.c
18:15 jja2000[d]: More reference can be found in /src/<driver-name>/
18:15 jja2000[d]: freedreno, etnaviv, panfrost
18:15 jja2000[d]: This is Nvidia's documentation
18:15 jja2000[d]: https://nv-tegra.nvidia.com/r/gitweb?p=3rdparty/u-boot.git;a=blob;f=arch/arm/include/asm/arch-tegra3/t30/ar3d.h;h=54972e9edf5e9395d1bd19562da2e8016035eb6b;hb=e9454f87ecf031c3105b02ecdbcf74810ff69959
18:15 jja2000[d]: https://nv-tegra.nvidia.com/r/gitweb?p=3rdparty/u-boot.git;a=blob;f=arch/arm/include/asm/arch-tegra3/t30/project_ar3d_sw_defs.h;h=ad5c82871591154f5088994a6c118e1a1f7396a8;hb=e9454f87ecf031c3105b02ecdbcf74810ff69959
18:15 jja2000[d]: This is some more grate documentation (don't overlook the sidebar on the right)
18:15 jja2000[d]: https://github.com/grate-driver/grate/wiki
18:15 jja2000[d]: We work based on this
18:15 jja2000[d]: https://gitlab.freedesktop.org/kusma/mesa/-/branches?state=all&sort=updated_desc&search=grate
18:15 jja2000[d]: Grate stuff is located here:
18:15 jja2000[d]: /src/gallium/drivers/grate
18:15 jja2000[d]: /src/gallium/winsys/tegra/drm
18:15 jja2000[d]: /src/gallium/targets/dri and /src/gallium/targets/dril (one is legacy, the other is generic and new)
18:15 jja2000[d]: but yea, currently we have primitive vertex shader compiler that basically forwards everything as is (or that was the fragment shader?)
18:15 jja2000[d]: and also impls some basic ops
18:15 jja2000[d]: it uses the old API and needs to be ported to NIR
18:15 jja2000[d]: once ported, we can start working on fragment shader which is the main deal here
18:15 jja2000[d]: because it uses VLIW with several ops per instruction, you need to allocate registers, what ALU or whatever to use? is kinda bit a nightmare
18:15 jja2000[d]: cuz yea you can do the dumb and just map 1 operation to each VLIW instruction but then you will have underutilized hw with lot of extra instructions that could be paralelized
18:15 jja2000[d]: i suggested doing this as starter and then do optimizations later but jonas kinda got lost in the process of porting to NIR
18:17 jja2000[d]: Bit off topic for this channel I guess, my apologies
19:16 ermine1716[d]: jja2000[d]: I didn't check the situation, but if PMIC is working and device can be charged or works on ac power, that's great
19:16 ermine1716[d]: jja2000[d]: No wonder unity didn't support it
19:16 jja2000[d]: Yeah tf101 is upstream or in https://gitlab.com/grate-driver/linux/
19:17 jja2000[d]: I think if you have a certain version you can install u-boot aswell
19:49 gfxstrand[d]: jja2000[d]: Woah! Depth textures! That's some scary modern shit?
19:50 jja2000[d]: I'm sensing a teeny bit of sarcasm here
19:51 gfxstrand[d]: Me? Sarcasm? No...
19:52 gfxstrand[d]: I had one of the Tegra 4 transformers. I sent it to recycle a few months ago.
19:56 jja2000[d]: Nooooo no sarcasm
19:56 jja2000[d]: Yeah, at least the socs are kinda well supported. It's just the GPU that's left basically
19:56 jja2000[d]: But it's ass, as you can see
19:57 jja2000[d]: jja2000[d]: This soc got released a year after GLES3
20:04 HdkR: Tegra 4 was cool, since it supported nearly everything that GLES3 needed, except for real integers and actual UBOs :D
20:05 ermine1716[d]: You can run wlroots on this
20:05 gfxstrand[d]: Ah, yes, integers. Who needs those?
20:05 HdkR: I nearly got Dolphin-emu running on the SHIELD Portable /just/ before they mandated GL3 and integers :D
20:06 ermine1716[d]: Or maybe it's better to utilize this tf101...
20:07 HdkR: Was working with Keith Galocy to try and get all the features that were missing in to the Tegra driver at the time. Was told UBOs could /technically/ be done with a ton of hacking and we decided it was better to...not.
20:08 HdkR: Good times
20:18 gfxstrand[d]: UBOs are easy if you have linear 1D textures.
20:19 airlied[d]: though they can be limiting in size
20:19 gfxstrand[d]: And enough slots
20:19 gfxstrand[d]: airlied[d]: That, too.
20:19 mangodev[d]: jja2000[d]: sRGB?!? we must be in the year 2100 with these advancements
20:22 mangodev[d]: i'm curious
20:22 mangodev[d]: what *is* a `bvec_` on the GPU? is it some kind of integer bitflag? is it a (wasteful) byte per component? is there some janky memory alignment to make a 2/3/4-bit value?
20:29 mhenning[d]: mangodev[d]: It varies by driver. On nvk we have one-bit booleans for things that fit in boolean registers (not a lot) and then we spill to 32-bits per boolean. I think all memory access on nvk will use 32-bit booleans iirc.
20:36 mangodev[d]: mhenning[d]: interesting, didn't know that gpus have boolean registers, but the idea makes sense
20:37 HdkR: Predicates are basically boolean registers :P
20:39 mhenning[d]: Yeah, the predicate registers are what I'm referring to
20:43 mangodev[d]: btw
20:44 mangodev[d]: i think i captured that bug with the firefox flickering squares
20:45 mangodev[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1409277399568482457/Screencast_20250824_154340.webp?ex=68accb5b&is=68ab79db&hm=79fdd772326453dcd6b91c75373b44f326541ea6774d8073fd6880ab190c9466&
20:45 mangodev[d]: it's a little too high frequency to show in the recording fully, but you can see it a bit, and that's not a screen recording bug
20:45 mangodev[d]: oh wow did discord compress it 🫠
20:45 mangodev[d]: wait no
20:45 mangodev[d]: interesting
20:48 mangodev[d]: the bug happens a lot with modals or excessive amounts of translucency (such as modals like the one in the image above)
22:04 gfxstrand[d]: Is this new? I know we had a bunch of flicker before but I thought I fixed that.
22:24 phomes_[d]: I keep getting "job timeout, channel XX killed!" from gnome-shell and then it hangs. Scrolling youtube shorts in firefox usually triggers it. But now testing the MEM_LOCAL MR I got it 3 out of 4 times by just launching a game from steam
23:52 phomes_[d]: it must have been random. It no longer happens. Just weird that it happened three times in a row. I even rebooted between each case