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);
|
SkASSERT(result);
|
||||||
|
|
||||||
for (int i = 0; i < fDrawTargets.count(); ++i) {
|
for (int i = 0; i < fDrawTargets.count(); ++i) {
|
||||||
|
//SkDEBUGCODE(fDrawTargets[i]->dump();)
|
||||||
fDrawTargets[i]->flush();
|
fDrawTargets[i]->flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,6 +42,11 @@ GrDrawTarget::GrDrawTarget(GrGpu* gpu, GrResourceProvider* resourceProvider)
|
|||||||
// TODO: Stop extracting the context (currently needed by GrClipMaskManager)
|
// TODO: Stop extracting the context (currently needed by GrClipMaskManager)
|
||||||
fContext = fGpu->getContext();
|
fContext = fGpu->getContext();
|
||||||
fClipMaskManager.reset(new GrClipMaskManager(this));
|
fClipMaskManager.reset(new GrClipMaskManager(this));
|
||||||
|
|
||||||
|
#ifdef SK_DEBUG
|
||||||
|
static int debugID = 0;
|
||||||
|
fDebugID = debugID++;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
GrDrawTarget::~GrDrawTarget() {
|
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,
|
bool GrDrawTarget::setupDstReadIfNecessary(const GrPipelineBuilder& pipelineBuilder,
|
||||||
const GrProcOptInfo& colorPOI,
|
const GrProcOptInfo& colorPOI,
|
||||||
const GrProcOptInfo& coveragePOI,
|
const GrProcOptInfo& coveragePOI,
|
||||||
|
@ -70,6 +70,11 @@ public:
|
|||||||
return fDependencies.find(dependedOn) >= 0;
|
return fDependencies.find(dependedOn) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Dump out the drawTarget dependency DAG
|
||||||
|
*/
|
||||||
|
SkDEBUGCODE(void dump() const;)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Empties the draw buffer of any queued up draws.
|
* Empties the draw buffer of any queued up draws.
|
||||||
*/
|
*/
|
||||||
@ -304,6 +309,7 @@ private:
|
|||||||
bool fFlushing;
|
bool fFlushing;
|
||||||
int fFirstUnpreparedBatch;
|
int fFirstUnpreparedBatch;
|
||||||
|
|
||||||
|
SkDEBUGCODE(int fDebugID;)
|
||||||
uint32_t fFlags;
|
uint32_t fFlags;
|
||||||
|
|
||||||
// 'this' drawTarget relies on the output of the drawTargets in 'fDependencies'
|
// 'this' drawTarget relies on the output of the drawTargets in 'fDependencies'
|
||||||
|
Loading…
Reference in New Issue
Block a user