知识卡片
层与扩展的职责分工
内容
层(layer)和扩展(extension)在Vulkan里承担不同职责:层只拦截和验证已有API调用,不改变程序的功能行为;扩展用来引入尚未定案的新功能,未来可能被吸收进标准,也可能被废弃。绑定方式也不同:层隐式挂在指令执行链上,扩展则要先查询再动态绑定成函数指针。这种切分让”挑毛病”和”加能力”互不干扰:调试层可以随意叠加、随时关闭,不影响真正的功能扩展,参见[[加载器的可插拔验证层]]。
参考来源
《Vulkan学习指南》第3章《连接硬件设备》