Selaa lähdekoodia

GL: add query TimeElapsed

Yuxiao Mao 2 kuukautta sitten
vanhempi
commit
42c82c1533
2 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 4 0
      h3d/impl/Driver.hx
  2. 4 0
      h3d/impl/GlDriver.hx

+ 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);
 		}
 	}