确认 Args
经过一些测试之后我发现实际上上述红色提示中[SPIR-V File](- is stdin)指的就是input的shader file,且必须指明。它不像指定output需要
-o
或者--output
标记,它就跟在可执行程序路径后。所以command实际上是这样的:
{executable_path} {input_shader_file_path} {args}
而args部分几经测试后,针对RenderDoc的api中DefaultArguments()返回内容的搜索,可以确认到,我需要使用如下这套args,并且将entry_point与glsl_stage4进行替换以正确设置
if(tool == KnownShaderTool::SPIRV_Cross) return "--vulkan-semantics --entry {entry_point} --stage {glsl_stage4} --version 460";
查看源码工程可以确认,这里的entry_point等于文档中ShaderReflection.entryPoint转字符串,通常结果是“main”

- glsl_stage4在源码中意义就很明显了

这样所有args内容就都是可以确定下来了