Make flush discardable and lazily reset context
Review URL: http://codereview.appspot.com/4259059/
git-svn-id: http://skia.googlecode.com/svn/trunk@914 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGpuGL.cpp b/gpu/src/GrGpuGL.cpp
index 3ee524b..b0d5e73 100644
--- a/gpu/src/GrGpuGL.cpp
+++ b/gpu/src/GrGpuGL.cpp
@@ -152,8 +152,6 @@
GrGLInitExtensions(&fExts);
- resetContextHelper();
-
resetDirtyFlags();
GLint maxTextureUnits;
@@ -427,8 +425,8 @@
GrGpuGL::~GrGpuGL() {
}
-void GrGpuGL::resetContextHelper() {
-// We detect cases when blending is effectively off
+void GrGpuGL::resetContext() {
+ // We detect cases when blending is effectively off
fHWBlendDisabled = false;
GR_GL(Enable(GL_BLEND));
@@ -491,12 +489,7 @@
fHWDrawState.fRenderTarget = NULL;
}
-void GrGpuGL::resetContext() {
- INHERITED::resetContext();
- resetContextHelper();
-}
-
-GrRenderTarget* GrGpuGL::createPlatformRenderTarget(
+GrRenderTarget* GrGpuGL::createPlatformRenderTargetHelper(
intptr_t platformRenderTarget,
int stencilBits,
int width,
@@ -520,7 +513,7 @@
return new GrGLRenderTarget(rtIDs, stencilBits, viewport, NULL, this);
}
-GrRenderTarget* GrGpuGL::createRenderTargetFrom3DApiState() {
+GrRenderTarget* GrGpuGL::createRenderTargetFrom3DApiStateHelper() {
GrGLRenderTarget::GLRenderTargetIDs rtIDs;
@@ -575,8 +568,9 @@
}
#endif
-GrTexture* GrGpuGL::createTexture(const TextureDesc& desc,
- const void* srcData, size_t rowBytes) {
+GrTexture* GrGpuGL::createTextureHelper(const TextureDesc& desc,
+ const void* srcData,
+ size_t rowBytes) {
#if GR_COLLECT_STATS
++fStats.fTextureCreateCnt;
@@ -988,7 +982,7 @@
return tex;
}
-GrVertexBuffer* GrGpuGL::createVertexBuffer(uint32_t size, bool dynamic) {
+GrVertexBuffer* GrGpuGL::createVertexBufferHelper(uint32_t size, bool dynamic) {
GLuint id;
GR_GL(GenBuffers(1, &id));
if (id) {
@@ -1012,7 +1006,7 @@
return NULL;
}
-GrIndexBuffer* GrGpuGL::createIndexBuffer(uint32_t size, bool dynamic) {
+GrIndexBuffer* GrGpuGL::createIndexBufferHelper(uint32_t size, bool dynamic) {
GLuint id;
GR_GL(GenBuffers(1, &id));
if (id) {
@@ -1066,7 +1060,7 @@
}
}
-void GrGpuGL::eraseColor(GrColor color) {
+void GrGpuGL::eraseColorHelper(GrColor color) {
if (NULL == fCurrDrawState.fRenderTarget) {
return;
}
@@ -1121,12 +1115,12 @@
fHWDrawState.fStencilSettings.invalidate();
}
-void GrGpuGL::forceRenderTargetFlush() {
+void GrGpuGL::forceRenderTargetFlushHelper() {
flushRenderTarget();
}
-bool GrGpuGL::readPixels(int left, int top, int width, int height,
- GrTexture::PixelConfig config, void* buffer) {
+bool GrGpuGL::readPixelsHelper(int left, int top, int width, int height,
+ GrTexture::PixelConfig config, void* buffer) {
GLenum internalFormat; // we don't use this for glReadPixels
GLenum format;
GLenum type;
@@ -1207,7 +1201,7 @@
#define SWAP_PER_DRAW 0
-#if SWAP_PER_DRAW
+#if SWAP_PER_DRAW
#if GR_MAC_BUILD
#include <AGL/agl.h>
#elif GR_WIN32_BUILD