Add debugging helper to GrDrawTarget
This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting) BUG=skia:4094 Review URL: https://codereview.chromium.org/1416753002
This commit is contained in:
parent
4dfdbb19ba
commit
4beb5c117b
@ -100,6 +100,7 @@ void GrDrawingManager::flush() {
|
||||
SkASSERT(result);
|
||||
|
||||
for (int i = 0; i < fDrawTargets.count(); ++i) {
|
||||
//SkDEBUGCODE(fDrawTargets[i]->dump();)
|
||||
fDrawTargets[i]->flush();
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,11 @@ GrDrawTarget::GrDrawTarget(GrGpu* gpu, GrResourceProvider* resourceProvider)
|
||||
// TODO: Stop extracting the context (currently needed by GrClipMaskManager)
|
||||
fContext = fGpu->getContext();
|
||||
fClipMaskManager.reset(new GrClipMaskManager(this));
|
||||
|
||||
#ifdef SK_DEBUG
|
||||
static int debugID = 0;
|
||||
fDebugID = debugID++;
|
||||
#endif
|
||||
}
|
||||
|
||||
GrDrawTarget::~GrDrawTarget() {
|
||||
@ -79,6 +84,29 @@ void GrDrawTarget::addDependency(GrSurface* dependedOn) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef SK_DEBUG
|
||||
void GrDrawTarget::dump() const {
|
||||
SkDebugf("--------------------------------------------------------------\n");
|
||||
SkDebugf("node: %d\n");
|
||||
SkDebugf("relies On (%d): ", fDependencies.count());
|
||||
for (int i = 0; i < fDependencies.count(); ++i) {
|
||||
SkDebugf("%d, ", fDependencies[i]->fDebugID);
|
||||
}
|
||||
SkDebugf("\n");
|
||||
SkDebugf("batches (%d):\n", fBatches.count());
|
||||
for (int i = 0; i < fBatches.count(); ++i) {
|
||||
#if 0
|
||||
SkDebugf("*******************************\n");
|
||||
#endif
|
||||
SkDebugf("%d: %s\n", i, fBatches[i]->name());
|
||||
#if 0
|
||||
SkString str = fBatches[i]->dumpInfo();
|
||||
SkDebugf("%s\n", str.c_str());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool GrDrawTarget::setupDstReadIfNecessary(const GrPipelineBuilder& pipelineBuilder,
|
||||
const GrProcOptInfo& colorPOI,
|
||||
const GrProcOptInfo& coveragePOI,
|
||||
|
@ -70,6 +70,11 @@ public:
|
||||
return fDependencies.find(dependedOn) >= 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Dump out the drawTarget dependency DAG
|
||||
*/
|
||||
SkDEBUGCODE(void dump() const;)
|
||||
|
||||
/**
|
||||
* Empties the draw buffer of any queued up draws.
|
||||
*/
|
||||
@ -304,6 +309,7 @@ private:
|
||||
bool fFlushing;
|
||||
int fFirstUnpreparedBatch;
|
||||
|
||||
SkDEBUGCODE(int fDebugID;)
|
||||
uint32_t fFlags;
|
||||
|
||||
// 'this' drawTarget relies on the output of the drawTargets in 'fDependencies'
|
||||
|
Loading…
Reference in New Issue
Block a user