@DaKangz@mastodon.gamedev.place avatar

DaKangz

@DaKangz@mastodon.gamedev.place

Graphics plumber at Google. WebGPU, ANGLE, Vulkan and 3D stuff. He/him.

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

litherum, to random
@litherum@masto.ai avatar

So, wait

When Vulkan submits work to the GPU, it can schedule a fence to be signaled when the work is complete, and…

The CPU can:

  • ask if the fence is signaled right now (without blocking)
  • synchronously block the calling thread until the fence becomes signaled

But there’s no way to hook it up to an event loop?!?! Like, there is a way to turn the fence into a file descriptor, but passing that file descriptor to select() or epoll() does nothing?

https://github.com/KhronosGroup/Vulkan-Docs/issues/310

What a joke API

DaKangz,
@DaKangz@mastodon.gamedev.place avatar

@litherum there are some systems that support hooking fence up to an OS syncFD when using VK_KHR_external_semaphore_fd with VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT.

Unfortunately not all systems do support that so for example in Dawn we're considering having a utility thread that waits on the completion of fences. (a single one is sufficient because fences are ordered).

DaKangz,
@DaKangz@mastodon.gamedev.place avatar

@litherum there are ordering guarantees in Vulkan but they are very difficult to figure out. For fences though the order of signaling operation is part of the implicit synchronization described in https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-implicit and https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-fences-signaling (excuse brevity, on a phone atm)

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

A couple more WebGPU features coming in Chrome 125!

  • Experimental support for subgroup is added behind a flag, please test it and provide feedback!
  • Rendering to slices of 3D textures is now posible.

Read more on https://developer.chrome.com/blog/new-in-webgpu-125

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

WebGPU in Chrome 124 gets two very requested features:

  • read-write storage textures for more compute flexibility (previously write-only was the only mode allowed),
  • support for using WebGPU from additional types of JS worker!

Read more on https://developer.chrome.com/blog/new-in-webgpu-124

litherum, to random
@litherum@masto.ai avatar

Is there a legitimate reason why anyone would want to run WebGL on a server? (As opposed to running WebGL on the client, or running OpenGL (or something else) on the server)?

People keep asking me about this over the years, and each time they do, I’m always bewildered why anyone would want to do that.

I guess if you want to avoid writing security-conscious code, then you could instead delegate all security mitigations to the WebGL layer, instead of just writing safe code in the first place 🤔

DaKangz,
@DaKangz@mastodon.gamedev.place avatar

@litherum we see a bunch of people asking for WebGPU support of software rendering on headless browsers because they either want to reuse the same code to generate images "offline" (for testing, thumbnails, etc) or because they want to share code bases.

IMHO both of these are reasonable uses and people are running mostly their own code so it's not for a security reason.

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

Chrome 121 supports WebGPU on Android (mostly thanks to @tojiro and a bunch of other niceties like being able to omit the entryPoint name when creating pipelines.

Next release seems fairly quiet but Chrome 123 looks like it will have a lot more new features!

https://developer.chrome.com/blog/new-in-webgpu-121

DaKangz, to webgpu
@DaKangz@mastodon.gamedev.place avatar

Here are the release notes for in Chromium 119: https://developer.chrome.com/blog/new-in-webgpu-119/

Filterable 32-bit float textures, unorm10-10-10-2 vertex format, and rgb10a2uint texture format and more! We have a much awaited extension that starts with an f and ends with a 16 in the next release :)

DaKangz, to webgpu
@DaKangz@mastodon.gamedev.place avatar

Here are the release notes for in Chromium 118: https://developer.chrome.com/blog/new-in-webgpu-118/

We have easier uploads of ImageData and HTMLImageElement to textures, experimental support for the long awaited read-write storage textures, a DawnInfo program, and the usual slew of improvements and bugfixes!

DaKangz, to webgpu
@DaKangz@mastodon.gamedev.place avatar

Here are the release notes for in Chromium 117: https://developer.chrome.com/en/blog/new-in-webgpu-117/

Standing out among the small features and fixes are a fix for the caching of pipeline with implicit layouts so that pages using them should now start much quicker! (after the first load)

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

Here are the release notes for WebGPU in Chromium 116: https://developer.chrome.com/blog/new-in-webgpu-116/

WebGPU now integrates will with WebCodecs for super efficient video processing! Of course there are tons of tiny improvements in ergonomics, perf and more in the 100s of new commits :)

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