diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2018-02-01 12:14:34 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-02-01 18:22:03 +0000 |
commit | 130fb3f7aac19e40eddfc8fa85a9b39e7c99a7e8 (patch) | |
tree | 8daee5ab96a5bdc06e991ff8d1e370c011b6b7a5 /src/sksl/SkSLHCodeGenerator.cpp | |
parent | 28eaed254dcd73b42c15b73528f349cccd7797e5 (diff) |
updated .fp file headers
Bug: skia:
Change-Id: I9c39622f34e803a706acd04372be569667380661
Reviewed-on: https://skia-review.googlesource.com/102204
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/sksl/SkSLHCodeGenerator.cpp')
-rw-r--r-- | src/sksl/SkSLHCodeGenerator.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/sksl/SkSLHCodeGenerator.cpp b/src/sksl/SkSLHCodeGenerator.cpp index 819b85a515..9750aabb87 100644 --- a/src/sksl/SkSLHCodeGenerator.cpp +++ b/src/sksl/SkSLHCodeGenerator.cpp @@ -7,6 +7,7 @@ #include "SkSLHCodeGenerator.h" +#include "SkSLParser.h" #include "SkSLUtil.h" #include "ir/SkSLEnum.h" #include "ir/SkSLFunctionDeclaration.h" @@ -252,7 +253,24 @@ void HCodeGenerator::writeFields() { } } +String HCodeGenerator::GetHeader(const Program& program, ErrorReporter& errors) { + SymbolTable types(&errors); + Parser parser(program.fSource->c_str(), program.fSource->length(), types, errors); + for (;;) { + Token header = parser.nextRawToken(); + switch (header.fKind) { + case Token::WHITESPACE: + break; + case Token::BLOCK_COMMENT: + return String(program.fSource->c_str() + header.fOffset, header.fLength); + default: + return ""; + } + } +} + bool HCodeGenerator::generateCode() { + this->writef("%s\n", GetHeader(fProgram, fErrors).c_str()); this->writef(kFragmentProcessorHeader, fFullName.c_str()); this->writef("#ifndef %s_DEFINED\n" "#define %s_DEFINED\n", |