aboutsummaryrefslogtreecommitdiff
path: root/graphics.h
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-04-15 22:26:34 +0000
committerrodri <rgl@antares-labs.eu>2024-04-15 22:26:34 +0000
commitfc8284f73c62cc205bcdc1be04802763a019ec1b (patch)
tree92522a33309c427dcf632e3122898709f26a4374 /graphics.h
parent4d88a3779d1f5e15ea7ea3bca5330b9c8d1ef2fd (diff)
downloadlibgraphics-fc8284f73c62cc205bcdc1be04802763a019ec1b.tar.gz
libgraphics-fc8284f73c62cc205bcdc1be04802763a019ec1b.tar.bz2
libgraphics-fc8284f73c62cc205bcdc1be04802763a019ec1b.zip
add some instrumentation to measure pipeline stage time.
Diffstat (limited to 'graphics.h')
-rw-r--r--graphics.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/graphics.h b/graphics.h
index 612ff48..1fc23c1 100644
--- a/graphics.h
+++ b/graphics.h
@@ -29,6 +29,7 @@ typedef struct FSparams FSparams;
typedef struct SUparams SUparams;
typedef struct Shadertab Shadertab;
typedef struct Renderer Renderer;
+typedef struct Rendertime Rendertime;
typedef struct Renderjob Renderjob;
typedef struct Framebuf Framebuf;
typedef struct Framebufctl Framebufctl;
@@ -175,6 +176,11 @@ struct Renderer
Channel *c;
};
+struct Rendertime
+{
+ uvlong t0, t1;
+};
+
struct Renderjob
{
Ref;
@@ -183,6 +189,10 @@ struct Renderjob
Shadertab *shaders;
Channel *donec;
+ struct {
+ Rendertime R, E, Tn, Rn;
+ } times;
+
Renderjob *next;
};
@@ -234,6 +244,11 @@ struct Camera
uvlong min, avg, max, acc, n, v;
uvlong nframes;
} stats;
+
+ struct {
+ Rendertime R[100], E[100], Tn[100], Rn[100];
+ int cur;
+ } times;
};
/* camera */