Nabla
Nabla copied to clipboard
Change the Renderpass API to require and only function with VK_KHR_imageless_framebuffer
Description
Not having to pair a vkImage with a framebuffer is very nice.
Description of the related problem
Need to check if WebGPU supports this sort of API, as we might want to provide this backend soon.
Additional context
This Vulkan extension seems fairly ubiquitous.
In WebGPU you provide the image attachments in the command buffer's begin render pass function: https://gpuweb.github.io/gpuweb/#dictdef-gpurenderpassdescriptor
So it should be the same as VK_KHR_imageless_framebuffer
In WebGPU you provide the image attachments in the command buffer's begin render pass function: https://gpuweb.github.io/gpuweb/#dictdef-gpurenderpassdescriptor
So it should be the same as VK_KHR_imageless_framebuffer
yeah but then it means you maintain a engine/backend managed cache when you have a Vulkan impl that does not support KHR_imageless_framebuffer
Its a bit like timeline semaphores, its a feature you can emulate.
At the end of the day I only care about Android 12 and MoltenVK supporting this extension.
This extension is braindead, now instead of specifying an ImageView for an attachment I need to now specify the the Creation Parameters of the Image and it they don't match exactly with what ImageView I want to use at runtime during CommandBuffer recording I get a runtime error.
In the end what this would end up being is me grabbing imageView->getCreationParameters().image->getCreationParameters() every time I want to declare an attachment in a framebuffer, which is just ending up right back where we started.