Remove notion of default rendertarget. This doesn't map well to usage patterns outside sample app. Make binding between SkGpuDevice and a GrRenderTarget more explicit. Create method on GrContext to wrap the current target in the 3D API with a GrRenderTarget.
git-svn-id: http://skia.googlecode.com/svn/trunk@706 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGpu.cpp b/gpu/src/GrGpu.cpp
index fe6d0c3..c48bd19 100644
--- a/gpu/src/GrGpu.cpp
+++ b/gpu/src/GrGpu.cpp
@@ -178,6 +178,14 @@
bool GrGpu::setupClipAndFlushState(PrimitiveType type) {
const GrIRect* r = NULL;
+ // we check this early because we need a valid
+ // render target to setup stencil clipping
+ // before even going into flushGraphicsState
+ if (NULL == fCurrDrawState.fRenderTarget) {
+ GrAssert(!"No render target bound.");
+ return false;
+ }
+
if (fCurrDrawState.fFlagBits & kClip_StateBit) {
fClipState.fClipInStencil = fClip.countRects() > 1;