Blender  V3.3
Classes | Macros | Typedefs | Functions | Variables
draw_manager_profiling.c File Reference
#include "BLI_listbase.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BKE_global.h"
#include "BLF_api.h"
#include "MEM_guardedalloc.h"
#include "draw_manager.h"
#include "GPU_debug.h"
#include "GPU_texture.h"
#include "UI_resources.h"
#include "draw_manager_profiling.h"

Go to the source code of this file.

Classes

struct  DRWTimer
 
struct  DRWTimerPool
 

Macros

#define MAX_TIMER_NAME   32
 
#define MAX_NESTED_TIMER   8
 
#define MIM_RANGE_LEN   8
 
#define GPU_TIMER_FALLOFF   0.1
 

Typedefs

typedef struct DRWTimer DRWTimer
 

Functions

void DRW_stats_free (void)
 
void DRW_stats_begin (void)
 
static DRWTimerdrw_stats_timer_get (void)
 
static void drw_stats_timer_start_ex (const char *name, const bool is_query)
 
void DRW_stats_group_start (const char *name)
 
void DRW_stats_group_end (void)
 
void DRW_stats_query_start (const char *name)
 
void DRW_stats_query_end (void)
 
void DRW_stats_reset (void)
 
static void draw_stat_5row (const rcti *rect, int u, int v, const char *txt, const int size)
 
static void draw_stat (const rcti *rect, int u, int v, const char *txt, const int size)
 
void DRW_stats_draw (const rcti *rect)
 

Variables

static struct DRWTimerPool DTP = {NULL}
 

Macro Definition Documentation

◆ GPU_TIMER_FALLOFF

#define GPU_TIMER_FALLOFF   0.1

Definition at line 30 of file draw_manager_profiling.c.

◆ MAX_NESTED_TIMER

#define MAX_NESTED_TIMER   8

Definition at line 28 of file draw_manager_profiling.c.

◆ MAX_TIMER_NAME

#define MAX_TIMER_NAME   32

Definition at line 27 of file draw_manager_profiling.c.

◆ MIM_RANGE_LEN

#define MIM_RANGE_LEN   8

Definition at line 29 of file draw_manager_profiling.c.

Typedef Documentation

◆ DRWTimer

typedef struct DRWTimer DRWTimer

Function Documentation

◆ draw_stat()

static void draw_stat ( const rcti rect,
int  u,
int  v,
const char *  txt,
const int  size 
)
static

Definition at line 201 of file draw_manager_profiling.c.

References BLF_draw_default(), size(), v, rcti::xmin, and rcti::ymax.

Referenced by DRW_stats_draw().

◆ draw_stat_5row()

static void draw_stat_5row ( const rcti rect,
int  u,
int  v,
const char *  txt,
const int  size 
)
static

Definition at line 192 of file draw_manager_profiling.c.

References BLF_draw_default(), size(), v, rcti::xmin, and rcti::ymax.

Referenced by DRW_stats_draw().

◆ DRW_stats_begin()

void DRW_stats_begin ( void  )

◆ DRW_stats_draw()

void DRW_stats_draw ( const rcti rect)

◆ DRW_stats_free()

void DRW_stats_free ( void  )

Definition at line 50 of file draw_manager_profiling.c.

References DTP, MEM_freeN, NULL, and DRWTimerPool::timers.

Referenced by DRW_engines_free(), and DRW_stats_begin().

◆ DRW_stats_group_end()

void DRW_stats_group_end ( void  )

◆ DRW_stats_group_start()

void DRW_stats_group_start ( const char *  name)

◆ DRW_stats_query_end()

void DRW_stats_query_end ( void  )

◆ DRW_stats_query_start()

void DRW_stats_query_start ( const char *  name)
Note
Only call this when no sub timer will be called.

Definition at line 133 of file draw_manager_profiling.c.

References drw_stats_timer_start_ex(), and GPU_debug_group_begin().

Referenced by drw_draw_pass_ex().

◆ DRW_stats_reset()

void DRW_stats_reset ( void  )

◆ drw_stats_timer_get()

static DRWTimer* drw_stats_timer_get ( void  )
static

◆ drw_stats_timer_start_ex()

static void drw_stats_timer_start_ex ( const char *  name,
const bool  is_query 
)
static

Variable Documentation

◆ DTP

struct DRWTimerPool DTP = {NULL}
static