00:01 fdobridge: <k​arolherbst🐧🦀> mhh.. maybe it would be faster to just transfer it to the first device context, but yeah...
00:02 fdobridge: <k​arolherbst🐧🦀> but whatever... not sure how big the overhead is, probably not big enough that it actually matters
00:05 fdobridge: <a​irlied> should get @gfxstrand to see if it cuts down on cts times, though if we don't crash we shouldn't be hitting the full path everytime I don't think
00:05 fdobridge: <a​irlied> okay solving this is going to involve learning more about userd
00:07 fdobridge: <g​fxstrand> Yeah, I doubt the context create/destroy is hurting anything. Also, we actually fully close the FD when we're done.
00:07 fdobridge: <g​fxstrand> Eventually, I'd like the kernel to do that on boot and just give us a query.
00:07 fdobridge: <k​arolherbst🐧🦀> we do have a device info UAPI thing, but it doesn't have everything...
00:08 fdobridge: <k​arolherbst🐧🦀> could extend it or something
00:08 fdobridge: <k​arolherbst🐧🦀> the thing is just, that the class id stuff is a bit odd and some GPUs might support more than just one
00:08 fdobridge: <k​arolherbst🐧🦀> but yeah... maybe the interfaces should be reworked so they don't require a context?
01:36 fdobridge: <e​sdrastarsis> Arch Linux Meson package has been updated to 1.3.0 :ferris_happy:
01:59 fdobridge: <a​irlied> okay I have a patch, not sure it's correct but should suffice
02:08 fdobridge: <a​irlied> @gfxstrand @mhenning patch on the list and attached to https://gitlab.freedesktop.org/drm/nouveau/-/issues/274
02:09 fdobridge: <g​fxstrand> I'll give it a try in the morning
02:10 fdobridge: <e​sdrastarsis> same
08:26 babyfaceolder: I said we go very very far to torture those people in excess when I meet those rats near me again, this scum from Finland as well as their friends get slaughtered when they harass me again.
12:37 fdobridge: <m​arysaka> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26288
13:31 fdobridge: <k​arolherbst🐧🦀> btw, `.primitive_id = NVC597_SET_DRAW_CONTROL_A_PRIMITIVE_ID_FIRST,` I think that can be `.primitive_id = PRIMITIVE_ID_FIRST,` no?
13:31 fdobridge: <k​arolherbst🐧🦀> (and other places)
13:32 fdobridge: <k​arolherbst🐧🦀> We've added those shortcuts, because why not
13:32 fdobridge: <k​arolherbst🐧🦀> also.. less likely to make mistakes
13:33 fdobridge: <m​arysaka> oh nice
13:34 fdobridge: <k​arolherbst🐧🦀> it's evil macro magic though 😄
13:34 fdobridge: <m​arysaka> but it looks cleaner at least 😄
13:34 fdobridge: <k​arolherbst🐧🦀> yeah
13:35 fdobridge: <k​arolherbst🐧🦀> I came up witht he trick originally for codegen
13:35 fdobridge: <k​arolherbst🐧🦀> https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/nouveau/codegen/nv50_ir.h?ref_type=heads#L262
16:16 elderbabyface: This is a duo of daniels and airlied who ban all people, and fart on sanity, and their new fucking pederast karolherbst, all this team has no brain attached to their human organic structures, might as well you should leave all that shit behind, and never bet on those doing any of the work anymore, we are looking at the possibility that the team is either terrorists who claim shit or mentally ill entirely.
17:04 fdobridge: <e​sdrastarsis> GTA IV low settings
17:04 fdobridge: <e​sdrastarsis> https://cdn.discordapp.com/attachments/1034184951790305330/1176206471835431003/20231120_14h03m23s_grim.jpeg?ex=656e06a3&is=655b91a3&hm=8049f069390631bccd4674551ef3b12b726d73ba04d0020f69d7861ab2cd42ff&
17:09 fdobridge: <g​fxstrand> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26291
17:09 fdobridge: <g​fxstrand> Much better!
17:11 fdobridge: <m​arysaka> The end of the instruction screaming 🎉
17:14 fdobridge: <g​fxstrand> Yeah, the end result is... almost pleasant?!?
17:14 fdobridge: <g​fxstrand> I'm a little surprised at just how much better it is. I expected it to be better but dang...
17:20 fdobridge: <g​fxstrand> Is that with GSP or no?
17:25 fdobridge: <g​fxstrand> I'm a little tempted to make ld/st/atom print `ldg` instead of `ld.foo.global`.
17:26 fdobridge: <m​arysaka> Yeah it's clear what are the dest and sources + everything being aligned is nice 😄
17:26 fdobridge: <g​fxstrand> Or maybe `ld.g`
17:30 fdobridge: <e​sdrastarsis> with GSP and NAK
17:32 fdobridge: <g​fxstrand> Cool. Clearly more perf work to do. 😅
17:40 fdobridge: <a​irlied> ZCULL is probably a big chunk
17:42 fdobridge: <g​fxstrand> Yeah, could be. I'm not familiar with how that works.
17:47 fdobridge: <a​irlied> Just from past experience things with Z usually have a large improvement :-p
17:48 fdobridge: <g​fxstrand> well, yeah.
17:54 fdobridge: <h​untercz122> 😳 last time it didn't work for me with NAK+GSP
17:55 anarsoul: out of curiousity, do you have ISA documentation?
18:07 fdobridge: <g​fxstrand> We have PTX documentation
18:08 fdobridge: <!​[NVK Whacker] Echo (she) 🇱🇹> Hello 👋
18:08 anarsoul: https://docs.nvidia.com/cuda/parallel-thread-execution/index.html ?
18:15 fdobridge: <g​fxstrand> Yup! Those are the ones.
18:16 fdobridge: <a​irlied> @karolherbst also has some NDA docs that describe instructions but not encoding
18:16 fdobridge: <a​irlied> @gfxstrand did you get that patch into a cts run?
18:26 fdobridge: <g​fxstrand> Haven't tried yet
18:55 fdobridge: <g​fxstrand> Running now
22:03 fdobridge: <g​fxstrand> @karolherbst What's the status of video stuff? And what APIs does nouveau gallium support?
22:04 fdobridge: <k​arolherbst🐧🦀> 1. kinda terrible 2. should be vdpau and vaapi
22:05 fdobridge: <k​arolherbst🐧🦀> it's annoying, because if users are running into issues (and they do) I can never trigger them myself. But the way video acceleration works is, that you need to pull some firmware files from the blob driver (via a script) and then make sure it's all available
22:14 fdobridge: <g​fxstrand> Oh, are they not re-distributable?
22:15 fdobridge: <a​irlied> They are in gsp moving forward
22:16 fdobridge: <a​irlied> But I think parts of the programming has changed
22:19 fdobridge: <k​arolherbst🐧🦀> correct
22:19 fdobridge: <k​arolherbst🐧🦀> yeah... I think 1st gen kepler was the last thing reverse engineered anyway and since then a lot of stuff changed
22:20 fdobridge: <k​arolherbst🐧🦀> and given that we can't really do much pre GSP....
22:20 fdobridge: <g​fxstrand> I wonder if we can at least get nvidia to fix the redistribution part so we can lock at a version and fix bugs.
22:28 fdobridge: <a​irlied> we should probably concentrate on getting gsp working first
22:28 fdobridge: <a​irlied> I'm not sure how compatible the older interfaces are with vulkan video either
22:29 fdobridge: <a​irlied> I did a small bit of reverse engineering a couple of weeks back, but I think I need to step to better tools than cmd stream dump
22:32 fdobridge: <a​irlied> @marysaka got any pointers to what you've done? (maybe a blog post 🙂
22:32 fdobridge: <m​arysaka> For NVDEC?
22:33 fdobridge: <a​irlied> no just for normal cmd bufs
22:33 fdobridge: <a​irlied> I also have to figure out how to wire nvdec up to the uapi properly
22:34 fdobridge: <a​irlied> I started dumping memory at EndCommandBuffer but can't find the nvdec cmd stream, I can find the h264 decode header but not the commans
22:34 fdobridge: <a​irlied> I started dumping memory at EndCommandBuffer but can't find the nvdec cmd stream, I can find the h264 decode header but not the commands (edited)
22:35 fdobridge: <m​arysaka> hmm I haven't dig into NVDEC on dGPU
22:35 fdobridge: <m​arysaka> only had experience with tegra submissions with host1x
22:35 fdobridge: <a​irlied> I'm looking for what you've done to dump mmio space
22:36 fdobridge: <m​arysaka> oh
22:36 fdobridge: <m​arysaka> I mitm all ioctl, and keep track of all mapping in the process and detect when a GPFIFO class is allocated to start tracking that range
22:37 fdobridge: <m​arysaka> and when I intercept that channel creation, I reprotect the page with the GPFIFO mapping as read only
22:37 fdobridge: <m​arysaka> that way I catch the write to GPPut with a segfault handler
22:38 fdobridge: <m​arysaka> (do the dumping, reprotect as read write, single step, reportect as read only and continue execution)
22:39 fdobridge: <a​irlied> okay got a link to that stuff?
22:39 fdobridge: <m​arysaka> oh sure https://gitlab.freedesktop.org/marysaka/envyhooks
22:43 fdobridge: <a​irlied> I wrote up all the boilerplate code for nvk h264 decode, but more RE is needed to make progress, I also considered trying to get vaapi into shape for newer hw
22:44 fdobridge: <m​arysaka> Are you aware about averne's work btw?
22:46 fdobridge: <a​irlied> nope hadn't see it
22:47 fdobridge: <m​arysaka> I think they had some stuffs to get ffmpeg working with h264/hevc entirely on TX1
22:47 fdobridge: <a​irlied> yeah we have the tx1 api, but tegra is different programming model
22:47 fdobridge: <m​arysaka> ah..
22:47 fdobridge: <a​irlied> I think once I get to submit work to nvdec that other bits are fairly similiar
22:48 fdobridge: <m​arysaka> ah right because everything use host1x 🙃
22:49 fdobridge: <g​fxstrand> @asdqueerfromeu You may want to rebase now that I've wired up KHR_pipeline_executable_properties, sync2, and the NAK print rework. Some of that will make debugging a lot easier
22:49 fdobridge: <a​irlied> https://gitlab.freedesktop.org/airlied/mesa/-/tree/nvk-wip-vid-framework?ref_type=heads is my initial frameworking
22:50 fdobridge: <a​irlied> but I've got a amd encode and intel encode bug to track down before I should expend too much on this