One candidate entry function the author may define, paired with the void main() the harness generates when that function is present and the source defines no main() of its own (T1.4).
More...
#include <phosphor-shaders/include/PhosphorShaders/ShaderEntryPoint.h>
Public Member Functions | |
| bool | operator== (const EntryCandidate &) const =default |
Public Attributes | |
| QString | functionName |
Name of the entry function the author defines, e.g. "pZone". | |
| QString | generatedMain |
The complete void main() { ... } the harness appends when functionName is defined. | |
| QStringList | alsoRequires {} |
Additional function names that must ALSO be defined for this candidate to match — for direction-dispatched animation entries, where pIn (the trigger) is only valid paired with pOut. | |
One candidate entry function the author may define, paired with the void main() the harness generates when that function is present and the source defines no main() of its own (T1.4).
The candidate list is ordered: composeEntryPoint appends the generatedMain of the FIRST candidate whose functionName the source defines. The wrapper text is shader-system-specific (zone packs dispatch a per-zone loop calling pZone; animation packs call pTransition / pIn / pOut), so each system supplies its own candidates while the detection + composition mechanism here stays runtime-agnostic.
|
default |
| QStringList PhosphorShaders::EntryCandidate::alsoRequires {} |
Additional function names that must ALSO be defined for this candidate to match — for direction-dispatched animation entries, where pIn (the trigger) is only valid paired with pOut.
Empty for single-entry candidates (every zone candidate), so the common {functionName, generatedMain} aggregate init leaves it empty. All must be present, else the candidate is skipped (a partial pair falls through to the missing-main() compiler error rather than a dangling call).
| QString PhosphorShaders::EntryCandidate::functionName |
Name of the entry function the author defines, e.g. "pZone".
| QString PhosphorShaders::EntryCandidate::generatedMain |
The complete void main() { ... } the harness appends when functionName is defined.
References to the entry function, plus any uniforms / helpers it uses (zoneRects, blendOver, clampFragColor, …), must resolve against what the shader already includes — the wrapper is appended verbatim after the author's body, so the entry function and all referenced symbols are already in scope.