Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Profiler.h File Reference
#include "config.h"
#include <optick.h>

Go to the source code of this file.

Namespaces

namespace  Divide
 Handle console commands that start with a forward slash.
 
namespace  Divide::Profiler
 
namespace  Divide::Profiler::detail
 
namespace  Divide::Profiler::Category
 

Macros

#define DVD_PROFILER_H_
 
#define PROFILE_SCOPE(NAME, CATEGORY)   OPTICK_EVENT(NAME, CATEGORY); static_assert(true, "")
 
#define PROFILE_SCOPE_AUTO(CATEGORY)   OPTICK_EVENT(OPTICK_FUNC, CATEGORY); static_assert(true, "")
 
#define PROFILE_TAG(NAME, ...)   OPTICK_TAG( NAME, __VA_ARGS__ ); static_assert(true, "")
 
#define PROFILE_FRAME(NAME)   NO_DESTROY OPTICK_FRAME( NAME ); static_assert(true, "")
 
#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, "")
 
#define PROFILE_VK_PRESENT(SWAP_CHAIN)   OPTICK_GPU_FLIP(SWAP_CHAIN); static_assert(true, "")
 
#define PROFILE_VK_EVENT_AUTO()   OPTICK_GPU_EVENT(OPTICK_FUNC); static_assert(true, "")
 
#define PROFILE_VK_EVENT(NAME)   OPTICK_GPU_EVENT(NAME); static_assert(true, "")
 
#define PROFILE_VK_EVENT_AND_CONTEX(NAME, BUFFER)
 
#define PROFILE_VK_EVENT_AUTO_AND_CONTEX(BUFFER)   PROFILE_VK_EVENT_AND_CONTEX(OPTICK_FUNC, BUFFER); static_assert(true, "")
 

Enumerations

enum class  Divide::Profiler::State : U8 { Divide::Profiler::STARTED = 0u , Divide::Profiler::STOPPED , Divide::Profiler::COUNT }
 

Functions

void Divide::Profiler::Initialise ()
 
void Divide::Profiler::RegisterApp (Application *app)
 
void Divide::Profiler::Shutdown ()
 
void Divide::Profiler::OnThreadStart (std::string_view threadName)
 
void Divide::Profiler::OnThreadStop ()
 
bool Divide::Profiler::OnProfilerStateChanged (const Profiler::State state)
 

Variables

constexpr bool Divide::Profiler::detail::enabled = Config::Profile::ENABLE_FUNCTION_PROFILING
 
constexpr Optick::Category::Type Divide::Profiler::Category::Graphics = Optick::Category::Rendering
 
constexpr Optick::Category::Type Divide::Profiler::Category::Sound = Optick::Category::Audio
 
constexpr Optick::Category::Type Divide::Profiler::Category::Physics = Optick::Category::Physics
 
constexpr Optick::Category::Type Divide::Profiler::Category::GameLogic = Optick::Category::GameLogic
 
constexpr Optick::Category::Type Divide::Profiler::Category::GUI = Optick::Category::UI
 
constexpr Optick::Category::Type Divide::Profiler::Category::Streaming = Optick::Category::Streaming
 
constexpr Optick::Category::Type Divide::Profiler::Category::Scene = Optick::Category::Scene
 
constexpr Optick::Category::Type Divide::Profiler::Category::Threading = Optick::Category::Wait
 
constexpr Optick::Category::Type Divide::Profiler::Category::IO = Optick::Category::IO
 

Macro Definition Documentation

◆ DVD_PROFILER_H_

#define DVD_PROFILER_H_

Definition at line 34 of file Profiler.h.

◆ PROFILE_FRAME

#define PROFILE_FRAME (   NAME)    NO_DESTROY OPTICK_FRAME( NAME ); static_assert(true, "")

Definition at line 89 of file Profiler.h.

◆ PROFILE_SCOPE

#define PROFILE_SCOPE (   NAME,
  CATEGORY 
)    OPTICK_EVENT(NAME, CATEGORY); static_assert(true, "")

Definition at line 86 of file Profiler.h.

◆ PROFILE_SCOPE_AUTO

#define PROFILE_SCOPE_AUTO (   CATEGORY)    OPTICK_EVENT(OPTICK_FUNC, CATEGORY); static_assert(true, "")

Definition at line 87 of file Profiler.h.

◆ PROFILE_TAG

#define PROFILE_TAG (   NAME,
  ... 
)    OPTICK_TAG( NAME, __VA_ARGS__ ); static_assert(true, "")

Definition at line 88 of file Profiler.h.

◆ PROFILE_VK_EVENT

#define PROFILE_VK_EVENT (   NAME)    OPTICK_GPU_EVENT(NAME); static_assert(true, "")

Definition at line 98 of file Profiler.h.

◆ PROFILE_VK_EVENT_AND_CONTEX

#define PROFILE_VK_EVENT_AND_CONTEX (   NAME,
  BUFFER 
)
Value:
OPTICK_GPU_CONTEXT(BUFFER) \
PROFILE_VK_EVENT(NAME); static_assert(true, "")

Definition at line 99 of file Profiler.h.

◆ PROFILE_VK_EVENT_AUTO

#define PROFILE_VK_EVENT_AUTO ( )    OPTICK_GPU_EVENT(OPTICK_FUNC); static_assert(true, "")

Definition at line 97 of file Profiler.h.

◆ PROFILE_VK_EVENT_AUTO_AND_CONTEX

#define PROFILE_VK_EVENT_AUTO_AND_CONTEX (   BUFFER)    PROFILE_VK_EVENT_AND_CONTEX(OPTICK_FUNC, BUFFER); static_assert(true, "")

Definition at line 101 of file Profiler.h.

◆ PROFILE_VK_INIT

#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, "")

Definition at line 94 of file Profiler.h.

◆ PROFILE_VK_PRESENT

#define PROFILE_VK_PRESENT (   SWAP_CHAIN)    OPTICK_GPU_FLIP(SWAP_CHAIN); static_assert(true, "")

Definition at line 95 of file Profiler.h.