Ten loader může samozřejmě obsahovat běžně používané proxy, ale pořád ta možnost volby zajistí flexibilitu, lepší performance a lepší abstrakci. Nacpat to tam natvrdo přes globální funkce nic nepřinese a je to omezující. Jestli by vznikla knihovna, která by implementovala běžné funkce - proč ne? Ale pořád má ten vendor možnost volby a když přijde s lepší hardwarovou implementací, tak ji může snadno nahradit. To není ten případ, pokud Vulkan bude část řešit na horní vrstvě. Což si ani nemyslím, bo primární cíl je mít skutečně low-level přístup.
Ad Direct3D/COM - to byl jen příklad korektního abstraktního řešení. Samotný COM je zde samozřejmě kanón na vrabce, ten princip je loadnout vendor shared library, a vrátit pointer na VkDevice strukturu, která bude mít v sobě pointery na waitIdle, destroyDevice, getDeviceQueue, a opět VkQueue se submit, bindSparse atd. Na to nepotřebuju žádný overhead...