diff options
author | ethannicholas <ethannicholas@google.com> | 2016-09-30 06:23:24 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-09-30 06:23:25 -0700 |
commit | f008b0a59f45c0d4bea3e66faf3b01805009ec89 (patch) | |
tree | 57b3cfb21b1e83552935ceb606b9102febb64333 /src/gpu/glsl/GrGLSLShaderBuilder.h | |
parent | ed38772630744edd1999f4ef8ea96fe0c7c45f6d (diff) |
Turned on SkSL->GLSL compiler
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003
Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3
Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310
Review-Url: https://codereview.chromium.org/2288033003
Diffstat (limited to 'src/gpu/glsl/GrGLSLShaderBuilder.h')
-rw-r--r-- | src/gpu/glsl/GrGLSLShaderBuilder.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/gpu/glsl/GrGLSLShaderBuilder.h b/src/gpu/glsl/GrGLSLShaderBuilder.h index a6ff96dd1b..f59edb4553 100644 --- a/src/gpu/glsl/GrGLSLShaderBuilder.h +++ b/src/gpu/glsl/GrGLSLShaderBuilder.h @@ -72,23 +72,27 @@ public: void appendTexelFetch(SamplerHandle, const char* coordExpr); /** - * Adds a #define directive to the top of the shader. + * Adds a constant declaration to the top of the shader. */ - void define(const char* macro, const char* replacement) { - this->definitions().appendf("#define %s %s\n", macro, replacement); + void defineConstant(const char* type, const char* name, const char* value) { + this->definitions().appendf("const %s %s = %s;\n", type, name, value); } - void define(const char* macro, int replacement) { - this->definitions().appendf("#define %s %i\n", macro, replacement); + void defineConstant(const char* name, int value) { + this->definitions().appendf("const int %s = %i;\n", name, value); } - void definef(const char* macro, const char* replacement, ...) { - this->definitions().appendf("#define %s ", macro); + void defineConstant(const char* name, float value) { + this->definitions().appendf("const float %s = %f;\n", name, value); + } + + void defineConstantf(const char* type, const char* name, const char* fmt, ...) { + this->definitions().appendf("const %s %s = ", type, name); va_list args; - va_start(args, replacement); - this->definitions().appendVAList(replacement, args); + va_start(args, fmt); + this->definitions().appendVAList(fmt, args); va_end(args); - this->definitions().append("\n"); + this->definitions().append(";\n"); } /** |