| Index: src/gpu/gl/GrGLGpu.h
|
| diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h
|
| index 63f1247962b0677475c01da0e1fc7dcf3b06a81d..6f194dcd6c4296ebaebb0b1ec5ba86f6329e6d43 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);
|
|
|
| @@ -234,6 +236,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 {
|
| @@ -355,6 +362,8 @@ private:
|
| void createWireRectProgram();
|
| void createUnitRectBuffer();
|
|
|
| + void createPLSSetupProgram();
|
| +
|
| // GL program-related state
|
| ProgramCache* fProgramCache;
|
|
|
| @@ -565,6 +574,15 @@ private:
|
| }
|
| }
|
|
|
| + struct {
|
| + GrGLuint fProgram;
|
| + GrGLint fPosXformUniform;
|
| + GrGLuint fArrayBuffer;
|
| + } fPLSSetupProgram;
|
| +
|
| + bool fHWPLSEnabled;
|
| + bool fPLSHasBeenUsed;
|
| +
|
| typedef GrGpu INHERITED;
|
| friend class GrGLPathRendering; // For accessing setTextureUnit.
|
| };
|
|
|