Source

Thread

1/ @SebAaltonen

I’ve long time talked about killing the graphics API. First step: Kill descriptor APIs. Descriptors are just memory, you can put them in buffers, load them in shader and copy/update them in GPU timeline.

This new Khronos extension does exactly that:
https://www.khronos.org/blog/vk-ext-descriptor-buffer

Branches: 2022-11-22-SebAaltonen-hopefully-in-the-future-the-existing-vulkan, 2022-11-22-PLT_cheater-killing-the-graphics-api-what-does-that-mean-how, 2022-11-22-danoli3-hooley-dooley, 2022-11-22-vingt_2-yes-please, 2022-11-22-AlenL-few-more-decades-and-will-finally-be-back-to, 2022-11-23-zhaijialong-this-extension-still-lacks-the-ability-to-create, 2022-11-23-ThisIsJBernard-finally-was-waiting-on-this-one-now-just-want, 2022-11-23-Venemo-afaik-that-is-only-fully-true-on-amd-gpus, 2022-11-23-JoaoBapt-one-of-the-biggest-roadblocks-when-i-was-trying, 2022-11-23-RandomPedroJ-when-i-started-with-modern-graphics-apis-i-e, 2022-11-23-SvetlinTotev-another-vulkan-w

2/ @NOTimothyLottes

@SebAaltonen

Yes, closer to what many of us wanted from VK from the beginning. Article missed this: DYNAMIC on AMD at least was good because it can be SGPR preload (removes an indirection at runtime).

3/ @NOTimothyLottes

@SebAaltonen

Unfortunatly though I’d expect some are going to abuse the API: use max descriptor size for everything all in one giant array. Will kill cache efficiency. Not sure if this new API supports the alternatives to fix that.

4/ @rianflo

@NOTimothyLottes @SebAaltonen

I am using VK_KHR_push_descriptor for now.