shithub: 3dee

Download patch

ref: e862d6f0224de67b0a329e16b91841206feb844a
parent: a3add1cdcbd30704a34d2876f556d0bff8694402
author: rodri <rgl@antares-labs.eu>
date: Sat Sep 7 14:40:35 EDT 2024

let the renderer print the profiling results.

--- a/med.c
+++ b/med.c
@@ -506,12 +506,6 @@
 		shootcamera(cam, shader);
 		qunlock(&scenelk);
 		shootcamera(compass.cam, getshader("ident"));
-		if(doprof)
-		fprint(2, "R %llud %llud\nE %llud %llud\nT %llud %llud\nr %llud %llud\n\n",
-			cam->times.R[cam->times.cur-1].t0, cam->times.R[cam->times.cur-1].t1,
-			cam->times.E[cam->times.cur-1].t0, cam->times.E[cam->times.cur-1].t1,
-			cam->times.Tn[cam->times.cur-1].t0, cam->times.Tn[cam->times.cur-1].t1,
-			cam->times.Rn[cam->times.cur-1].t0, cam->times.Rn[cam->times.cur-1].t1);
 		Δt = nsec() - t0;
 		if(Δt > HZ2MS(60)*1000000ULL){
 			lockdisplay(display);
@@ -840,6 +834,8 @@
 		sysfatal("initdraw: %r");
 	if((mctl = initmouse(nil, screen)) == nil)
 		sysfatal("initmouse: %r");
+
+	rctl->doprof = doprof;
 
 	screenb = eallocimage(display, rectsubpt(screen->r, screen->r.min), XRGB32, 0, DNofill);
 	cam = Cam(screenb->r, rctl, camcfg.ptype, camcfg.fov, camcfg.clipn, camcfg.clipf);
--- a/procgen.c
+++ b/procgen.c
@@ -24,6 +24,8 @@
 Model *mdl;
 Primitive quad[2];
 
+static int doprof;
+
 static Color
 getskycolor(double x, double y)
 {
@@ -149,6 +151,7 @@
 	skip = 0;
 	ARGBEGIN{
 	case 's': skip = strtoul(EARGF(usage()), nil, 10); break;
+	case 'p': doprof++; break;
 	default: usage();
 	}ARGEND;
 	if(argc > 0)
@@ -165,6 +168,7 @@
 		sysfatal("memimageinit: %r");
 	if((rctl = initgraphics()) == nil)
 		sysfatal("initgraphics: %r");
+	rctl->doprof = doprof;
 
 	scn = newscene(nil);
 	mdl = newmodel();
--- a/solar.c
+++ b/solar.c
@@ -564,12 +564,6 @@
 	t0 = nsec();
 	for(;;){
 		shootcamera(camera, &shader);
-		if(doprof)
-		fprint(2, "R %llud %llud\nE %llud %llud\nT %llud %llud\nr %llud %llud\n\n",
-			camera->times.R[camera->times.cur-1].t0, camera->times.R[camera->times.cur-1].t1,
-			camera->times.E[camera->times.cur-1].t0, camera->times.E[camera->times.cur-1].t1,
-			camera->times.Tn[camera->times.cur-1].t0, camera->times.Tn[camera->times.cur-1].t1,
-			camera->times.Rn[camera->times.cur-1].t0, camera->times.Rn[camera->times.cur-1].t1);
 		Δt = nsec() - t0;
 		if(Δt > HZ2MS(60)*1000000ULL){
 			lockdisplay(display);
@@ -942,6 +936,8 @@
 		sysfatal("initdraw: %r");
 	if((mctl = initmouse(nil, screen)) == nil)
 		sysfatal("initmouse: %r");
+
+	rctl->doprof = doprof;
 
 	viewr = rectsubpt(Rpt(screen->r.min, subpt(screen->r.max, Pt(0,Cmdwinht))), screen->r.min);
 	cmdbox.r = Rect(viewr.min.x, viewr.max.y, Dx(viewr), Dy(screen->r));
--- a/vis.c
+++ b/vis.c
@@ -602,12 +602,6 @@
 	t0 = nsec();
 	for(;;){
 		shootcamera(maincam, shader);
-		if(doprof)
-		fprint(2, "R %llud %llud\nE %llud %llud\nT %llud %llud\nr %llud %llud\n\n",
-			maincam->times.R[maincam->times.last].t0, maincam->times.R[maincam->times.last].t1,
-			maincam->times.E[maincam->times.last].t0, maincam->times.E[maincam->times.last].t1,
-			maincam->times.Tn[maincam->times.last].t0, maincam->times.Tn[maincam->times.last].t1,
-			maincam->times.Rn[maincam->times.last].t0, maincam->times.Rn[maincam->times.last].t1);
 		Δt = nsec() - t0;
 		if(Δt > HZ2MS(60)*1000000ULL){
 			lockdisplay(display);
@@ -1111,6 +1105,8 @@
 		sysfatal("initdraw: %r");
 	if((mctl = initmouse(nil, screen)) == nil)
 		sysfatal("initmouse: %r");
+
+	rctl->doprof = doprof;
 
 	screenb = eallocimage(display, rectsubpt(screen->r, screen->r.min), XRGB32, 0, 0x888888FF);
 fprint(2, "screen %R\n", screenb->r);