@dneto@mastodon.gamedev.place avatar

dneto

@dneto@mastodon.gamedev.place

Vulkan, WebGPU shader stuff at Google.
WGSL editor.
Former SPIR WG chair @ Khronos; still doing SPIR-V.
GitHub @dneto0 Twitter @dneto1969

Searchable

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

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

Vulkan shader maximal reconvergence extension has been released.

This is a deeply technical issue. But your intuition about how subgroups work is wrong.
This cuts across APIs, but Vulkan is doing something about it.

https://www.khronos.org/blog/khronos-releases-maximal-reconvergence-and-quad-control-extensions-for-vulkan-and-spir-v

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

Hey, would you like to help academic research stress-testing GPU memory models? Do you have Chrome?

PhD student Reese Levine at
UC Santa Cruz is collecting data and could use your help by running some WebGPU code that stress-tests the memory behaviour of GPUs.

Takes about 20 minutes:
1.) Head to https://gpuharbor.ucsc.edu/webgpu-mem-testing/tuning/ (must be on Chrome)
2.) Optionally turn on a developer flag (to get more granular info about what GPU you have)
3.) Run the Tune/Conform action
4.) Submit your results!

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

Heyo, here's a writing tip:

Use "i.e." when you want to say "that is to say", like a definition.
Even numbers are divisible by two, i.e. X is even if there is some integer K such that X = 2 * K.

Use "e.g." when you want to give an illustrative example.
Fruit are often colourful, e.g. bananas.

dneto, (edited ) to webgpu
@dneto@mastodon.gamedev.place avatar

Want to quickly check the support in your browser? Visit

https://webgpureport.org/

It will show the adapter and device info, including the limits and features.

(Edit: Fixed the link)

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

TIL for a long time the US banned Mexican avocadoes. The ban was lifted in 1997.

That explains a few things.
Growing up, avocadoes were pretty rare. Now they're pretty common.

Also the boomers telling the millennials to stop eating avocado toast to save money to buy a house.

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

NEWS FROM CANADA

We're coming up on an important 20th anniversary.
Same-sex marriage in Ontario
was authoritatively established on June 10, 2003. This was the first jurisdiction in North America to do so.

https://en.wikipedia.org/wiki/Same-sex_marriage_in_Ontario

The issue was pushed to the forefront in part by weddings at the Metropolitan Community Church of Toronto, a few blocks from where I lived.

I think we're all better for it.

dneto, to Canada
@dneto@mastodon.gamedev.place avatar

NEWS FROM CANADA

The federal government announced their budget. It raises the inclusion rate on capital gains above a gain of 250K$, on businesses and trusts. (Ooh, multiple qualifiers there...) From 50% to 67%.

Cue the "brain drain" Cassandra's, just like the 1990s.

https://www.cbc.ca/news/business/canadian-entrepreneurs-investors-capital-gains-tax-reaction-1.7176837

dneto,
@dneto@mastodon.gamedev.place avatar

Example: a business bought an asset like an apartment building for 15M$, and sells it years later for 25M$. That's a capital gain of 10M$. Currently only 5M$ of that gain is taxed (at the corporate rate). After the change, 6.7M$ is taxed instead of 5M$.

Corporate tax rates in Canada are about 15% federal and 11% provincial (according to tax foundation dot org). Small businesses federal tax rate is 9%. (Canada Revenue Agency)

Where's my tiny violin?

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

Yes, friends, today I wrote an email beginning with "Yikes!"

dneto, to llvm
@dneto@mastodon.gamedev.place avatar

So the thing about LLVM IR is, in reality it's a family of accidental and informally defined dialects. Every LLVM-based compiler for a particular machine target refines the input module down to its own idiosyncratic dialect.

Consequently there's way more latitude for confusion and bugs than you'd initially guess.

Try using an i65 type in an x86 backend. When I did that years ago it sailed right through and generated nonsense code.

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

I watched Dune part 1 last night.
I kept thinking: this is just Star Wars, right?

dneto,
@dneto@mastodon.gamedev.place avatar

@aras
Yeah. I was trolling.

I have a complicated relationship to Dune. When I was 12 my teacher lent me her personal copy of Dune....which I then lost and was too embarrassed to confess.

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

