diff options
author | Brian Osman <brianosman@google.com> | 2017-08-14 14:48:10 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-08-14 21:24:55 +0000 |
commit | 93ba0a4fc85f04bc1be9429983df1e57473b49a7 (patch) | |
tree | 29b75949fdb9d449b28c000ff5f1e18eec19c42f /tests | |
parent | ba8275148ab8b10393b053e2586b852796c4afc2 (diff) |
Switch SkSL to std::string
On desktop, this saves just over 5% of the time in the SkSL compiler.
As written, the code will now build either way, so it's much easier to
switch back (or even have some platforms use SkString, if that's ever
required).
Bug: skia:
Change-Id: I634f26a4f6fcb404e59bda6a5c6a21a9c6d73c0b
Reviewed-on: https://skia-review.googlesource.com/34381
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/GrSKSLPrettyPrintTest.cpp | 4 | ||||
-rw-r--r-- | tests/SkSLErrorTest.cpp | 4 | ||||
-rw-r--r-- | tests/SkSLFPTest.cpp | 2 | ||||
-rw-r--r-- | tests/SkSLGLSLTest.cpp | 3 | ||||
-rw-r--r-- | tests/SkSLMemoryLayoutTest.cpp | 48 | ||||
-rw-r--r-- | tests/SkSLSPIRVTest.cpp | 2 |
6 files changed, 32 insertions, 31 deletions
diff --git a/tests/GrSKSLPrettyPrintTest.cpp b/tests/GrSKSLPrettyPrintTest.cpp index ec5dddb023..c0de6c02a8 100644 --- a/tests/GrSKSLPrettyPrintTest.cpp +++ b/tests/GrSKSLPrettyPrintTest.cpp @@ -27,7 +27,7 @@ const SkString input6("\n}}a; little ; love; for ; leading; spaces;} " "an struct = { int a; int b; };" "int[5] arr = int[5](1,2,3,4,5);} some code at the bottom; for(;;) {} }"); -const SkString output1( +const SkSL::String output1( " 1\t#this is not a realshader\n" " 2\tvec4 some stuff;\n" " 3\toutside of a function;\n" @@ -103,7 +103,7 @@ DEF_TEST(GrSKSLPrettyPrint, r) { testStr.push_back(input6.c_str()); lengths.push_back((int)input6.size()); - SkString test = GrSKSLPrettyPrint::PrettyPrint(testStr.begin(), lengths.begin(), + SkSL::String test = GrSKSLPrettyPrint::PrettyPrint(testStr.begin(), lengths.begin(), testStr.count(), true); ASSERT(output1 == test); diff --git a/tests/SkSLErrorTest.cpp b/tests/SkSLErrorTest.cpp index df829874f6..b94cc82324 100644 --- a/tests/SkSLErrorTest.cpp +++ b/tests/SkSLErrorTest.cpp @@ -16,7 +16,7 @@ static void test_failure(skiatest::Reporter* r, const char* src, const char* err SkSL::Program::Settings settings; sk_sp<GrShaderCaps> caps = SkSL::ShaderCapsFactory::Default(); settings.fCaps = caps.get(); - compiler.convertProgram(SkSL::Program::kFragment_Kind, SkString(src), settings); + compiler.convertProgram(SkSL::Program::kFragment_Kind, SkSL::String(src), settings); SkSL::String skError(error); if (compiler.errorText() != skError) { SkDebugf("SKSL ERROR:\n source: %s\n expected: %s received: %s", src, error, @@ -31,7 +31,7 @@ static void test_success(skiatest::Reporter* r, const char* src) { sk_sp<GrShaderCaps> caps = SkSL::ShaderCapsFactory::Default(); settings.fCaps = caps.get(); std::unique_ptr<SkSL::Program> program = compiler.convertProgram(SkSL::Program::kFragment_Kind, - SkString(src), settings); + SkSL::String(src), settings); REPORTER_ASSERT(r, program); } diff --git a/tests/SkSLFPTest.cpp b/tests/SkSLFPTest.cpp index 0c3da0b5c3..1f983b704f 100644 --- a/tests/SkSLFPTest.cpp +++ b/tests/SkSLFPTest.cpp @@ -19,7 +19,7 @@ static void test(skiatest::Reporter* r, const char* src, const GrShaderCaps& cap SkSL::StringStream output; std::unique_ptr<SkSL::Program> program = compiler.convertProgram( SkSL::Program::kFragmentProcessor_Kind, - SkString(src), + SkSL::String(src), settings); if (!program) { SkDebugf("Unexpected error compiling %s\n%s", src, compiler.errorText().c_str()); diff --git a/tests/SkSLGLSLTest.cpp b/tests/SkSLGLSLTest.cpp index c1bf2bbbce..a7f6740442 100644 --- a/tests/SkSLGLSLTest.cpp +++ b/tests/SkSLGLSLTest.cpp @@ -23,7 +23,8 @@ static void test(skiatest::Reporter* r, const char* src, const SkSL::Program::Se SkSL::Program::Kind kind = SkSL::Program::kFragment_Kind) { SkSL::Compiler compiler; SkSL::String output; - std::unique_ptr<SkSL::Program> program = compiler.convertProgram(kind, SkString(src), settings); + std::unique_ptr<SkSL::Program> program = compiler.convertProgram(kind, SkSL::String(src), + settings); if (!program) { SkDebugf("Unexpected error compiling %s\n%s", src, compiler.errorText().c_str()); } diff --git a/tests/SkSLMemoryLayoutTest.cpp b/tests/SkSLMemoryLayoutTest.cpp index 0a5d382e8a..80188e61c7 100644 --- a/tests/SkSLMemoryLayoutTest.cpp +++ b/tests/SkSLMemoryLayoutTest.cpp @@ -54,40 +54,40 @@ DEF_TEST(SkSLMemoryLayout140Test, r) { // struct 1 std::vector<SkSL::Type::Field> fields1; - fields1.emplace_back(SkSL::Modifiers(), SkString("a"), context.fFloat3_Type.get()); - SkSL::Type s1(SkSL::Position(), SkString("s1"), fields1); + fields1.emplace_back(SkSL::Modifiers(), SkSL::String("a"), context.fFloat3_Type.get()); + SkSL::Type s1(SkSL::Position(), SkSL::String("s1"), fields1); REPORTER_ASSERT(r, 16 == layout.size(s1)); REPORTER_ASSERT(r, 16 == layout.alignment(s1)); - fields1.emplace_back(SkSL::Modifiers(), SkString("b"), context.fFloat_Type.get()); - SkSL::Type s2(SkSL::Position(), SkString("s2"), fields1); + fields1.emplace_back(SkSL::Modifiers(), SkSL::String("b"), context.fFloat_Type.get()); + SkSL::Type s2(SkSL::Position(), SkSL::String("s2"), fields1); REPORTER_ASSERT(r, 16 == layout.size(s2)); REPORTER_ASSERT(r, 16 == layout.alignment(s2)); - fields1.emplace_back(SkSL::Modifiers(), SkString("c"), context.fBool_Type.get()); - SkSL::Type s3(SkSL::Position(), SkString("s3"), fields1); + fields1.emplace_back(SkSL::Modifiers(), SkSL::String("c"), context.fBool_Type.get()); + SkSL::Type s3(SkSL::Position(), SkSL::String("s3"), fields1); REPORTER_ASSERT(r, 32 == layout.size(s3)); REPORTER_ASSERT(r, 16 == layout.alignment(s3)); // struct 2 std::vector<SkSL::Type::Field> fields2; - fields2.emplace_back(SkSL::Modifiers(), SkString("a"), context.fInt_Type.get()); - SkSL::Type s4(SkSL::Position(), SkString("s4"), fields2); + fields2.emplace_back(SkSL::Modifiers(), SkSL::String("a"), context.fInt_Type.get()); + SkSL::Type s4(SkSL::Position(), SkSL::String("s4"), fields2); REPORTER_ASSERT(r, 16 == layout.size(s4)); REPORTER_ASSERT(r, 16 == layout.alignment(s4)); - fields2.emplace_back(SkSL::Modifiers(), SkString("b"), context.fFloat3_Type.get()); - SkSL::Type s5(SkSL::Position(), SkString("s5"), fields2); + fields2.emplace_back(SkSL::Modifiers(), SkSL::String("b"), context.fFloat3_Type.get()); + SkSL::Type s5(SkSL::Position(), SkSL::String("s5"), fields2); REPORTER_ASSERT(r, 32 == layout.size(s5)); REPORTER_ASSERT(r, 16 == layout.alignment(s5)); // arrays - SkSL::Type array1(SkString("float[4]"), SkSL::Type::kArray_Kind, *context.fFloat_Type, 4); + SkSL::Type array1(SkSL::String("float[4]"), SkSL::Type::kArray_Kind, *context.fFloat_Type, 4); REPORTER_ASSERT(r, 64 == layout.size(array1)); REPORTER_ASSERT(r, 16 == layout.alignment(array1)); REPORTER_ASSERT(r, 16 == layout.stride(array1)); - SkSL::Type array2(SkString("float4[4]"), SkSL::Type::kArray_Kind, *context.fFloat4_Type, 4); + SkSL::Type array2(SkSL::String("float4[4]"), SkSL::Type::kArray_Kind, *context.fFloat4_Type, 4); REPORTER_ASSERT(r, 64 == layout.size(array2)); REPORTER_ASSERT(r, 16 == layout.alignment(array2)); REPORTER_ASSERT(r, 16 == layout.stride(array2)); @@ -135,40 +135,40 @@ DEF_TEST(SkSLMemoryLayout430Test, r) { // struct 1 std::vector<SkSL::Type::Field> fields1; - fields1.emplace_back(SkSL::Modifiers(), SkString("a"), context.fFloat3_Type.get()); - SkSL::Type s1(SkSL::Position(), SkString("s1"), fields1); + fields1.emplace_back(SkSL::Modifiers(), SkSL::String("a"), context.fFloat3_Type.get()); + SkSL::Type s1(SkSL::Position(), SkSL::String("s1"), fields1); REPORTER_ASSERT(r, 16 == layout.size(s1)); REPORTER_ASSERT(r, 16 == layout.alignment(s1)); - fields1.emplace_back(SkSL::Modifiers(), SkString("b"), context.fFloat_Type.get()); - SkSL::Type s2(SkSL::Position(), SkString("s2"), fields1); + fields1.emplace_back(SkSL::Modifiers(), SkSL::String("b"), context.fFloat_Type.get()); + SkSL::Type s2(SkSL::Position(), SkSL::String("s2"), fields1); REPORTER_ASSERT(r, 16 == layout.size(s2)); REPORTER_ASSERT(r, 16 == layout.alignment(s2)); - fields1.emplace_back(SkSL::Modifiers(), SkString("c"), context.fBool_Type.get()); - SkSL::Type s3(SkSL::Position(), SkString("s3"), fields1); + fields1.emplace_back(SkSL::Modifiers(), SkSL::String("c"), context.fBool_Type.get()); + SkSL::Type s3(SkSL::Position(), SkSL::String("s3"), fields1); REPORTER_ASSERT(r, 32 == layout.size(s3)); REPORTER_ASSERT(r, 16 == layout.alignment(s3)); // struct 2 std::vector<SkSL::Type::Field> fields2; - fields2.emplace_back(SkSL::Modifiers(), SkString("a"), context.fInt_Type.get()); - SkSL::Type s4(SkSL::Position(), SkString("s4"), fields2); + fields2.emplace_back(SkSL::Modifiers(), SkSL::String("a"), context.fInt_Type.get()); + SkSL::Type s4(SkSL::Position(), SkSL::String("s4"), fields2); REPORTER_ASSERT(r, 4 == layout.size(s4)); REPORTER_ASSERT(r, 4 == layout.alignment(s4)); - fields2.emplace_back(SkSL::Modifiers(), SkString("b"), context.fFloat3_Type.get()); - SkSL::Type s5(SkSL::Position(), SkString("s5"), fields2); + fields2.emplace_back(SkSL::Modifiers(), SkSL::String("b"), context.fFloat3_Type.get()); + SkSL::Type s5(SkSL::Position(), SkSL::String("s5"), fields2); REPORTER_ASSERT(r, 32 == layout.size(s5)); REPORTER_ASSERT(r, 16 == layout.alignment(s5)); // arrays - SkSL::Type array1(SkString("float[4]"), SkSL::Type::kArray_Kind, *context.fFloat_Type, 4); + SkSL::Type array1(SkSL::String("float[4]"), SkSL::Type::kArray_Kind, *context.fFloat_Type, 4); REPORTER_ASSERT(r, 16 == layout.size(array1)); REPORTER_ASSERT(r, 4 == layout.alignment(array1)); REPORTER_ASSERT(r, 4 == layout.stride(array1)); - SkSL::Type array2(SkString("float4[4]"), SkSL::Type::kArray_Kind, *context.fFloat4_Type, 4); + SkSL::Type array2(SkSL::String("float4[4]"), SkSL::Type::kArray_Kind, *context.fFloat4_Type, 4); REPORTER_ASSERT(r, 64 == layout.size(array2)); REPORTER_ASSERT(r, 16 == layout.alignment(array2)); REPORTER_ASSERT(r, 16 == layout.stride(array2)); diff --git a/tests/SkSLSPIRVTest.cpp b/tests/SkSLSPIRVTest.cpp index 4d5457f339..ba4697d191 100644 --- a/tests/SkSLSPIRVTest.cpp +++ b/tests/SkSLSPIRVTest.cpp @@ -17,7 +17,7 @@ static void test_failure(skiatest::Reporter* r, const char* src, const char* err sk_sp<GrShaderCaps> caps = SkSL::ShaderCapsFactory::Default(); settings.fCaps = caps.get(); std::unique_ptr<SkSL::Program> program = compiler.convertProgram(SkSL::Program::kFragment_Kind, - SkString(src), settings); + SkSL::String(src), settings); if (program) { SkSL::String ignored; compiler.toSPIRV(*program, &ignored); |