@zeux@mastodon.gamedev.place avatar

zeux

@zeux@mastodon.gamedev.place

Recovering SPU/RSX enthusiast and Vulkan apologist. Previously: technical fellow at Roblox.

pugixml, meshoptimizer, volk, niagara, Luau.

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

pervognsen, to random
@pervognsen@mastodon.social avatar

I haven't done any real Vulkan programming since 1.0. Are there any good guides that skip all the legacy junk and only show the streamlined 1.3 way of doing things?

zeux,
@zeux@mastodon.gamedev.place avatar

@pervognsen 1.3 isn’t that different really in terms of things you’re guaranteed to have OTOH. Dynamic rendering and synchronization2, maybe uniform layout. So as stated you aren’t missing much; if you want a drastically different view you need things like bindless (descriptor indexing/buffers), mesh shaders, ray tracing, but all of these are optionally supported everywhere.

A core 1.3 renderer isn’t as drastic of a departure from core 1.0, even though you get a bunch of small nice things.

zeux,
@zeux@mastodon.gamedev.place avatar

@pervognsen 1.3 is supported everywhere where 1.0 is assuming latest drivers (in theory). If you don’t target mobile I would definitely go bindless only for anything new but that has no relation to 1.3.

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

I can't quite put my finger on it, but there's something delightful about this list of "legitimate" uses of negative literals:

https://github.com/elm/compiler/issues/1773.

I think part of it is the circumstances that would compel users to construct such a list. Until that thread, it hadn't even occurred to me that someone would present a case against the existence of negative literals that required a rebuttal.

zeux,
@zeux@mastodon.gamedev.place avatar

@NohatCoder @soulthreads @danluu @pervognsen My (hot?) take is that two different ways to declare a const / mutable variable (Rust, Zig, TypeScript, Scala) or insistence on adding const to all locals (modern C++) is simply counterproductive and doesn’t improve code much. Local mutability is just fine actually.

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

meshoptimizer is at 5000 stars!

I have a growing list of things I'd like to tackle both in the core library and in gltfpack; I intend to spend more time on meshoptimizer/gltfpack in the coming months.

Was hoping to get a grant from Epic MegaGrants for maintenance for this year but they declined my application so I guess we'll just yolo this :)

Thank you everyone for using the project!

https://github.com/zeux/meshoptimizer

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

How much RAM do you have in your dev workstation/laptop?

zeux,
@zeux@mastodon.gamedev.place avatar

@pervognsen 192 GB :) (… and 16GB in the travel laptop)

pervognsen, to random
@pervognsen@mastodon.social avatar

Days like today I look at my food log and realize being a fruitarian wouldn't be half bad.

zeux,
@zeux@mastodon.gamedev.place avatar

@pervognsen @BartWronski For me small deficit if your baseline is notably higher vs goal ends up fairly demoralizing: your sustained progress is less visible amidst natural variation, and it’s easy to mess up the counting to be off by a large margin of target deficit. I’ve been trying to do small increments over last 6 months and just doesn’t seem to work long term for me, so trying a larger deficit and more control now.

(I’m also slowly increasing strength simultaneously so a narrow balance…)

pervognsen, to random
@pervognsen@mastodon.social avatar

The Brothers Lionheart is isekai.

zeux,
@zeux@mastodon.gamedev.place avatar

@pervognsen Karlsson was huge in USSR and it carried over after the collapse.

zeux,
@zeux@mastodon.gamedev.place avatar

@Doomed_Daniel @pervognsen Pippi was known but much less popular I think. All other books and characters basically not known.

castano, (edited ) to random
@castano@mastodon.gamedev.place avatar

Let’s say I discover a significant shader optimization for one IHV that’s easy to leverage and people don’t seem to be aware of.

zeux,
@zeux@mastodon.gamedev.place avatar

@castano What does "trade it with the IHV" mean? Trade for what? :)

I resolve questions like this by asking, if I assume there's many people asking the same questions and making the same decision, which world would I rather live in?

zeux,
@zeux@mastodon.gamedev.place avatar

@castano It's unfortunate that IHVs keep information critical to getting good performance on their hardware secret from the ISVs who's goal is literally to make that hardware go faster. But it's entirely possible they are aware of this and a multitude of hidden factors prevent it.

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

