Index: src/gpu/gl/GrGLGpu.h |
diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h |
index 255952020383a6c432c97916f62986987fe6e1f2..e8ea226ad44f38fdd4804fba3ece572a996c9c53 100644 |
--- a/src/gpu/gl/GrGLGpu.h |
+++ b/src/gpu/gl/GrGLGpu.h |
@@ -134,6 +134,8 @@ public: |
void drawDebugWireRect(GrRenderTarget*, const SkIRect&, GrColor) override; |
+ void performFlushWorkaround() override; |
+ |
private: |
GrGLGpu(GrGLContext* ctx, GrContext* context); |
@@ -220,6 +222,11 @@ private: |
const SkIRect& srcRect, |
const SkIPoint& dstPoint); |
+ void stampRectUsingProgram(GrGLuint program, const SkRect& bounds, GrGLint posXformUniform, |
+ GrGLuint arrayBuffer); |
+ |
+ void setupPixelLocalStorage(const DrawArgs& args); |
+ |
static bool BlendCoeffReferencesConstant(GrBlendCoeff coeff); |
class ProgramCache : public ::SkNoncopyable { |
@@ -341,6 +348,8 @@ private: |
void createWireRectProgram(); |
void createUnitRectBuffer(); |
+ void createPLSSetupProgram(); |
+ |
// GL program-related state |
ProgramCache* fProgramCache; |
@@ -551,6 +560,15 @@ private: |
} |
} |
+ struct { |
+ GrGLuint fProgram; |
+ GrGLint fPosXformUniform; |
+ GrGLuint fArrayBuffer; |
+ } fPLSSetupProgram; |
+ |
+ bool fHWPLSEnabled; |
+ bool fPLSHasBeenUsed = false; |
bsalomon
2016/01/21 21:54:08
Hm.. we don't use this type of init anywhere else.
|
+ |
typedef GrGpu INHERITED; |
friend class GrGLPathRendering; // For accessing setTextureUnit. |
}; |