|
|
Donner SVG 0.8.0-pre
SVG editor and embeddable C++20 engine.
|
Latches the first builder error so a program can be transliterated linearly. More...
#include "donner/gpu/shader/programs/ErrorLatch.h"
Public Member Functions | |
| IrExpr | operator() (ShaderResult< IrExpr > &&result) |
| Unwraps an expression result. | |
| IrType | operator() (ShaderResult< IrType > &&result) |
| Unwraps a type result. | |
| void | ok (ShaderStatus &&status) |
| Latches a status. | |
Public Attributes | |
| std::optional< ShaderError > | error |
| First error, if any. | |
Latches the first builder error so a program can be transliterated linearly.
On error every subsequent expression receives a dummy 0.0f; the resulting cascade errors are ignored because only the first is reported. The inputs are static, so any latched error is a Donner bug surfaced by the golden test, never a runtime condition.
|
inline |
Latches a status.
| status | Status to check. |
|
inline |
Unwraps an expression result.
| result | Result to unwrap. |
|
inline |
Unwraps a type result.
| result | Result to unwrap. |