summaryrefslogtreecommitdiff
path: root/graphics.h
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-09-07 18:39:36 +0000
committerrodri <rgl@antares-labs.eu>2024-09-07 18:39:36 +0000
commitfb2c8083f028676d0c46e0d9a89de78b3f129552 (patch)
tree118926304536332ac57823413fd1241143cceeaa /graphics.h
parentd36e762e12d108fec8cd19071b22909b4466812a (diff)
downloadlibgraphics-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.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/graphics.h b/graphics.h
index a361491..ef2e419 100644
--- a/graphics.h
+++ b/graphics.h
@@ -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 */