Forráskód Böngészése

[hl] change for haxe hl.NativeArray for Vector (#1224)

Note: nightly haxe requires nightly hashlink and -D hl-ver=1.15.0 for std API.
Yuxiao Mao 1 éve
szülő
commit
df5cf654db
3 módosított fájl, 8 hozzáadás és 4 törlés
  1. 4 2
      h3d/impl/GlDriver.hx
  2. 3 1
      h3d/impl/RenderContext.hx
  3. 1 1
      hxd/fmt/hmd/Library.hx

+ 4 - 2
h3d/impl/GlDriver.hx

@@ -596,7 +596,8 @@ class GlDriver extends Driver {
 		case Globals:
 			if( s.globals != null ) {
 				#if hl
-				gl.uniform4fv(s.globals, streamData(hl.Bytes.getArray(buf.globals.toData()), 0, s.shader.globalsSize * 16), 0, s.shader.globalsSize * 4);
+				var bytes = #if (haxe_ver < 5.0) hl.Bytes.getArray(buf.globals.toData()) #else buf.globals.toData().getBytes() #end;
+				gl.uniform4fv(s.globals, streamData(bytes, 0, s.shader.globalsSize * 16), 0, s.shader.globalsSize * 4);
 				#else
 				var a = buf.globals.subarray(0, s.shader.globalsSize * 4);
 				gl.uniform4fv(s.globals, a);
@@ -605,7 +606,8 @@ class GlDriver extends Driver {
 		case Params:
 			if( s.params != null ) {
 				#if hl
-				gl.uniform4fv(s.params, streamData(hl.Bytes.getArray(buf.params.toData()), 0, s.shader.paramsSize * 16), 0, s.shader.paramsSize * 4);
+				var bytes = #if (haxe_ver < 5.0) hl.Bytes.getArray(buf.params.toData()) #else buf.params.toData().getBytes() #end;
+				gl.uniform4fv(s.params, streamData(bytes, 0, s.shader.paramsSize * 16), 0, s.shader.paramsSize * 4);
 				#else
 				var a = buf.params.subarray(0, s.shader.paramsSize * 4);
 				gl.uniform4fv(s.params, a);

+ 3 - 1
h3d/impl/RenderContext.hx

@@ -178,8 +178,10 @@ class RenderContext {
 	}
 
 	inline function getPtr( data : h3d.shader.Buffers.ShaderBufferData ) {
-		#if hl
+		#if (hl && haxe_ver < 5.0)
 		return (hl.Bytes.getArray((cast data : Array<Single>)) : hl.BytesAccess<hl.F32>);
+		#elseif hl
+		return (data.toData().getBytes() : hl.BytesAccess<hl.F32>);
 		#else
 		return data;
 		#end

+ 1 - 1
hxd/fmt/hmd/Library.hx

@@ -257,7 +257,7 @@ class Library {
 				}
 				buf.indexes[i] = rid - 1;
 			}
-			#if neko
+			#if (neko || (hl && haxe_ver >= 5.0))
 			buf.vertexes = haxe.ds.Vector.fromArrayCopy(vertexes.getNative());
 			#else
 			buf.vertexes = haxe.ds.Vector.fromData(vertexes.getNative());