aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/gpu/GrContext.h4
-rw-r--r--include/gpu/GrTypesPriv.h10
-rw-r--r--src/gpu/GrDrawTarget.cpp3
-rw-r--r--src/gpu/gl/GrGLProgramDataManager.cpp24
-rw-r--r--src/gpu/gl/GrGLProgramDataManager.h6
5 files changed, 28 insertions, 19 deletions
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h
index 77aef60d8d..a6fdf75d89 100644
--- a/include/gpu/GrContext.h
+++ b/include/gpu/GrContext.h
@@ -47,12 +47,13 @@ public:
SK_DECLARE_INST_COUNT(GrContext)
struct Options {
- Options() : fDrawPathToCompressedTexture(false) { }
+ Options() : fDrawPathToCompressedTexture(false), fSuppressPrints(false) { }
// EXPERIMENTAL
// May be removed in the future, or may become standard depending
// on the outcomes of a variety of internal tests.
bool fDrawPathToCompressedTexture;
+ bool fSuppressPrints;
};
/**
@@ -529,6 +530,7 @@ public:
GrResourceProvider* resourceProvider() { return fResourceProvider; }
const GrResourceProvider* resourceProvider() const { return fResourceProvider; }
GrResourceCache* getResourceCache() { return fResourceCache; }
+ bool suppressPrints() const { return fOptions.fSuppressPrints; }
// Called by tests that draw directly to the context via GrDrawTarget
void getTestTarget(GrTestTarget*);
diff --git a/include/gpu/GrTypesPriv.h b/include/gpu/GrTypesPriv.h
index 412de897c6..83d6a6623a 100644
--- a/include/gpu/GrTypesPriv.h
+++ b/include/gpu/GrTypesPriv.h
@@ -264,4 +264,14 @@ private:
SkIRect fRect;
};
+#ifdef SK_DEBUG
+// Takes a pointer to a GrContext, and will suppress prints if required
+#define GrContextDebugf(context, format, ...) \
+ if (!context->suppressPrints()) { \
+ SkDebugf(format, ##__VA_ARGS__); \
+ }
+#else
+#define GrContextDebugf(context, format, ...)
+#endif
+
#endif
diff --git a/src/gpu/GrDrawTarget.cpp b/src/gpu/GrDrawTarget.cpp
index a1489c6a42..549ab374c8 100644
--- a/src/gpu/GrDrawTarget.cpp
+++ b/src/gpu/GrDrawTarget.cpp
@@ -68,7 +68,8 @@ bool GrDrawTarget::setupDstReadIfNecessary(const GrPipelineBuilder& pipelineBuil
drawBounds->roundOut(&drawIBounds);
if (!copyRect.intersect(drawIBounds)) {
#ifdef SK_DEBUG
- SkDebugf("Missed an early reject. Bailing on draw from setupDstReadIfNecessary.\n");
+ GrContextDebugf(fContext, "Missed an early reject. "
+ "Bailing on draw from setupDstReadIfNecessary.\n");
#endif
return false;
}
diff --git a/src/gpu/gl/GrGLProgramDataManager.cpp b/src/gpu/gl/GrGLProgramDataManager.cpp
index 8be0437ee8..ef2f59e664 100644
--- a/src/gpu/gl/GrGLProgramDataManager.cpp
+++ b/src/gpu/gl/GrGLProgramDataManager.cpp
@@ -62,7 +62,7 @@ void GrGLProgramDataManager::set1f(UniformHandle u, GrGLfloat v0) const {
const Uniform& uni = fUniforms[u.toProgramDataIndex()];
SkASSERT(uni.fType == kFloat_GrSLType);
SkASSERT(GrGLShaderVar::kNonArray == uni.fArrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), Uniform1f(uni.fFSLocation, v0));
}
@@ -94,7 +94,7 @@ void GrGLProgramDataManager::set2f(UniformHandle u, GrGLfloat v0, GrGLfloat v1)
const Uniform& uni = fUniforms[u.toProgramDataIndex()];
SkASSERT(uni.fType == kVec2f_GrSLType);
SkASSERT(GrGLShaderVar::kNonArray == uni.fArrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), Uniform2f(uni.fFSLocation, v0, v1));
}
@@ -110,7 +110,7 @@ void GrGLProgramDataManager::set2fv(UniformHandle u,
SkASSERT(uni.fType == kVec2f_GrSLType);
SkASSERT(arrayCount > 0);
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, arrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), Uniform2fv(uni.fFSLocation, arrayCount, v));
}
@@ -123,7 +123,7 @@ void GrGLProgramDataManager::set3f(UniformHandle u, GrGLfloat v0, GrGLfloat v1,
const Uniform& uni = fUniforms[u.toProgramDataIndex()];
SkASSERT(uni.fType == kVec3f_GrSLType);
SkASSERT(GrGLShaderVar::kNonArray == uni.fArrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), Uniform3f(uni.fFSLocation, v0, v1, v2));
}
@@ -139,7 +139,7 @@ void GrGLProgramDataManager::set3fv(UniformHandle u,
SkASSERT(uni.fType == kVec3f_GrSLType);
SkASSERT(arrayCount > 0);
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, arrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), Uniform3fv(uni.fFSLocation, arrayCount, v));
}
@@ -156,7 +156,7 @@ void GrGLProgramDataManager::set4f(UniformHandle u,
const Uniform& uni = fUniforms[u.toProgramDataIndex()];
SkASSERT(uni.fType == kVec4f_GrSLType);
SkASSERT(GrGLShaderVar::kNonArray == uni.fArrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), Uniform4f(uni.fFSLocation, v0, v1, v2, v3));
}
@@ -172,7 +172,7 @@ void GrGLProgramDataManager::set4fv(UniformHandle u,
SkASSERT(uni.fType == kVec4f_GrSLType);
SkASSERT(arrayCount > 0);
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, arrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), Uniform4fv(uni.fFSLocation, arrayCount, v));
}
@@ -185,7 +185,7 @@ void GrGLProgramDataManager::setMatrix3f(UniformHandle u, const GrGLfloat matrix
const Uniform& uni = fUniforms[u.toProgramDataIndex()];
SkASSERT(uni.fType == kMat33f_GrSLType);
SkASSERT(GrGLShaderVar::kNonArray == uni.fArrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), UniformMatrix3fv(uni.fFSLocation, 1, false, matrix));
}
@@ -198,7 +198,7 @@ void GrGLProgramDataManager::setMatrix4f(UniformHandle u, const GrGLfloat matrix
const Uniform& uni = fUniforms[u.toProgramDataIndex()];
SkASSERT(uni.fType == kMat44f_GrSLType);
SkASSERT(GrGLShaderVar::kNonArray == uni.fArrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(), UniformMatrix4fv(uni.fFSLocation, 1, false, matrix));
}
@@ -214,7 +214,7 @@ void GrGLProgramDataManager::setMatrix3fv(UniformHandle u,
SkASSERT(uni.fType == kMat33f_GrSLType);
SkASSERT(arrayCount > 0);
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, arrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(),
UniformMatrix3fv(uni.fFSLocation, arrayCount, false, matrices));
@@ -232,7 +232,7 @@ void GrGLProgramDataManager::setMatrix4fv(UniformHandle u,
SkASSERT(uni.fType == kMat44f_GrSLType);
SkASSERT(arrayCount > 0);
ASSERT_ARRAY_UPLOAD_IN_BOUNDS(uni, arrayCount);
- this->printUnused(uni);
+ SkDEBUGCODE(this->printUnused(uni);)
if (kUnusedUniform != uni.fFSLocation) {
GR_GL_CALL(fGpu->glInterface(),
UniformMatrix4fv(uni.fFSLocation, arrayCount, false, matrices));
@@ -261,7 +261,7 @@ void GrGLProgramDataManager::setSkMatrix(UniformHandle u, const SkMatrix& matrix
#ifdef SK_DEBUG
void GrGLProgramDataManager::printUnused(const Uniform& uni) const {
if (kUnusedUniform == uni.fFSLocation && kUnusedUniform == uni.fVSLocation) {
- SkDebugf("Unused uniform in shader\n");
+ GrContextDebugf(fGpu->getContext(), "Unused uniform in shader\n");
}
}
#endif
diff --git a/src/gpu/gl/GrGLProgramDataManager.h b/src/gpu/gl/GrGLProgramDataManager.h
index 5ee1a85557..f154313516 100644
--- a/src/gpu/gl/GrGLProgramDataManager.h
+++ b/src/gpu/gl/GrGLProgramDataManager.h
@@ -106,11 +106,7 @@ private:
);
};
-#ifdef SK_DEBUG
- void printUnused(const Uniform&) const;
-#else
- void printUnused(const Uniform&) const {}
-#endif
+ SkDEBUGCODE(void printUnused(const Uniform&) const;)
SkTArray<Uniform, true> fUniforms;
GrGLGpu* fGpu;