1 //
2 // Copyright 2015 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 // DebugAnnotator11.h: D3D11 helpers for adding trace annotations.
7 //
8 
9 #ifndef LIBANGLE_RENDERER_D3D_D3D11_DEBUGANNOTATOR11_H_
10 #define LIBANGLE_RENDERER_D3D_D3D11_DEBUGANNOTATOR11_H_
11 
12 #include "libANGLE/LoggingAnnotator.h"
13 
14 namespace rx
15 {
16 
17 class DebugAnnotator11 : public angle::LoggingAnnotator
18 {
19   public:
20     DebugAnnotator11();
21     ~DebugAnnotator11() override;
22     void beginEvent(const wchar_t *eventName) override;
23     void endEvent() override;
24     void setMarker(const wchar_t *markerName) override;
25     bool getStatus() override;
26 
27   private:
28     void initializeDevice();
29 
30     bool mInitialized;
31     HMODULE mD3d11Module;
32     ID3DUserDefinedAnnotation *mUserDefinedAnnotation;
33 };
34 
35 }
36 
37 #endif // LIBANGLE_RENDERER_D3D_D3D11_DEBUGANNOTATOR11_H_
38