Index: src/gpu/GrDrawTarget.cpp |
diff --git a/src/gpu/GrDrawTarget.cpp b/src/gpu/GrDrawTarget.cpp |
index 0909e08dc85cd0784c0a7fe0b7474d9c6588d086..424c39115f36e26b33fdd9158f76e7d4f0a2df80 100644 |
--- a/src/gpu/GrDrawTarget.cpp |
+++ b/src/gpu/GrDrawTarget.cpp |
@@ -88,7 +88,8 @@ void GrDrawTarget::DrawInfo::adjustStartIndex(int indexOffset) { |
GrDrawTarget::GrDrawTarget(GrContext* context) |
: fClip(NULL) |
- , fContext(context) { |
+ , fContext(context) |
+ , fDebugPushCount(0) { |
SkASSERT(NULL != context); |
fDrawState = &fDefaultDrawState; |
@@ -547,6 +548,28 @@ void GrDrawTarget::drawPath(const GrPath* path, SkPath::FillType fill) { |
this->onDrawPath(path, fill, dstCopy.texture() ? &dstCopy : NULL); |
} |
+void GrDrawTarget::insertEventMarker(const char* marker) { |
+ if (this->caps()->debugMarkerSupport()) { |
+ this->onInsertEventMarker(marker); |
+ } |
+} |
+ |
+void GrDrawTarget::pushGroupMarker(const char* marker) { |
+ SkASSERT(0 <= fDebugPushCount); |
+ if (this->caps()->debugMarkerSupport()) { |
+ this->onPushGroupMarker(marker); |
+ ++fDebugPushCount; |
+ } |
+} |
+ |
+void GrDrawTarget::popGroupMarker() { |
+ SkASSERT(1 <= fDebugPushCount); |
bsalomon
2014/02/21 15:33:03
We only require yodaspeak when using == (to void a
|
+ if (this->caps()->debugMarkerSupport()) { |
+ this->onPopGroupMarker(); |
+ --fDebugPushCount; |
+ } |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
bool GrDrawTarget::willUseHWAALines() const { |
@@ -971,6 +994,7 @@ void GrDrawTargetCaps::reset() { |
fPathRenderingSupport = false; |
fDstReadInShaderSupport = false; |
fReuseScratchTextures = true; |
+ fDebugMarkerSupport = false; |
fMaxRenderTargetSize = 0; |
fMaxTextureSize = 0; |
@@ -993,6 +1017,7 @@ GrDrawTargetCaps& GrDrawTargetCaps::operator=(const GrDrawTargetCaps& other) { |
fPathRenderingSupport = other.fPathRenderingSupport; |
fDstReadInShaderSupport = other.fDstReadInShaderSupport; |
fReuseScratchTextures = other.fReuseScratchTextures; |
+ fDebugMarkerSupport = other.fDebugMarkerSupport; |
fMaxRenderTargetSize = other.fMaxRenderTargetSize; |
fMaxTextureSize = other.fMaxTextureSize; |
@@ -1019,6 +1044,7 @@ SkString GrDrawTargetCaps::dump() const { |
r.appendf("Path Rendering Support : %s\n", gNY[fPathRenderingSupport]); |
r.appendf("Dst Read In Shader Support : %s\n", gNY[fDstReadInShaderSupport]); |
r.appendf("Reuse Scratch Textures : %s\n", gNY[fReuseScratchTextures]); |
+ r.appendf("Debug Marker Support : %s\n", gNY[fDebugMarkerSupport]); |
r.appendf("Max Texture Size : %d\n", fMaxTextureSize); |
r.appendf("Max Render Target Size : %d\n", fMaxRenderTargetSize); |
r.appendf("Max Sample Count : %d\n", fMaxSampleCount); |