$darkmode
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
GPUProfiler Struct Reference

Manages GPU timing using double-buffered queries to avoid stalls. More...

#include <gpu_profiler.h>

Collaboration diagram for GPUProfiler:
[legend]

Data Fields

GPUStage stages [MAX_GPU_STAGES]
 
int stage_count
 
int recording_count
 
GPUQueryBuffer buffers [GPU_QUERY_BUFFER_COUNT]
 
int write_index
 
int read_index
 
int current_stage_index
 
MetricStack hierarchy_stack
 
float transition_progress
 
bool enabled
 

Detailed Description

Manages GPU timing using double-buffered queries to avoid stalls.

Field Documentation

◆ buffers

GPUQueryBuffer GPUProfiler::buffers[GPU_QUERY_BUFFER_COUNT]

◆ current_stage_index

int GPUProfiler::current_stage_index

◆ enabled

bool GPUProfiler::enabled

Whether profiling is currently active.

◆ hierarchy_stack

MetricStack GPUProfiler::hierarchy_stack

Stack to track hierarchy.

◆ read_index

int GPUProfiler::read_index

Index of the buffer we are reading results from.

◆ recording_count

int GPUProfiler::recording_count

Number of stages recorded this frame (write-path counter, not for UI).

◆ stage_count

int GPUProfiler::stage_count

Number of stages from last completed read-back (used by UI for display).

◆ stages

GPUStage GPUProfiler::stages[MAX_GPU_STAGES]

◆ transition_progress

float GPUProfiler::transition_progress

0.0 to 1.0 animation timer.

◆ write_index

int GPUProfiler::write_index

Index of the buffer we are currently recording to.


The documentation for this struct was generated from the following file: