bool result = tools.Validate(program.data(), program.size()); if (result) { return true;
} // If disassemble is set, we won't abort but instead append the errors. This allows // us to keep going and show all the errors, which is used by skslc to make sure // expected validation errors fail as expected.. if (disassemble) { // Send the message, plus the entire disassembled SPIR-V (for easier context & debugging) // as if were an SkSL compile error message.
std::string disassembly;
uint32_t options = spvtools::SpirvTools::kDefaultDisassembleOption;
options |= SPV_BINARY_TO_TEXT_OPTION_COMMENT | SPV_BINARY_TO_TEXT_OPTION_INDENT |
SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT; if (tools.Disassemble(program.data(), program.size(), &disassembly, options)) {
errors.append(disassembly);
}
reporter.error(Position(), errors);
} else { // Normal validation mode - abort() in a debug build with an error message.
SkDEBUGFAILF("%s", errors.c_str());
} returnfalse;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.