aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar egdaniel <egdaniel@google.com>2014-07-21 13:47:57 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-07-21 13:47:57 -0700
commit93a37bc91a40a7cd14f9f8eca6097535ab1099e4 (patch)
treed49d7281f5aefca9a440e218394be9e98c9f0b7b
parent7a037f494f3be524843540634507789c39f83689 (diff)
Add macro so that gpu trace marker can add an arg to the TRACE_EVENT it makes
BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/379223004
-rwxr-xr-xsrc/gpu/GrContext.cpp2
-rw-r--r--src/gpu/GrTracing.h89
2 files changed, 52 insertions, 39 deletions
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp
index 85cc8cd787..4e833a1f96 100755
--- a/src/gpu/GrContext.cpp
+++ b/src/gpu/GrContext.cpp
@@ -1226,7 +1226,7 @@ void GrContext::drawPath(const GrPaint& paint, const SkPath& path, const GrStrok
GrDrawTarget* target = this->prepareToDraw(&paint, BUFFERED_DRAW, &are, &acf);
GrDrawState* drawState = target->drawState();
- GR_CREATE_TRACE_MARKER("GrContext::drawPath", target);
+ GR_CREATE_TRACE_MARKER1("GrContext::drawPath", target, "Is Convex", path.isConvex());
const SkStrokeRec& strokeRec = strokeInfo.getStrokeRec();
diff --git a/src/gpu/GrTracing.h b/src/gpu/GrTracing.h
index 311042f27b..efe0fce4a1 100644
--- a/src/gpu/GrTracing.h
+++ b/src/gpu/GrTracing.h
@@ -66,43 +66,56 @@ private:
* cpu and gpu (if gpu tracing enabled) for the current scope.
* marker is of type const char* and target is of type GrDrawTarget*
*/
-#define GR_CREATE_TRACE_MARKER(name, target) \
- static const char* SK_MACRO_APPEND_LINE(static_name) = name; \
- static int SK_MACRO_APPEND_LINE(name_counter) = 0; \
- INTERNAL_GR_CREATE_TRACE_MARKER(SK_MACRO_APPEND_LINE(static_name), \
- SK_MACRO_APPEND_LINE(name_counter), \
- target) \
- sk_atomic_inc(&SK_MACRO_APPEND_LINE(name_counter)); \
-
-#define INTERNAL_GR_CREATE_TRACE_MARKER(name, name_counter, target) \
- GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target) \
- TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("skia.gpu"),name, \
- "id", name_counter) \
-
-#define GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target) \
- GrGpuTraceMarkerGenerator SK_MACRO_APPEND_LINE(TMG)(target); \
- if (target->isGpuTracingEnabled()) { \
- SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter); \
- } \
-
-#define GR_CREATE_TRACE_MARKER_CONTEXT(name, context) \
- static const char* SK_MACRO_APPEND_LINE(static_name) = name; \
- static int SK_MACRO_APPEND_LINE(name_counter) = 0; \
- INTERNAL_GR_CREATE_TRACE_MARKER_C(SK_MACRO_APPEND_LINE(static_name), \
- SK_MACRO_APPEND_LINE(name_counter), \
- context) \
- sk_atomic_inc(&SK_MACRO_APPEND_LINE(name_counter)); \
-
-#define INTERNAL_GR_CREATE_TRACE_MARKER_C(name, name_counter, context) \
- GR_CREATE_GPU_TRACE_MARKER_C(name, name_counter, context) \
- TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("skia.gpu"),name, \
- "id", name_counter) \
-
-#define GR_CREATE_GPU_TRACE_MARKER_C(name, name_counter, context) \
- GrGpuTraceMarkerGeneratorContext SK_MACRO_APPEND_LINE(TMG)(context); \
- if (context->isGpuTracingEnabled()) { \
- SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter); \
- } \
-
+#define GR_CREATE_TRACE_MARKER(name, target) \
+ INTERNAL_GR_CREATE_TRACE_MARKER_SCOPED(name, target)
+
+#define GR_CREATE_TRACE_MARKER1(name, target, arg1_name, arg1_val) \
+ INTERNAL_GR_CREATE_TRACE_MARKER_SCOPED(name, target, arg1_name, arg1_val)
+
+#define INTERNAL_GR_CREATE_TRACE_MARKER_SCOPED(name, target, ...) \
+ static const char* SK_MACRO_APPEND_LINE(static_name) = name; \
+ static int SK_MACRO_APPEND_LINE(name_counter) = 0; \
+ INTERNAL_GR_CREATE_TRACE_MARKER(SK_MACRO_APPEND_LINE(static_name), \
+ SK_MACRO_APPEND_LINE(name_counter), \
+ target, ##__VA_ARGS__) \
+ sk_atomic_inc(&SK_MACRO_APPEND_LINE(name_counter));
+
+#define INTERNAL_GR_CREATE_TRACE_MARKER(name, name_counter, target, ...) \
+ GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target) \
+ INTERNAL_TRACE_EVENT_ADD_SCOPED(TRACE_DISABLED_BY_DEFAULT("skia.gpu"),name, \
+ "id", name_counter, ##__VA_ARGS__);
+
+#define GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target) \
+ GrGpuTraceMarkerGenerator SK_MACRO_APPEND_LINE(TMG)(target); \
+ if (target->isGpuTracingEnabled()) { \
+ SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter); \
+ }
+
+
+
+#define GR_CREATE_TRACE_MARKER_CONTEXT(name, context) \
+ INTERNAL_GR_CREATE_TRACE_MARKER_SCOPED_C(name, context)
+
+#define GR_CREATE_TRACE_MARKER_CONTEXT1(name, context, arg1_name, arg1_val) \
+ INTERNAL_GR_CREATE_TRACE_MARKER_SCOPED_C(name, context, arg1_name, arg1_val)
+
+#define INTERNAL_GR_CREATE_TRACE_MARKER_SCOPED_C(name, context, ...) \
+ static const char* SK_MACRO_APPEND_LINE(static_name) = name; \
+ static int SK_MACRO_APPEND_LINE(name_counter) = 0; \
+ INTERNAL_GR_CREATE_TRACE_MARKER_C(SK_MACRO_APPEND_LINE(static_name), \
+ SK_MACRO_APPEND_LINE(name_counter), \
+ context, ##__VA_ARGS__) \
+ sk_atomic_inc(&SK_MACRO_APPEND_LINE(name_counter));
+
+#define INTERNAL_GR_CREATE_TRACE_MARKER_C(name, name_counter, context, ...) \
+ GR_CREATE_GPU_TRACE_MARKER_C(name, name_counter, context) \
+ INTERNAL_TRACE_EVENT_ADD_SCOPED(TRACE_DISABLED_BY_DEFAULT("skia.gpu"),name, \
+ "id", name_counter, ##__VA_ARGS__);
+
+#define GR_CREATE_GPU_TRACE_MARKER_C(name, name_counter, context) \
+ GrGpuTraceMarkerGeneratorContext SK_MACRO_APPEND_LINE(TMG)(context); \
+ if (context->isGpuTracingEnabled()) { \
+ SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter); \
+ }
#endif