Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
gpu_usage.c File Reference
#include "gpu_usage.h"
#include "log.h"
#include "utils.h"
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for gpu_usage.c:

Functions

void gpu_usage_init (GPUUsageMonitor *mon)
 Scans /proc/self/fdinfo/ and opens streams for GPU engine time reading.
 
void gpu_usage_cleanup (GPUUsageMonitor *mon)
 Closes all open fdinfo streams.
 
void gpu_usage_update (GPUUsageMonitor *mon)
 Re-reads fdinfo streams and computes GPU load %. Should be called periodically (e.g., every 500ms).
 
float gpu_usage_get_load (const GPUUsageMonitor *mon)
 Returns the last computed GPU load (0.0–100.0).
 
bool gpu_usage_is_available (const GPUUsageMonitor *mon)
 Returns true if a supported DRM driver was detected.
 

Function Documentation

◆ gpu_usage_cleanup()

void gpu_usage_cleanup ( GPUUsageMonitor *  mon)

Closes all open fdinfo streams.

◆ gpu_usage_get_load()

float gpu_usage_get_load ( const GPUUsageMonitor *  mon)

Returns the last computed GPU load (0.0–100.0).

◆ gpu_usage_init()

void gpu_usage_init ( GPUUsageMonitor *  mon)

Scans /proc/self/fdinfo/ and opens streams for GPU engine time reading.

◆ gpu_usage_is_available()

bool gpu_usage_is_available ( const GPUUsageMonitor *  mon)

Returns true if a supported DRM driver was detected.

◆ gpu_usage_update()

void gpu_usage_update ( GPUUsageMonitor *  mon)

Re-reads fdinfo streams and computes GPU load %. Should be called periodically (e.g., every 500ms).