Add flag to force gpu trace markers to be used and printed out for debugging.

BUG=skia:

Review URL: https://codereview.chromium.org/976413002
diff --git a/include/gpu/GrConfig.h b/include/gpu/GrConfig.h
index d48ccd5..6a00eab 100644
--- a/include/gpu/GrConfig.h
+++ b/include/gpu/GrConfig.h
@@ -232,4 +232,12 @@
     #define GR_ALWAYS_ALLOCATE_ON_HEAP 0
 #endif
 
+/**
+ * GR_FORCE_GPU_TRACE_DEBUGGING will force gpu tracing/debug markers to be turned on. The trace
+ * markers will be printed out instead of making the backend calls to push and pop them.
+ */
+#if !defined(GR_FORCE_GPU_TRACE_DEBUGGING)
+    #define GR_FORCE_GPU_TRACE_DEBUGGING 0
+#endif
+
 #endif
diff --git a/src/gpu/GrDrawTargetCaps.h b/src/gpu/GrDrawTargetCaps.h
index 61ec3b2..9a08eff 100644
--- a/src/gpu/GrDrawTargetCaps.h
+++ b/src/gpu/GrDrawTargetCaps.h
@@ -80,7 +80,11 @@
     bool pathRenderingSupport() const { return fPathRenderingSupport; }
     bool dstReadInShaderSupport() const { return fDstReadInShaderSupport; }
     bool discardRenderTargetSupport() const { return fDiscardRenderTargetSupport; }
+#if GR_FORCE_GPU_TRACE_DEBUGGING
+    bool gpuTracingSupport() const { return true; }
+#else
     bool gpuTracingSupport() const { return fGpuTracingSupport; }
+#endif
     bool compressedTexSubImageSupport() const { return fCompressedTexSubImageSupport; }
     bool oversizedStencilSupport() const { return fOversizedStencilSupport; }
 
diff --git a/src/gpu/GrTracing.h b/src/gpu/GrTracing.h
index 3327e2c..0f76f23 100644
--- a/src/gpu/GrTracing.h
+++ b/src/gpu/GrTracing.h
@@ -85,6 +85,11 @@
     INTERNAL_TRACE_EVENT_ADD_SCOPED(TRACE_DISABLED_BY_DEFAULT("skia.gpu"),name,   \
                        "id", name_counter, ##__VA_ARGS__);                        
 
+#if GR_FORCE_GPU_TRACE_DEBUGGING
+#define GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target)                     \
+    GrGpuTraceMarkerGenerator SK_MACRO_APPEND_LINE(TMG)(target);                   \
+    SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter);
+#else
 #define GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target)                     \
     GrGpuTraceMarkerGenerator SK_MACRO_APPEND_LINE(TMG)(target);                   \
     bool SK_MACRO_APPEND_LINE(gpuTracingEnabled);                                  \
@@ -93,7 +98,7 @@
     if (SK_MACRO_APPEND_LINE(gpuTracingEnabled)) {                                 \
         SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter);                 \
     }                                                                             
-
+#endif
 
 #define GR_CREATE_TRACE_MARKER_CONTEXT(name, context)                             \
     INTERNAL_GR_CREATE_TRACE_MARKER_SCOPED_C(name, context)                       
@@ -114,6 +119,11 @@
     INTERNAL_TRACE_EVENT_ADD_SCOPED(TRACE_DISABLED_BY_DEFAULT("skia.gpu"),name,   \
                                     "id", name_counter, ##__VA_ARGS__);                        
 
+#if GR_FORCE_GPU_TRACE_DEBUGGING
+#define GR_CREATE_GPU_TRACE_MARKER_C(name, name_counter, context)                  \
+    GrGpuTraceMarkerGeneratorContext SK_MACRO_APPEND_LINE(TMG)(context);           \
+    SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter);
+#else
 #define GR_CREATE_GPU_TRACE_MARKER_C(name, name_counter, context)                  \
     GrGpuTraceMarkerGeneratorContext SK_MACRO_APPEND_LINE(TMG)(context);           \
     bool SK_MACRO_APPEND_LINE(gpuTracingEnabled);                                  \
@@ -122,5 +132,6 @@
     if (SK_MACRO_APPEND_LINE(gpuTracingEnabled)) {                                 \
         SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter);                 \
     }                                                                             
+#endif
 
 #endif
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
index 8e892ee..b790140 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
@@ -2778,13 +2778,21 @@
     if (this->caps()->gpuTracingSupport()) {
         const GrTraceMarkerSet& markerArray = this->getActiveTraceMarkers();
         SkString markerString = markerArray.toStringLast();
+#if GR_FORCE_GPU_TRACE_DEBUGGING
+        SkDebugf("%s\n", markerString.c_str());
+#else
         GL_CALL(PushGroupMarker(0, markerString.c_str()));
+#endif
     }
 }
 
 void GrGLGpu::didRemoveGpuTraceMarker() {
     if (this->caps()->gpuTracingSupport()) {
+#if GR_FORCE_GPU_TRACE_DEBUGGING
+        SkDebugf("Pop trace marker.\n");
+#else
         GL_CALL(PopGroupMarker());
+#endif
     }
 }