loader_logger_recorders.hpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright (c) 2017-2025 The Khronos Group Inc.
  2. // Copyright (c) 2017-2019 Valve Corporation
  3. // Copyright (c) 2017-2019 LunarG, Inc.
  4. //
  5. // SPDX-License-Identifier: Apache-2.0 OR MIT
  6. //
  7. // Initial Author: Rylie Pavlik <[email protected]>
  8. //
  9. #pragma once
  10. #include "loader_logger.hpp"
  11. #include <openxr/openxr.h>
  12. #include <memory>
  13. //! Standard Error logger, on by default. Disabled with environment variable XR_LOADER_DEBUG = "none".
  14. std::unique_ptr<LoaderLogRecorder> MakeStdErrLoaderLogRecorder(void* user_data);
  15. //! Standard Output logger used with XR_LOADER_DEBUG environment variable.
  16. std::unique_ptr<LoaderLogRecorder> MakeStdOutLoaderLogRecorder(void* user_data, XrLoaderLogMessageSeverityFlags flags);
  17. #ifdef __ANDROID__
  18. //! Android liblog ("logcat") logger
  19. std::unique_ptr<LoaderLogRecorder> MakeLogcatLoaderLogRecorder();
  20. #endif
  21. // Debug Utils logger used with XR_EXT_debug_utils
  22. std::unique_ptr<LoaderLogRecorder> MakeDebugUtilsLoaderLogRecorder(const XrDebugUtilsMessengerCreateInfoEXT* create_info,
  23. XrDebugUtilsMessengerEXT debug_messenger);
  24. #ifdef _WIN32
  25. //! Win32 debugger output
  26. std::unique_ptr<LoaderLogRecorder> MakeDebuggerLoaderLogRecorder(void* user_data);
  27. #endif
  28. // TODO: Add other Derived classes:
  29. // - FileLoaderLogRecorder - During/after xrCreateInstance
  30. // - PipeLoaderLogRecorder? - During/after xrCreateInstance