凡尔康;从 SPIR-V 着色器获取制服和属性列表

Vulkan; Get list of uniforms & attribs from SPIR-V shader

为此寻找 Vulkan 替代品; In OpenGL is there a way to get a list of all uniforms & attribs used by a shader program?

Vulkan 作为一般规则,不会查询 API 以获取您提供给 API 的任何信息。如果您给 API 一些东西,并且您需要了解有关该数据的一些信息,那么您应该记住它是什么。

SPIR-V 包含着色器使用的各种资源和接口的所有定义。 SPIR-V 是一种非常明确的格式。由于您将 SPIR-V 交给了 Vulkan,因此您有足够的机会了解该着色器中的所有“制服和属性”是什么。所以 Vulkan 没有着色器查询 API.

several tools 用于内省 SPIR-V 二进制文件以提取此类信息。但是 Vulkan 本身 不是其中之一。