Toast Engine
Loading...
Searching...
No Matches
renderer::GpuTimer Class Reference

#include <gpu_timer.hpp>

Classes

struct  ScopeName
 Copied since a pass can be destroyed before its frame is read back. More...
struct  ScopeTiming
struct  Timings

Public Member Functions

 GpuTimer (const VulkanCore &core, uint32_t frame_slots)
auto supported () const noexcept -> bool
void beginGraphics (uint32_t slot, vk::CommandBuffer cmd)
void endGraphics (uint32_t slot, vk::CommandBuffer cmd)
auto beginScope (uint32_t slot, vk::CommandBuffer cmd, std::string_view name) -> uint32_t
void endScope (uint32_t slot, vk::CommandBuffer cmd, uint32_t scope)
void collect (uint32_t slot)
auto last () const noexcept -> const Timings &
auto frameSerial () const noexcept -> uint64_t
 Tells a fresh last() from a repeat.
auto smoothed () const noexcept -> const Timings &

Static Public Attributes

static constexpr uint32_t k_max_scopes = 64
static constexpr uint32_t k_no_scope = ~uint32_t {0}

Detailed Description

Note
Render thread only

Member Function Documentation

◆ collect()

void renderer::GpuTimer::collect ( uint32_t slot)
Note
Only once the frame fence of the slot has signalled

The documentation for this class was generated from the following files: