diff options
Diffstat (limited to 'src/gpu/gl/GrGLGpu.h')
-rw-r--r-- | src/gpu/gl/GrGLGpu.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h index 63f1247962..6f194dcd6c 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. }; |