@sascha@mastodon.gamedev.place avatar

sascha

@sascha@mastodon.gamedev.place

Software development team lead in the automotive area at day, open source developer and Khronos contributor by night. Mostly Vulkan related things. Maintainer of the GPU hardware databases at http://gpuinfo.org

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

sascha, to random German
@sascha@mastodon.gamedev.place avatar

Interviewer: How many image formats do you want?
Vulkan: Yes!
Interviewer: How many letters do you need at most?
Vulkan: Yes (looking at VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR)

On a more serious note I finally started working on adding support for VkFormatFeatureFlagBits2 to the caps viewer and database. Not sure yet how to present that information in a nice-to-look-at way.

sascha,
@sascha@mastodon.gamedev.place avatar

@aras "Fun" fact. Thanks to Vulkan I found out that MySQL has a max. length for column names ^^

sascha, to GraphicsProgramming German
@sascha@mastodon.gamedev.place avatar

Just released version 3.40 of the @vulkan Hardware Capability viewer for all supported platform: https://vulkan.gpuinfo.org/download.php

This version adds support for some new extensions and the latest Vulkan profiles.

outofcontrol, to random
@outofcontrol@phpc.social avatar

After using TablePlus for around 3 years, is this still a good app to use? Are there newer better alternatives.

It’s renewal time and I’d like to check-in on other apps before upgrading.

Feedback welcome.

sascha,
@sascha@mastodon.gamedev.place avatar

@outofcontrol I've been using DBeaver for quite some time now with half a dozen different database types and I'm pretty happy with it. I only work with Windows and Linux though. https://dbeaver.io

sascha,
@sascha@mastodon.gamedev.place avatar

@outofcontrol @falken even the community edition has ER diagrams that show relations just fine and nicer than many commercial tools ;)
https://github.com/dbeaver/dbeaver/wiki/ER-Diagrams

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

oh, I managed to exercise all but one day this week 💪

sascha, (edited )
@sascha@mastodon.gamedev.place avatar

@aeva It's so easy, yet so many people try all sort of odd things to de-stress. For me it's mountain biking. Ideally as far away from any screen as possible ;)

sascha, (edited )
@sascha@mastodon.gamedev.place avatar

@aeva And beyond that point it's pure joy, believe me. The real fun starts once your stamina/strength is no longer the limiting factor. I remember not being able move a bike more than 100 meters and having excruciating back and knee pain from all day sitting. That was ~10 years ago, and I can now do full day mountain bike trips at ease. Totally rewarding, and also saved me from several operations 🚵🏻

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

The database feature I really want in my game dev pipeline is queries, not transactions.

"Fetch me all actors in the game that use this combination of properties and are affected by lights with this type of shadow filter"

"Tell me which post process volumes enable depth of field in the game"

sascha,
@sascha@mastodon.gamedev.place avatar

