02:27i509vcb[d]: airlied iirc ga10b is a "gsplite" tegra?
04:50gfxstrand[d]: gfxstrand[d]: Or maybe we can just not care about kepler again?
06:24orowith2os[d]: gfxstrand[d]: But I care about Kepler :(
06:24tiredchiku[d]: kekler /j
07:25gfxstrand[d]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33959
07:25gfxstrand[d]: I blame you all for me staying up way too late typing cache flushing code. ๐
07:30gfxstrand[d]: orowith2os[d]: Well, it's not 100% clear if it's Kepler that's gonna suck or any 32-bit app on Tegra. But TK1 is definitely gonna suuuuck.
07:32orowith2os[d]: gfxstrand[d]: And we love you for it :catgirl_heart:
07:33gfxstrand[d]: Okay, I'm already not going to be asleep before 2. I really need to go to bed now. Here's hoping tomorrow I can either sleep in or take a nap.
07:34gfxstrand[d]: The branch is now CTSing on Ampere. It's not blowing up all over everywhere so maybe my refactors are at least okay.
07:35gfxstrand[d]: Maybe marysaka[d] will feel like trying it out while I sleep
07:46marysaka[d]: gfxstrand[d]: Oh no
07:48marysaka[d]: gfxstrand[d]: Today is quite a busy day for me but I will likely be able to test in ~10h :P
07:58gfxstrand[d]: No rush. It seriously doesn't need to happen this weekend. It shouldn't have happened this weekend. But... Well... https://xkcd.com/356/
07:59gfxstrand[d]: gfxstrand[d]: I'm overall pretty happy with this, I think. It's still missing an ioctl to make 32-bit happy but that's honestly pretty easy to type up.
08:00gfxstrand[d]: And we should figure out if all 32-bit userspace is cursed or just ARMv7.
08:01gfxstrand[d]: Because if we can use the flush instructions on 32-bit ARMv8 then it's really only TK1 that's totally cursed.
08:17HdkR: What sort of flush? data flush?
08:24gfxstrand[d]: Flushing caches so the GPU sees the memory.
08:24gfxstrand[d]: CPU caches
08:25gfxstrand[d]: ARMv8 allows you to do it from userspace. On ARMv7 it's privileged. Status of 32-bit ARMv8 is unclear.
08:25HdkR: It's usually a syscall on aarch32 isn't it? I don't think the coprocessor call might not be available in EL0
08:25HdkR: Good question, not sure if AArch32 added support for it to userspace
08:26gfxstrand[d]: Arm's docs claim they did. The turnip code seems to imply otherwise. I haven't tested.
08:33HdkR: Oh look at that, there is a new aarch32 DCCMVAU. I wonder if userspace can use that
08:34HdkR: Also a couple of others, that's kind of neat
08:34HdkR: "AArch32 system instructions for cache maintenance" in the docs
08:34tiredchiku[d]: I need someone to bully me into getting things done I keep procrastinating
08:35HdkR: https://developer.arm.com/documentation/100026/0103/System-Control/Register-summary/AArch32-Cache-maintenance-instructions
10:48avhe[d]: do some copy engine instance serve a special purpose, or have some specificity? i'm working with ogkm and trying to get signals for job completion with NV01_EVENT_OS_EVENT objects
10:48avhe[d]: when i instance NV2080_ENGINE_TYPE_COPY0 and launch a random operation with NVC7B5_LAUNCH_DMA_INTERRUPT_TYPE_NON_BLOCKING, the event is never signalled
10:49avhe[d]: doing the same thing with NV2080_ENGINE_TYPE_COPY2, the event is triggered
11:22avhe[d]: ok i think i figured it out: querying the capabilities with NV2080_CTRL_CMD_CE_GET_CAPS_V2, i find that instances 0 and 1 have NV2080_CTRL_CE_CAPS_CE_GRCE set, and instances 2/3 don't
12:17marysaka[d]: gfxstrand[d]: gfxstrand[d] did a quick test and fixup, VK smoke tests passes with some extra patches I have here: https://gitlab.freedesktop.org/marysaka/mesa/-/commits/nvk/tegra
12:18marysaka[d]: but considering the align issue I noticed, we might need more changes around props in general
12:27asdqueerfromeu[d]: marysaka[d]: The surname is duplicated in website title for some reason (is it some GitLab bug?)
14:58marigi[m]: ะัะธะฒัั ัััะผ ัะบัะฐัะฝััะผ.... (full message at <https://matrix.org/oftc/media/v1/media/download/AbZ6Yg1JsvIiKjMq9CKRiU8NYpo2lsTTvjrNGOT9Gy7KvQxdv9Be3lHtqY5UW5_mW0dm0sBsspLrswmiBtl7OhlCeVw4LpZwAG1hdHJpeC5vcmcvS2hLZGRCZGZFZkZMSU9uZXNpcHJCS3po>)
15:04marysaka[d]: asdqueerfromeu[d]: seems to be gitlab being drunk
15:24gfxstrand[d]: marysaka[d]: Are those memory objects just really tiny or is the cacheline size just huge?
15:24marysaka[d]: gfxstrand[d]: cache line is 64 bytes, the object were smaller than that yeah
15:25marysaka[d]: also desc_ubo_data needs adjustment in case of unaligned
15:25marysaka[d]: I also got some flush with an offset that wasn't aligned so maybe there is a need to tweak some properties? :aki_thonk:
15:28marysaka[d]: actually no the offset was 0 nevermind
15:31marysaka[d]: but I think I have something that should at least run full CTS now :aki_thonk: (currently testing dEQP-VK.glsl.* just to see)
15:34Jasper[m]: Did y'all discord folks get that spammer message aswell?
15:34marysaka[d]: yeah...
15:35Jasper[m]: Someone with op perms on irc could ban them, it's a matrix.org account though
15:36marysaka[d]: gfxstrand[d]: I force pushed my changes, seems to run well now
15:40Jasper[m]: Btw, about the kepler talk. I don't have a Norrin board, but I do have a Nexus 9 lying around. An upstream version of Linux is working up to some point, but I'm not sure about the GPU and Panel (on the kernel side). Would it be useful to test whatever you need on that?
15:40Jasper[m]: It's ARM64
15:41Jasper[m]: Also have a Jetson TX2 and some regular X1 devices as I said before, but that wasn't a direct issue from what I gathered from the conversation here.
15:51marysaka[d]: glsl tests did run yay
15:51marysaka[d]: Test run totals:
15:51marysaka[d]: Passed: 17068/20718 (82.4%)
15:51marysaka[d]: Failed: 55/20718 (0.3%)
15:51marysaka[d]: Not supported: 3595/20718 (17.4%)
15:51marysaka[d]: Warnings: 0/20718 (0.0%)
15:51marysaka[d]: Waived: 0/20718 (0.0%)
15:51marysaka[d]: and no faults in sight
15:52karolherbst: I almost accidentally banned marysaka[d] ๐
15:52marysaka[d]: oh no
15:53Jasper[m]: I've seen this tactic in games before where hackers would exploit name based selection systems when banning people
15:53Jasper[m]: TF2 was a big one I think
15:53karolherbst: what did they do?
15:54Jasper[m]: Steam will separate name and id for a player. Hackers would clone a name of a player and change names a lot of times while aimbotting.
15:55Jasper[m]: TF2 had a player vote system where people will need to manually choose a player name
15:55Jasper[m]: And it will likely ban the wrong person lol
16:22gfxstrand[d]: marysaka[d]: Yeah, I forgot to align those.
16:25gfxstrand[d]: The device memory thing...
16:25gfxstrand[d]: 1. We should assert that offsets are alighed
16:25gfxstrand[d]: 2. Assert that either the range is aligned or offset+range is the whole allocation size
16:25gfxstrand[d]: 3. Align up the range.
16:25gfxstrand[d]: All with comments, of course.
16:26gfxstrand[d]: For descriptors, we just need to align stuff.
16:29gfxstrand[d]: marysaka[d]: That's a few more fails than I saw on my desktop Maxwell B. So maybe some tiny shader weirdness? In any case, I think flushing works. ๐
16:32gfxstrand[d]: I might play around with my Switch a bit next week. That's the only Tegra I have ATM. I should have a Xavier on my desk in a couple months.
16:34gfxstrand[d]: Jasper[m]: The big thing with Kepler is getting it working well at all. The Arm cache flushing stuff makes it worse, of course, but it's by far not the only blocker for TK1s.
16:35gfxstrand[d]: Which is to say that desktop Kepler is also a mess right now.
16:36gfxstrand[d]: gfxstrand[d]: But I really need to get my last couple NVK patches fixed up and landed and switch everyone to Zink and write the blog post. That's higher priority than Tegra.
16:37marysaka[d]: *nods nods*
16:37marysaka[d]: but hey at least we know we don't need syncpoints for this now ๐
16:40gfxstrand[d]: Yup
16:40gfxstrand[d]: We just need a new sync ioctl.
16:41gfxstrand[d]: Buy maybe only for Kepler. We need to figure that out.
16:42marysaka[d]: it would also matter for nvdec on newer gen if that ever happen
16:42marysaka[d]: but yeah it's really a GK20A problem
16:42marysaka[d]: it also have very funky things like needing to actually incrementing the syncpoint two time for it to actually work
16:53Jasper[m]: @_oftc_gfxstrand[d]:matrix.org the comparison to desktop Kepler makes it clear, thanks! As far as arm platforms go, TK1 may be bigger than X1 due to chromebooks hence why it's interesting to me and probably the other person from before
16:54Jasper[m]: But we'll see, can't complain with the work on X1 (and the probable improvements it gives on newer platforms)
16:58gfxstrand[d]: Yeah, there's enough people talking about it now that I suspect Kepler will start to happen before too long.
16:58gfxstrand[d]: The flushing stuff is hopefully fairly minor compared to writing two new compiler backends. :blobcatnotlikethis:
16:59gfxstrand[d]: marysaka[d]: What matters for nvdec?
17:02marysaka[d]: gfxstrand[d]: it is its own hardware block outside the GPU (that also have a kernel driver upstream) so you need to sync with it via host1x
17:03marysaka[d]: command submissions are different too but overall it's the same thing
17:03marysaka[d]: just goes via host1x
17:08gfxstrand[d]: Ah
17:17gfxstrand[d]: I should probably pull the turnip code I copied+posted into a util/ helper.
17:18marysaka[d]: gfxstrand[d]: changed my code for that, the commits should be pulleable now :SoniiPray:
17:19gfxstrand[d]: Cool
17:19gfxstrand[d]: Also, I think my implementation of Invalidate might be wrong...
17:20gfxstrand[d]: I need to think more about it.
17:20gfxstrand[d]: But on a brain that's gotten some sleep. ๐
17:21marysaka[d]: yeah uum cache maintenace code is always fun to review :blobcatnotlikethis:
17:22marysaka[d]: I can now cross "making NVK run on TX1 so I could play emulators with NVK on my Switch at some point" of my mental list :March_Proud:
17:28gfxstrand[d]: gfxstrand[d]: Okay, I left myself a note.
17:59gfxstrand[d]: Worst case, we can always use the kernel if we need a real invalidate.
19:16gfxstrand[d]: marysaka[d]: I pulled it in and squashed the flush/invalidate patch. I ended up not using the descriptor set patch because I realized upon looking at it that it was even more busted than you thought it was. :blobcatnotlikethis:
19:16gfxstrand[d]: So I think I fixed it
19:18marysaka[d]: o-oh :blobcatnotlikethis:
23:32pavlo_kozlenko[d]: nouveau: kernel rejected pushbuf: No such device
23:32pavlo_kozlenko[d]: nouveau: ch14: krec 0 pushes 1 bufs 2 relocs 0
23:32pavlo_kozlenko[d]: nouveau: ch14: buf 00000000 00000010 00000004 00000004 00000000 0x7f9a44279000 0xf20000 0x80000
23:32pavlo_kozlenko[d]: nouveau: ch14: buf 00000001 0000001b 00000002 00000000 00000002 (nil) 0x271000 0x4000
23:32pavlo_kozlenko[d]: nouveau: ch14: psh 00000000 0000003a58 0000003abc
23:32pavlo_kozlenko[d]: nouveau: 0x20040360
23:32pavlo_kozlenko[d]: nouveau: 0x00000000
23:32pavlo_kozlenko[d]: nouveau: 0x00000000
23:32pavlo_kozlenko[d]: nouveau: 0x00000000
23:32pavlo_kozlenko[d]: nouveau: 0x00000000
23:32pavlo_kozlenko[d]: nouveau: 0x200203fd
23:32pavlo_kozlenko[d]: nouveau: 0x00800000
23:32pavlo_kozlenko[d]: nouveau: 0x00800000
23:32pavlo_kozlenko[d]: nouveau: 0x20010487
23:32pavlo_kozlenko[d]: nouveau: 0x00000001
23:32pavlo_kozlenko[d]: nouveau: 0x20090200
23:32pavlo_kozlenko[d]: nouveau: 0x00000000
23:32pavlo_kozlenko[d]: nouveau: 0x00271000
23:32pavlo_kozlenko[d]: nouveau: 0x00000080
23:32pavlo_kozlenko[d]: nouveau: 0x00000080
23:32pavlo_kozlenko[d]: nouveau: 0x000000f3
23:32pavlo_kozlenko[d]: nouveau: 0x00000040
23:32pavlo_kozlenko[d]: nouveau: 0x00000001
23:32pavlo_kozlenko[d]: nouveau: 0x00000000
23:32pavlo_kozlenko[d]: nouveau: 0x00000000
23:32pavlo_kozlenko[d]: nouveau: 0x80000574
23:32pavlo_kozlenko[d]: nouveau: 0x80010556
23:32pavlo_kozlenko[d]: nouveau: 0x60010674
23:32pavlo_kozlenko[d]: nouveau: 0x0000003c
23:32pavlo_kozlenko[d]: nouveau: 0x80010556
23:32pavlo_kozlenko[d]: celluloid: ../nouveau/pushbuf.c:730: nouveau_pushbuf_data: Assertion `kref' failed.
23:32pavlo_kozlenko[d]: celluloid '/home/pavlo/2025-03-10 01-24-42.mp4'
23:32pavlo_kozlenko[d]: and sometimes, instead, just a blue screen
23:32pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1348438422079143947/2025-03-10_01-31-12.png?ex=67cf76a4&is=67ce2524&hm=6c9879140b269e9a02101e04dbcb1f369f19cd340a2f66df8331898f118c1b21&
23:34pavlo_kozlenko[d]: obs: info: VAAPI: API version 1.17
23:34pavlo_kozlenko[d]: info: FFmpeg VAAPI H264 encoding not supported
23:34pavlo_kozlenko[d]: =(
23:35orowith2os[d]: Need more system details
23:35pavlo_kozlenko[d]: gey me command
23:36orowith2os[d]: Oh wait. Mesa 22. Uhhhh....
23:36pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1348439257064149043/message.txt?ex=67cf776b&is=67ce25eb&hm=6b6168649b9855573f78ce233050226451e4a9151b997586c686dba70c27d6d1&
23:36pavlo_kozlenko[d]: orowith2os[d]: i can start ubuntu 24.04, but I think the problem will remain
23:38orowith2os[d]: Something on mesa 24 or 25 would be nice
23:40pavlo_kozlenko[d]: 2 min wait
23:48pavlo_kozlenko[d]: orowith2os[d]: ```celluloid '/home/mint/Desktop/2025-03-10 01-24-42.mp4'
23:48pavlo_kozlenko[d]: Cannot load libcuda.so.1
23:48pavlo_kozlenko[d]: nouveau: kernel rejected pushbuf: No such device
23:48pavlo_kozlenko[d]: nouveau: ch16: krec 0 pushes 1 bufs 2 relocs 0
23:48pavlo_kozlenko[d]: nouveau: ch16: buf 00000000 00000011 00000004 00000004 00000000 0x7a4a63efc000 0xf20000 0x80000
23:48pavlo_kozlenko[d]: nouveau: ch16: buf 00000001 0000001d 00000002 00000000 00000002 (nil) 0x1520000 0x8000
23:48pavlo_kozlenko[d]: nouveau: ch16: psh 00000000 00000039e8 0000003a4c
23:48pavlo_kozlenko[d]: nouveau: 0x20040360
23:48pavlo_kozlenko[d]: nouveau: 0x00000000
23:48pavlo_kozlenko[d]: nouveau: 0x00000000
23:48pavlo_kozlenko[d]: nouveau: 0x00000000
23:48pavlo_kozlenko[d]: nouveau: 0x00000000
23:48pavlo_kozlenko[d]: nouveau: 0x200203fd
23:48pavlo_kozlenko[d]: nouveau: 0x00800000
23:48pavlo_kozlenko[d]: nouveau: 0x00800000
23:48pavlo_kozlenko[d]: nouveau: 0x20010487
23:48pavlo_kozlenko[d]: nouveau: 0x00000001
23:48pavlo_kozlenko[d]: nouveau: 0x20090200
23:48pavlo_kozlenko[d]: nouveau: 0x00000000
23:48pavlo_kozlenko[d]: nouveau: 0x01520000
23:48pavlo_kozlenko[d]: nouveau: 0x00000080
23:48pavlo_kozlenko[d]: nouveau: 0x00000080
23:48pavlo_kozlenko[d]: nouveau: 0x000000d5
23:48pavlo_kozlenko[d]: nouveau: 0x00000040
23:48pavlo_kozlenko[d]: nouveau: 0x00000001
23:48pavlo_kozlenko[d]: nouveau: 0x00000000
23:48pavlo_kozlenko[d]: nouveau: 0x00000000
23:48pavlo_kozlenko[d]: nouveau: 0x80000574
23:48pavlo_kozlenko[d]: nouveau: 0x80010556
23:48pavlo_kozlenko[d]: nouveau: 0x60010674
23:48pavlo_kozlenko[d]: nouveau: 0x0000003c
23:48pavlo_kozlenko[d]: nouveau: 0x80010556
23:48pavlo_kozlenko[d]: celluloid: ../nouveau/pushbuf.c:730: nouveau_pushbuf_data: Assertion `kref' failed.
23:48pavlo_kozlenko[d]: Aborted (core dumped)
23:48pavlo_kozlenko[d]: ```C
23:48pavlo_kozlenko[d]: $ vainfo
23:48pavlo_kozlenko[d]: libva info: VA-API version 1.20.0
23:48pavlo_kozlenko[d]: libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so
23:48pavlo_kozlenko[d]: libva info: Found init function __vaDriverInit_1_20
23:48pavlo_kozlenko[d]: libva info: va_openDriver() returns 0
23:48pavlo_kozlenko[d]: vainfo: VA-API version: 1.20 (libva 2.12.0)
23:48pavlo_kozlenko[d]: vainfo: Driver version: Mesa Gallium driver 24.0.9-0ubuntu0.3 for NV108
23:48pavlo_kozlenko[d]: vainfo: Supported profile and entrypoints
23:48pavlo_kozlenko[d]: VAProfileMPEG2Simple : VAEntrypointVLD
23:48pavlo_kozlenko[d]: VAProfileMPEG2Main : VAEntrypointVLD
23:48pavlo_kozlenko[d]: VAProfileVC1Simple : VAEntrypointVLD
23:48pavlo_kozlenko[d]: VAProfileVC1Main : VAEntrypointVLD
23:48pavlo_kozlenko[d]: VAProfileVC1Advanced : VAEntrypointVLD
23:48pavlo_kozlenko[d]: VAProfileH264ConstrainedBaseline: VAEntrypointVLD
23:49pavlo_kozlenko[d]: VAProfileH264Main : VAEntrypointVLD
23:49pavlo_kozlenko[d]: VAProfileH264High : VAEntrypointVLD
23:49pavlo_kozlenko[d]: VAProfileH264High10 : VAEntrypointVLD
23:49pavlo_kozlenko[d]: VAProfileNone : VAEntrypointVideoProc
23:49pavlo_kozlenko[d]: ```C
23:49pavlo_kozlenko[d]: [ 500.495866] nouveau 0000:01:00.0: fifo: fault 01 [WRITE] at 0000000001528000 engine 00 [GR] client 0f [GPC0/PROP_0] reason 02 [PTE] on channel 17 [007f514000 vo[3998]]
23:49pavlo_kozlenko[d]: [ 500.495888] nouveau 0000:01:00.0: fifo:000000:0011:[vo[3998]] rc scheduled
23:49pavlo_kozlenko[d]: [ 500.495894] nouveau 0000:01:00.0: fifo:000000: rc scheduled
23:49pavlo_kozlenko[d]: [ 500.495953] nouveau 0000:01:00.0: fifo:000000:0011:0011:[vo[3998]] errored - disabling channel
23:49pavlo_kozlenko[d]: [ 500.495966] nouveau 0000:01:00.0: Xorg[1627]: channel 17 killed!
23:51pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1348443077441753149/message.txt?ex=67cf7afa&is=67ce297a&hm=3b85ef9674f36deecd766a1e41cce5e8841aa657464ed542fb6379cb13d779b5&
23:51pavlo_kozlenko[d]: gnu GDB
23:56redsheep[d]: Kepler is still kepler