14:15TimurTabi: @airlied Have you seen these errors? You're the only person I know who uses my script.
14:15TimurTabi: nouveau/extract-firmware-nouveau.py -o /lib/firmware/
14:15TimurTabi: /root/open-gpu-kernel-modules/nouveau/extract-firmware-nouveau.py:80: SyntaxWarning: invalid escape sequence '\('
14:15TimurTabi: m = re.search("DATA SIZE \(bytes\): (\d+)", line)
14:15TimurTabi: /root/open-gpu-kernel-modules/nouveau/extract-firmware-nouveau.py:83: SyntaxWarning: invalid escape sequence '\('
14:15TimurTabi: m = re.search("COMPRESSED SIZE \(bytes\): (\d+)", line)
14:15TimurTabi: Generating files for version 535.113.01
14:16TimurTabi: The fix is to add an 'r' before the string literal. I don't understand why it's failing now for me.
14:16karolherbst: python update
14:16karolherbst: it got deprecated in 3.9 or so
14:17TimurTabi: What exactly was the problem with strings without r?
14:18karolherbst: something with escaped characters
14:20karolherbst: anyway.. raw strings don't need escaping
14:21karolherbst: I think python internally works around it by not escpaing on a programing language level, so instead of passing an escaped ( to the regex engine, it's passing \( so the engine escapes it
14:25TimurTabi: I can't seem to find any information online as to why it used to work, other than this statement in the 3.9 readme: "Python 3.9 is the last version providing those Python 2 backward compatibility layers,"
14:27karolherbst: https://docs.python.org/2/library/re.html#raw-string-notation
14:27TimurTabi: I understand raw strings. What I don't understand is why that line used to work without them.
14:28karolherbst: because python worked around it
14:30TimurTabi: ok, but I see no reference to raw strings in the 3.9 or 3.10 whats-new docs, so I'd like to pinpoint exactly where it broke
14:30karolherbst: because it's not a raw string thing. The compat existed to make regex work, and you already quoted the text, it was for compat with python 2
14:31TimurTabi: Ah, that's what I was unsure about.
15:19illwieckz: Yeah, not prefixing with `r` is deprecated for a very long time, but they enabled the warning about it only recently.
16:13tiredchiku[d]: when does maxwell and pascal go eol?
16:23tiredchiku[d]: where's this page
16:24tiredchiku[d]: thanks
16:52gobrosse[d]: struggling to build NVK again, what am I doing wrong ?
16:52gobrosse[d]: error[E0277]: the trait bound `ir::OpAnnotate: DstsAsSlice` is not satisfied
16:52gobrosse[d]: --> ../src/nouveau/compiler/nak/ir.rs:5154:20
16:52gobrosse[d]: |
16:52gobrosse[d]: 5154 | impl DisplayOp for OpAnnotate {
16:52gobrosse[d]: | ^^^^^^^^^^ the trait `DstsAsSlice` is not implemented for `ir::OpAnnotate`
16:52gobrosse[d]: |
16:52gobrosse[d]: = help: the following other types implement trait `DstsAsSlice`:
16:52gobrosse[d]: ir::OpParCopy
16:52gobrosse[d]: ir::OpPhiDsts
16:52gobrosse[d]: note: required by a bound in `DisplayOp`
16:52gobrosse[d]: --> ../src/nouveau/compiler/nak/ir.rs:1445:22
16:52gobrosse[d]: |
16:52gobrosse[d]: mesa-24.1.7
16:52gobrosse[d]: bindgen 0.70.1
16:52gobrosse[d]: cbindgen 0.27.0
16:52gobrosse[d]: rustc 1.83.0-nightly (0ee7cb5e3 2024-09-10)
17:12asdqueerfromeu[d]: gobrosse[d]: Maybe it's the nightly compiler 🌃
18:14TimurTabi: airlied: karolherbst: I submitted a fix for extract-firmware-nouveau.py to our internal repo. Probably won't show up until after r570. I'm not going to go through any effort to integrate it early into a release.
18:14karolherbst: yeah, that's fine I guess
18:24TimurTabi: If you think that's an actual problem, you'll have to bring up in the next meeting, because I'll need justification to integrate it into r570 at this point.
18:34gobrosse[d]: asdqueerfromeu[d]: I used the not-nightly one that ubuntu 24.04 ships and that gave me other errors 😦 what version do you use ?
18:37karolherbst[d]: officially mesa is on 1.76
18:56asdqueerfromeu[d]: gobrosse[d]: I currently have 1.80.1 on Arch
18:57karolherbst[d]: maybe bad checkout or something?
18:57karolherbst[d]: tried wiping your build directory?
18:57karolherbst[d]: maybe some proc_macro wasn't rebuilt properly?
18:58illwieckz[d]: pavlo_kozlenko[d]: Interesting website, somehow I'm not surprised to not find a page for AMD GPUs (even some current PRO devices are not supported 🤣 )
19:07asdqueerfromeu[d]: pavlo_kozlenko[d]: There's these two fairly old branches:
19:07asdqueerfromeu[d]: https://gitlab.freedesktop.org/dwlsalmeida/mesa/-/commits/nvk-vulkan-video-rs
19:07asdqueerfromeu[d]: https://gitlab.freedesktop.org/airlied/mesa/-/commits/nvk-wip-vid-framework/?ref_type=heads
19:47mohamexiety[d]: gobrosse[d]: try wiping the build directory. rust sometimes just derps out and a clean build fixes it, I don't know
19:55gobrosse[d]: with 1.76 I get
19:55gobrosse[d]: > error[E0658]: use of unstable library feature 'offset_of'
19:55karolherbst[d]: wait....
19:55karolherbst[d]: in what file?
19:55gobrosse[d]: src/nouveau/compiler/nak_bindings.rs:13382:10
19:55gobrosse[d]: maybe my [c]bindgen is too recent ?
19:55karolherbst[d]: maybe?
19:56karolherbst[d]: offset_of! was stabilized in 1.77
19:57karolherbst[d]: mind sharing the output of `bindgen --help | grep -i offset`?
19:57karolherbst[d]: though there is also `--rust-target`
19:57karolherbst[d]: maybe we should pin it...
19:58karolherbst[d]: I can write up an MR tomorrow, because if so, I'd want to apply that one globally
19:58gobrosse[d]: 5950x is going brrrr, hold on...
19:59karolherbst[d]: could add `'--rust-target', '1.68'` to the args of `_nak_bindings_rs` inside `src/nouveau/compiler/meson.build`
19:59karolherbst[d]: ehh.. missing a `,`
20:00karolherbst[d]: ```patch
20:00karolherbst[d]: diff --git a/src/nouveau/compiler/meson.build b/src/nouveau/compiler/meson.build
20:00karolherbst[d]: index ab5bcef0ef2..f6deb32936a 100644
20:00karolherbst[d]: --- a/src/nouveau/compiler/meson.build
20:00karolherbst[d]: +++ b/src/nouveau/compiler/meson.build
20:00karolherbst[d]: @@ -78,6 +78,7 @@ _nak_bindings_rs = rust.bindgen(
20:00karolherbst[d]: '--raw-line', '#![allow(non_snake_case)]',
20:00karolherbst[d]: '--raw-line', '#![allow(non_upper_case_globals)]',
20:00karolherbst[d]: '--raw-line', 'use compiler::bindings::*;',
20:00karolherbst[d]: + '--rust-target', '1.68',
20:00karolherbst[d]: '--allowlist-type', 'drm.*',
20:00karolherbst[d]: '--allowlist-type', 'nak_.*',
20:00karolherbst[d]: '--allowlist-type', 'nouveau_ws_.*',
20:02gobrosse[d]: i'm trying to build 24.1.7, but I think I found the corresponding place to add it
20:04gobrosse[d]: ok now it's the same error in `nil` so I guess I go to town adding rust-target wherever bindgen is invoked ?
20:08gobrosse[d]: success!
20:08gobrosse[d]: won't mess running anything over ssh tonight, but I get `vulkaninfo`
20:09gobrosse[d]: thanks for the help 🙂
20:10gobrosse[d]: actually I guess I can mess with my personal machine and the 1050ti now
20:12karolherbst[d]: okay.. so I guess we really have to pin the rust target of bindgen then
20:12karolherbst[d]: that's going to be messy.... I don't know how forgiving bindgen is with accepting values to that arg
20:13karolherbst[d]: `error: invalid value '1.88' for '--rust-target <RUST_TARGET>': Got an invalid rust target. Accepted values are of the form "1.0" or "nightly".`
20:13karolherbst[d]: pain
20:21linkmauve: 1.81 is the latest stable version released, you’re living in the future.
20:21karolherbst[d]: sure, but also...
20:21karolherbst[d]: why is it only accepting specific versions...
20:21karolherbst[d]: `error: invalid value '1.71' for '--rust-target <RUST_TARGET>'` 🥲
20:22karolherbst[d]: maybe I should fix bindgen, because that's really annoying
21:27karolherbst[d]: might only work on a specific gen of hardware
21:34karolherbst[d]: sure, but it all needs hardware specific support, because for whatever reason nvidia likes to change how the video encoder/decoder works a lot between hardware gens