| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 /* | 
|  | 2  * Copyright 2014 Google Inc. | 
|  | 3  * | 
|  | 4  * Use of this source code is governed by a BSD-style license that can be | 
|  | 5  * found in the LICENSE file. | 
|  | 6  */ | 
|  | 7 | 
|  | 8 #ifndef GrTracing_DEFINED | 
|  | 9 #define GrTracing_DEFINED | 
|  | 10 | 
|  | 11 #include "GrDrawTarget.h" | 
|  | 12 #include "GrTraceMarker.h" | 
|  | 13 #include "SkTraceEvent.h" | 
|  | 14 | 
|  | 15 /** | 
|  | 16  * Marker generation class used for adding and removing markers around code bloc
    ks | 
|  | 17  */ | 
|  | 18 class GrGpuTraceMarkerGenerator : public ::SkNoncopyable { | 
|  | 19 public: | 
|  | 20     GrGpuTraceMarkerGenerator(GrDrawTarget* target) : fTarget(target) {} | 
|  | 21 | 
|  | 22     ~GrGpuTraceMarkerGenerator() { | 
|  | 23         if (fTraceMarker.isValid()) { | 
|  | 24             fTarget->removeGpuTraceMarker(fTraceMarker.get()); | 
|  | 25         } | 
|  | 26     } | 
|  | 27 | 
|  | 28     void initialize(const char* marker_str, int* marker_counter) { | 
|  | 29         GrGpuTraceMarker* traceMarker = fTraceMarker.init(); | 
|  | 30         traceMarker->fMarker = marker_str; | 
|  | 31         traceMarker->fID = *marker_counter; | 
|  | 32         fTarget->addGpuTraceMarker(traceMarker); | 
|  | 33     } | 
|  | 34 | 
|  | 35 private: | 
|  | 36     GrDrawTarget* fTarget; | 
|  | 37     SkTLazy<GrGpuTraceMarker> fTraceMarker; | 
|  | 38 }; | 
|  | 39 | 
|  | 40 /** | 
|  | 41  * GR_CREATE_TRACE_MARKER will place begin and end trace markers for both | 
|  | 42  * cpu and gpu (if gpu tracing enabled) for the current scope. | 
|  | 43  * marker is of type const char* and target is of type GrDrawTarget* | 
|  | 44  */ | 
|  | 45 #define GR_CREATE_TRACE_MARKER(name, target)                              \ | 
|  | 46     static const char* SK_MACRO_APPEND_LINE(static_name) = name;          \ | 
|  | 47     static int SK_MACRO_APPEND_LINE(name_counter) = 0;                    \ | 
|  | 48     INTERNAL_GR_CREATE_TRACE_MARKER(SK_MACRO_APPEND_LINE(static_name),    \ | 
|  | 49                                     SK_MACRO_APPEND_LINE(name_counter),   \ | 
|  | 50                                     target)                               \ | 
|  | 51 | 
|  | 52 #define INTERNAL_GR_CREATE_TRACE_MARKER(name, name_counter, target)       \ | 
|  | 53     GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target)                \ | 
|  | 54     TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("skia.gpu"),name,              \ | 
|  | 55                  "id", name_counter)                                      \ | 
|  | 56     sk_atomic_inc(&name_counter);                                         \ | 
|  | 57 | 
|  | 58 #define GR_CREATE_GPU_TRACE_MARKER(name, name_counter, target)            \ | 
|  | 59     GrGpuTraceMarkerGenerator SK_MACRO_APPEND_LINE(TMG)(target);          \ | 
|  | 60     if (target->isGpuTracingEnabled()) {                                  \ | 
|  | 61         SK_MACRO_APPEND_LINE(TMG).initialize(name, &name_counter);        \ | 
|  | 62     }                                                                     \ | 
|  | 63 | 
|  | 64 | 
|  | 65 #endif | 
|  | 66 | 
| OLD | NEW | 
|---|