add generateMipmapsRenderThread

This commit is contained in:
Nick Fisher
2025-06-02 10:44:45 +08:00
parent 3c9b607109
commit 059926fe98
3 changed files with 26 additions and 1 deletions

View File

@@ -1878,6 +1878,15 @@ external void Texture_buildRenderThread(
onComplete,
);
@ffi.Native<ffi.Void Function(ffi.Pointer<TTexture>, ffi.Pointer<TEngine>, ffi.Uint32, VoidCallback)>(
isLeaf: true)
external void Texture_generateMipMapsRenderThread(
ffi.Pointer<TTexture> tTexture,
ffi.Pointer<TEngine> tEngine,
int requestId,
VoidCallback onComplete
);
@ffi.Native<
ffi.Void Function(ffi.Pointer<TEngine>, ffi.Pointer<TTexture>, ffi.Uint32,
VoidCallback)>(isLeaf: true)

View File

@@ -1434,6 +1434,12 @@ extension type NativeLibrary(JSObject _) implements JSObject {
Pointer<self.NativeFunction<void Function(PointerClass<TTexture>)>>
onComplete,
);
external void _Texture_generateMipMapsRenderThread(
Pointer<TTexture> tTexture,
Pointer<TEngine> tEngine,
int requestId,
VoidCallback onComplete,
);
external void _Engine_destroyTextureRenderThread(
Pointer<TEngine> engine,
Pointer<TTexture> tTexture,
@@ -4355,6 +4361,16 @@ void Texture_buildRenderThread(
return result;
}
void Texture_generateMipMapsRenderThread(
self.Pointer<TTexture> tTexture,
self.Pointer<TEngine> tEngine,
int requestId,
DartVoidCallback onComplete,
) {
final result = _lib._Texture_generateMipMapsRenderThread(tTexture.cast(), tEngine.cast(), requestId, onComplete);
return result;
}
void Engine_destroyTextureRenderThread(
self.Pointer<TEngine> engine,
self.Pointer<TTexture> tTexture,

View File

@@ -33,7 +33,7 @@ class FFITexture extends Texture {
@override
Future<void> generateMipmaps() async {
Texture_generateMipMaps(pointer, _engine);
await withVoidCallback((requestId, cb) => Texture_generateMipMapsRenderThread(pointer, _engine, requestId, cb));
}
@override