diff options
author | John Stiles <johnstiles@google.com> | 2022-03-21 19:05:42 -0400 |
---|---|---|
committer | SkCQ <skcq-be@skia-corp.google.com.iam.gserviceaccount.com> | 2022-03-24 02:09:39 +0000 |
commit | f88e45cae8d344bc6bbe8f4d398a457a5155c228 (patch) | |
tree | cfe6caeffee87c2c76a35091fe903832dfa6134d | |
parent | 9f7ddf9a8f6709091a215f71b20ac3e793322eb8 (diff) | |
download | skia-f88e45cae8d344bc6bbe8f4d398a457a5155c228.tar.gz |
Include the errors/ folder when SkQP searches for SkSL error tests.
Bug: skia:13042
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Change-Id: I3cf979160bd8c6ef4d60bc7097ab482b1671b271
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524015
Reviewed-by: Derek Sollenberger <djsollen@google.com>
-rw-r--r-- | tools/skqp/src/skqp.cpp | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/tools/skqp/src/skqp.cpp b/tools/skqp/src/skqp.cpp index 559aec20a2..2f0ec2ee59 100644 --- a/tools/skqp/src/skqp.cpp +++ b/tools/skqp/src/skqp.cpp @@ -114,23 +114,28 @@ static std::vector<SkQP::SkSLErrorTest> get_sksl_error_tests(SkQPAssetManager* a const ExclusionList& exclusionList) { std::vector<SkQP::SkSLErrorTest> skslErrorTests; - // Android only supports runtime shaders, not color filters or blenders. - std::vector<std::string> paths = assetManager->iterateDir("sksl/runtime_errors/", ".rts"); - for (const std::string& path : paths) { - SkString name = SkOSPath::Basename(path.c_str()); - if (exclusionList.isExcluded(name.c_str())) { - continue; - } - sk_sp<SkData> shaderText = GetResourceAsData(path.c_str()); - if (!shaderText) { - continue; + auto iterateFn = [&](const char* directory, const char* extension) { + std::vector<std::string> paths = assetManager->iterateDir(directory, extension); + for (const std::string& path : paths) { + SkString name = SkOSPath::Basename(path.c_str()); + if (exclusionList.isExcluded(name.c_str())) { + continue; + } + sk_sp<SkData> shaderText = GetResourceAsData(path.c_str()); + if (!shaderText) { + continue; + } + skslErrorTests.push_back({ + name.c_str(), + std::string(static_cast<const char*>(shaderText->data()), shaderText->size()) + }); } - skslErrorTests.push_back({ - name.c_str(), - std::string(static_cast<const char*>(shaderText->data()), shaderText->size()) - }); }; + // Android only supports runtime shaders, not fragment shaders, color filters or blenders. + iterateFn("sksl/errors/", ".rts"); + iterateFn("sksl/runtime_errors/", ".rts"); + auto lt = [](const SkQP::SkSLErrorTest& a, const SkQP::SkSLErrorTest& b) { return a.name < b.name; }; |