aboutsummaryrefslogtreecommitdiff
path: root/camera.c
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 /camera.c
parent4d88a3779d1f5e15ea7ea3bca5330b9c8d1ef2fd (diff)
downloadlibgraphics-fc8284f73c62cc205bcdc1be04802763a019ec1b.tar.gz
libgraphics-fc8284f73c62cc205bcdc1be04802763a019ec1b.tar.bz2
libgraphics-fc8284f73c62cc205bcdc1be04802763a019ec1b.zip
add some instrumentation to measure pipeline stage time.
Diffstat (limited to 'camera.c')
-rw-r--r--camera.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/camera.c b/camera.c
index 123db32..c0c897d 100644
--- a/camera.c
+++ b/camera.c
@@ -21,6 +21,16 @@ updatestats(Camera *c, uvlong v)
}
static void
+updatetimes(Camera *c, Renderjob *j)
+{
+ c->times.R[c->times.cur] = j->times.R;
+ c->times.E[c->times.cur] = j->times.E;
+ c->times.Tn[c->times.cur] = j->times.Tn;
+ c->times.Rn[c->times.cur] = j->times.Rn;
+ c->times.cur = ++c->times.cur % nelem(c->times.R);
+}
+
+static void
verifycfg(Camera *c)
{
assert(c->vp != nil);
@@ -98,6 +108,7 @@ shootcamera(Camera *c, Shadertab *s)
t1 = nanosec();
c->vp->fbctl->swap(c->vp->fbctl);
+ updatetimes(c, job);
chanfree(job->donec);
free(job);