Index: src/gpu/glsl/GrGLSLShaderBuilder.h |
diff --git a/src/gpu/glsl/GrGLSLShaderBuilder.h b/src/gpu/glsl/GrGLSLShaderBuilder.h |
index ef7963f83a5f9eb766d3eb3daf37487b38b51f02..ea36a56a7ad55e624288987e43efc5703e6d0358 100644 |
--- a/src/gpu/glsl/GrGLSLShaderBuilder.h |
+++ b/src/gpu/glsl/GrGLSLShaderBuilder.h |
@@ -9,14 +9,12 @@ |
#define GrGLSLShaderBuilder_DEFINED |
#include "GrAllocator.h" |
+#include "glsl/GrGLSLUniformHandler.h" |
#include "glsl/GrGLSLShaderVar.h" |
#include "SkTDArray.h" |
#include <stdarg.h> |
-class GrGLSLProgramBuilder; |
-class GrGLSLSampler; |
- |
/** |
base class for all shaders builders |
*/ |
@@ -25,17 +23,19 @@ public: |
GrGLSLShaderBuilder(GrGLSLProgramBuilder* program); |
virtual ~GrGLSLShaderBuilder() {} |
+ typedef GrGLSLUniformHandler::SamplerHandle SamplerHandle; |
+ |
/** Appends a 2D texture sample with projection if necessary. coordType must either be Vec2f or |
Vec3f. The latter is interpreted as projective texture coords. The vec length and swizzle |
order of the result depends on the GrTextureAccess associated with the GrGLSLSampler. |
*/ |
void appendTextureLookup(SkString* out, |
- const GrGLSLSampler&, |
+ SamplerHandle, |
const char* coordName, |
GrSLType coordType = kVec2f_GrSLType) const; |
/** Version of above that appends the result to the shader code instead.*/ |
- void appendTextureLookup(const GrGLSLSampler&, |
+ void appendTextureLookup(SamplerHandle, |
const char* coordName, |
GrSLType coordType = kVec2f_GrSLType); |
@@ -45,17 +45,17 @@ public: |
vec4 or float. If modulation is "" or nullptr it this function acts as though |
appendTextureLookup were called. */ |
void appendTextureLookupAndModulate(const char* modulation, |
- const GrGLSLSampler&, |
+ SamplerHandle, |
const char* coordName, |
GrSLType coordType = kVec2f_GrSLType); |
/** Fetches an unfiltered texel from a sampler at integer coordinates. coordExpr must match the |
dimensionality of the sampler and must be within the sampler's range. coordExpr is emitted |
exactly once, so expressions like "idx++" are acceptable. */ |
- void appendTexelFetch(SkString* out, const GrGLSLSampler&, const char* coordExpr) const; |
+ void appendTexelFetch(SkString* out, SamplerHandle, const char* coordExpr) const; |
/** Version of above that appends the result to the shader code instead.*/ |
- void appendTexelFetch(const GrGLSLSampler&, const char* coordExpr); |
+ void appendTexelFetch(SamplerHandle, const char* coordExpr); |
/** |
* Adds a #define directive to the top of the shader. |