Add option to reflect all block members, inactive or active.

* The stages mask is more fine-grained, and each variable or block's mask
  indicates which stages it's active in.
This commit is contained in:
baldurk
2019-01-30 15:34:02 +00:00
parent 657acc0c40
commit a972e73ad7
17 changed files with 265 additions and 77 deletions

View File

@@ -532,6 +532,8 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
ReflectOptions |= EShReflectionIntermediateIO;
} else if (lowerword == "reflect-separate-buffers") {
ReflectOptions |= EShReflectionSeparateBuffers;
} else if (lowerword == "reflect-all-block-variables") {
ReflectOptions |= EShReflectionAllBlockVariables;
} else if (lowerword == "resource-set-bindings" || // synonyms
lowerword == "resource-set-binding" ||
lowerword == "rsb") {
@@ -1532,6 +1534,7 @@ void usage()
" --reflect-intermediate-io reflection includes inputs/outputs of linked shaders\n"
" rather than just vertex/fragment\n"
" --reflect-separate-buffers reflect buffer variables and blocks separately to uniforms\n"
" --reflect-all-block-variables reflect all variables in blocks, whether inactive or active\n"
" --resource-set-binding [stage] name set binding\n"
" set descriptor set and binding for\n"
" individual resources\n"