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 2559520203..4e7e4d6e14 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; + typedef GrGpu INHERITED; friend class GrGLPathRendering; // For accessing setTextureUnit. }; |