00:47 orowith2os[d]: kayliemoony[d]: That's kinda why I like Rust, and why it was the first language I learned.
00:49 orowith2os[d]: The idea of being able to, in the type system, make damn sure that you don't do something you shouldn't have been able to do.
00:49 orowith2os[d]: And then writing asserts when it comes to C or unsafe code.
01:18 i509vcb[d]: Rust for first programming language sounds brutal lol
01:36 TranquilIty[m]: <orowith2os[d]> "The idea of being able to, in..." <- Low* when
01:39 orowith2os[d]: i509vcb[d]: Oh, it was. Took me a few tries, had to watch one really nice tutorial video for it to all click. Especially generics.
01:39 orowith2os[d]: Tranquility[m]: hm?
01:44 TranquilIty[m]: <orowith2os[d]> "Tranquil Ity: hm?" <- Programming language aimed at expressing various constraints in the type system
01:45 orowith2os[d]: Yes, what about it?
01:46 TranquilIty[m]: Have you used it ?
01:46 orowith2os[d]: Error types and references not being able to be null, being able to jam data into enum variants. New types.
01:46 orowith2os[d]: Rust? Or a different language?
01:46 orowith2os[d]: I don't know what's going on.
01:46 TranquilIty[m]: Have you used Low*
01:48 TranquilIty[m]: (The programming language Low*)
01:49 TranquilIty[m]: (If anyone wants to google the ungoogleable name, a link -> https://fstarlang.github.io/lowstar/html/LowStar.html)
01:50 TranquilIty[m]: * -> https://fstarlang.github.io/lowstar/html/LowStar.html )
01:54 mangodev[d]: orowith2os[d]: i want to try finding something to shoehorn rust into but i'm having trouble thinking of things (despite rust notoriously being the language where you can shoehorn things into)
01:54 orowith2os[d]: Oh. It looked like correcting a typo. No, I haven't.
01:55 orowith2os[d]: I rewrote some xdg-utils in Rust after getting the hang of it ^^
01:56 orowith2os[d]: Low* looks like it would be too much hassle for me. Maybe nice, but annoying. I write enough types as-is.
01:57 orowith2os[d]: And it doesn't have the same ways of protecting the programmer as Rust does. I see a tagged union in the examples that relies on a tag and the data in a union. That's kind of a no-no for me.
01:58 mangodev[d]: orowith2os[d]: the problem is reaching the level of comfort in the language in the first place
01:58 mangodev[d]: -# i'm honestly unsure how i feel "comfortable" in some langauges to begin with
02:00 orowith2os[d]: I don't even remember how I did
02:00 orowith2os[d]: I think attempting xdg-utils was what got me there
02:00 orowith2os[d]: And I'll be damned if I didn't write some damn good code.
05:53 nakamura: the sequence can be as large as needed like closening to infinity i offered two numbered distribution to lower uncertainty. but i dumped the earlier one which was resulting towards more values stored, but encoded add operands differently which was not needed complication. At the moment placing indexes to be read follows my specification and is successful already. But linker
05:53 nakamura: branches/conditionals would need covering. sequence max sums instead of factorials are so much better in terms of having way larger utility. In another words quantum computers are very limited in terms which algorithms they can work on. So classical computers with my algorithms have better flexbility by miles compared to shor algorithms which aren't so capable. I just wonder if someone would
05:53 nakamura: offer me certificates for server and client wan authentication, cause google could not do this. It just self-signs the stuff, which isn't supported by HTTPS tls/ssl protocols.
07:00 TranquilIty[m]: <orowith2os[d]> "And it doesn't have the same..." <- Unsure I follow here. It has a more expressive type system, that's the main feature
07:04 orowith2os[d]: It... Feels a lot more like C than Rust. And that's a big no, for most of my uses. Rust really encourages you to do things safely. It doesn't feel the same from the given examples.
07:38 TranquilIty[m]: I'm unsure about the specific safety guarantees, but I am pretty sure memory safety is amongst them
13:11 jimmymythster: So, you are illlborn fraud , filthiest trah not knowing how to handle computers. Your delegation terrored me for 2.5years in Cambodia. Primary actors were anal gangsters like Laura keskinen and her angry bum fuck crocodile gloria terreur with their takeover events. They are same type of very obnoxious people like you, thieves , extorters, sexual humiliators, doctor diagnosis placers , and
13:11 jimmymythster: play the game one sidedly everywhere with same tact, first they get close to you, next time over they call to anal buffolos who say they have big cock and you have small and they are vikings and african kings etc. Claiming that they buy the hotel and sell gold here, actually instead robbing money with their finnish anal queens from clients. They both had exquizit gangster and syndicate
13:11 jimmymythster: dreams outside of angry fuck anal and interracial and gloria terreur threattens others with her gangster brother , they use exactly the same tactics every day. So its impossible to leave also when crooks or scrubs like Charl Vorster every day trash clients which resulted that no one goes there anymore. So they cracked up my dads friends and investors there. And humiliated me and issued
13:11 jimmymythster: complaints against me, everyone of this gang members will be found and scheduled for execution or long time imprisoned. Where as this anal queen was already handled after initiated assault at me. We are unsure if those steps yet ever gonna recover the businesses there for suitable tourism. At the moment there is no activity before the anal gangsters are handled with force, so i propose
13:11 jimmymythster: cut the dick of viking, english, south-african, and nigerian and finnish gangsters like jarmo järvi and stuff their sausage into their mouth to my line up allies and dad partners or slaugher or imrrisonment for every trash like this counted. Yet i made perfectly clear that i have many fans and unlimited number of females and we do not need scrubs and anal queens of theirs near our
13:11 jimmymythster: businesses extorint clients.
13:12 jimmymythster: or brag with their abortions committed.
14:43 gfxstrand[d]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36641
14:54 gfxstrand[d]: dwlsalmeida: Why are you calling `SET_OBJECT` for every video session rather than once for queue initialization or once at the top of the command buffer?
14:54 gfxstrand[d]: That might be where some of the perf has gone
15:00 dwlsalmeida[d]: IIRC I was following the trace
15:00 dwlsalmeida[d]: I think I would have noticed if this was showing up multiple times in the trace vs only once in the blob
15:01 dwlsalmeida[d]: but, IDK it's been some time, perhaps I missed it?
15:01 dwlsalmeida[d]: (why is multiple SET_OBJECTS harmful?)
15:02 dwlsalmeida[d]: gfxstrand[d]: did you notice my comment on downloading from the GPU taking 10x longer?
15:26 sendarealmathhero: now the concept of linker is not specified, it only relies on data indexing and is considered easy, branch unrolling is considered with conditionals as easy as that. And was fully covered with , with conditionals the queue jumper is used but with a twice wider selection index aka twice as many values, so we touch instead of those an allocator concept that is probably a good debate and
15:26 sendarealmathhero: where you already have some handles at/on. So allocator such as malloc is contiguous memory allocator, well filesystems also allocate addresses contiguously for file name and directory name that is all part of file storage, and is described through the fat allocation table which is different from GPT/MBR partition table, aka the storage system starts from those as we know, so the
15:26 sendarealmathhero: malloc is for system ram instead and i think for those block allocations the best allocator should be binary buddy allocator . So what i propose from my ownheld private labs is slight modernization to the linux operating system, and a performance helper in form of compiler to new modern era computing. What i say that stay strong during those times of conflicts and finally show
15:26 sendarealmathhero: something what you are made of, we tried to resolve conflicts defensively and it went uglier and uglier every day, cause people harassing and stalking in cambodia were tremendously ill born and as obnoxious it can ever get. You are used to seeing some fights which are way simpler and easier concepts to handle, and be informed force has to be used but those people fighting for money or
15:26 sendarealmathhero: conflict resolving sake, aren't at all so toxic. Military and fighters are recruited to the era of toxic people, they will deal with those monsters with real force applied for the rest of the idiots lives. during 2.5 years we did not come out with anything better. And real conflicts happen in similar ways when one party asks for trouble being entirely outlawish or just delusional ,
15:26 sendarealmathhero: sometimes both. The gang over my greater immunosystem branches from scammers from estonia, they are my family and other outlaws who just launder money over/around my organs lives and nerves. All this criminal activity and others brainwashing isn't new to me, i know every detail of their business and have taped them in all kinds of ways but medicines agenda and conspiracy is just
15:26 sendarealmathhero: bigger and more dangerous than you are used to receiving or thinking about or winning the battle with, however those are people who get handled over small periods of time already, including my family who had been betraying me , they get their lifetime penalties alike. All the surgeons who butchered me in estonia and finland, and all the nonsense spammers of wank and sexual content
15:26 sendarealmathhero: will be silenced n a world wide conflict, where i encourage other people to just hand in there be patient nothing will happen to you if you do so, and did not commit anything terrible alike mentioned.
15:52 sendarealmathhero: I do a little company too, that provides services such as teaching and configuring, i am buying a domain called AuthHeaven.org to workaround fradulently placed censorship on people who did nothing wrong to earn that. I am not going to moderate any blogs, this will quickly go dirty to yield same problems as you have faught in your lives, moderation hell in other words, but i am
15:52 sendarealmathhero: founding the real service company around my technology under different name, which currently i am dealing with. But i am choosing between commercial com net and org or me, atm. The issue is not there that i hide anything around those methods, but rather than not giving efforts or breakthroughs to people who are either toxic critics and frauds same as just aimlessly delusional comments
15:52 sendarealmathhero: should not earn assets in the world either. So i perform works already, technically resolving also those conflicts, but i cover more these tech types of era or fields here, my company will deal in missionary matters, where a project is completed money is released and earned, like it has major big activity cause the era is varying very deeply around many subprojects and subfields. The
15:52 sendarealmathhero: era is very wide and opportunity to earn is hence tremendously large.
16:02 gfxstrand[d]: dwlsalmeida[d]: Yes
16:02 gfxstrand[d]: I'm hoping I just sort of magically figure that out as I'm cleaning stuff up. 😅
16:03 marysaka[d]: dwlsalmeida[d]: maybe multiple different queue init? otherwise maybe they switch between class id at runtime for things? :aki_thonk:
16:04 dwlsalmeida[d]: marysaka[d]: what do you mean?
16:04 marysaka[d]: dwlsalmeida[d]: if it's from different files on envyhooks, there is sometime very similar dumps that does the initial setup with lot of chickenbits ect
16:05 marysaka[d]: otherwise if they really set_object in the middle of everything it could be just switching between things to do some 3D/compute/dma
16:21 dwlsalmeida[d]: marysaka[d]: yeah I think it was the latter
16:29 marysaka[d]: I do have some big changes in envyhooks that I still need to push that change all tracking btw
16:30 marysaka[d]: should catch more and would like people to give me feedback on any regressions there
17:28 reliantonreal: What is already done deal can not be changed , my work was all submitted to the channel, i ain't gonna reverse anything. It's that you want explanation of the entropy i believe since you have doubts that i missed on something like dropping most of the spectrum to the dark. Well, i never did so, i explained it not the best before, entropy as high means higher uncertainty. That high
17:28 reliantonreal: uncertainty is triggered cause of resolving the components involving in the arithmetic, cause the operands are powers of two they are entirely deterministic but slightly chaotic appearing to the spectator. Until the very final bit is received for both operands it can than only take decision to reorder a bitfield in whatever complementing system. But with my paradigm it's already before
17:28 reliantonreal: that knowing what the result will going to end up with cause the gaps between virtual powers aka power representatives are smaller. because it uses to sum the smallest not entirely smallest but smaller invariance of the result and hence it can extract the operands involving in the arithmetic with lower nearly lowest entropy, all it does is sum two operands to invariant result, which
17:28 reliantonreal: yields 1024 cmbinations in 32-bit system. because there is no collision. There will be nothing missing neither incompatible, because decoding back is virtual i.e based of remapping the answers , so it can never give us the wrong answer nor skip any value, it's also hence sure it is correct without later corrections backtracked or propagated from the first operation of arithmetic already.
17:28 reliantonreal: Nothing is hence anymore theory based, it's fully proven already. If you can not program neither be human according to agreed standards and at the same time want to tell how mentally ill strategic mind i am or scientist, i obviously can not expose my own code or write everything to you either. Here is plenty of people on the channel conflicting with the toxic ones same in the world, i
17:28 reliantonreal: have pretty strong if not strongest hand in terms of options opportunities as well as people and fans to carry this all out to declare sanctions to you. It's that all real explanations on adders operand identifications are very long and complex talks, cause i am hardware nerd, who read all types of accelerators and processors available in successful systems, i know it ends up as wasted
17:28 reliantonreal: time to carry out that explanations to you.
19:13 gfxstrand[d]: dwlsalmeida[d]: Did you autogenerate extern.c somehow?
19:14 dwlsalmeida[d]: Bindgen
19:14 dwlsalmeida[d]: There’s an option to generate it
19:21 dwlsalmeida[d]: gfxstrand[d]: iirc it was
19:21 dwlsalmeida[d]: --wrap-static-fns
19:21 dwlsalmeida[d]: Generate wrappers for `static` and `static inline` functions
19:21 dwlsalmeida[d]: --wrap-static-fns-path <PATH>
19:21 dwlsalmeida[d]: Sets the PATH for the source file that must be created due to the presence of `static` and `static inline` functions
19:27 gfxstrand[d]: Oh, neat
19:57 karolherbst[d]: yeah.. it's even wired up in meson
19:58 karolherbst[d]: `rusticl_mesa_bindings` uses that feature
19:58 karolherbst[d]: just set `output_inline_wrapper` and the result is the rust source at 0 and the c source at 1
20:22 cubanismo[d]: Does this mean I can add C inline helpers back to drm_fourcc.h 😄
20:24 karolherbst[d]: nope, it can't really deal with macros
20:24 gfxstrand[d]: karolherbst[d]: I'm not seeing it
20:24 karolherbst[d]: which is kinda weird
20:25 karolherbst[d]: gfxstrand[d]: `output_inline_wrapper` + `rusticl_mesa_bindings[0]` and `rusticl_mesa_bindings[1]`
20:29 cubanismo[d]: karolherbst[d]: I had proposed actual static inline functions.
20:29 karolherbst[d]: cubanismo[d]: I'm sure somebody could just make bindgen smarter there
20:30 karolherbst[d]: like no idea why it couldn't evaluate macros in a way it returns a constant
20:30 cubanismo[d]: I'll have to play around with stuff and see how it behaves.
20:30 karolherbst[d]: though...
20:30 karolherbst[d]: mhhh
20:31 karolherbst[d]: I'm sure it has special extra handling for macros
20:31 cubanismo[d]: The NV modifiers are complicated enough I really don't like open coding it.
20:32 karolherbst[d]: something needs to evaluate the constant expression
20:32 cubanismo[d]: Yeah, in the review thread, gfxstrand[d] said simple constant macros should be fine.
20:32 cubanismo[d]: But I dunno
20:32 cubanismo[d]: I haven't gone back to try anything since then
20:32 karolherbst[d]: well constant macros being a single constant
20:32 cubanismo[d]: Yeah, that's the only sort of macro I'd need.
20:33 cubanismo[d]: The rest was static inline helper functions.
20:33 cubanismo[d]: These were for parsing fields out of the modifiers.
20:33 cubanismo[d]: For building modifiers, there's already a macro. I can't undo that.
20:34 karolherbst[d]: well all the nvidia mods aren't single constants
20:34 karolherbst[d]: except `DRM_FORMAT_MOD_NVIDIA_TEGRA_TILED`
20:34 cubanismo[d]: Yeah, and no one care about that one 😛
20:34 karolherbst[d]: well but even that bindgen won't be able to parse
20:34 cubanismo[d]: Yeah, but that's no worse than it is now.
20:34 cubanismo[d]: I was referring to my RFC patch series for blackwell modifiers.
20:35 cubanismo[d]: I added a bunch of new helpers to parse fields out of existing modfiier values.
20:35 cubanismo[d]: Faith naked that part due to poor interactions with Rust.
20:35 karolherbst[d]: bindgen also can't parse something like this: `#define CL_ICD2_TAG_KHR ((intptr_t)0x4F50454E434C3331)`
20:35 cubanismo[d]: But it sounds like it'd actually be fine.
20:35 karolherbst[d]: yeah.. it's just a huge limitation in bindgen...
20:36 cubanismo[d]: What about `#define FOO 0x234ull`
20:36 karolherbst[d]: that _should_ work
20:36 cubanismo[d]: Yeah, that's all I'd need.
20:37 cubanismo[d]: I'll revisit if I can ever get the original modifier patch out of NV.
20:37 karolherbst[d]: it's kinda annoying how the c tooling can't just... like.. tell me the final value of a macro 🙃
20:41 marysaka[d]: karolherbst[d]: can't you expand macros and output a result file that you would then parse :aki_thonk:
20:42 karolherbst[d]: marysaka[d]: and what tool would you use for that?
20:42 karolherbst[d]: I doubt libclang has an API for that
20:42 karolherbst[d]: meanwhile rust-analzyer happily prints you the generated source of a random proc-macro 🥲
20:43 marysaka[d]: karolherbst[d]: I was thinking -E but actually that would not work isn't it
20:43 karolherbst[d]: but yeah.. rust-analyzer can do just that for constants in rust code
20:44 karolherbst[d]: marysaka[d]: correct
20:44 marysaka[d]: but libclang is a mess on that from what I recall yeah, I never found a way to expand stuffs properly with my python tooling
20:44 karolherbst[d]: my assumption is that bindgen does that, and just checks if it's a trivial constant
20:44 karolherbst[d]: and if not, it just ignores the macro
20:45 marysaka[d]: hmm
20:45 karolherbst[d]: though
20:46 karolherbst[d]: it does support shifts
20:46 karolherbst[d]: `#define CL_MEM_SVM_FINE_GRAIN_BUFFER_ARM (1 << 10)` is also fine
20:46 karolherbst[d]: I smell very manual handling of this 😄
20:46 karolherbst[d]: okay, I'm checking lol
20:47 karolherbst[d]: amazing: https://github.com/rust-lang/rust-bindgen/blob/de9627ffa4860c6ed56cd40470fc7a96afc09d44/bindgen/ir/var.rs#L457
20:49 karolherbst[d]: there is a `cexpr` thing mhh
20:51 karolherbst[d]: I wonder...
20:51 karolherbst[d]: I wonder if the casts mess it up
20:53 karolherbst[d]: nope
20:55 karolherbst[d]: yeah.. it's calling other macros that makes it break
20:55 karolherbst[d]: but why?
20:55 karolherbst[d]: marysaka[d]: so maybe that's all it takes, lol
20:56 karolherbst[d]: I have a _silly_ idea lol
20:56 marysaka[d]: oh no
20:57 karolherbst[d]: mhh
20:57 karolherbst[d]: but random casts inside the expression also make it blow up lol
20:57 karolherbst[d]: uhhh
20:58 karolherbst[d]: ohh -E removes all defines.. uhm...
20:59 karolherbst[d]: :blobcatnotlikethis:
21:16 cubanismo[d]: Sorry for leading you down a rabbit hole
22:02 karolherbst[d]: nah, it's been a known and annoying limitation
23:46 gfxstrand[d]: static inlines are fine, though
23:46 gfxstrand[d]: And I have a clever little hack to make certain parametric macros work for us
23:47 gfxstrand[d]: So this is fun... The video hardware assumes `addr >> 8` fits in 4 bits, even on blackwell where we have a LOT more than 40 bits...
23:47 gfxstrand[d]: Not a problem for now as NVK assumes 40 bits
23:47 gfxstrand[d]: But still entertaining