Vulkan 标准验证层与核心验证层

Vulkan standard validation layer vs core validation layer

我正在学习 vulkan 并发现有趣的事情:在我的家用电脑上我有 VK_LAYER_LUNARG_standard_validation 层,但在我的工作电脑上我没有它但有 VK_LAYER_LUNARG_core_validation 层。它们之间有什么区别,我应该使用什么?

来自 layer documentation 中的 table:

VK_LAYER_LUNARG_core_validation validate the descriptor set, pipeline state, and dynamic state; validate the interfaces between SPIR-V modules and the graphics pipeline; track and validate GPU memory and its binding to objects and command buffers

然后就在 table 层之后:

In addition to the above individually specified layers, a built-in meta-layer definition has been provided which simplifies validation for applications. Specifying this short-hand layer definition will load a standard set of validation layers in the optimal order:

 VK_LAYER_LUNARG_standard_validation

在 VulkanSDK 的某些(早期)版本中,添加了 VK_LAYER_LUNARG_standard_validationVK_LAYER_LUNARG_core_validation(但不是同一版本)。您可能应该只在所有机器上更新到最新的 SDK 版本(或至少更新和一致的)版本。