diff options
author | 2014-07-21 13:47:57 -0700 | |
---|---|---|
committer | 2014-07-21 13:47:57 -0700 | |
commit | 93a37bc91a40a7cd14f9f8eca6097535ab1099e4 (patch) | |
tree | d49d7281f5aefca9a440e218394be9e98c9f0b7b | |
parent | 7a037f494f3be524843540634507789c39f83689 (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-x | src/gpu/GrContext.cpp | 2 | ||||
-rw-r--r-- | src/gpu/GrTracing.h | 89 |
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 |