Class GpuTimingSubsystem#

Nested Relationships#

Nested Types#

Class Documentation#

class GpuTimingSubsystem#

Public Functions

inline void create(VulkanDevice &device, uint32_t imageCount, FrontendShared::GUIRendererSharedVars &guiRendererSharedVars)#
inline void destroy(VulkanDevice &device)#
inline void readTimings(VulkanDevice &device, uint32_t imageIndex, FrontendShared::GUIRendererSharedVars &guiRendererSharedVars)#
inline void writeJsonIfRequested()#
inline vk::QueryPool queryPool() const#
inline uint32_t queriesPerImage() const#
inline bool isSupported() const#
inline uint64_t timestampMask() const#
inline void setPassRecordedMask(uint32_t imageIndex, uint32_t mask)#

Public Static Attributes

static uint32_t QUERIES_PER_PASS = 2#
static uint32_t QUERIES_PER_IMAGE = QUERIES_PER_PASS * static_cast<uint32_t>(FrontendShared::GPU_TIMED_PASS_COUNT)#
struct GpuPassAverage#

Public Functions

inline float add(float value)#
inline void reset()#

Public Members

std::array<float, WINDOW> samples = {}#
uint32_t count = {0}#
uint32_t next = {0}#
float sum = {0.0f}#

Public Static Attributes

static uint32_t WINDOW = 30#