Quellcode durchsuchen

Moved setGLVersion called after enableComputeShaders after the new instead of using compile flag

TothBenoit vor 1 Jahr
Ursprung
Commit
d60663fddd
2 geänderte Dateien mit 12 neuen und 4 gelöschten Zeilen
  1. 0 3
      h3d/Engine.hx
  2. 12 1
      h3d/impl/GlDriver.hx

+ 0 - 3
h3d/Engine.hx

@@ -89,9 +89,6 @@ class Engine {
 		#if js
 		driver = js.Browser.supported ? new h3d.impl.GlDriver(antiAlias) : new h3d.impl.NullDriver();
 		#else
-		#if compute
-		h3d.impl.GlDriver.enableComputeShaders();
-		#end
 		driver = new h3d.impl.GlDriver(antiAlias);
 		#end
 		#elseif (hldx && dx12)

+ 12 - 1
h3d/impl/GlDriver.hx

@@ -140,6 +140,11 @@ class GlDriver extends Driver {
 	public static var outOfMemoryCheck = #if js false #else true #end;
 
 	public function new(antiAlias=0) {
+		#if (hlsdl >= version("1.15.0"))
+		if ( computeEnabled )
+			sdl.Sdl.setGLVersion(4, 3);
+		#end
+
 		#if js
 		canvas = @:privateAccess hxd.Window.getInstance().canvas;
 		var options = {alpha:false,stencil:true,antialias:antiAlias>0};
@@ -195,6 +200,11 @@ class GlDriver extends Driver {
 			shaderVersion = Math.round( Std.parseFloat(reg.matched(0)) * 100 );
 		}
 
+		#if (hlsdl >= version("1.15.0"))
+		if ( computeEnabled )
+			shaderVersion = 430;
+		#end
+
 		drawMode = GL.TRIANGLES;
 
 		#if js
@@ -219,9 +229,10 @@ class GlDriver extends Driver {
 	}
 
 	#if hlsdl
+	static var computeEnabled : Bool = false;
 	public static function enableComputeShaders() {
 		#if (hlsdl >= version("1.15.0"))
-		sdl.Sdl.setGLVersion(4, 3);
+		computeEnabled = true;
 		#else
 		throw "enableComputeShaders() requires hlsdl 1.15+";
 		#end