*/
#include "GrContext.h"
+#include "GrGLInterface.h"
#include "SampleApp.h"
#include "SkApplication.h"
#include "SkCanvas.h"
}
context->unref();
}
- GrRenderTarget* renderTarget = context->createRenderTargetFrom3DApiState();
+
+ GrRenderTarget* renderTarget;
+
+ GrPlatformSurfaceDesc desc;
+ desc.reset();
+ desc.fSurfaceType = kRenderTarget_GrPlatformSurfaceType;
+ desc.fWidth = bitmap.width();
+ desc.fHeight = bitmap.height();
+ desc.fConfig = kRGBA_8888_GrPixelConfig;
+ desc.fStencilBits = 8;
+ GrGLint buffer;
+ GR_GL_GetIntegerv(GR_GL_FRAMEBUFFER_BINDING, &buffer);
+ desc.fPlatformRenderTarget = buffer;
+
+ renderTarget = static_cast<GrRenderTarget*>(
+ context->createPlatformSurface(desc));
+
SkGpuCanvas* gpuCanvas = new SkGpuCanvas(context, renderTarget);
SkDevice* device = gpuCanvas->createDevice(SkBitmap::kARGB_8888_Config,
#include "GrContext.h"
#include "SkTypeface.h"
-#ifdef ANDROID
- #include "gl2.h"
-#endif
+#include "GrGLInterface.h"
#define TEST_GPIPEx
const SkBitmap& bitmap = device->accessBitmap(true);
GrRenderTarget* renderTarget;
- renderTarget = fGrContext->createRenderTargetFrom3DApiState();
+
+ GrPlatformSurfaceDesc desc;
+ desc.reset();
+ desc.fSurfaceType = kRenderTarget_GrPlatformSurfaceType;
+ desc.fWidth = bitmap.width();
+ desc.fHeight = bitmap.height();
+ desc.fConfig = kRGBA_8888_GrPixelConfig;
+ desc.fStencilBits = 8;
+ GrGLint buffer;
+ GR_GL_GetIntegerv(GR_GL_FRAMEBUFFER_BINDING, &buffer);
+ desc.fPlatformRenderTarget = buffer;
+
+ renderTarget = static_cast<GrRenderTarget*>(
+ fGrContext->createPlatformSurface(desc));
fGpuCanvas = new SkGpuCanvas(fGrContext, renderTarget);
renderTarget->unref();
fZoomCenterX = SkScalarHalf(this->width());
fZoomCenterY = SkScalarHalf(this->height());
-#if defined(SK_BUILD_FOR_UNIX) || defined(ANDROID)
- if (fGrContext) {
- glViewport(0, 0, SkScalarRound(this->width()),
- SkScalarRound(this->height()));
- fGrContext->resetContext();
- }
+#ifdef ANDROID
+ postInvalDelay(this->getSinkID());
#endif
this->updateTitle(); // to refresh our config
}