MiniAVNativeFence class

GPU sync fence information for zero-copy buffer handoff.

NOT IMPLEMENTED (as of 0.6.0) — every field is always the sentinel. No miniav backend creates a fence, so syncFd is always -1, d3d11FencePtr / metalSharedEventPtr / metalFenceValue are always 0. The type exists so the handoff contract can be extended without a breaking change; do not write code that depends on receiving a real fence, and do not read "no fence" as "the producer GPU work is complete".

What the Windows backends do instead: before exposing the shared NT handle they insert a D3D11_QUERY_EVENT, Flush(), and CPU busy-poll it for at most ~16 ms. On timeout they log a rate-limited warning and hand the frame over anyway — under GPU contention a consumer can therefore receive a texture whose producer-side copy has not finished (torn or black frame). A consumer needing a hard guarantee must synchronise on its own device.

Constructors

MiniAVNativeFence({int syncFd = -1, int d3d11FencePtr = 0, int metalSharedEventPtr = 0, int metalFenceValue = 0})
const

Properties

d3d11FencePtr int
Windows: ID3D11Fence* as integer address, or 0 if none.
final
hashCode int
The hash code for this object.
no setterinherited
metalFenceValue int
macOS/iOS: signaled fence value.
final
metalSharedEventPtr int
macOS/iOS: id<MTLSharedEvent> as integer address, or 0 if none.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
syncFd int
Linux/Android: sync_file fd, or -1 if none.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited