1 // 2 // Copyright 2020 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 // DebugAnnotatorVk.h: Vulkan helpers for adding trace annotations. 7 // 8 9 #ifndef LIBANGLE_RENDERER_VULKAN_DEBUGANNOTATORVK_H_ 10 #define LIBANGLE_RENDERER_VULKAN_DEBUGANNOTATORVK_H_ 11 12 #include "libANGLE/LoggingAnnotator.h" 13 14 namespace rx 15 { 16 // Note: To avoid any race conditions between threads, this class has no private data; all 17 // events are stored in ContextVk. 18 class DebugAnnotatorVk : public angle::LoggingAnnotator 19 { 20 public: 21 DebugAnnotatorVk(); 22 ~DebugAnnotatorVk() override; 23 void beginEvent(gl::Context *context, 24 angle::EntryPoint entryPoint, 25 const char *eventName, 26 const char *eventMessage) override; 27 void endEvent(gl::Context *context, 28 const char *eventName, 29 angle::EntryPoint entryPoint) override; 30 bool getStatus(const gl::Context *context) override; 31 }; 32 33 } // namespace rx 34 35 #endif // LIBANGLE_RENDERER_VULKAN_DEBUGANNOTATORVK_H_ 36