1 //
2 // Copyright 2017 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // LoggingAnnotator.h: DebugAnnotator implementing logging
7 //
8 
9 #ifndef LIBANGLE_LOGGINGANNOTATOR_H_
10 #define LIBANGLE_LOGGINGANNOTATOR_H_
11 
12 #include "common/debug.h"
13 
14 namespace gl
15 {
16 class Context;
17 }  // namespace gl
18 
19 namespace angle
20 {
21 
22 class LoggingAnnotator : public gl::DebugAnnotator
23 {
24   public:
LoggingAnnotator()25     LoggingAnnotator() {}
~LoggingAnnotator()26     ~LoggingAnnotator() override {}
27     void beginEvent(gl::Context *context,
28                     EntryPoint entryPoint,
29                     const char *eventName,
30                     const char *eventMessage) override;
31     void endEvent(gl::Context *context, const char *eventName, EntryPoint entryPoint) override;
32     void setMarker(const char *markerName) override;
33     bool getStatus() override;
34     void logMessage(const gl::LogMessage &msg) const override;
35 };
36 
37 }  // namespace angle
38 
39 #endif  // LIBANGLE_LOGGINGANNOTATOR_H_
40