00:00 gfxstrand[d]: karolherbst[d]: Yeah but it's generic. You can `eval` on a `BitSet`
00:00 karolherbst[d]: mhhhh
00:01 karolherbst[d]: I guess
00:01 karolherbst[d]: it just feels more complicated than it needs to be 😄
00:03 gfxstrand[d]: I don't know if a way to make it simpler and keep it generic
00:04 gfxstrand[d]: If I just made it take a u32, I could make it simpler but looping over the bits and doing the LUT operation.
00:05 gfxstrand[d]: mhenning[d]: I've never hit that. Not that it isn't possible but it seems very unlikely.
01:33 mangodev[d]: okay this is getting annoying
01:33 mangodev[d]: MESA: error: ZINK: vkCreateImageView failed (VK_ERROR_OUT_OF_HOST_MEMORY)
01:33 mangodev[d]: #
01:33 mangodev[d]: # A fatal error has been detected by the Java Runtime Environment:
01:33 mangodev[d]: #
01:33 mangodev[d]: # SIGSEGV (0xb) at pc=0x00007ff70664cfc2, pid=22193, tid=22195
01:33 mangodev[d]: #
01:33 mangodev[d]: # JRE version: OpenJDK Runtime Environment (21.0.7+6) (build 21.0.7+6)
01:33 mangodev[d]: # Java VM: OpenJDK 64-Bit Server VM (21.0.7+6, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-amd64)
01:33 mangodev[d]: # Problematic frame:
01:33 mangodev[d]: # C [libgallium-25.2.0-devel.so+0x144cfc2]
01:33 mangodev[d]: #
01:33 mangodev[d]: # Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h" (or dumping to /home/mango/.local/share/PrismLauncher/instances/1.21.5 test/minecraft/core.22193)
01:33 mangodev[d]: #
01:33 mangodev[d]: # An error report file with more information is saved as:
01:34 mangodev[d]: # /home/mango/.local/share/PrismLauncher/instances/1.21.5 test/minecraft/hs_err_pid22193.log
01:34 mangodev[d]: [1549.504s][warning][os] Loading hsdis library failed
01:34 mangodev[d]: #
01:34 mangodev[d]: # If you would like to submit a bug report, please visit:
01:34 mangodev[d]: # https://bugreport.java.com/bugreport/crash.jsp
01:34 mangodev[d]: # The crash happened outside the Java Virtual Machine in native code.
01:34 mangodev[d]: # See problematic frame for where to report the bug.
01:34 mangodev[d]: #
01:34 mangodev[d]: Process crashed with exitcode 6.
01:34 HdkR: Nice oom death.
02:11 mhenning[d]: gfxstrand[d]: I could've sworn we had a bug that did exactly this, but I might be misremembering details
02:34 gfxstrand[d]: Maybe? I know we've had weird issues around the fp64 and writes_global bits.
02:35 gfxstrand[d]: Or maybe it was one of my "Oops! Wrong compute shader!" bugs?
02:35 gfxstrand[d]: It's probably some sort of state issue regardless. The question is what.
02:38 gfxstrand[d]: But only failing on SRGB is weird. Is there a state to disable SRGB rendering or something like that? Because if there is we might not be setting it.
02:58 gfxstrand[d]: There is an SRGB state. We're not touching it. Weird that it would affect Kepler but not Maxwell.
02:58 gfxstrand[d]: I kinda doubt it's that
04:29 jaspergoldy: Considering that these people who scammed in the world, forgat completly to do any scoring really anywhere but this scam committed, quasimodo intrigues, i am looking forward to respond to that where they said they can say and do anything to me, at one point i just treat this human shit very brutally. They have had mercy already for too long cause of being born ill. My life has been almost
04:29 jaspergoldy: entirely halted , so i turned to programming later, but took quite a lot out of this. Europe is paying around trillion dollars to remilitarize the continent, so every more eager step from Russia to come over the border killing not the ones listed among estonians will be responded to by our alliance. So in one way or another i need to commit to europes citizens , dialog them, communicate
04:29 jaspergoldy: them, but to be honest knocking down the scammers, is in every nation needed. I am also unsure as to what Russia could do. Estonia is 50k soldiers, and on the border they had recruited 500k now 300k etc. Obviously if they get out of the hand killing wrong people in a war, we can not stop them without other European powers. It's very serious work i am committing and very important, And i
04:29 jaspergoldy: need a way to communicate with programmers amongst europeans. And best strategy is to make such opener with technology that is unbeatable by manned infantry.
05:44 ircuser90127: Those who would have to fight for others fraud are entirely different people. We have very powerful people, it's that those are not the wank spammer intrigue quasimodo leftovers. Those others wank spam fraudsters when they start to do something there is only laughter present among experts, when i whitewashed them, they were already dead when they were born sort of. I expect those channels
05:44 ircuser90127: having some of the real brains too, as i have seen too many from europe as well as america and russia and such. karolherbst watched java traces, but java does things as wrong as you do. Real systems can not be beaten they think faster than human, just humans analytical brain is slower but deeper/wider. I would think Russians will never touch me in a war which would be good enough too but
05:44 ircuser90127: it's critical subject, me i do not see a war in terms as ancient stuff, so i think the best systems are capable of destroying the world out of inhabitants, and it's best to confirm our safety with some type of automated almighty system. Anyways since bitcoin mining seems to be a fraud, we'll catch couple of millions to build something real in terms of military equipment, and i was for real
05:44 ircuser90127: i am splitting up with those morons like karolherbst and others from you, you are just idiots ruining it for everyone. I will find another way so push my specification to our allies.
05:49 xavi: Hi, just joined this channel as a first-time Nouveau user, seeking some help. But first, wth is going on with the offensive messages on this channel? Are they from AI spam accounts?
05:50 HdkR: xavi: It's just a person that very much wants to get their messages across the internet.
05:50 HdkR: Unfortunately for us.
05:54 kar1m0[d]: xavi: First of all welcome! Second of all what help do you seek?
06:06 xavi: HdkR: I see. Thanks for the explanation.
06:09 xavi: kar1m0[d]: thank you! Let's start with some context: yesterday I (finally!) switched from Kubuntu 22.0 to Trisquel GNU/Linux 12.0, so one direct consequence of it is proprietary NVidia drivers no longer being a thing for me, and of course now I rely on Nouveau.
06:10 xavi: My graphics hardware is a NVIDIA Corporation GF117M, so Fermi. I did some research on the topic and, as you all already know, memory reclocking is not supported for Fermi yet. I saw most of the information came from circa 2017, so just wanted to ask on the current state of things.
06:11 xavi: And, finally, I would like to know *if* I can be of any help to you into getting this done. I am not so experienced with GPU drivers, but I am experienced with C, embedded software development and free software projects.
06:13 xavi: On a side note, I still keep my old Kubuntu installation with the proprietary drivers, so I could still run Valgrind-mmt on it, if required.
06:20 kar1m0[d]: xavi: They are working on kepler right now
06:21 kar1m0[d]: xavi: The main question is if you know reverse engineering
06:22 kar1m0[d]: I have a kepler b on my old laptop for now I haven't fixed it yet as it seems like my dgpu isn't used
06:22 kar1m0[d]: Today I plan to test the drivers on my main laptop which has an ada lovelace dgpu
06:22 kar1m0[d]: To see how well it performs on newer hardware
06:22 kar1m0[d]: I am not a developer
06:22 kar1m0[d]: But a tester
06:23 kar1m0[d]: Since I am not good in coding
06:24 xavi: kar1m0[d]: I have done some minor reverse engineering for some other unrelated projects with Ghidra and some proprietary blobs with debugging symbols, but I would not consider myself very experienced in that field.
06:38 Mesodanger: Once again HdkR you understand things not the way they are, i forgive you cause it's complex, i did only work and yes already shared fair bits of that with small mistakes albeit. And i am now fine as we speak, i was not the one who spammed every country on this planet in 20years with the spam of tastless wank title giving to myself, leftovers did it from here, we know who they are connecting
06:38 Mesodanger: Neelix and such, i only committed real work that i was dealing with, that has to help my allies, yes i wanted to share it however. But it's not spam it's what real people do, not as such when you lose every game and every event terror other and commit fraud on every country ontop. Things had been lot easier to me, when leftovers did no terror and fraud, i would not had to explain to airlied
06:38 Mesodanger: as to what the fuck is going on in the world, once again I DID NO SPAM on radio stations across world about myself only tested numbers.
06:45 kar1m0[d]: xavi: As I said I am not a developer so I would recommend you ask either snowy or gfxstrand because they are the developers and they know better than me
06:48 HdkR: xavi: Disassembling blobs with ghidra taints knowledge and it wouldn't be usable. Need to treat the system like blackbox reverse engineering.
06:51 snowycoder[d]: gfxstrand[d]: It only seems to fail on mutable descriptor srgb multisampling :/
07:02 xavi: HdkR: of course, I was not suggesting the use of Ghidra for Nouveau. I was just listing some previous experience.
07:44 snowycoder[d]: And after 10h of testing, the results are that mutable descriptor srgb multisampling fails unless a blit_image copy command doesn't come before it.
07:44 snowycoder[d]: I guess the blit commands leave some kind of state behind?
10:17 karolherbst: xavi: there are some WIP fermi reclocking branches Ben was working on
10:17 karolherbst: but I think Ben removed his github repo :(
10:18 karolherbst: but I still have it locally :D
10:20 xavi: karolherbst: oh, very nice :)
10:22 xavi: So far, I saw some old posts on the mailing lists, such as https://lists.freedesktop.org/archives/nouveau/2017-April/027667.html and https://lists.freedesktop.org/archives/nouveau/2016-January/023773.html
10:31 f_: ooooh
10:31 f_:also interested
10:35 xavi: karolherbst: needless to say, feel free to share those patches. :) I will be happy to have look at them, even as a first-time Nouveau user.
11:23 normangissle: I remember from eeepc1000HA days which was my first laptop where indeed my brain wasn't yet fully mature for my defense, opengl screensavers which was my relaxation love. Now from those days we have come a long way out, linux no longer hacker only platform, but the memory management needs some work and execution also, it's all nested in terms that it lives on the base platform. But my long
11:23 normangissle: time laptop Hewlett Packard was where i already committed a mature research with, today i am settled in with cubious visions and i say in graphics a biggest hack is to bring desktop GL to opengl ES as correct translation, and to anyone trying that along with memory management and hashed execution, I will succeed my own there anyways, it's just cumbersome to fight the VPNs just to log on,
11:23 normangissle: so anyone trying my ideas are not patented, in other words, i do not come to block you or charge you in any ways, i am fully committed to open source, since my life was almost cut short and destroyed by devils, i learned to love my dad, he is the coolest guy to have around, but with many abusers my life was sour, we should provide facilities such as computing to the ones who would not
11:23 normangissle: otherwise enjoy the life undeservedly at full. In my opinion programming under linux is not replaced by AI, i can not yet imagine how it could do those , human brain is more capable, we could do maybe such things as destroy the enemy with technology but analytical programming and solving and bug fixing i do not know how AI could perform or customization to human needs. Currently that
11:23 normangissle: chatGPT is a childish python generator with only mistakes outputted. But i think the nvk and rusticl and your kernel modules talked about, if it coordinates addition and subtraction without much of scheduling needed on all chipsets, this is going to be enough for me. I think as employees getting salary you had already gone miles ahead of it, i stick to opengl openglES and vulkan, since
11:23 normangissle: DirectX is proprietary. There would not be a problem to develop full directx gaming platform however if Microsoft gave me a permission.
11:25 karolherbst: xavi: https://gitlab.freedesktop.org/karolherbst/nouveau-old/-/commits/devel-clk?ref_type=HEADS
11:25 karolherbst: xavi: it's still the old out of tree module tree thing Ben used to use
11:25 karolherbst: but there are a couple of patches
11:25 karolherbst: not sure how well they apply and everything
11:26 karolherbst: might want to enable reclocking first and focus on engine/core clocks
11:26 karolherbst: and deal with memory later
11:26 karolherbst: just increasing the shader clocks already goes a long way
11:42 xavi: karolherbst: very interesting, thank you. Did this branch from a particular upstream commit? Or does it define its own history?
11:42 karolherbst: good question
11:43 karolherbst: maybe there is a "secboot: remove VLA usage" commit in the linux tree
11:43 xavi: So far, I see tens of WIP commits, but no merge request or tags. I do see a "v3.8" commit, though.
11:43 karolherbst: but looks like it's 4.16 based
11:43 karolherbst: xavi: just the changes from "Apr 05, 2018"
11:45 karolherbst: thing is.. most of the commits there are very WIP and might only work on a specific GPU
11:45 karolherbst: reverse engineering that mess will be quite the mess, as you'll have to figure out what bits in the vbios impact what bits in the reclocking sequence code
11:45 xavi: karolherbst: I see. Thank you very much.
11:46 xavi: Definitely looks like I should pick up some documentation in order to get some context behind these changes.
12:43 gfxstrand[d]: snowycoder[d]: Yeah, blit can mess up state. There's something we're not saving and restoring properly.
12:44 gfxstrand[d]: So if a blit comes before it then it passes?!?
12:44 gfxstrand[d]: Both blit and MSAA resolve use meta stuff
13:25 snowycoder[d]: gfxstrand[d]: Yes, but it's not multi-sampling, it's a subpass resolve case (sorry I got confused).
13:25 snowycoder[d]: If blit comes before the subpass resolve it works, otherwise it doesn't.
13:25 snowycoder[d]: I don't think I know enough to solve this 0_o
13:40 gfxstrand[d]: That's okay
13:41 gfxstrand[d]: Once I figure out this MSAA image fail (probably an encoding error on some random instruction), I'll level-set on Kepler A and it'll probably have the same bug.
13:41 gfxstrand[d]: My goal for today is to finish reviewing images
15:59 gfxstrand[d]: Doing a full Kepler A run now while I have a meeting and eat lunch. So far it looks REALLY good.
15:59 gfxstrand[d]: `Pass: 19888, Fail: 5, Skip: 31107, Duration: 1:32, Remaining: 1:21:08`
16:02 karolherbst[d]: nice
16:19 gfxstrand[d]: Looks like there are other MSAA image fails. Maybe those will be easier to edebug?
16:22 gfxstrand[d]: I am so gonna delete codegen this week. 😄
16:24 karolherbst[d]: good luck
16:24 karolherbst[d]: ~~there is still tesla and fermi and...~~
16:30 gfxstrand[d]: Fermi is already mostly typed out. The only think we need to do there is image/texture ops again.
16:30 gfxstrand[d]: Also, I don't care about Fermi.
16:37 karolherbst[d]: I know, I just read your sentence as "delete codegen from mesa" 🙃
16:38 kar1m0[d]: karolherbst[d]: karol, you mentioned that playing games on ada lovelace with nouveau drivers should be playable but my question is how exactly does it work to achieve that "playable" state since the gpu is working on low speeds
16:38 kar1m0[d]: or is it because of the raw gpu power itself?
16:39 kar1m0[d]: because that's what no dlss and cuda implies
16:39 mhenning[d]: ada has reclocking if gsp is enables
16:39 kar1m0[d]: I will try to install them thought I could do it today but I will do it during this week
16:39 kar1m0[d]: mhenning[d]: gsp?
16:40 karolherbst[d]: it's there by default, don't worry about it
16:41 karolherbst[d]: since 20 series we get proper performance out of the box (mostly)
16:41 kar1m0[d]: hm interesting
16:41 kar1m0[d]: because I had the impression that it's the other way around
16:41 karolherbst[d]: well yes and no
16:42 karolherbst[d]: since turing/20 series, nvidia uses a new type of firmware and nouveau can use the same one
16:42 mhenning[d]: karolherbst[d]: oh I guess we do have gsp out of the box on ada. I think it's distro-dependent on ampere?
16:42 karolherbst[d]: so all is good (unless you have strong opinions on closed source firmware)
16:42 karolherbst[d]: mhenning[d]: we flipped the default in the kernel
16:43 karolherbst[d]: these days it's all enabled by default
16:43 kar1m0[d]: karolherbst[d]: I will move to nouveau this week then
16:43 kar1m0[d]: I hope I will not break anything in the process
16:43 karolherbst[d]: though I think we still have the kernel config around?
16:43 mhenning[d]: karolherbst[d]: cool, I didn't realize the default had switched
16:44 kar1m0[d]: I don't mind losing performance if it will help you guys
16:44 karolherbst[d]: ohh apparently it's still `n` 🙃
16:44 karolherbst[d]: I thought we switched that...
16:45 karolherbst[d]: mhenning[d]: seems I was wrong...
16:45 karolherbst[d]: maybe we should just change it....
16:45 karolherbst[d]: kar1m0[d]: what distro are you on?
16:46 karolherbst[d]: but I think we wanted to switch the default.. airlied[d] ?
16:51 gfxstrand[d]: karolherbst[d]: Well, I'd also like to do that but I'm happy to just move it back to src/gallium/nouveau and let it bitrot there foereve.
16:52 karolherbst[d]: I might get into the mood after nuking the dynamic pipeloader 🙃
16:56 mhenning[d]: karolherbst[d]: yeah, I think changing the default would be sensible at this point.
16:57 kar1m0[d]: karolherbst[d]: garuda
16:57 kar1m0[d]: which is arch based
17:02 xavi: gfxstrand[d]: I do care about Fermi 🥺
17:05 karolherbst[d]: kar1m0[d]: `CONFIG_DRM_NOUVEAU_GSP_DEFAULT=y` it seems
17:05 karolherbst[d]: so should be good
17:05 gfxstrand[d]: Sure. And there's nothing stopping anyone from bringing it up. But NAK texture support is the easy part and having codegen in the tree isn't going to help that much with that.
17:06 gfxstrand[d]: And we're not deleting the GL driver
17:07 kar1m0[d]: karolherbst[d]: what's that?
17:08 kar1m0[d]: does it mean that the gsp is enabled by default?
17:08 gfxstrand[d]: Yes
17:09 gfxstrand[d]: It's off by default on at least Turing. Maybe Ampere, too? I don't remember.
17:09 snowycoder[d]: gfxstrand[d]: If we get zink+NAK in a good enough state and bring support for older gens, we could, right?
17:14 gfxstrand[d]: Potentially. Or we could do another amber round.
17:36 mangodev[d]: gfxstrand[d]: is nvc0 *not* gallium?
17:38 asdqueerfromeu[d]: mangodev[d]: (It is Gallium3D)
17:43 mangodev[d]: asdqueerfromeu[d]: oh
17:43 mangodev[d]: i thought amber was for deprecated non-gallium drivers
17:48 asdqueerfromeu[d]: mangodev[d]: I mean that was the main reason for the OG Amber branch (but I guess Faith is thinking of another one for poorly maintained and/or seldom used Gallium3D drivers/frontends)
18:03 gfxstrand[d]: gfxstrand[d]: `Pass: 1066349, Fail: 719, Crash: 20, Skip: 1676890, Flake: 23, Duration: 1:25:16`
18:03 gfxstrand[d]: I'm still reviewing now. I'll get to debugging after that.
19:11 gfxstrand[d]: I will not hook up `iset` just for image sizes. I will not hook up `iset` just for image sizes...
19:14 snowycoder[d]: Actually, it could help with shared atomics too, but why image sizes?
19:15 gfxstrand[d]: nir_def *is_null = nir_ieq_imm(b, load_su_info(b, deref, addr_shifted8),
19:15 gfxstrand[d]: 0);
19:15 gfxstrand[d]: nir_def *one_if_present = nir_bcsel(b, is_null, nir_imm_int(b, 0),
19:15 gfxstrand[d]: nir_imm_int(b, 1));
19:17 snowycoder[d]: ohhhh, actually that would be really cool, we could do the same thing to optimize image samples (replace the 1 in the shl with a 0)
19:18 snowycoder[d]: Now I want to wire up iset too 😂
19:32 gfxstrand[d]: You're right. Damnit!
19:32 gfxstrand[d]: Well, I'm not going to stop you. 😉 Just make sure you implement `Foldable` and write unit tests so I can wire it up on Maxwell and Turing.
19:37 snowycoder[d]: `iset` is also the perfect `int-bool-int` optimization.
19:37 snowycoder[d]: That thing is haunting me
20:28 karolherbst[d]: iset and slct are fun
20:29 gfxstrand[d]: snowycoder[d]: Okay, I pushed a couple times but I'll drop the lock now and let you have the branch back. I'm gonna switch to "fix Kepler A" mode now.
20:30 gfxstrand[d]: snowycoder[d]: The only really substantial feedback is around buffers which we need to rework. Oh, and reworking them will mean adding a `SuGaOffsetMode` so we can use both u32 and u8 forms.
20:31 gfxstrand[d]: But I'm really happy with how the MR is shaping up.
20:33 snowycoder[d]: Thank you!
22:34 gfxstrand[d]: Okay, I'm getting down to the really annoying to debug ones.
22:34 gfxstrand[d]: Like memory model message passing tests. 😵‍💫
23:13 gfxstrand[d]: Or this `max_attributes` test that's faulting on a write even though there is no global access in the shader.
23:16 gfxstrand[d]: Okay, I'm done for the day. I'll level-set again in the morning.
23:19 gfxstrand[d]: I did figure out the MSAA image fails, though, so all the image stuff is good to go.
23:19 gfxstrand[d]: (Those were related to me putting the `.sat` bit in the wrong spot in `imad`.)
23:23 snowycoder[d]: gfxstrand[d]: That works fine on the latest patches for KeplerB
23:23 snowycoder[d]: gfxstrand[d]: What was the issue?
23:24 snowycoder[d]: (nevermind, sorry. I had mostly the same issues with my encoding)
23:25 snowycoder[d]: gfxstrand[d]: Same with KeplerB, and I have no idea what's wrong, nothing seems obviously wrong in the encoding and using shader headers from codegen is not helping
23:27 gfxstrand[d]: Maybe? But what would be wrong? I suspect it may be external to the shader in some way but I haven't looking at the test for more than 5 min.
23:28 gfxstrand[d]: snowycoder[d]: Yeah, I suspect it's something wrong with Kepler A encoding. Like maybe there's a cache bit I'm setting wrong.
23:29 gfxstrand[d]: snowycoder[d]: Do the max attributes tests pass with codegen?
23:32 gfxstrand[d]: It's really weird that they fault
23:32 gfxstrand[d]: OOR address or invalid encoding or something might make sense. A fault is really weird
23:43 gfxstrand[d]: Maybe I can figure it out tomorrow.