New* post, "target_clones is a trap"! https://zeux.io/2024/04/20/target-clones-trap/ Boosts appreciated :)

This was written in 2022 as I was working on Luau optimizations; 2024 is a great year to repost it as the mechanism behind target_clones (ended up not being used) also was used in xz_utils backdoor!

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

Current project size breakdown:

  • 6kb misc images
  • 15kb executable code
  • 96kb one blue noise texture
  • 3150kb music track

Size budgeting is my passion!

zeux,
@zeux@mastodon.gamedev.place avatar

@aras Hopefully the target is 64k and not, say, 4k…

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

Source files in current project: various_tests.c, stuff.c. Hey it is my project, I make the rules! (or lack of the rules)

zeux,
@zeux@mastodon.gamedev.place avatar

@aras Solid choice of file extension 👍

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

This would have been invaluable last year when I was working on A64 backend for Luau 😅 Today a lot of this is fairly unsurprising and conventional but there are still a few useful bits, and having official latency tables is great!
https://mastodon.gamedev.place/@aras/112282632307964721

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

"Apple Silicon CPU Optimization Guide" looks pretty good! https://developer.apple.com/download/apple-silicon-cpu-optimization-guide/ (via @natbro)

zeux,
@zeux@mastodon.gamedev.place avatar

@aras @natbro Secret Clang accelerator finally revealed

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

It's just wild that official Apple tools are basically useless for deep performance analysis of ALU bound shaders but @dougall made a tool that makes it possible.

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

Decided to port calm to Metal yesterday night; got basic port complete now. Needs profiling/optimizations, and MoE support (which will probably need to wait a while as I don't have a large enough Mac to test on).

Metal is serviceable but CUDA feels way ahead for compute work.

zeux,
@zeux@mastodon.gamedev.place avatar

@aras Yeah I think for this work there's maybe a similar gap between Metal and DX/VK as there is between CUDA and Metal :)

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

New blog post! "Meshlet triangle locality matters", in which we discover an unexpected efficiency property of mesh shaders on NVidia hardware, and attempt to deal with it.

Boosts appreciated!

https://zeux.io/2024/04/09/meshlet-triangle-locality/

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

Actually found a use case where C flexible array members are useful:

In GLSL, SSBO structs can have a 'non-repeating header', followed by repeated data. This GLSL struct could map directly to a similar C struct by a shader compiler like sokol-shdc...

This doesn't map to non-C languages though, that's why I will probably not allow such header data, at least when using sokol-shdc.

zeux,
@zeux@mastodon.gamedev.place avatar

@floooh I mean there’s tons of cases where it’s convenient to locate metadata right before an array of elements. A lot of types in Luau use this; unfortunately flexible array elements aren’t portable so you end up using various UB and error prone workarounds like T x[1] or manually offsetting pointers.

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

How it started vs how it is going. What has changed in two years? Apparently, Unity lost some lasers to focus along!

going

zeux,
@zeux@mastodon.gamedev.place avatar

@aras Maybe other side initiatives like Unity Editor and Runtime are just getting in the way? Ideally [laser-]focus on Monetization Solutions and abandon everything else.

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

Great thread from @rygorous wrt open source libs maintenance (in wake of current xz situation): https://mastodon.gamedev.place/@rygorous/112186275901509504 (1/N)

zeux,
@zeux@mastodon.gamedev.place avatar

@aras I had the same problem in mind when I started calm, so I ended up blanket disabling issues :)

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

New blog post! Here we'll cover the speed of light for LLM inference for transformer models and why it's a useful metric. https://zeux.io/2024/03/15/llm-inference-sol/

Boosts appreciated :)

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

I’m thinking to experiment with more frequent shorter less prepared blog posts. I already wrote the “why” here https://cohost.org/zeux/post/309475-write-less-to-write

I was originally hoping to use cohost for this, but ended up not using it a whole lot and it looks like the future of that platform is uncertain.

Part of me resists doing this - it’s changing my blog format, what if people only want to read longer well thought out posts? - but hey I’m an adult so I can do whatever I want!

Will also repost older cohost posts.

zeux,
@zeux@mastodon.gamedev.place avatar

@nicebyte Yes that’s the point! The post above was written a year ago. New plan is write shorter content on blog.

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