public Result CreateVideoMotionVectorHeap <T>(VideoMotionVectorHeapDescription description, ID3D12ProtectedResourceSession protectedResourceSession, out T?videoMotionEstimator) where T : ID3D12VideoMotionVectorHeap { Result result = CreateVideoMotionVectorHeap(ref description, protectedResourceSession, typeof(T).GUID, out IntPtr nativePtr); if (result.Failure) { videoMotionEstimator = default; return(result); } videoMotionEstimator = MarshallingHelpers.FromPointer <T>(nativePtr); return(result); }
public T CreateVideoMotionVectorHeap <T>(VideoMotionVectorHeapDescription description, ID3D12ProtectedResourceSession protectedResourceSession) where T : ID3D12VideoMotionVectorHeap { CreateVideoMotionVectorHeap(ref description, protectedResourceSession, typeof(T).GUID, out IntPtr nativePtr).CheckError(); return(MarshallingHelpers.FromPointer <T>(nativePtr)); }
public ID3D12VideoMotionVectorHeap CreateVideoMotionVectorHeap(VideoMotionVectorHeapDescription description, ID3D12ProtectedResourceSession protectedResourceSession) { CreateVideoMotionVectorHeap(ref description, protectedResourceSession, typeof(ID3D12VideoMotionVectorHeap).GUID, out IntPtr nativePtr).CheckError(); return(new ID3D12VideoMotionVectorHeap(nativePtr)); }