diff options
author | rodri <rgl@antares-labs.eu> | 2024-09-07 18:39:36 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-09-07 18:39:36 +0000 |
commit | fb2c8083f028676d0c46e0d9a89de78b3f129552 (patch) | |
tree | 118926304536332ac57823413fd1241143cceeaa /graphics.h | |
parent | d36e762e12d108fec8cd19071b22909b4466812a (diff) | |
download | libgraphics-fb2c8083f028676d0c46e0d9a89de78b3f129552.tar.gz libgraphics-fb2c8083f028676d0c46e0d9a89de78b3f129552.tar.bz2 libgraphics-fb2c8083f028676d0c46e0d9a89de78b3f129552.zip |
remove unnecessary copying. profile individual stage procs.
Diffstat (limited to 'graphics.h')
-rw-r--r-- | graphics.h | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -56,8 +56,8 @@ typedef struct Scene Scene; typedef struct Shaderparams Shaderparams; typedef struct SUparams SUparams; typedef struct Shadertab Shadertab; -typedef struct Renderer Renderer; typedef struct Rendertime Rendertime; +typedef struct Renderer Renderer; typedef struct Renderjob Renderjob; typedef struct Fragment Fragment; typedef struct Astk Astk; @@ -231,20 +231,23 @@ struct Shadertab Color (*fshader)(Shaderparams*); /* fragment shader */ }; -struct Renderer +struct Rendertime { - Channel *c; + uvlong t0, t1; }; -struct Rendertime +struct Renderer { - uvlong t0, t1; + Channel *jobq; + ulong nprocs; + int doprof; /* enable profiling */ }; struct Renderjob { Ref; uvlong id; + Renderer *rctl; Framebuf *fb; Camera *camera; Scene *scene; @@ -252,7 +255,8 @@ struct Renderjob Channel *donec; struct { - Rendertime R, E, Tn, Rn; /* renderer, entityproc, tilers, rasterizers */ + /* renderer, entityproc, tilers, rasterizers */ + Rendertime R, E, Tn[20], Rn[20]; } times; Renderjob *next; @@ -356,10 +360,6 @@ struct Camera uvlong min, avg, max, acc, n, v; uvlong nframes; } stats; - struct { - Rendertime R[10], E[10], Tn[10], Rn[10]; - int last, cur; - } times; }; /* camera */ |