07:16 Sid127: airlied[d]: I am once again asking about the status of that one SG_DEBUG issue (out of curiosity)
10:58 ahuillet[d]: stupid question I'm sure - I want to trace Talos with renderdoc on NVK, but it fails at startup: ```INF: * Desktop settings...
10:58 ahuillet[d]: INF: Color depth: 32-bit
10:58 ahuillet[d]: INF: Desktop resolution: 1920 x 1200
10:58 ahuillet[d]: INF: [Vulkan] Detected devices:
10:58 ahuillet[d]: INF: #1 (0x084E0FF0): NVIDIA GeForce RTX 3080 (NVK GA102) (discrete)
10:58 ahuillet[d]: INF: Using device #1 (0x084E0FF0)...
10:58 ahuillet[d]: INF: [Vulkan] No transfer nor compute queues present; copy operations will use graphics queue.
10:58 ahuillet[d]: INF: [Vulkan] Using immediate presentation mode.
10:58 ahuillet[d]: INF: Trying to allocate device optimal memory pool of 128 MB for 4 KB object... allocated 128 MB in device optimal memory pool.
10:58 ahuillet[d]: INF: Trying to allocate device linear memory pool of 64 MB for 0 KB object... allocated 64 MB in device linear memory pool.
10:58 ahuillet[d]: INF: failed! (15552 MB of VRAM already allocated)
10:58 ahuillet[d]: INF: Trying to allocate device linear memory pool of 64 MB for 0 KB object... allocated 64 MB in device linear memory pool.
10:58 ahuillet[d]: INF: failed! (15616 MB of VRAM already allocated)
10:58 ahuillet[d]: INF: Trying to allocate host linear memory pool of 64 MB for 0 KB object... allocated 64 MB in host linear memory pool.
10:58 ahuillet[d]: INF: failed! (21072 MB of VRAM already allocated)
10:58 ahuillet[d]: INF: Trying to allocate host linear memory pool of 64 MB for 0 KB object... allocated 64 MB in host linear memory pool.
10:58 ahuillet[d]: INF: failed! (21136 MB of VRAM already allocated)
10:58 ahuillet[d]: ERR: Vulkan: Out of memory! (CreateBuffer, allocate memory)
10:58 ahuillet[d]: INF: Crash! (Segmentation fault)
10:58 ahuillet[d]: works fine without renderdoc. any idea what's going on?
11:05 ahuillet[d]: I can trace vkcube however.
11:08 redsheep[d]: Wow that's a whole lot of vram allocated for a 10 or 12 GB card
11:10 redsheep[d]: I think Talos usually only asks for a couple. I haven't had trouble with renderdoc on heaven, but I haven't tried anything as ambitious as talos
11:12 ahuillet[d]: tracing Talos on the blob definitely doesn't exhaust a RTX 3080's VRAM, so something else must be going on
11:12 redsheep[d]: Maybe it's doing something that massively inflates what it requests, could try with minimum texture and render resolution
11:15 redsheep[d]: And no msaa of course
11:41 ahuillet[d]: I'm a renderdoc newbie, since at NV we normally rather use Nsight Graphics which I don't think is going to run on top of nvk
11:41 ahuillet[d]: though it would be an interesting experiment
11:45 pixelcluster[d]: the basics should work on any driver
11:45 pixelcluster[d]: perf counters of course not
11:45 pixelcluster[d]: I've used Nsight on top of RADV one time too
11:45 tiredchiku[d]: was gonna say, I remember some folks talking about nsight on radv
11:46 tiredchiku[d]: I think it was for vkd3d-proton work
11:46 ahuillet[d]: I guess I'll give it a try, but I'd like to figure out what's wrong with Renderdoc that it supposedly exhaust my VRAM
11:53 pavlo_kozlenko[d]: https://launchpad.net/~ernstp/+archive/ubuntu/mesaaco
11:53 pavlo_kozlenko[d]: mesa ver 24.2.0
12:02 pavlo_kozlenko[d]: pavlo_kozlenko[d]: Mesa is definitely compiled with paramenr NVK?) Who know? Because there is not even a .json file in /usr/share/vulkan/icd.d/
12:39 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258764219659325541/image.png?ex=66893b08&is=6687e988&hm=200f5e334f782405b8335ac093ed6e50f55b94d677ec6a897761258dbaea5199&
12:39 pavlo_kozlenko[d]: pavlo@minthome:~/mesa/build$ ninja
12:39 pavlo_kozlenko[d]: [21/228] Compiling Rust source ../src/nouveau/compiler/nak/lib.rs
12:39 pavlo_kozlenko[d]: FAILED: src/nouveau/compiler/libnak_rs.a
12:39 pavlo_kozlenko[d]: rustc -C linker=cc --color=always -C debug-assertions=yes -C overflow-checks=no --crate-type staticlib --edition=2021 -C opt-level=2 -g --crate-name nak_rs --emit dep-info=src/nouveau/compiler/nak_rs.d --emit link=src/nouveau/compiler/libnak_rs.a --out-dir src/nouveau/compiler/libnak_rs.a.p -C metadata=ed48680@@nak_rs@sta -Aclippy::identity_op -Aclippy::len_zero -Aclippy::manual_range_contains
12:39 pavlo_kozlenko[d]: -Aclippy::needless_range_loop -Aclippy::redundant_field_names -Aclippy::upper_case_acronyms -Aclippy::vec_box -Aclippy::write_with_newline -Anon_snake_case --extern bitview=src/nouveau/compiler/libbitview.rlib --extern nak_bindings=src/nouveau/compiler/libnak_bindings.rlib --extern nak_ir_proc=src/nouveau/compiler/libnak_ir_proc.so --extern paste=subprojects/paste-1.0.14/libpaste.so --extern
12:39 pavlo_kozlenko[d]: nvidia_headers=src/nouveau/headers/libnvidia_headers.rlib -Lsrc/nouveau/compiler -Lsubprojects/paste-1.0.14 -Lsrc/nouveau/headers -C 'link-arg=-Wl,-rpath,$ORIGIN/:$ORIGIN/../../../subprojects/paste-1.0.14:/home/pavlo/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib' -C link-arg=-Wl,-rpath-link,/home/pavlo/mesa/build/src/nouveau/compiler:/home/pavlo/.rustup/toolchains/stable-x86_64-unknown-
12:39 pavlo_kozlenko[d]: linux-gnu/lib -C link-arg=-Wl,-rpath-link,/home/pavlo/mesa/build/subprojects/paste-1.0.14:/home/pavlo/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib ../src/nouveau/compiler/nak/lib.rs
12:39 pavlo_kozlenko[d]: error[E0308]: mismatched types
12:39 pavlo_kozlenko[d]: --> ../src/nouveau/compiler/nak/nir_instr_printer.rs:37:17
12:39 pavlo_kozlenko[d]: |
12:39 pavlo_kozlenko[d]: 35 | let bytes = std::slice::from_raw_parts(
12:40 pavlo_kozlenko[d]: | -------------------------- arguments to this function are incorrect
12:40 pavlo_kozlenko[d]: 36 | stream.buffer as *const u8,
12:40 pavlo_kozlenko[d]: 37 | stream.written,
12:40 pavlo_kozlenko[d]: | ```
12:40 pavlo_kozlenko[d]: ^^^^^^^^^^^^^^ expected `usize`, found `u64`
12:40 pavlo_kozlenko[d]: |
12:40 pavlo_kozlenko[d]: note: function defined here
12:40 pavlo_kozlenko[d]: --> /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/slice/raw.rs:93:21
12:40 pavlo_kozlenko[d]: help: you can convert a `u64` to a `usize` and panic if the converted value doesn't fit
12:40 pavlo_kozlenko[d]: |
12:40 pavlo_kozlenko[d]: 37 | stream.written.try_into().unwrap(),
12:40 pavlo_kozlenko[d]: | ++++++++++++++++++++
12:40 pavlo_kozlenko[d]: error: aborting due to 1 previous error
12:40 pavlo_kozlenko[d]: For more information about this error, try `rustc --explain E0308`.
12:40 pavlo_kozlenko[d]: [26/228] Compiling C object src/nouveau/compiler/libnak.a.p/meson-generated_.._.._headers_nv_push_clc597.c.o
12:40 pavlo_kozlenko[d]: ninja: build stopped: subcommand failed.
12:40 pavlo_kozlenko[d]: pavlo@minthome:~/mesa/build$
12:40 pavlo_kozlenko[d]: 😵‍💫
12:44 pavlo_kozlenko[d]: i replaced```
12:44 pavlo_kozlenko[d]: let bytes = std::slice::from_raw_parts(
12:44 pavlo_kozlenko[d]: stream.buffer as *const u8,
12:44 pavlo_kozlenko[d]: stream.written,
12:44 pavlo_kozlenko[d]: );```
12:44 pavlo_kozlenko[d]: ```or
12:44 pavlo_kozlenko[d]: let bytes = std::slice::from_raw_parts(
12:44 pavlo_kozlenko[d]: stream.buffer as *const u8,
12:44 pavlo_kozlenko[d]: stream.written.try_into().unwrap(),
12:44 pavlo_kozlenko[d]: );```
12:44 pavlo_kozlenko[d]: /mesa/src/nouveau/compiler/nak/nir_instr_printer.rs
12:47 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258766186770862181/image.png?ex=66893cdd&is=6687eb5d&hm=5f0c8d45537f7e9dc873ecaf46314908f18e392010acc69918c32b3a410fec22&
12:47 pavlo_kozlenko[d]: 😁
12:49 pavlo_kozlenko[d]: asdqueerfromeu[d]: I build mesa for first time in ubuntu)
12:50 triang3l[d]: pavlo_kozlenko[d]: > GK
12:50 triang3l[d]: Amazing that it's so close except for that texture (though color attachment output works) or sampling of it :happy_gears:
12:50 pavlo_kozlenko[d]: 😁
12:52 pavlo_kozlenko[d]: karolherbst[d]: maybe, it's time to make discord channel "guide"?
12:52 pavlo_kozlenko[d]: I want to add instructions for building nvk on ubuntu
12:53 triang3l[d]: pavlo_kozlenko[d]: With one link to <https://docs.mesa3d.org/install.html>? :gears:
12:53 triang3l[d]: Though a complete list of build dependencies isn't that trivial to get, I think
12:53 triang3l[d]: and that'd be super useful (but possibly outdated from time to time)
12:54 triang3l[d]: because apt build-dep didn't work for me as far as I remember for some reason, yeah
12:54 triang3l[d]: for me it was just 🥷 🥷 🥷 invocations and installing what was in error messages until it worked :blobcatnotlikethis:
12:55 triang3l[d]: but there are optional but potentially nice things that are easier to miss
12:55 triang3l[d]: like LLVM for AMD drivers but who doesn't have it 🙃
12:56 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258768363878879242/image.png?ex=66893ee4&is=6687ed64&hm=2da2904c5543f327585ac9163130afe142cbf9e5beeedf21785cbd2fd9ebe818&
12:56 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258768364160159805/image.png?ex=66893ee4&is=6687ed64&hm=2376b0c478f11544969762a5808d61cd6a35b6beb599a07ca80ae364c699261c&
12:56 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258768364340248616/image.png?ex=66893ee4&is=6687ed64&hm=88588af91d783141f686cb0747a7c764c7d8699bb275aa78849d89eabc9a3b06&
12:56 tiredchiku[d]: ~~I don't think we've ever had anyone come in here asking for what dependencies are needed or how to compile mesa~~
12:58 ellagay[d]: pavlo_kozlenko[d]: Wouldn't it be better to write that guide on a public wiki page?
12:58 pavlo_kozlenko[d]: triang3l[d]: but it crashed on resize window
12:58 pavlo_kozlenko[d]: ellagay[d]: Yes
12:59 tiredchiku[d]: mesa's installation docs are enough tbh
12:59 tiredchiku[d]: meson does prompt you to install missing dependencies
13:01 triang3l[d]: pavlo_kozlenko[d]: At least _it_ crashed while resizing and not some other application whose memory was overwritten :blobcatnotlikethis:
13:38 triang3l[d]: pavlo_kozlenko[d]: is that a reported issue though? what does the debugger say?
13:47 asdqueerfromeu[d]: triang3l[d]: `gdb` with debug symbols 👀
13:51 karolherbst[d]: pavlo_kozlenko[d]: you shouldn't be able to hit this error with mesa
13:51 karolherbst[d]: maybe you used the wrong branch?
13:53 karolherbst[d]: or maybe `bindgen` became too smart
13:54 karolherbst[d]: anyway, something seems to be wrong on your side
13:57 pavlo_kozlenko[d]: karolherbst[d]: idk
13:57 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258783909815128194/b06ab38f31bb524c.png?ex=66894d5f&is=6687fbdf&hm=f5b6ee7a70fea90aa6395ca91a0a11cef5a3d8138768dad6310233b7a8bc4f85&
13:57 pavlo_kozlenko[d]: triang3l[d]:
13:57 karolherbst[d]: pavlo_kozlenko[d]: what type is `nak_memstream.written` inside `src/nouveau/compiler/nak_private.h` for you?
13:59 pavlo_kozlenko[d]: karolherbst[d]: I can't watch now. They turned off my electricity.
13:59 pavlo_kozlenko[d]: = )
13:59 pavlo_kozlenko[d]: I will write in 3-4 hours
14:19 triang3l[d]: pavlo_kozlenko[d]: vkcube is the last thing I'd expect to need app-specific workarounds :blobcatnotlikethis: :blobcatnotlikethis: :blobcatnotlikethis: Or is it suboptimal even at first use?
14:20 triang3l[d]: (well, at least vkcube itself can be fixed unlike The Talos Principle or whatever had those issues)
14:24 triang3l[d]: though from the code it looks like suboptimal itself is fine
14:40 ahuillet[d]: no renderdoc, talos starts: ```INF: [Vulkan] No transfer nor compute queues present; copy operations will use graphics queue.
14:40 ahuillet[d]: INF: [Vulkan] Using immediate presentation mode.
14:40 ahuillet[d]: INF: Trying to allocate device optimal memory pool of 128 MB for 4 KB object... allocated 128 MB in device optimal memory pool.
14:40 ahuillet[d]: INF: Trying to allocate device linear memory pool of 64 MB for 128 KB object... allocated 64 MB in device linear memory pool.
14:40 ahuillet[d]: INF: Trying to allocate host linear memory pool of 64 MB for 128 KB object... allocated 64 MB in host linear memory pool.
14:40 ahuillet[d]: INF:
14:40 ahuillet[d]: INF: Gfx API: Vulkan
14:40 ahuillet[d]: renderdoc, crash: https://discord.com/channels/1033216351990456371/1034184951790305330/1258738667502047294
14:40 ahuillet[d]: "for 0 KB object" is suspicous
14:45 ahuillet[d]: oh, alt-tab seems to crash also, after recreating the swapchain
14:56 triang3l[d]: ahuillet[d]: Do driconf options apply to apps launched via RenderDoc, or does Mesa think that it's RenderDoc itself that's running in that case (though I guess that's unlikely?)? What if you force `vk_x11_ignore_suboptimal`?
15:01 ahuillet[d]: how do I force it?
15:05 triang3l[d]: ahuillet[d]: Maaaaaybe this thing would work https://dri.freedesktop.org/wiki/DriConf/
15:06 triang3l[d]: or not? 🤔
15:06 triang3l[d]: and `vk_wsi_force_swapchain_to_current_extent` to `true` as well
15:06 triang3l[d]: unless it's RenderDoc having some fun with swapchain functions of course
15:17 ahuillet[d]: oh, looks like it's holiday o'clock
16:14 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258818213177983016/image.png?ex=66896d51&is=66881bd1&hm=178aad7c2e30a321cb92b44407cd0f41230538ff2fd34bd648c882af91e324cb&
16:14 pavlo_kozlenko[d]: karolherbst[d]:
16:14 karolherbst[d]: pavlo_kozlenko[d]: yeah.. huh.. so it's `size_t` and on the rust side you get `u64`? Something is wrong, and I'm not quite sure what exactly 🙂
16:18 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258819262886449242/image.png?ex=66896e4c&is=66881ccc&hm=397bed7df654c7fa5678cf95231659b19407968f601d5d6deac147e30bdf8bbc&
16:18 pavlo_kozlenko[d]: rightly
16:20 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258819902555426826/image.png?ex=66896ee4&is=66881d64&hm=a7191f335eb4f1ba4eb96d42921fe707ce5e1b217bbf34d5bd8e8fbe3670b7e1&
16:21 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258820016284110920/image.png?ex=66896eff&is=66881d7f&hm=99884dba67863c1192ba8c9ea9b928f53dc150148f239c3839d03ac53f181759&
16:21 pavlo_kozlenko[d]: karolherbst[d]: zink working...
16:21 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258820103500202194/image.png?ex=66896f14&is=66881d94&hm=e457b124705f0f80f0908277ffd4dfaae6af751449ad51bbdddf6167ace22c12&
16:21 pavlo_kozlenko[d]: karolherbst[d]: zink working...
16:22 pavlo_kozlenko[d]: xd, my session crashed when I resized the window
16:23 pavlo_kozlenko[d]: It somehow randomly crashed
16:25 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258821170585931876/IMG_20240705_192509.jpg?ex=66897012&is=66881e92&hm=326b1606bc847a9b42c9a75b4995a6cfee83a74346b6f116ce72ff0b426b56e4&
16:26 karolherbst[d]: yeah, nvk is untested for your GPU
16:26 karolherbst[d]: if you want to have it working, than you probably have to find somebody wanting to fix it, or you fix it yourself
16:27 pavlo_kozlenko[d]: karolherbst[d]: oh, I would still like to know where to start)
16:27 triang3l[d]: pavlo_kozlenko[d]: NVK 🤝 Terakan when it comes to window resizing :cursedgears:
16:29 triang3l[d]: Do drivers with implicit sync even implicitly wait for the BO to become idle when destruction is requested, by the way?
16:30 triang3l[d]: kernel drivers of course, I mean…
16:31 karolherbst[d]: pavlo_kozlenko[d]: `SET_CONSERVATIVE_RASTER` can't be called on your GPU inside `nvk_flush_rs_state`. But I don't know what's the proper way of not making it call into it
16:33 karolherbst[d]: maybe add a `nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B` somewhere there?
16:34 triang3l[d]: or is waiting for BO to be idle not even sufficient for safely destroying the BO? like due to some caches not being flushed (though in this case, I guess the kernel is expected to handle that, and if it doesn't, it's a bug?)
16:35 pavlo_kozlenko[d]: karolherbst[d]: maybe need to change the logic in the function call SET_CONSERVATIVE_RASTER
16:36 triang3l[d]: because how the 🐸 are my draws ending up in the Discord window
16:36 redsheep[d]: Wasn't conservative raster, or at least a higher tier of it, brand new to Maxwell?
16:36 karolherbst[d]: pavlo_kozlenko[d]: just add a `nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B` there in the if around it
16:36 triang3l[d]: redsheep[d]: Maxwell 2xx, yeah
16:37 karolherbst[d]: redsheep[d]: yeah, that's the issue
16:37 karolherbst[d]: `.EXT_conservative_rasterization = info->cls_eng3d >= MAXWELL_B,` seems to be properly set at least
16:37 karolherbst[d]: just `nvk_flush_rs_state` needs fixing
16:39 pavlo_kozlenko[d]: karolherbst[d]: in file ```./src/nouveau/vulkan/nvk_cmd_draw.c:```?
16:40 karolherbst[d]: yeah
16:41 pavlo_kozlenko[d]: Damn, there's a lot of code
16:41 pavlo_kozlenko[d]: 😵‍💫
16:44 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258825760265998487/message.txt?ex=66897459&is=668822d9&hm=c2ce885e24b8753a2645c7eebc60b2bd2d4b87c61e7045887a9046df74188987&
16:44 pavlo_kozlenko[d]: I think I've found the right piece of code
16:44 pavlo_kozlenko[d]: lets edit
16:46 pavlo_kozlenko[d]: karolherbst[d]: ```
16:46 pavlo_kozlenko[d]: if (BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_CONSERVATIVE_MODE) ||
16:46 pavlo_kozlenko[d]: BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE)) {
16:46 pavlo_kozlenko[d]: if (dyn->rs.conservative_mode == VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT) {
16:46 pavlo_kozlenko[d]: P_IMMD(p, NVB197, SET_CONSERVATIVE_RASTER, ENABLE_FALSE);
16:46 pavlo_kozlenko[d]: } else {
16:46 pavlo_kozlenko[d]: uint32_t extra_overestimate = MIN2(3, dyn->rs.extra_primitive_overestimation_size * 4);
16:46 pavlo_kozlenko[d]: if (nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B) {
16:46 pavlo_kozlenko[d]: if (nvk_cmd_buffer_3d_cls(cmd) < VOLTA_A) {
16:46 pavlo_kozlenko[d]: P_1INC(p, NVB197, CALL_MME_MACRO(NVK_MME_SET_CONSERVATIVE_RASTER_STATE));
16:46 pavlo_kozlenko[d]: P_INLINE_DATA(p, extra_overestimate << 23);
16:46 pavlo_kozlenko[d]: } else {
16:46 pavlo_kozlenko[d]: P_IMMD(p, NVC397, SET_CONSERVATIVE_RASTER_CONTROL, {
16:46 pavlo_kozlenko[d]: .extra_prim_bloat = extra_overestimate,
16:46 pavlo_kozlenko[d]: .copy_inner_to_outer = (dyn->rs.conservative_mode == VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT),
16:46 pavlo_kozlenko[d]: .triangle_snap_mode = TRIANGLE_SNAP_MODE_MODE_PRE_SNAP,
16:46 pavlo_kozlenko[d]: .line_and_point_snap_mode = LINE_AND_POINT_SNAP_MODE_MODE_PRE_SNAP,
16:46 pavlo_kozlenko[d]: .uncertainty_region_size = UNCERTAINTY_REGION_SIZE_SIZE_512,
16:46 pavlo_kozlenko[d]: });
16:46 pavlo_kozlenko[d]: }
16:46 pavlo_kozlenko[d]: P_IMMD(p, NVB197, SET_CONSERVATIVE_RASTER, ENABLE_TRUE);
16:46 pavlo_kozlenko[d]: }
16:46 pavlo_kozlenko[d]: }
16:46 pavlo_kozlenko[d]: }
16:46 pavlo_kozlenko[d]: correctly?
16:47 pavlo_kozlenko[d]: i`m added a new check around the existing SET_CONSERVATIVE_RASTER call logic
16:51 karolherbst[d]: you missed one above
16:51 karolherbst[d]: should probably do something like this:
16:51 karolherbst[d]: if ((BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_CONSERVATIVE_MODE) ||
16:51 karolherbst[d]: BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE)) &&
16:51 karolherbst[d]: nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B) {
16:51 karolherbst[d]: ...
16:51 karolherbst[d]: }
16:51 karolherbst[d]: or so
16:55 pavlo_kozlenko[d]: 🥰
16:56 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258828771042005116/message.txt?ex=66897726&is=668825a6&hm=c1e511baec8e7fe45019c27e8a226a80781856074457c12e342fb77e510631d4&
16:56 pavlo_kozlenko[d]: oops
17:00 pavlo_kozlenko[d]: I might need to move the validation condition MAXWELL_B another place nvk_flush_rs_state
17:25 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258836118024224790/image.png?ex=66897dfe&is=66882c7e&hm=2c736035fd29f78074f5d273ee022e22567e63bbd0df80c46cec077f9415a4b1&
17:25 pavlo_kozlenko[d]: karolherbst[d]: In my opinion, due to the lack of a parenthesis, it does not compile
17:25 pavlo_kozlenko[d]: 1830 | BITSET_TEST(dyn->dirty, MESA_VK_DYNAMIC_RS_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE)) &&
17:25 pavlo_kozlenko[d]: | ^~
17:25 pavlo_kozlenko[d]: 1831 | nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B) {
17:25 pavlo_kozlenko[d]: | ~~~~~~~~~~~~~~~~~~~~~
17:25 pavlo_kozlenko[d]: ../src/nouveau/vulkan/nvk_cmd_draw.c:1831:26: error: expected ‘;’ before ‘(’ token
17:25 pavlo_kozlenko[d]: 1831 | nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B) {
17:25 pavlo_kozlenko[d]: | ^
17:25 pavlo_kozlenko[d]: | ;
17:25 pavlo_kozlenko[d]: ../src/nouveau/vulkan/nvk_cmd_draw.c:1831:44: error: expected statement before ‘)’ token
17:25 pavlo_kozlenko[d]: 1831 | nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B) {
17:25 pavlo_kozlenko[d]: | ^
17:25 pavlo_kozlenko[d]: ../src/nouveau/vulkan/nvk_cmd_draw.c:1831:5: error: label ‘nvk_cmd_buffer_3d_cls’ used but not defined
17:25 pavlo_kozlenko[d]: 1831 | nvk_cmd_buffer_3d_cls(cmd) >= MAXWELL_B) {
17:25 pavlo_kozlenko[d]: | ^~~~~~~~~~~~~~~~~~~~~
17:25 pavlo_kozlenko[d]: ninja: build stopped: subcommand failed.
17:25 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258836275914346559/image.png?ex=66897e24&is=66882ca4&hm=eb23b48ce8a374ca10b9437ba114dee6fb963d31d6b7acadd162422b9f1cb963&
17:26 karolherbst[d]: ehh right, I put one too many in `E_OVERESTIMATION_SIZE)) &&`
17:27 pavlo_kozlenko[d]: Ah, then I'll just clean up the extra )
17:28 pavlo_kozlenko[d]: karolherbst[d]: Everything seems to have been compiled, but the problem with resize
17:29 pavlo_kozlenko[d]: ```C
17:29 pavlo_kozlenko[d]: ../src/vulkan/wsi/wsi_common_x11.c:1887: Swapchain status changed to VK_SUBOPTIMAL_KHR
17:29 pavlo_kozlenko[d]: vkcube: ./cube/cube.c:1080: demo_draw: Assertion `!err' failed.
17:29 pavlo_kozlenko[d]: Перервано (збережено знімок оперативної пам’яті)```
17:38 pavlo_kozlenko[d]: So is this a problem on the vkcube side, or nvk?
17:44 karolherbst[d]: no idea
17:56 gfxstrand[d]: That looks like an issue with vkcube
18:04 asdqueerfromeu[d]: gfxstrand[d]: If vkcube already runs on a lot of devices (including Kepler on the proprietary driver) then I highly doubt that
18:04 pavlo_kozlenko[d]: I'll try some game or zink
18:05 asdqueerfromeu[d]: pavlo_kozlenko[d]: You should try running `vkcube` with `gdb` (make sure you're using debug build type for Mesa)
18:09 pavlo_kozlenko[d]: asdqueerfromeu[d]: ```C
18:09 pavlo_kozlenko[d]: $ NVK_I_WANT_A_BROKEN_VULKAN_DRIVER=1 gdb vkcube
18:09 pavlo_kozlenko[d]: GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1
18:09 pavlo_kozlenko[d]: Copyright (C) 2022 Free Software Foundation, Inc.
18:09 pavlo_kozlenko[d]: License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
18:09 pavlo_kozlenko[d]: This is free software: you are free to change and redistribute it.
18:09 pavlo_kozlenko[d]: There is NO WARRANTY, to the extent permitted by law.
18:09 pavlo_kozlenko[d]: Type "show copying" and "show warranty" for details.
18:09 pavlo_kozlenko[d]: This GDB was configured as "x86_64-linux-gnu".
18:09 pavlo_kozlenko[d]: Type "show configuration" for configuration details.
18:09 pavlo_kozlenko[d]: For bug reporting instructions, please see:
18:09 pavlo_kozlenko[d]: <https://www.gnu.org/software/gdb/bugs/>.
18:09 pavlo_kozlenko[d]: Find the GDB manual and other documentation resources online at:
18:09 pavlo_kozlenko[d]: <http://www.gnu.org/software/gdb/documentation/>.
18:09 pavlo_kozlenko[d]: For help, type "help".
18:09 pavlo_kozlenko[d]: Type "apropos word" to search for commands related to "word"...
18:09 pavlo_kozlenko[d]: Reading symbols from vkcube...
18:09 pavlo_kozlenko[d]: (No debugging symbols found in vkcube)
18:09 pavlo_kozlenko[d]: (gdb) run
18:09 pavlo_kozlenko[d]: Starting program: /usr/bin/vkcube
18:09 pavlo_kozlenko[d]: [Thread debugging using libthread_db enabled]
18:09 pavlo_kozlenko[d]: Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
18:09 pavlo_kozlenko[d]: WARNING: NVK is not a conformant Vulkan implementation, testing use only.
18:09 pavlo_kozlenko[d]: [New Thread 0x7fffea3ff640 (LWP 17039)]
18:09 pavlo_kozlenko[d]: Selected GPU 0: GeForce GT 630 (NVK GK208), type: 2
18:09 pavlo_kozlenko[d]: [New Thread 0x7fffe9bfe640 (LWP 17040)]
18:09 pavlo_kozlenko[d]: [New Thread 0x7fffe93fd640 (LWP 17041)]
18:09 pavlo_kozlenko[d]: ../src/vulkan/wsi/wsi_common_x11.c:1887: Swapchain status changed to VK_SUBOPTIMAL_KHR
18:09 pavlo_kozlenko[d]: [New Thread 0x7fffe8bfc640 (LWP 17043)]
18:10 pavlo_kozlenko[d]: [New Thread 0x7fffdbfff640 (LWP 17044)]
18:10 pavlo_kozlenko[d]: [Thread 0x7fffe9bfe640 (LWP 17040) exited]
18:10 pavlo_kozlenko[d]: [Thread 0x7fffe93fd640 (LWP 17041) exited]
18:10 pavlo_kozlenko[d]: vkcube: ./cube/cube.c:1080: demo_draw: Assertion `!err' failed.
18:10 pavlo_kozlenko[d]: ../src/vulkan/wsi/wsi_common_x11.c:1887: Swapchain status changed to VK_SUBOPTIMAL_KHR
18:10 pavlo_kozlenko[d]: Thread 1 "vkcube" received signal SIGABRT, Aborted.
18:10 pavlo_kozlenko[d]: __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737351964480) at ./nptl/pthread_kill.c:44
18:10 pavlo_kozlenko[d]: 44 ./nptl/pthread_kill.c: no such file of directory.
18:11 asdqueerfromeu[d]: pavlo_kozlenko[d]: Now type `bt`
18:12 pavlo_kozlenko[d]: asdqueerfromeu[d]: ```C
18:12 pavlo_kozlenko[d]: (gdb) bt
18:12 pavlo_kozlenko[d]: #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737351964480) at ./nptl/pthread_kill.c:44
18:12 pavlo_kozlenko[d]: #1 __pthread_kill_internal (signo=6, threadid=140737351964480) at ./nptl/pthread_kill.c:78
18:12 pavlo_kozlenko[d]: #2 __GI___pthread_kill (threadid=140737351964480, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
18:12 pavlo_kozlenko[d]: #3 0x00007ffff7a42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
18:12 pavlo_kozlenko[d]: #4 0x00007ffff7a287f3 in __GI_abort () at ./stdlib/abort.c:79
18:12 pavlo_kozlenko[d]: #5 0x00007ffff7a2871b in __assert_fail_base (fmt=0x7ffff7bdd130 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555555602a8 "!err", file=0x55555556029a "./cube/cube.c", line=1080, function=<optimized out>)
18:12 pavlo_kozlenko[d]: at ./assert/assert.c:92
18:12 pavlo_kozlenko[d]: #6 0x00007ffff7a39e96 in __GI___assert_fail (assertion=0x5555555602a8 "!err", file=0x55555556029a "./cube/cube.c", line=1080, function=0x5555555627c8 "demo_draw") at ./assert/assert.c:101
18:12 pavlo_kozlenko[d]: #7 0x000055555555b5de in ?? ()
18:12 pavlo_kozlenko[d]: #8 0x00007ffff7a29d90 in __libc_start_call_main (main=main@entry=0x555555557eb0, argc=argc@entry=1, argv=argv@entry=0x7fffffffe088) at ../sysdeps/nptl/libc_start_call_main.h:58
18:12 pavlo_kozlenko[d]: #9 0x00007ffff7a29e40 in __libc_start_main_impl (main=0x555555557eb0, argc=1, argv=0x7fffffffe088, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe078) at ../csu/libc-start.c:392
18:12 pavlo_kozlenko[d]: #10 0x000055555555b875 in ?? ()
18:13 asdqueerfromeu[d]: pavlo_kozlenko[d]: Is there anything below #10?
18:13 pavlo_kozlenko[d]: nope
18:15 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258848707663630426/fab7cfb06bad59dd.png?ex=668989b8&is=66883838&hm=03330ca4c1c19a88e36f0af9540a7f9a9183277f770a1dc6ad7808e0f4a6d786&
18:17 asdqueerfromeu[d]: pavlo_kozlenko[d]: Now run `dpkg -s vulkan-tools | grep Version`
18:25 asdqueerfromeu[d]: I'm guessing a Vulkan call returned VK_ERROR_DEVICE_LOST from the NVK side and that assert catched it :triangle_nvk:
18:27 pavlo_kozlenko[d]: asdqueerfromeu[d]: Version: 1.3.204.0+dfsg1-1
18:28 pavlo_kozlenko[d]: pavlo@minthome:~$ dpkg -s vulkan-tools
18:28 pavlo_kozlenko[d]: Package: vulkan-tools
18:28 pavlo_kozlenko[d]: Status: install ok installed
18:28 pavlo_kozlenko[d]: Priority: optional
18:28 pavlo_kozlenko[d]: Section: graphics
18:28 pavlo_kozlenko[d]: Installed-Size: 1098
18:28 pavlo_kozlenko[d]: Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
18:28 asdqueerfromeu[d]: pavlo_kozlenko[d]: So vkQueueSubmit is the failing call: <https://github.com/KhronosGroup/Vulkan-Tools/blob/v1.3.204/cube/cube.c#L1080>
18:28 pavlo_kozlenko[d]: Architecture: amd64
18:28 pavlo_kozlenko[d]: Version: 1.3.204.0+dfsg1-1
18:28 pavlo_kozlenko[d]: Replaces: vulkan-sdk-runtime
18:28 pavlo_kozlenko[d]: Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), libvulkan1 (>= 1.3.204.0-1), libwayland-client0 (>= 1.20.0), libx11-6, libxcb1
18:28 pavlo_kozlenko[d]: Breaks: vulkan-sdk-runtime
18:28 pavlo_kozlenko[d]: Description: Miscellaneous Vulkan utilities
18:28 pavlo_kozlenko[d]: This package provides utilities for Vulkan, including vulkaninfo.
18:28 pavlo_kozlenko[d]: Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
18:29 pavlo_kozlenko[d]: Homepage: https://github.com/KhronosGroup/Vulkan-Tools
18:29 asdqueerfromeu[d]: Can you run `sudo dmesg -W` in a separate window and after that run `vkcube`?
18:29 pavlo_kozlenko[d]: 1min
18:30 asdqueerfromeu[d]: Once the assertion fails you should upload the dmesg output
18:30 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258852573608415312/message.txt?ex=66898d51&is=66883bd1&hm=293a72b6c9a9f2b4e19cec5e7d2b261463c2a902d2122513f3982775bd44448a&
18:30 pavlo_kozlenko[d]: ```C
18:30 pavlo_kozlenko[d]: [ 7496.272708] nouveau 0000:01:00.0: gr: ILLEGAL_MTHD ch 6 [007fa87000 vkcube[18349]] subc 0 class a197 mthd 1148 data 00000000
18:30 pavlo_kozlenko[d]: [ 7496.272810] nouveau 0000:01:00.0: fifo: fault 00 [READ] at 0000003efff97000 engine 00 [GR] client 04 [GPC0/T1_1] reason 02 [PTE] on channel 6 [007fa87000 vkcube[18349]]
18:30 pavlo_kozlenko[d]: [ 7496.272815] nouveau 0000:01:00.0: fifo:000000:0006:[vkcube[18349]] rc scheduled
18:30 pavlo_kozlenko[d]: [ 7496.272816] nouveau 0000:01:00.0: fifo:000000: rc scheduled
18:30 pavlo_kozlenko[d]: [ 7496.272822] nouveau 0000:01:00.0: gr: TRAP ch 6 [007fa87000 vkcube[18349]]
18:30 pavlo_kozlenko[d]: [ 7496.272827] nouveau 0000:01:00.0: gr: GPC0/TPC0/TEX: 80000041
18:31 pavlo_kozlenko[d]: [ 7496.272830] nouveau 0000:01:00.0: gr: GPC0/TPC1/TEX: 80000041
18:31 pavlo_kozlenko[d]: [ 7496.272836] nouveau 0000:01:00.0: fifo:000000:0006:0006:[vkcube[18349]] errored - disabling channel
18:31 pavlo_kozlenko[d]: [ 7496.272840] nouveau 0000:01:00.0: vkcube[18349]: channel 6 killed!
18:32 asdqueerfromeu[d]: pavlo_kozlenko[d]: As I've suspected you're having a device loss
18:33 gfxstrand[d]: pavlo_kozlenko[d]: Actually, that's really strange. Assuming this is the LunarG cube demo, it does appear to handle suboptimal. I'm not what error we'd be throwing there that it doesn't handle.
18:33 gfxstrand[d]: pavlo_kozlenko[d]: That's CONSERVATIVE_RASTER
18:34 gfxstrand[d]: Looks like that's added on Maxwell B
18:35 pavlo_kozlenko[d]: gfxstrand[d]: What about other test`s(glxgears on zink) ? They're crashing too
18:39 gfxstrand[d]: You're likely getting a device lost, though IDK why that's not showing up the log
18:39 gfxstrand[d]: Or maybe an allocation fail?
18:39 gfxstrand[d]: I'd need to know what error code you're getting
18:41 tiredchiku[d]: (fwiw I think they're working on kepler)
18:41 gfxstrand[d]: pavlo_kozlenko[d]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30054
18:42 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258855562087497758/VID_20240705_214154.mp4?ex=6689901a&is=66883e9a&hm=82cd243d79e8a8e5d6eaa0bfeb36a45cb9c76b9c96efcb1575c19a81e1d2ffb6&
18:44 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258856100971937882/VID_20240705_214422.mp4?ex=6689909a&is=66883f1a&hm=f00ff4fe6b2d5af5cfc76521b3cb2421829a8a146b1484bcfe0c9b1e612c7976&
18:46 pavlo_kozlenko[d]: pavlo_kozlenko[d]: nice quality, discord..
18:47 pavlo_kozlenko[d]: pavlo_kozlenko[d]: By the way, this does not happen at minimum frequencies
18:51 asdqueerfromeu[d]: gfxstrand[d]: pavlo_kozlenko[d] You should apply this MR to see if it fixes your issue 🐸
18:52 pavlo_kozlenko[d]: I'm doing it now
18:52 pavlo_kozlenko[d]: pavlo@minthome:~$ sudo dmesg -W
18:52 pavlo_kozlenko[d]: [ 598.764866] nouveau 0000:01:00.0: fifo: fault 00 [READ] at 0000003efff9f000 engine 00 [GR] client 04 [GPC0/T1_1] reason 02 [PTE] on channel 8 [007fa81000 vkcube[4528]]
18:52 pavlo_kozlenko[d]: [ 598.764874] nouveau 0000:01:00.0: fifo:000000:0008:[vkcube[4528]] rc scheduled
18:52 pavlo_kozlenko[d]: [ 598.764876] nouveau 0000:01:00.0: fifo:000000: rc scheduled
18:52 pavlo_kozlenko[d]: [ 598.764883] nouveau 0000:01:00.0: gr: TRAP ch 8 [007fa81000 vkcube[4528]]
18:52 pavlo_kozlenko[d]: [ 598.764888] nouveau 0000:01:00.0: gr: GPC0/TPC0/TEX: 80000041
18:52 pavlo_kozlenko[d]: [ 598.764891] nouveau 0000:01:00.0: gr: GPC0/TPC1/TEX: 80000041
18:52 pavlo_kozlenko[d]: [ 598.764897] nouveau 0000:01:00.0: fifo:000000:0008:0008:[vkcube[4528]] errored - disabling channel
18:52 pavlo_kozlenko[d]: [ 598.764900] nouveau 0000:01:00.0: vkcube[4528]: channel 8 killed!
18:52 pavlo_kozlenko[d]: gfxstrand[d]: ```C
18:52 pavlo_kozlenko[d]: pavlo@minthome:~$ sudo dmesg -W
18:52 pavlo_kozlenko[d]: [ 598.764866] nouveau 0000:01:00.0: fifo: fault 00 [READ] at 0000003efff9f000 engine 00 [GR] client 04 [GPC0/T1_1] reason 02 [PTE] on channel 8 [007fa81000 vkcube[4528]]
18:52 pavlo_kozlenko[d]: [ 598.764874] nouveau 0000:01:00.0: fifo:000000:0008:[vkcube[4528]] rc scheduled
18:52 pavlo_kozlenko[d]: [ 598.764876] nouveau 0000:01:00.0: fifo:000000: rc scheduled
18:52 pavlo_kozlenko[d]: [ 598.764883] nouveau 0000:01:00.0: gr: TRAP ch 8 [007fa81000 vkcube[4528]]
18:52 pavlo_kozlenko[d]: [ 598.764888] nouveau 0000:01:00.0: gr: GPC0/TPC0/TEX: 80000041
18:52 pavlo_kozlenko[d]: [ 598.764891] nouveau 0000:01:00.0: gr: GPC0/TPC1/TEX: 80000041
18:52 pavlo_kozlenko[d]: [ 598.764897] nouveau 0000:01:00.0: fifo:000000:0008:0008:[vkcube[4528]] errored - disabling channel
18:52 pavlo_kozlenko[d]: [ 598.764900] nouveau 0000:01:00.0: vkcube[4528]: channel 8 killed!
18:53 karolherbst[d]: probably more kepler bugs
18:53 karolherbst[d]: somebody really should run the CTS again and see what's all broken 😄
18:53 karolherbst[d]: but could also be the compiler, soo...
18:54 pavlo_kozlenko[d]: karolherbst[d]: and what to do with it?
18:56 gfxstrand[d]: karolherbst[d]: Yeah, there's a fault in there
18:57 gfxstrand[d]: That looks like a real address, though.
18:57 gfxstrand[d]: I know there's lots of issues on Kepler. We still haven't 100% sorted out memory maps, for instance.
19:04 pavlo_kozlenko[d]: I decided to launch css
19:04 pavlo_kozlenko[d]: or just opengl
19:04 pavlo_kozlenko[d]: pavlo@minthome:~/.steam/debian-installation/steamapps/common/Counter-Strike Source$ '/home/pavlo/.steam/debian-installation/steamapps/common/Counter-Strike Source/hl2.sh'
19:04 pavlo_kozlenko[d]: src/tcmalloc.cc:278] Attempt to free invalid pointer 0x9a15af0
19:04 pavlo_kozlenko[d]: /home/pavlo/.steam/debian-installation/steamapps/common/Counter-Strike Source/hl2.sh: рядок 72: 21764 Перервано (збережено знімок оперативної пам’яті) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
19:04 pavlo_kozlenko[d]: 🤩
19:05 pavlo_kozlenko[d]: For some reason, the game worked, and it needs to be broken
19:05 pavlo_kozlenko[d]: Maybe it's because of the new Mesa
19:24 pavlo_kozlenko[d]: https://cdn.discordapp.com/attachments/1034184951790305330/1258866219432546464/message.txt?ex=66899a07&is=66884887&hm=40f6d66afd5e717d6086513ebf915d7bbc2ccd02557a3a2df07455d114d7456f&
19:25 pavlo_kozlenko[d]: MESA: error: zink: DEVICE LOST!
19:26 pavlo_kozlenko[d]: ```C
19:26 pavlo_kozlenko[d]: [ 951.772238] nouveau 0000:01:00.0: fifo: fault 00 [READ] at 0000003efbd9c000 engine 00 [GR] client 04 [GPC0/T1_1] reason 02 [PTE] on channel 20 [007f468000 heaven_x64[8952]]
19:26 pavlo_kozlenko[d]: [ 951.772246] nouveau 0000:01:00.0: fifo:000000:0014:[heaven_x64[8952]] rc scheduled
19:26 pavlo_kozlenko[d]: [ 951.772247] nouveau 0000:01:00.0: fifo:000000: rc scheduled
19:26 pavlo_kozlenko[d]: [ 951.772258] nouveau 0000:01:00.0: gr: TRAP ch 20 [007f468000 heaven_x64[8952]]
19:26 pavlo_kozlenko[d]: [ 951.772267] nouveau 0000:01:00.0: gr: GPC0/TPC0/TEX: 80000049
19:26 pavlo_kozlenko[d]: [ 951.772271] nouveau 0000:01:00.0: gr: GPC0/TPC1/TEX: 80000049
19:26 pavlo_kozlenko[d]: [ 951.772280] nouveau 0000:01:00.0: fifo:000000:0014:0014:[heaven_x64[8952]] errored - disabling channel
19:26 pavlo_kozlenko[d]: [ 951.772285] nouveau 0000:01:00.0: heaven_x64[8952]: channel 20 killed!
20:09 gfxstrand[d]: Is anyone maintaining a copr or anything for Fedora with recent builds?
23:45 conan_kudo[d]: gfxstrand[d]: would you like someone to?
23:45 gfxstrand[d]: It might be nice if it's not much work.
23:45 conan_kudo[d]: I could look into it, I already maintain mesa builds for Fedora Asahi Remix after all