diff --git a/thermion_dart/lib/src/bindings/src/thermion_dart_ffi.g.dart b/thermion_dart/lib/src/bindings/src/thermion_dart_ffi.g.dart index fa1650a9..9a11a672 100644 --- a/thermion_dart/lib/src/bindings/src/thermion_dart_ffi.g.dart +++ b/thermion_dart/lib/src/bindings/src/thermion_dart_ffi.g.dart @@ -1878,6 +1878,15 @@ external void Texture_buildRenderThread( onComplete, ); +@ffi.Native, ffi.Pointer, ffi.Uint32, VoidCallback)>( + isLeaf: true) +external void Texture_generateMipMapsRenderThread( + ffi.Pointer tTexture, + ffi.Pointer tEngine, + int requestId, + VoidCallback onComplete +); + @ffi.Native< ffi.Void Function(ffi.Pointer, ffi.Pointer, ffi.Uint32, VoidCallback)>(isLeaf: true) diff --git a/thermion_dart/lib/src/bindings/src/thermion_dart_js_interop.g.dart b/thermion_dart/lib/src/bindings/src/thermion_dart_js_interop.g.dart index 20cbcf2a..6bec9dd4 100644 --- a/thermion_dart/lib/src/bindings/src/thermion_dart_js_interop.g.dart +++ b/thermion_dart/lib/src/bindings/src/thermion_dart_js_interop.g.dart @@ -1434,6 +1434,12 @@ extension type NativeLibrary(JSObject _) implements JSObject { Pointer)>> onComplete, ); + external void _Texture_generateMipMapsRenderThread( + Pointer tTexture, + Pointer tEngine, + int requestId, + VoidCallback onComplete, + ); external void _Engine_destroyTextureRenderThread( Pointer engine, Pointer tTexture, @@ -4355,6 +4361,16 @@ void Texture_buildRenderThread( return result; } +void Texture_generateMipMapsRenderThread( + self.Pointer tTexture, + self.Pointer tEngine, + int requestId, + DartVoidCallback onComplete, +) { + final result = _lib._Texture_generateMipMapsRenderThread(tTexture.cast(), tEngine.cast(), requestId, onComplete); + return result; +} + void Engine_destroyTextureRenderThread( self.Pointer engine, self.Pointer tTexture, diff --git a/thermion_dart/lib/src/filament/src/implementation/ffi_texture.dart b/thermion_dart/lib/src/filament/src/implementation/ffi_texture.dart index 38edb89f..376f1ea7 100644 --- a/thermion_dart/lib/src/filament/src/implementation/ffi_texture.dart +++ b/thermion_dart/lib/src/filament/src/implementation/ffi_texture.dart @@ -33,7 +33,7 @@ class FFITexture extends Texture { @override Future generateMipmaps() async { - Texture_generateMipMaps(pointer, _engine); + await withVoidCallback((requestId, cb) => Texture_generateMipMapsRenderThread(pointer, _engine, requestId, cb)); } @override