2
0
Эх сурвалжийг харах

GL: add query TimeElapsed

Yuxiao Mao 2 сар өмнө
parent
commit
42c82c1533

+ 4 - 0
h3d/impl/Driver.hx

@@ -92,6 +92,10 @@ enum QueryKind {
 		The result will give the number of samples that passes the depth buffer between beginQuery/endQuery range
 	**/
 	Samples;
+	/**
+		The result will give the GPU elapsed time (in nanoseconds, 1e-9 seconds) between beginQuery/endQuery range
+	**/
+	TimeElapsed;
 }
 
 enum RenderFlag {

+ 4 - 0
h3d/impl/GlDriver.hx

@@ -2057,6 +2057,8 @@ class GlDriver extends Driver {
 			throw "use endQuery() for timestamp queries";
 		case Samples:
 			GL.beginQuery(GL.SAMPLES_PASSED, q.q);
+		case TimeElapsed:
+			GL.beginQuery(GL.TIME_ELAPSED, q.q);
 		}
 	}
 
@@ -2066,6 +2068,8 @@ class GlDriver extends Driver {
 			GL.queryCounter(q.q, GL.TIMESTAMP);
 		case Samples:
 			GL.endQuery(GL.SAMPLES_PASSED);
+		case TimeElapsed:
+			GL.endQuery(GL.TIME_ELAPSED);
 		}
 	}