@solidangle As someone with an application background I was always astonished as to how little games make use of databases, and instead rely on gigantic single file json or similar. Maybe just a feeling but I think databases (esp. RDBMs) are perceived as old and slow. But a well designed and properly setup database can lots of things in realtime (i.e. in a single game frame's time).

sascha,
@sascha@mastodon.gamedev.place avatar

@mjp @solidangle That makes sense. Traditional RDBMs don't play nice with version control (aside from structure), but for delivering content to the user they can be an awesome tool.

sascha,
@sascha@mastodon.gamedev.place avatar

@mjp @nicebyte @solidangle That's a good point. I almost forgot we had hardware like the PS3 with 2x256 MBytes, which isn't a lot. But databases are good at compressing stuff and can do normalization (first normal form) and they can be really fast. So you can cram in a lot of stuff even if you only have a few megs.

sascha, (edited )
@sascha@mastodon.gamedev.place avatar

@mjp @nicebyte @solidangle Decided to have some Sunday programming fun with and . Took me less than 30 minutes to build a (very simplistic) sqlite based recording and replay system for my samples. I've been working with real time graphics and database for decades, but never really combined them in such a way. Combining those two very different things was a lot of fun :)

sascha, to GraphicsProgramming German
@sascha@mastodon.gamedev.place avatar

My community driven @thekhronosgroup GPU hardware databases for , , and recently hit the 50,000 reports milestone.

Did a small write up on this, including some history on those databases at https://www.saschawillems.de/blog/2024/03/09/gpu-hardware-databases-hit-50000-reports/

Thanks to everyone who contributed (and is contributing) reports 😊

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

I spent much of yesterday evening chasing a crash in the Intel driver and/or validation layers. Finally it turned out that it was fixed in the validation layers back on January 18th.

But the latest release on GitHub is 1.3.275, made on January 10th. And it's actually something Android related instead of a proper release?

Looking at the git tags, there have been 4 "non-releases" and we're now on v1.3.279.

Is there any kind of process to this at all?

sascha,
@sascha@mastodon.gamedev.place avatar

@wolfpld right now aside from Android, layers are only released through the LunarG SDK. Maybe we can get CI builds on GitHub for other platforms in the future.

sascha, to GraphicsProgramming German
@sascha@mastodon.gamedev.place avatar

I have released a substantial update to my @vulkan GPU hardware database at https://vulkan.gpuinfo.org that fundamentally improves filtering. And I also reworked some SQL statements and upgraded the server to improve general performance.

I hope this makes the database (even) more useful to those developing with Vulkan.

https://www.saschawillems.de/blog/2024/02/25/improving-filtering-for-the-vulkan-hardware-database/

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

Think I know why I wouldn't be a good fit for the Vulkanised talks: they have a talk on how to easily implement barriers, but my talk would be on how I never use them at all.

"No transitions, no barriers, no cache flushes, no render passes, no correctness, and no problems" anyone want that talk? haha

sascha,
@sascha@mastodon.gamedev.place avatar

@nicebyte @NOTimothyLottes That's correct. It depends on the GPU architecture. On some GPUs your app may work fine with missing/wrong barriers, but on more strict archs (AMD, Intel) it's bound to fail. Newer NV archs (ada) are at least a bit stricter, while older archs (ampere) pretty much don't care.

sascha,
@sascha@mastodon.gamedev.place avatar

@NOTimothyLottes "How I fixed all of my Vulkan barrier problems - By replacing all sync messages in the validation layers with empty messages" ^^

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

Today I'm ex Wētā Realtime, just got 'eliminated' from Unity.

Honestly I'm excited.
Time to do something new!

sascha,
@sascha@mastodon.gamedev.place avatar

@NOTimothyLottes Unity nowadays feels like a company controlled by some rogue AI. Was kinda shocked when I heard about what they did to Weta. Wish you all the best for the future!

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

How common are forced separate gfx and present queues in Vulkan? Does this separation exist on real hardware, or is it just a theoretical possibility?

To see if present is supported on a queue, you need to pass a surface to draw on to vkGetPhysicalDeviceSurfaceSupportKHR. This allows you to select the queue setup that will work.

But what if you don't have a surface to render to yet, but want to create a VkDevice that will be able to present?

sascha,
@sascha@mastodon.gamedev.place avatar

@wolfpld Never ;) That's why I didn't bother doing a visualization for the database. That question comes up a few times a year, and last time I checked (december'23) there was not a single report in the database where those were separate.

sascha,
@sascha@mastodon.gamedev.place avatar

@wolfpld Lets just hope no vendor ever tries to do that. At most I'd expect having non-gfx queue families support present (along gfx queue families). This is already available on some implementations, where present from compute can gain some performance.

sascha,
@sascha@mastodon.gamedev.place avatar

@wolfpld Just to check: Why would you create multiple VkDevices in that scenario instead of just one VkDevice with multiple queue create infos?

sascha, to GraphicsProgramming German
@sascha@mastodon.gamedev.place avatar

@vulkan Hardware Capability Viewer 3.33 is now live at https://vulkan.gpuinfo.org/download.php

It has been quite a while since the last release, so this version adds support for features and properties for a lot of recently added extensions (almost 20), including those from the Vulkan 2024 roadmap.

Also did a lot of changes under the hood to improve code quality and make it easier to add new features to the app.

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

Hey, would you look at that! I wrote another conformant Vulkan implementation...

More Vulkan versions should be coming soon. I mostly started with 1.0 because passing the CTS was a bit easier. We actually have most of the features for 1.1 and 1.3 isn't that far away.

https://www.collabora.com/news-and-blog/news-and-events/nvk-reaches-vulkan-conformance.html

sascha,
@sascha@mastodon.gamedev.place avatar

@gfxstrand Congrats. That's a real accomplishment! Looking forward for more of this for additional NV architectures ;)

pyrrhael, to random French
@pyrrhael@mastodon.gamedev.place avatar

Finally. Mesh shading

sascha,
@sascha@mastodon.gamedev.place avatar

@pyrrhael Rorschach test for developers ;)

tojiro, to random
@tojiro@mastodon.social avatar

If you grab Chrome Canary (version 121.0.6109.0 or higher) on an Android 12+ device today you can probably run WebGPU without flags!

Test it out at https://webgpu.github.io/webgpu-samples/ and let me know if anything breaks!

sascha,
@sascha@mastodon.gamedev.place avatar

@tojiro Looking good. Samples work fine on my Pixel 4A. Though once you run a sample that taxes the GPU (like the A-buffer one), my whole phone becomes so laggy (even when moving Chrome to the background) that I'm having a hard time closing Chrome Canary to get my phone to respond again, I guess there is no such thing as TDR on Android to avoid something like this?

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

New Nebula Background for my little game. It's composited of 3 renderings I did with the Blender Nebula Generator by Mark Kingsnorth https://blendermarket.com/products/nebula-generator
See ingame: https://simonschreibt.itch.io/cozy-space-survivors

sascha,
@sascha@mastodon.gamedev.place avatar

@simonschreibt A bit outdated, but I've been using this for some of my projects: http://alexcpeterson.com/spacescape/
Though it's more aimed at 3D.

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