33#ifndef DVD_PROFILER_H_
34#define DVD_PROFILER_H_
60 constexpr Optick::Category::Type
Graphics = Optick::Category::Rendering;
61 constexpr Optick::Category::Type
Sound = Optick::Category::Audio;
62 constexpr Optick::Category::Type
Physics = Optick::Category::Physics;
63 constexpr Optick::Category::Type
GameLogic = Optick::Category::GameLogic;
64 constexpr Optick::Category::Type
GUI = Optick::Category::UI;
65 constexpr Optick::Category::Type
Streaming = Optick::Category::Streaming;
66 constexpr Optick::Category::Type
Scene = Optick::Category::Scene;
67 constexpr Optick::Category::Type
Threading = Optick::Category::Wait;
68 constexpr Optick::Category::Type
IO = Optick::Category::IO;
86#define PROFILE_SCOPE(NAME, CATEGORY) OPTICK_EVENT(NAME, CATEGORY); static_assert(true, "")
87#define PROFILE_SCOPE_AUTO(CATEGORY) OPTICK_EVENT(OPTICK_FUNC, CATEGORY); static_assert(true, "")
88#define PROFILE_TAG(NAME, ...) OPTICK_TAG( NAME, __VA_ARGS__ ); static_assert(true, "")
89#define PROFILE_FRAME(NAME) NO_DESTROY OPTICK_FRAME( NAME ); static_assert(true, "")
94#define PROFILE_VK_INIT(DEVICES, PHYSICAL_DEVICES, CMD_QUEUES, CMD_QUEUES_FAMILY, NUM_CMD_QUEUS, FUNCTIONS) OPTICK_GPU_INIT_VULKAN(DEVICES, PHYSICAL_DEVICES, CMD_QUEUES, CMD_QUEUES_FAMILY, NUM_CMD_QUEUS, FUNCTIONS); static_assert(true, "")
95#define PROFILE_VK_PRESENT(SWAP_CHAIN) OPTICK_GPU_FLIP(SWAP_CHAIN); static_assert(true, "")
97#define PROFILE_VK_EVENT_AUTO() OPTICK_GPU_EVENT(OPTICK_FUNC); static_assert(true, "")
98#define PROFILE_VK_EVENT(NAME) OPTICK_GPU_EVENT(NAME); static_assert(true, "")
99#define PROFILE_VK_EVENT_AND_CONTEX(NAME, BUFFER) OPTICK_GPU_CONTEXT(BUFFER) \
100 PROFILE_VK_EVENT(NAME); static_assert(true, "")
101#define PROFILE_VK_EVENT_AUTO_AND_CONTEX(BUFFER) PROFILE_VK_EVENT_AND_CONTEX(OPTICK_FUNC, BUFFER); static_assert(true, "")
105#define PROFILE_VK_INIT(DEVICES, PHYSICAL_DEVICES, CMD_QUEUES, CMD_QUEUES_FAMILY, NUM_CMD_QUEUS, FUNCTIONS) static_assert(true, "")
106#define PROFILE_VK_PRESENT(SWAP_CHAIN) static_assert(true, "")
108#define PROFILE_VK_EVENT_AUTO() PROFILE_SCOPE_AUTO(Profiler::Category::Graphics ); static_assert(true, "")
109#define PROFILE_VK_EVENT(NAME) PROFILE_SCOPE(NAME, Profiler::Category::Graphics ); static_assert(true, "")
110#define PROFILE_VK_EVENT_AND_CONTEX(NAME, BUFFER) PROFILE_VK_EVENT(NAME); static_assert(true, "")
111#define PROFILE_VK_EVENT_AUTO_AND_CONTEX(BUFFER) PROFILE_VK_EVENT_AUTO(); static_assert(true, "")
Class that provides an interface between our framework and the OS (start/stop, display support,...
Graphical User Interface.
constexpr bool ENABLE_FUNCTION_PROFILING
Enable function level profiling.
constexpr Optick::Category::Type Sound
constexpr Optick::Category::Type Physics
constexpr Optick::Category::Type Streaming
constexpr Optick::Category::Type IO
constexpr Optick::Category::Type Threading
constexpr Optick::Category::Type GameLogic
constexpr Optick::Category::Type Graphics
bool OnProfilerStateChanged(const Profiler::State state)
void OnThreadStart(std::string_view threadName)
void RegisterApp(Application *app)
Handle console commands that start with a forward slash.