internal ComputeUserEvent(ComputeContext context, CLEventHandle handle, ComputeCommandType type) { Handle = handle; SetID(Handle.Value); Type = type; Context = context; }
private void StatusNotify(CLEventHandle eventHandle, int cmdExecStatusOrErr, IntPtr userData) { status = new ComputeCommandStatusArgs(this, (ComputeCommandExecutionStatus)cmdExecStatusOrErr); switch (cmdExecStatusOrErr) { case (int)ComputeCommandExecutionStatus.Complete: OnCompleted(this, status); break; default: OnAborted(this, status); break; } }
internal ComputeEvent(CLEventHandle handle, ComputeCommandQueue queue, ComputeCommandType type) { Handle = handle; SetID(Handle.Value); CommandQueue = queue; Type = type; Context = queue.Context; //if (ComputeTools.ParseVersionString(CommandQueue.Device.Platform.Version, 1) > new Version(1, 0)) // HookNotifier(); //Debug.WriteLine("Create " + this + " in Thread(" + Thread.CurrentThread.ManagedThreadId + ").", "Information"); }
internal ComputeEvent(CLEventHandle handle, ComputeCommandQueue queue) { Handle = handle; SetID(Handle.Value); CommandQueue = queue; Type = (ComputeCommandType)GetInfo <CLEventHandle, ComputeEventInfo, int>(Handle, ComputeEventInfo.CommandType, CLInterface.CL12.GetEventInfo); Context = queue.Context; if (ComputeTools.ParseVersionString(CommandQueue.Device.Platform.Version, 1) > new Version(1, 0)) { HookNotifier(); } }
internal static CLEventHandle[] ExtractHandles(IReadOnlyList <OpenCLEventBase> computeObjects, out int handleCount) { if (computeObjects == null || computeObjects.Count == 0) { handleCount = 0; return(null); } CLEventHandle[] result = new CLEventHandle[computeObjects.Count]; for (int i = 0; i < computeObjects.Count; i++) { result[i] = computeObjects[i].Handle; } handleCount = computeObjects.Count; return(result); }
internal ComputeEvent(CLEventHandle handle, ComputeCommandQueue queue) { Handle = handle; SetID(Handle.Value); CommandQueue = queue; Type = (ComputeCommandType)GetInfo <CLEventHandle, ComputeEventInfo, int>(Handle, ComputeEventInfo.CommandType, CL12.GetEventInfo); Context = queue.Context; if (ComputeTools.ParseVersionString(CommandQueue.Device.Platform.Version, 1) > new Version(1, 0)) { HookNotifier(); } Trace.WriteLine("Create " + this + " in Thread(" + Thread.CurrentThread.ManagedThreadId + ").", "Information"); }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Extracts the handles. </summary> /// /// <param name="computeObjects"> The compute objects. </param> /// <param name="handleCount"> [out] Number of handles. </param> /// /// <returns> The extracted handles. </returns> //////////////////////////////////////////////////////////////////////////////////////////////////// internal static CLEventHandle[] ExtractHandles(ICollection <ComputeEventBase> computeObjects, out int handleCount) { if (computeObjects == null || computeObjects.Count == 0) { handleCount = 0; return(null); } CLEventHandle[] result = new CLEventHandle[computeObjects.Count]; int i = 0; foreach (ComputeEventBase computeObj in computeObjects) { result[i] = computeObj.Handle; i++; } handleCount = computeObjects.Count; return(result); }
internal ComputeEvent(CLEventHandle handle, ComputeCommandQueue queue) : this(handle, queue, 0) { Type = (ComputeCommandType)GetInfo <CLEventHandle, ComputeEventInfo, int>(Handle, ComputeEventInfo.CommandType, CL12.GetEventInfo); }
/// <summary> /// Creates an see<see cref="ComputeExternalEvent"/> from an external handle /// </summary> /// <param name="handle"></param> /// <param name="queue"></param> public ComputeExternalEvent(CLEventHandle handle, ComputeCommandQueue queue) : base(handle, queue) { }