| Index: src/gpu/glsl/GrGLSL.cpp
|
| diff --git a/src/gpu/glsl/GrGLSL.cpp b/src/gpu/glsl/GrGLSL.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c77b7fab20719f3042de5c9376948181ce665246
|
| --- /dev/null
|
| +++ b/src/gpu/glsl/GrGLSL.cpp
|
| @@ -0,0 +1,35 @@
|
| +/*
|
| + * Copyright 2011 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +#include "GrGLSL.h"
|
| +#include "SkString.h"
|
| +
|
| +bool GrGLSLSupportsNamedFragmentShaderOutputs(GrGLSLGeneration gen) {
|
| + switch (gen) {
|
| + case k110_GrGLSLGeneration:
|
| + return false;
|
| + case k130_GrGLSLGeneration:
|
| + case k140_GrGLSLGeneration:
|
| + case k150_GrGLSLGeneration:
|
| + case k330_GrGLSLGeneration:
|
| + case k310es_GrGLSLGeneration:
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +void GrGLSLMulVarBy4f(SkString* outAppend, const char* vec4VarName, const GrGLSLExpr4& mulFactor) {
|
| + if (mulFactor.isOnes()) {
|
| + *outAppend = SkString();
|
| + }
|
| +
|
| + if (mulFactor.isZeros()) {
|
| + outAppend->appendf("%s = vec4(0);", vec4VarName);
|
| + } else {
|
| + outAppend->appendf("%s *= %s;", vec4VarName, mulFactor.c_str());
|
| + }
|
| +}
|
|
|