diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2018-07-19 20:10:37 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-19 20:10:46 +0000 |
commit | 6c48e4d11ce80fa5cfef56e13b2d5847fe94a7cc (patch) | |
tree | 57e5d832d16aa9a0447e5102fe9811e39f8403d9 /src/sksl/SkSLGLSLCodeGenerator.cpp | |
parent | 736db1081b378ac8c167dfbc0322470d28c1cb3e (diff) |
Reland "Revert "added GrSkSLFP and converted DitherEffect to use it""
This reverts commit 97ae0c89025dfd791047f5701e57d58da37c125c.
Reason for revert: Breaking ANGLE.
Original change's description:
> Revert "Revert "added GrSkSLFP and converted DitherEffect to use it""
>
> This reverts commit f2030783094e502fb74221077a5ee7cb41287fe4.
>
> Bug: skia:
> Change-Id: Icaaa8b3ea652a8f126bfbcc788a360493a7ebe3e
> Reviewed-on: https://skia-review.googlesource.com/137391
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com
Change-Id: I65d6d2707fceab0a99121c528d1b848d23e34bfa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/142588
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLGLSLCodeGenerator.cpp')
-rw-r--r-- | src/sksl/SkSLGLSLCodeGenerator.cpp | 61 |
1 files changed, 28 insertions, 33 deletions
diff --git a/src/sksl/SkSLGLSLCodeGenerator.cpp b/src/sksl/SkSLGLSLCodeGenerator.cpp index 29f3ec84aa..5f6fedcdb5 100644 --- a/src/sksl/SkSLGLSLCodeGenerator.cpp +++ b/src/sksl/SkSLGLSLCodeGenerator.cpp @@ -883,44 +883,41 @@ void GLSLCodeGenerator::writeSetting(const Setting& s) { } void GLSLCodeGenerator::writeFunction(const FunctionDefinition& f) { - if (fProgramKind != Program::kPipelineStage_Kind) { - this->writeTypePrecision(f.fDeclaration.fReturnType); - this->writeType(f.fDeclaration.fReturnType); - this->write(" " + f.fDeclaration.fName + "("); - const char* separator = ""; - for (const auto& param : f.fDeclaration.fParameters) { - this->write(separator); - separator = ", "; - this->writeModifiers(param->fModifiers, false); - std::vector<int> sizes; - const Type* type = ¶m->fType; - while (type->kind() == Type::kArray_Kind) { - sizes.push_back(type->columns()); - type = &type->componentType(); - } - this->writeTypePrecision(*type); - this->writeType(*type); - this->write(" " + param->fName); - for (int s : sizes) { - if (s <= 0) { - this->write("[]"); - } else { - this->write("[" + to_string(s) + "]"); - } + this->writeTypePrecision(f.fDeclaration.fReturnType); + this->writeType(f.fDeclaration.fReturnType); + this->write(" " + f.fDeclaration.fName + "("); + const char* separator = ""; + for (const auto& param : f.fDeclaration.fParameters) { + this->write(separator); + separator = ", "; + this->writeModifiers(param->fModifiers, false); + std::vector<int> sizes; + const Type* type = ¶m->fType; + while (type->kind() == Type::kArray_Kind) { + sizes.push_back(type->columns()); + type = &type->componentType(); + } + this->writeTypePrecision(*type); + this->writeType(*type); + this->write(" " + param->fName); + for (int s : sizes) { + if (s <= 0) { + this->write("[]"); + } else { + this->write("[" + to_string(s) + "]"); } } - this->writeLine(") {"); - fIndentation++; } + this->writeLine(") {"); + fFunctionHeader = ""; OutputStream* oldOut = fOut; StringStream buffer; fOut = &buffer; + fIndentation++; this->writeStatements(((Block&) *f.fBody).fStatements); - if (fProgramKind != Program::kPipelineStage_Kind) { - fIndentation--; - this->writeLine("}"); - } + fIndentation--; + this->writeLine("}"); fOut = oldOut; this->write(fFunctionHeader); @@ -1347,9 +1344,7 @@ bool GLSLCodeGenerator::generateCode() { OutputStream* rawOut = fOut; fOut = &fHeader; fProgramKind = fProgram.fKind; - if (fProgramKind != Program::kPipelineStage_Kind) { - this->writeHeader(); - } + this->writeHeader(); if (Program::kGeometry_Kind == fProgramKind && fProgram.fSettings.fCaps->geometryShaderExtensionString()) { fHeader.writeText("#extension "); |