@dotstdy@mastodon.social
@dotstdy@mastodon.social avatar

dotstdy

@dotstdy@mastodon.social

phd in branch predicting, ceo of euro gaming

This profile is from a federated server and may be incomplete. Browse more on the original instance.

dotstdy, to random
@dotstdy@mastodon.social avatar

There's a bit of stuff in this article which phrases it in terms of changes over time, e.g. compute capability has grown and we no longer need big data. But it seems closer to reality that it was never required, and continues to not be required. (looking forward to the same style of post happening in a few years vis-a-vis microservices)

https://mastodon.social/@ltratt/112518285832831004

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @ltratt @pkhuong Ah this is amazing, I was just thinking of the much simpler classic: https://yourdatafitsinram.net/

dotstdy, to random
@dotstdy@mastodon.social avatar

subgroup ops are a mindfuck on top of the existing mindfuck of work groups, local work groups, dispatches and invocations.

dotstdy,
@dotstdy@mastodon.social avatar

@aras noo im never leaving the compute stage!

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @aras well rdna can dual-issue... so probably there needs to be an additional layer. i guess they were just leaving future looking options like local subgroup for that kind of thing with sub-dword invocations.

dotstdy,
@dotstdy@mastodon.social avatar

@zeux well I mean "local workgroup" v.s. "global workgroup", and i guess typically just saying "workgroup" would imply the "local workgroup" rather than the "global workgroup"? idk

dotstdy,
@dotstdy@mastodon.social avatar
dotstdy,
@dotstdy@mastodon.social avatar
dotstdy,
@dotstdy@mastodon.social avatar

@zeux @oblomov Right, I do agree it would be simpler to call the top level a dispatch and never call it a workgroup. (And to be honest my original list does kind of double-count the dispatch as "dispatch" and as "global workgroup", but you are potentially dispatching the shader multiple times, which I guess is the reason the dispatch size is called a global workgroup? idk).

dotstdy,
@dotstdy@mastodon.social avatar

@zeux @oblomov Well it's hard to argue with the vulkan spec on matters of terminology, no matter how ridiculous it is.

> [vkCmdDispatch] When the command is executed, a global workgroup consisting of groupCountX × groupCountY × groupCountZ local workgroups is assembled.
> Decorating a variable with the GlobalInvocationId built-in decoration will make that variable contain the location of the current invocation within the global workgroup.

pervognsen, to random
@pervognsen@mastodon.social avatar

There's a bunch of C-like successor languages that say they want to eliminate undefined behavior. I've never been able to figure out how they intend to deal with reads and writes to memory since a lot of these languages take what I would call the "naive" machine-centric view of memory which is hard to reconcile with source-level semantics for variables, etc. You can't really rename all of this stuff as "implementation-defined" and get out of jail for free.

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @foonathan we'll just use the underlying machine model! --> okay i guess it's explicit loads and stores then. :')
edit: I'm not really sure if this would resolve the issue, I'd guess it would help though? Assuming you wanted to remove UB. (ofc this nukes the whole idea of having an ergonomic language but anyway)

dotstdy, to random
@dotstdy@mastodon.social avatar

Anyway I'm curious whether I can move the coarse bitmap to LDS, merging the two culling passes. Basically dispatch a "coarse" tile, which loops over all the incoming primitives, writing the bitmap to LDS (16KiB per tile, too much?), then switch to one invocation per "fine" tile, looping over the data in LDS and writing out the final culled tiles.

dotstdy, to random
@dotstdy@mastodon.social avatar

i keep getting results for the church of the latter day saints when i look for LDS smh

aras, to random
@aras@mastodon.gamedev.place avatar

Remember Collada? Yeah the format is pretty much dead at this point, but Blender still has it (because of Sketchup, Chief Architect, Bricklink Studio etc.). However it felt increasingly uncomfortable to continue using OpenCollada (that embeds old 3rd party libraries with several dozen known security issues). So here's a "cleanup fork" of OpenCollada that gets rid of the security issues part (but also gets rid of everything Blender does not need). https://github.com/aras-p/OpenCOLLADA

dotstdy,
@dotstdy@mastodon.social avatar

@aras the open in opencollada means open for everybody to access your computer! taking interop to all new levels.

dotstdy, to random
@dotstdy@mastodon.social avatar

I wonder why the performance counters don't work in RGP captures on my APU. I guess something isn't plumbed up yet for RDNA3 :'(

dotstdy, to random
@dotstdy@mastodon.social avatar

Has anyone ever made a good system for gameplay queries? (of the "give me all the apples nearby" or "trigger when x happens" style) I'm somewhat of the opinion that any generalized approach here is going to end up in tears, but I'm also of the opinion that gameplay scripting in particular wants to have a pretty generalized approach to help with auditing content (e.g. you want to tightly control what data scripts can access, and when they can access it).

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen yeah specifically for performance, and specifically my tears around shipping season. :')

