Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(554)

Unified Diff: src/gpu/gl/GrGLGpu.h

Issue 1541903002: added support for PLS path rendering (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
};

Powered by Google App Engine
This is Rietveld 408576698