SSD stands for "solid state drive".

That makes no sense. What is being driven?
I know it's from hard drive,. or floppy drive, where a disk was being spun.

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

Programming languages are cultural artifacts. Their value lies in their usage by a community.

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

Just got back from some business travel in Europe. Nice to see USB-C charge ports showing up in hotel rooms and airport seating.

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

Jet lag and food poisoning will flatten you.
Fortunately I have a 284h podcast queue.

Currently listening to episode 4 of the 99% Invisible series on The Power Broker.

https://pca.st/episode/1b7e9505-ca7b-43fd-9627-c3f018e83991

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

Inclusive language tips:
Instead of "Hey guys", say "Hey folks" or "Folks".
Instead of "manpower" say "staff".

Concision, precision, and inclusion.

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!

dneto,
@dneto@mastodon.gamedev.place avatar

@gfxstrand

Do you have a benchmark suite that you trust and curate? It would take the guesswork out of these tradeoffs. (Of course, mainly pushing it to the curation process.)

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

University of Toronto students are protesting the situation in Gaza and demanding financial divestment in Israel and cutting ties with universities in Israel.
The University is willing to give in on the first, not the second, and has given 24hrs to accept the terms and vacate the premises.

This reminds me of the fight against South African apartheid. Students led a 6 year campaign ending in full divestment, including a 3hr occupation of the president's office
https://nvdatabase.swarthmore.edu/content/university-toronto-students-win-divestment-apartheid-south-africa-1984-1990

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

If your implementation of fp64 add changes based on whether or not there's a depth buffer, something has gone horribly wrong.

(This is a subtoot about the OpenGL CTS.)

dneto,
@dneto@mastodon.gamedev.place avatar

@gfxstrand
Isn't the.depth buffer where you'd hide the fp64 adder lookup table?

(Yes I'm trolling)

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

Reading Biden's transcript I can see myself very easily. I constantly misremember what year something happened in my life, or how long I was at a job. I mean, I have a terrible memory in general, but I can be spectacularly wrong about what year something happened.

I know this isn't "average", but it is "normal", i.e. well within the bell curve of humanity. And you know how to solve the problem? You write stuff down. It's not exactly a debilitating weakness. You just write stuff down.

dneto,
@dneto@mastodon.gamedev.place avatar

@TomF

At my 20th wedding anniversary dinner we tried to name a significant thing in our lives from each year of our marriage. I had a hard time and missed a few. Made me sad to feel life slipped away so easily.

OTOH, upon hearing a song fragment I can often pin it to its year. Drives my kids bananas, but makes me feel good.

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

Holy cow.

Back in the 80s I bought an album of instrumental music: the Wyndham Hill Sampler album for 1988. (That was a thing record companies did, to generate interest for music that would otherwise not get attention, definitely no mainstream airplay.)
The album had some great stuff on it, and I've missed it.
I could never find it on streaming services...until today. Yowza this brings back memories.
"Climbing into geometry" (!) for example.

https://music.youtube.com/playlist?list=PL7CECD5718BD137B2&si=M_a9vDB_igateOhn

dneto,
@dneto@mastodon.gamedev.place avatar

Listening to it now, I remember a lot of it, like detailed melody lines. I must have played it a lot while doing uni homework. I'm feeling a lot of math...

julienbarnoin, to programming
@julienbarnoin@mastodon.gamedev.place avatar

I've been working a lot with for a while now, writing complex code. Overall, I feel like the single improvement that would make the most difference for the language would be support for pass-by-reference instead of copy in/copy out syntax, as suggested here https://github.com/KhronosGroup/GLSL/issues/84

This would make it possible to do a lot of things that are either not possible or ridiculously inefficient to compile, including object oriented programming.

dneto,
@dneto@mastodon.gamedev.place avatar

@gfxstrand @julienbarnoin

has pass by ref but we call them pointers.

And it also has a no aliasing restriction; you can't have two names for the same variable memory and have a RW, WR, or WW hazard in the same function.
https://www.w3.org/TR/WGSL/#alias-analysis

And with all that our compiler does call site specialization until it boils those pointer params away. It's convenient for the programmer but can bloat code size (hopefully no more than hand rolling it yourself)

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