确认 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”
notion image
  • glsl_stage4在源码中意义就很明显了
notion image
这样所有args内容就都是可以确定下来了