edit: and raycasts also kind of count, as soon as you start driving the logic for individual casts from within a gameplay script it's not going to end well I think. like it's totally fine in the small scale, but absurdly bad for things like ground-snapping. (largely because it makes it very difficult to do sweeping changes like batching and rate limiting across all your content)

dotstdy, to random
@dotstdy@mastodon.social avatar

I find it funny the way people give away their own lack of understanding sometimes. Reading this comments on this (why i do this) https://bikepacking.com/plog/man-or-bear-debate/ and there's the classic "[RE: meeting women on the trail] Never in my silly mind crossed the thought of me making them uncomfortable."

If it has never crossed your mind that you might be making somebody uncomfortable - that's a you problem - and specifically one of the core issues the whole damn piece is talking about!

dotstdy,
@dotstdy@mastodon.social avatar

There's a lot of things that pretty trivially give away when somebody hasn't even attempted to rub two brain cells together on a problem, but a man saying "ive never even considered the possibility of making a woman uncomfortable when i meet them alone in the wilderness" is a real banger.

castano, to random
@castano@mastodon.gamedev.place avatar

Is there a way not to burn quithub's LFS quota on github actions?
I have a repo with GBs of LFS data, and it looks like the checkout action downloads the entire thing every time it's triggered.
This is not only is extremely wasteful, but also gets expensive very quickly!

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @wolfpld @castano you can also run GitHub actions on your own machines, it's just kinda shit.

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @wolfpld @castano oh its a huge meme still, i just meant it's technically possible :')

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @wolfpld @castano yeah i have a 3 vcpu plan at hetzner and its been painless. i originally thought i'd run my ci through there too, but like you noted, the github stuff sucks ass. and I'm too lazy to setup / maintain a whole ass web thing like gitlab or gitea or sourcehut or whatever. (ofc i have no real need for ci anyway, i just do it because I can)

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @wolfpld Using a Thai credit card in Denmark perhaps?

bitinn, to gamedev
@bitinn@mastodon.gamedev.place avatar

Can older gamedev share some wisdom on how crunch manifest in the early 90-00s era?

These days crunch feels like a “feature” of game industry:

  • yes, by market cap we are definitely one of the biggest video game companies.

  • but even within it, your choice is to either crunch to meet increasingly difficult deadline;

  • or see your project cancelled in 2-4 years, then either continue on with other big projects or get layoff.

Are the 90s’ crunch different?

dotstdy,
@dotstdy@mastodon.social avatar

@bitinn @BartWronski is this also unpaid overtime? D:

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

For people who've been around much longer, has there been any retrospectives on Rust's decision to allow panics to unwind rather than abort? I've mostly come to terms with it in a practical sense but it's something that really "infects" the language and library ecosystem at a deep level, e.g. fn(&mut T) isn't "the same" as fn(T) -> T and it's especially troublesome if you're writing unsafe library code and dynamically calling code through closures or traits that could potentially panic.

dotstdy,
@dotstdy@mastodon.social avatar

@glaebhoerl @foonathan @pkhuong @pervognsen to be honest I don't really buy that panics would be an especially big problem such that you'd want per-request recovery. It's certainly something I could see having niche value, but it's a small niche. Stuck between process segregation and running your individual requests in a VM.

gfxstrand, to random
@gfxstrand@mastodon.gamedev.place avatar

This week's project: Reworking NVK cbuf support. We've had a lot of issues with too much internal stalling and I think a lot of them come down to the fact that we're re-binding cbufs every draw call.

My plan for root constants, is to do inline updates with the LOAD_CONSTANT_BUFFER command. I don't know how much of a difference there is but I strongly suspect this pipelines much better.

For bound cbufs, I'm planning to just make our dirty tracking way more competent.

We'll see how it goes!

dotstdy,
@dotstdy@mastodon.social avatar

@castano @nh @gfxstrand @Biovf I'm not sure the location metadata would work very well in practice, because people will use random screenshot tools on PC. I kinda wonder whether you could encode it redundantly and unobtrusively so a screenshot of a part of the screen also works. :/

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • khanakhh
  • kavyap
  • thenastyranch
  • everett
  • tacticalgear
  • rosin
  • Durango
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • InstantRegret
  • Youngstown
  • slotface
  • JUstTest
  • ethstaker
  • ngwrru68w68
  • cisconetworking
  • modclub
  • tester
  • osvaldo12
  • cubers
  • GTA5RPClips
  • normalnudes
  • Leos
  • provamag3
  • anitta
  • lostlight
  • All magazines